Skip to content
All blog
Shopify Accounting Malaysia Reconciliation

Common Shopify accounting mistakes in Malaysia

David 7 min read

These are the errors that show up repeatedly, in businesses that are otherwise well run. They persist because each one produces books that balance, which removes the only signal most people are watching for.

One: recording revenue from bank deposits

The most common and the most damaging. Deposits are net of fees, refunds, chargebacks and reserve, so revenue is understated and the fees are never recorded at all.

The books balance, margin per order becomes unmeasurable, and a rate increase is undetectable — see Shopify gross sales vs net payout.

Two: treating the payout as a single number

Even where revenue is recorded correctly, the payout is frequently posted as one figure with the difference written off as fees.

That loses the distinction between a processing cost, a refund, a chargeback and reserve withheld — which are a cost, a revenue reversal, a loss and a timing difference respectively — see decomposing a payout line by line.

Three: forgetting the platform transaction fee

Charged because payment did not go through Shopify Payments, which is unavailable in Malaysia. It is not optional here and it is a real cost line that models built on a gateway rate alone omit entirely — see the Shopify third-party gateway fee explained.

Four: one blended fee rate

Cards, FPX, wallets and instalments cost differently. A blended rate misstates per-order margin by however much your mix differs from the average, and the mix shifts with every promotion — see the true cost of accepting a payment.

Five: courier invoices as a monthly lump

Delivery is the second largest cost on most orders, coded as a single monthly expense and never attached to the sales that caused it.

Per-order margin is then incomplete, surcharges cannot be traced to their products, and billing errors are invisible — see capturing the consignment note against the order.

Six: cost of goods entered once

The Shopify cost field populated at product creation and never revisited, while supplier prices and exchange rates move. Worse than empty, because a stale figure invites confidence — see cost of goods sold for Shopify stores.

The related error is using invoice cost rather than landed cost, which omits freight and duty and overstates gross margin on every imported item.

Seven: reserve treated as a cost

A rolling reserve is your money held on a delay, not an expense. Recorded as a cost it understates profit; ignored entirely it leaves an unexplained difference every cycle that is exactly the size of the reserve rate — see payment gateway holds and reserves.

Eight: free shipping recorded as no shipping

The courier still charges. Recorded as simply an absent shipping line, the cost appears with no revenue against it and lands wherever the chart of accounts puts it, making the promotion's cost and effectiveness both invisible — see shipping revenue versus shipping cost.

Nine: refunds without line detail

A refund posted at its total against revenue, with no line breakdown. The order total still reconciles, product-level revenue becomes wrong, the returned item still shows as sold, and stock movements have nothing to attach to — see returns on your own store and what they cost.

Ten: a tolerance that hides real errors

A reconciliation that accepts any difference below a threshold accepts genuine errors of similar size. A missing transaction or a duplicated refund passes unremarked because a difference in that range is expected — see rounding differences and where they come from.

Why they survive

Three characteristics shared by all ten, and they explain the persistence better than any account of carelessness.

The books balance. Every one of these produces a trial balance that closes, so the check most people rely on passes.

The error is systematic. Each is applied consistently, so nothing looks anomalous month to month. A random error stands out; a consistent one becomes the baseline.

The consequence is indirect. None of them causes a visible failure. They cause decisions to be made on wrong numbers, and the wrongness of a decision is attributed to the market rather than to the data.

That combination is why these are found during an audit, a financing conversation, or an attempt to answer a question the data cannot support — rather than during normal operation.

Finding them in your own books

Four checks, each taking under an hour.

Compare revenue to Shopify's gross sales for the same period. Materially lower means error one.

Look for a processing fee expense line. Absent or implausibly small confirms it.

Take one payout and decompose it. If the arithmetic does not close, errors two, three or seven are present.

Take one order and calculate its contribution by hand. Missing cost of goods, delivery or fees identifies errors five and six immediately — see the real margin on a Shopify order.

Four checks, most of a morning, and they establish which of the ten apply. Correcting them going forward is usually straightforward; restating prior periods is rarely necessary unless the amounts are material — see the first thirty days after connecting Shopify.

Common questions

What is the most common Shopify accounting error in Malaysia?

Recording revenue from bank deposits rather than from gross sales. Deposits are net of fees, refunds, chargebacks and reserve, so revenue is understated and the processing fees are never recorded as expenses at all. The books still balance, which is why it commonly persists for years.

Why do these errors go unnoticed?

Because all of them produce a trial balance that closes, each is applied systematically so nothing looks anomalous between months, and the consequence is indirect — decisions made on wrong numbers, whose outcomes get attributed to the market rather than to the data. They surface during an audit or a financing conversation rather than in normal operation.

How do you check whether your own books have these problems?

Compare revenue against Shopify's gross sales for the same period, look for a processing fee expense line that is present and plausible, decompose one payout and see whether the arithmetic closes, and calculate contribution on one order by hand to see whether cost of goods, fees and delivery are all attached.

Is a rolling reserve a cost?

No. It is your money held on a delay and belongs on the balance sheet, not in expenses. Recording it as a cost understates profit, while ignoring it entirely leaves an unexplained difference in every settlement cycle that is exactly the size of the reserve percentage.


Related: Shopify gross sales vs net payout · how Shopify reconciliation actually works · what to do when nothing matches


See what you could build

Start a free trial and describe what your business needs in plain language — SmartB Studio builds the module for you.

Start free trial
Get started

No credit card · Cancel anytime · Your data stays yours