Surely they invoice you beforehand though? The payment should be created based on that.
Regards Scott On 5/05/2010, at 2:28 PM, Sam Hamilton wrote: > Hi Guys, > > Its for suppliers who need the payment of the invoice before the goods > will be shipped e.g. they don't give credit. > > Sam > > > On 05/05/2010 10:24, BJ Freeman wrote: >> more for my understanding, I believe an invoice for a PO is internal not >> sent to the supplier, if I remember a previous thread on the ml. >> and that it is used to reconcile against the invoice received from the >> supplier. >> I did something similar. >> >> ======================== >> >> BJ Freeman >> http://bjfreeman.elance.com >> Strategic Power Office with Supplier Automation >> <http://www.businessesnetwork.com/automation/viewforum.php?f=93> >> Specialtymarket.com <http://www.specialtymarket.com/> >> >> Systems Integrator-- Glad to Assist >> >> Chat Y! messenger: bjfr33man >> Linkedin >> <http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro> >> >> >> Scott Gray sent the following on 5/4/2010 6:56 PM: >>> Hi Hans, >>> >>> Wouldn't you do this when an order is received (i.e. an invoice created) >>> rather than when the order is placed? >>> >>> Typically payment due dates are based on the invoice date not the order >>> date. >>> >>> Regards >>> Scott >>> >>> HotWax Media >>> http://www.hotwaxmedia.com >>> >>> On 5/05/2010, at 1:43 PM, [email protected] wrote: >>> >>>> Author: hansbak >>>> Date: Wed May 5 01:43:45 2010 >>>> New Revision: 941132 >>>> >>>> URL: http://svn.apache.org/viewvc?rev=941132&view=rev >>>> Log: >>>> Create a payment with the status 'not-paid' when a purchase order is >>>> approved setting the payment date according agreements >>>> >>>> Modified: >>>> >>>> ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml >>>> ofbiz/trunk/applications/accounting/servicedef/services_payment.xml >>>> ofbiz/trunk/applications/order/servicedef/secas.xml >>>> >>>> Modified: >>>> ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml >>>> URL: >>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml?rev=941132&r1=941131&r2=941132&view=diff >>>> ============================================================================== >>>> --- >>>> ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml >>>> (original) >>>> +++ >>>> ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml >>>> Wed May 5 01:43:45 2010 >>>> @@ -746,4 +746,72 @@ under the License. >>>> <clear-field field="setPaymentStatusMap"/> >>>> </iterate> >>>> </simple-method> >>>> -</simple-methods> >>>> + >>>> + <simple-method method-name="createPaymentFromOrder" >>>> short-description="Service auto create Payment from Order"> >>>> + <entity-one value-field="orderHeader" entity-name="OrderHeader"/> >>>> + <entity-and list="orderRoleToList" entity-name="OrderRole"> >>>> + <field-map field-name="orderId" >>>> from-field="orderHeader.orderId"/> >>>> + <field-map field-name="roleTypeId" value="BILL_FROM_VENDOR"/> >>>> + </entity-and> >>>> + <first-from-list entry="orderRoleTo" list="orderRoleToList"/> >>>> + <entity-and list="orderRoleFromList" entity-name="OrderRole"> >>>> + <field-map field-name="orderId" >>>> from-field="orderHeader.orderId"/> >>>> + <field-map field-name="roleTypeId" value="BILL_TO_CUSTOMER"/> >>>> + </entity-and> >>>> + <first-from-list entry="orderRoleFrom" list="orderRoleFromList"/> >>>> + <if-compare operator="equals" value="PURCHASE_ORDER" >>>> field="orderHeader.orderTypeId"> >>>> + <entity-and list="agreementList" entity-name="Agreement" >>>> filter-by-date="true"> >>>> + <field-map field-name="partyIdFrom" >>>> from-field="orderRoleFrom.partyId"/> >>>> + <field-map field-name="partyIdTo" >>>> from-field="orderRoleTo.partyId"/> >>>> + <field-map field-name="agreementTypeId" >>>> value="PURCHASE_AGREEMENT"/> >>>> + </entity-and> >>>> + <set field="parameters.paymentTypeId" value="VENDOR_PAYMENT"/> >>>> + <else> >>>> + <entity-and list="agreementList" entity-name="Agreement" >>>> filter-by-date="true"> >>>> + <field-map field-name="partyIdFrom" >>>> from-field="orderRoleFrom.partyId"/> >>>> + <field-map field-name="partyIdTo" >>>> from-field="orderRoleTo.partyId"/> >>>> + <field-map field-name="agreementTypeId" >>>> value="SALES_AGREEMENT"/> >>>> + </entity-and> >>>> + <set field="parameters.paymentTypeId" >>>> value="CUSTOMER_PAYMENT"/> >>>> + </else> >>>> + </if-compare> >>>> + <first-from-list entry="agreement" list="agreementList"/> >>>> + <if-not-empty field="agreement"> >>>> + <entity-and list="orderTermList" entity-name="OrderTerm"> >>>> + <field-map field-name="orderId" >>>> from-field="orderHeader.orderId"/> >>>> + <field-map field-name="termTypeId" >>>> value="FIN_PAYMENT_TERM"/> >>>> + </entity-and> >>>> + <first-from-list entry="orderTerm" list="orderTermList"/> >>>> + <if-not-empty field="orderTerm.termDays"> >>>> + <set field="days" from-field="orderTerm.termDays" >>>> type="Integer"/> >>>> + <now-timestamp field="start"/> >>>> + <call-class-method >>>> class-name="org.ofbiz.base.util.UtilDateTime" >>>> method-name="addDaysToTimestamp" ret-field="parameters.effectiveDate"> >>>> + <field field="start" type="java.sql.Timestamp"/> >>>> + <field field="days" type="int"/> >>>> + </call-class-method> >>>> + </if-not-empty> >>>> + </if-not-empty> >>>> + <if-empty field="parameters.effectiveDate"> >>>> + <now-timestamp field="parameters.effectiveDate"/> >>>> + </if-empty> >>>> + <set field="parameters.partyIdFrom" >>>> from-field="orderRoleFrom.partyId"/> >>>> + <set field="parameters.partyIdTo" >>>> from-field="orderRoleTo.partyId"/> >>>> + <set field="parameters.amount" >>>> from-field="orderHeader.grandTotal"/> >>>> + <set field="parameters.currencyUomId" >>>> from-field="orderHeader.currencyUom"/> >>>> + <set field="parameters.paymentMethodTypeId" >>>> value="COMPANY_ACCOUNT"/> >>>> + <set field="parameters.statusId" value="PMNT_NOT_PAID"/> >>>> + <set-service-fields service-name="createPayment" >>>> to-map="createPayment" map="parameters"/> >>>> + <call-service service-name="createPayment" >>>> in-map-name="createPayment"> >>>> + <result-to-field result-name="paymentId" >>>> field="parameters.paymentId"/> >>>> + </call-service> >>>> + <set field="parameters.orderId" from-field="orderHeader.orderId"/> >>>> + <set field="parameters.maxAmount" >>>> from-field="orderHeader.grandTotal"/> >>>> + <set-service-fields service-name="createOrderPaymentPreference" >>>> to-map="newOrderPaymentPreference" map="parameters"/> >>>> + <call-service service-name="createOrderPaymentPreference" >>>> in-map-name="newOrderPaymentPreference"> >>>> + <result-to-field result-name="orderPaymentPreferenceId" >>>> field="parameters.paymentPreferenceId"/> >>>> + </call-service> >>>> + <set-service-fields service-name="updatePayment" >>>> to-map="updatePayment" map="parameters"/> >>>> + <call-service service-name="updatePayment" >>>> in-map-name="updatePayment"/> >>>> + <field-to-result field="parameters.paymentId" >>>> result-name="paymentId"/> >>>> + </simple-method> >>>> +</simple-methods> >>>> \ No newline at end of file >>>> >>>> Modified: >>>> ofbiz/trunk/applications/accounting/servicedef/services_payment.xml >>>> URL: >>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_payment.xml?rev=941132&r1=941131&r2=941132&view=diff >>>> ============================================================================== >>>> --- ofbiz/trunk/applications/accounting/servicedef/services_payment.xml >>>> (original) >>>> +++ ofbiz/trunk/applications/accounting/servicedef/services_payment.xml >>>> Wed May 5 01:43:45 2010 >>>> @@ -233,4 +233,11 @@ under the License. >>>> <attribute name="statusId" type="String" mode="IN" >>>> optional="false"/> >>>> <attribute name="errorMessage" type="String" optional="true" >>>> mode="OUT"/> >>>> </service> >>>> + >>>> + <service name="createPaymentFromOrder" engine="simple" >>>> + >>>> location="component://accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml" >>>> invoke="createPaymentFromOrder" auth="true"> >>>> + <description>create Payment from Order</description> >>>> + <attribute name="orderId" type="String" mode="IN" >>>> optional="false"/> >>>> + <attribute name="paymentId" type="String" mode="OUT" >>>> optional="false"/> >>>> + </service> >>>> </services> >>>> >>>> Modified: ofbiz/trunk/applications/order/servicedef/secas.xml >>>> URL: >>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?rev=941132&r1=941131&r2=941132&view=diff >>>> ============================================================================== >>>> --- ofbiz/trunk/applications/order/servicedef/secas.xml (original) >>>> +++ ofbiz/trunk/applications/order/servicedef/secas.xml Wed May 5 >>>> 01:43:45 2010 >>>> @@ -93,6 +93,12 @@ under the License. >>>> <action service="resetGrandTotal" mode="sync"/> >>>> <action service="sendOrderCompleteNotification" mode="async" >>>> persist="true"/> >>>> </eca> >>>> + <eca service="changeOrderStatus" event="commit" run-on-error="false"> >>>> + <condition field-name="orderTypeId" operator="equals" >>>> value="PURCHASE_ORDER"/> >>>> + <condition field-name="statusId" operator="equals" >>>> value="ORDER_APPROVED"/> >>>> + <condition-field field-name="statusId" operator="not-equals" >>>> to-field-name="oldStatusId"/> >>>> + <action service="createPaymentFromOrder" mode="sync" >>>> persist="true"/> >>>> + </eca> >>>> >>>> <!-- DISABLED FOR NOW >>>> <eca service="changeOrderStatus" event="commit" run-on-error="false"> >>>> >>>> >>> >> >> >
smime.p7s
Description: S/MIME cryptographic signature
