Shopify POS and your accounting
A Malaysian retailer running a shop and a Shopify store can put both on the same catalogue, with Shopify POS taking counter sales against the same products and the same stock.
Operationally that is a substantial improvement. For the accounts it introduces a specific complication: counter sales and online sales look similar in the data and settle in completely different ways.
What POS changes for the better
One product catalogue. A price change or a new product exists once, and both channels see it.
One stock pool. A counter sale reduces the same inventory an online order draws from, which is what makes overselling avoidable — see inventory valuation across online and offline.
One customer record. A shopper who buys in the shop and later online is one customer with one history, which is the basis of any useful view of who your customers are.
One order table. Every sale in one place, which is the operational benefit and the accounting complication in the same sentence.
Why counter sales settle differently
Four payment worlds, and only one of them behaves like an online order.
Cash. No fee, no settlement lag, and a banking step. Cash has to be counted, reconciled to the till, and deposited, and the deposit is what appears on your bank statement — days later, in a round-ish amount, covering several days of takings.
Card at a terminal. Settled by whoever provides the terminal, on its own cycle, with its own fee structure and its own report. Frequently a different provider entirely from your online gateway, which means another settlement stream — see reconciling two gateways into one bank account.
QR and wallet payments at the counter. Extremely common in Malaysian retail, and the settlement route depends entirely on how it was set up — through the terminal provider, through a separate wallet merchant account, or directly. Each option produces a different report and a different bank credit — see e-wallet payments and how they settle.
Online payments through your web gateway, which is the one your reconciliation was probably designed around.
So one order table, four or five settlement streams. The reconciliation has to split by payment channel before it can match anything, and a process that treats the order table as one thing will not close.
The cash-specific problems
Cash is the payment type most likely to be handled loosely, and it has three distinct issues.
Rounding. Malaysia rounds cash payments to the nearest five sen, so the amount received differs from the invoice amount systematically. It needs its own account rather than being absorbed — see rounding differences and where they come from.
The float and the till. Opening float, takings, cash paid out, closing count. A till reconciliation is its own daily exercise and it is the control that catches problems early. A difference here is small and immediate; the same problem found at month end is neither.
Banking lag and aggregation. Several days of takings deposited together means the bank credit does not correspond to any single day's sales. Matching it requires the daily till records, which is why they have to exist.
None of this is difficult. All of it is skipped in shops where the till is balanced by eye.
Integration, not replacement
Worth being clear about where the boundary sits.
The till is the till. Taking payments at a counter, handling cash, driving a receipt printer and working when the internet is down are point-of-sale jobs, and a POS product does them.
What an accounting system should do is read what the POS recorded and account for it correctly: sales by product and payment method, stock movements, cash reconciliation, and the settlement matching for each payment stream. That is a reading and reconciling role rather than a replacement one, and the same applies whether the counter runs Shopify POS or a separate Malaysian POS product — see integrations.
The practical requirement is that the POS exposes its data at transaction level with the payment method attached. Sales totals by day are not enough, because the payment method is what determines which settlement stream a sale belongs to.
What to get right at setup
Five things, all cheap to do at the start and awkward to retrofit.
Distinguish the channel on every order. Counter or online, and which location. Everything downstream depends on it.
Record the payment method per sale, not per day. This is the field the whole reconciliation hangs on.
Separate accounts per settlement stream. Online gateway, card terminal, each wallet arrangement, cash. Four or five clearing accounts, each reconciled independently.
A daily till routine. Counted, recorded, differences noted rather than adjusted away.
Consistent product identifiers across both channels. If the shop and the store identify the same item differently, per-product reporting across channels is impossible — see multi-channel stock sync for Malaysian retailers.
What it lets you finally see
The payoff, once the streams are separated and matched.
Which products sell in the shop and which sell online, and how differently. What each channel actually contributes after its own costs — the shop carries rent and staff, the store carries delivery, acquisition and fees, and the intuition about which is more profitable is frequently wrong. Whether an online promotion moved shop sales, or simply moved them online.
None of those questions are answerable from a combined figure, and all of them are answerable once the channel and payment method are recorded on every sale — see which sales channel is most profitable.
Common questions
What does running Shopify POS alongside an online store change for the accounts?
It puts counter and online sales in one order table while they continue to settle in completely different ways — cash with no fee and a banking lag, card through a terminal provider on its own cycle, QR and wallet payments through whichever route was configured, and online payments through your web gateway. The reconciliation has to split by payment method before matching anything.
How should cash sales be reconciled?
Through a daily till routine: opening float, takings, cash paid out, closing count, with differences recorded rather than adjusted away. Rounding to the nearest five sen needs its own account, and because several days of takings are usually banked together, the bank credit matches no single day's sales and can only be matched using those daily records.
Should an accounting system replace the point of sale?
No. Taking payments at a counter, handling cash, driving a receipt printer and continuing to work when the internet is down are point-of-sale jobs. The accounting system's role is to read what the POS recorded and account for it — sales by product and payment method, stock movements, cash reconciliation and settlement matching per stream.
What is the most important field to capture at POS setup?
The payment method on every individual sale rather than daily totals, because the payment method determines which settlement stream a sale belongs to. Alongside it, the channel and location on every order, and consistent product identifiers across both channels so per-product reporting works across them.
Related: inventory valuation across online and offline · managing cash on delivery · which sales channel is most profitable
Read next
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