Symptoms

Reseller is not billed, no billing order, no invoice, the account's last billing date is old. Attempt to bill a reseller manually results in the error:

Account #ID billed with errors. 

In BM.log a full error message is seen:

[14-02-04 09:46:34.853 Worker1.54  TH24556 INF] sumExtPrices=>Currency(EUR -706.24); extraSumTax=>Currency(EUR -148.32)
[14-02-04 09:46:34.853 Worker1.54  TH24556 INF] totalSum=>Currency(EUR -854.56); merchTotal=>Currency(EUR -706.24)
[14-02-04 09:46:34.869 Worker1.54  TH24556 TRC]     ...[4] *** INTERRUPTED BY EXCEPTION *** virtual void bSalesOrder::calculateTotals(Int)
[14-02-04 09:46:34.875 Worker1.54  TH24556 TRC]    ...[3] *** INTERRUPTED BY EXCEPTION *** virtual void bSalesOrder::finishOrder(Int)
[14-02-04 09:46:34.887 Worker1.54  TH24556 TRC]   ...[2] *** INTERRUPTED BY EXCEPTION *** virtual bool bBillRecurring::generateBill(Int, Int, Int)
[14-02-04 09:46:34.893 Worker1.54  TH24556 ERR] Daily Billing Process on Account #1000002 failed with exception: Order Total should be zero or positive.
[14-02-04 09:46:34.898 Worker1.54  TH24556 NTE]         ItemResult {
                WindowID(" "), INFORMATION("Account #1000002 billed with errors. ")

Cause

At the reseller activity tab the total value is negative, therefore Not Invoiced Purchases is positive (because of downgrade orders and refunds), which means that the provider owes money to the reseller (not vise versa as it is usually). PBA 5.4 cannot handle such situations correctly, the corresponding bug id is #PBA-31660 ("Negative reseller order leads to daily billing process error: Order Total should be zero or positive").

Resolution

The bug is fixed in PBA 5.5, where negative billing orders are created in such cases.

There is no fix for PBA 5.4.x, reseller will be billed only when the total sales sum becomes positive. If you need to bill a reseller now, the only workaround is making a purchase on behalf of some of the resellers customers (e.g. you can create a "fake" customer with "fake" dummy service) for a sum equal or more the negative resellers activity balance. To make the reseller's balance correct after that, create a credit memo for a reseller for the same sum.

Internal content