Occasionally, you may notice that an invoice synced to MYOB has a total that's 1 cent higher or lower than the same order in B-Cart. This is a known MYOB behaviour, not a bug in B-Cart, and the cause is well documented by MYOB themselves.
This article explains why it happens, when to expect it, and what to do about it.
What You'll See
The variance always looks the same:
The order total in B-Cart is, for example, $315.27.
The synced invoice in MYOB is $315.28 (or $315.26).
The GST line is also off by 1 cent in the same direction.
Everything else — line items, quantities, unit prices, customer, due date — matches exactly.
Why It Happens
B-Cart and MYOB calculate invoice totals using slightly different rounding rules.
B-Cart calculates the order total by adding up every line's unit price multiplied by its quantity, keeping full precision through the whole sum, and only rounding the final order total and GST to 2 decimal places at the very end.
MYOB does it the other way around. It rounds each individual line's total to 2 decimal places first, then adds the rounded line totals together to get the subtotal, GST and final amount.
Most of the time these two methods produce the same answer. But whenever an individual line's pre-tax extension (unit price × quantity) lands on a fractional cent of 0.5 or higher in the third decimal place, MYOB rounds that line up, and the extra fraction of a cent can cascade through into the subtotal, GST and final total.
MYOB has published this behaviour on their own developer support site — see Invoice rounding causing a 1 cent variation for the full technical explanation.
A Quick Example
Say you have an order line with:
Unit price: $4.545
Quantity: 7
The pre-tax extension is $31.815.
B-Cart adds $31.815 into the order total and rounds the final figure once at the end.
MYOB rounds that line to $31.82 first, then adds the rounded value into its subtotal.
That half-cent difference, multiplied across one or more lines, is what produces the 1 cent gap on the synced invoice.
When You'll See It
You'll only see a variance when:
A line item has a unit price with more than 2 decimal places (for example, $4.545 or $12.999), and
The combination of unit price and quantity produces a third-decimal value of 5 or higher.
Lines priced at clean 2-decimal values (e.g. $10.00, $4.55, $99.99) will not trigger a variance.
What to Do About It
Nothing. The variance is expected and harmless.
The customer is invoiced and pays the MYOB total — they're never billed differently from what their MYOB invoice says.
The B-Cart order total stays at the figure B-Cart calculated. This is the figure used for reporting and dashboards inside B-Cart.
The 1 cent gap appears only on the comparison between the two systems, not anywhere a customer or staff member is asked to act on the number.
If you reconcile B-Cart against MYOB, treat differences of ±0.01 per invoice as expected and not worth investigating. Anything larger than that points to a real discrepancy — for example, a different tax code, missing freight, or a quantity correction made in one system but not the other — and is worth raising with support.
Why B-Cart Doesn't "Fix" It
There are two ways the variance could be removed: B-Cart could round each line to 2 decimal places before adding them (matching MYOB's method), or B-Cart could send MYOB an explicit pre-rounded line total instead of letting MYOB calculate it. Both options shift the rounding loss onto a different number — they don't eliminate it.
B-Cart's current approach (full-precision accumulation, single final rounding) gives the most accurate order total for internal use. Changing it to chase parity with MYOB would make B-Cart less accurate everywhere else, just to remove a 1 cent line on a reconciliation report. We don't think that trade-off is worthwhile.
If a 1 cent gap on a specific invoice is causing a problem for your bookkeeping, contact support and we'll help you reconcile it manually.
What This Means for Other Integrations
The same rounding-precision difference can occur with any external accounting system that rounds per line — including Xero and QuickBooks. The behaviour is identical: a 1 cent variance on the final invoice total, with no impact on what the customer pays or what's recorded against the order in B-Cart. Treat them the same way.