[ 
http://issues.apache.org/jira/browse/OFBIZ-93?page=comments#action_12457936 ] 
            
Si Chen commented on OFBIZ-93:
------------------------------

Jacopo,

Your use case is probably not supported right now with the current billing 
account scheme, namely--"capturing" to a billing account in advance of 
invoicing.  This problem actually did not exist in older implementations of 
billing accounts, however, because as soon as an order is created against the 
billing account, the balance was deducted.  We split out the balance of the 
billing account between available and net balances, so that new orders are 
removed against available balances not net ones, to enforce a separation 
between an "authorization" and a "capture".  Still, if an order were placed to 
use the billing account, then it should prevent other orders from using because 
the available balance should have gone down.

Incidentally, migrating to FinAccount would solve several problems:

1.  You can capture from a FinAccount before invoicing

2.  You can use multiple FinAccounts on the same order/invoice

3.  A FinAccount is like a store credit and a gift card, which might be nice 
for the POS folks.

What exact process are you trying to follow?  I'm guessing it can be supported 
using the current code without moving the billingAccountId to Payment, and the 
effort of such a re-factoring is better reserved for moving us to FinAccounts.  
It's probably not harder by the way but will yield much more results.



> Support BillingAcct + PaymentMethod for Payment
> -----------------------------------------------
>
>                 Key: OFBIZ-93
>                 URL: http://issues.apache.org/jira/browse/OFBIZ-93
>             Project: OFBiz (The Open for Business Project)
>          Issue Type: Improvement
>          Components: accounting
>            Reporter: Si Chen
>         Assigned To: Si Chen
>         Attachments: ofbiz-93.patch
>
>
> The requirement is that a customer be able to use a billing account plus 
> another form of payment, such as a credit card, for payment on an order.  The 
> billing account is to be used first.
> This would require the following changes:
> 1.  In PaymentGatewayServices.java captureOrderPayments method, if the 
> billing account has a positive balance, then first create a Payment of the 
> EXT_BILL_ACT type, then a PaymentApplication of amountApplied = min(billing 
> account balance, amount to capture.)  This PaymentApplication MUST have an 
> invoiceId which is already supplied as a parameter of the service.  
> (Otherwise, the billing account balance will go down by the 
> PaymentApplication.amountApplied)  If there is an amount left over to 
> capture, then amountToCapture = amountToCapture - billingAccountBalance.  We 
> can then loop through the OrderPaymentPreference to try to capture the 
> remaining amount.
> 2.   In BillingAccountWorker.getBillingAccountBalance, we need to replace 
> current code which just loops through all invoices which are not PAID or 
> CANCELLED and adds up their unpaid balances with new code which would find 
> all PaymentApplication for which there is a billingAccountId and add up the 
> amountApplied.  This must be done because otherwise, once an invoice has been 
> marked PAID, there would be no way to record that a portion of the billing 
> account has been used to pay that invoice and hence permanently decrease its 
> amount.
> On the mailing list we had discussed making the order of payment capture 
> configurable.  I can't think of an easy way to do this, however, with the 
> current data model.  I propose that for now we have PaymentGatewayServices 
> basically capture billing account first, then other payment methods, which is 
> a standard B2C process.  If you have a B2B customer who wants to pay with a 
> credit card, then use the accounting module to record a Credit Card payment 
> and apply it to the Billing Account to bring down its balance.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to