For accounting firms, bookkeepers and fractional CFOs

What SKU.io posts to your client's books, and how you check it

SKU.io runs inventory, orders and purchasing for ecommerce sellers, and it feeds Xero or QuickBooks Online. Your client's general ledger stays in Xero or QuickBooks, and you still close the books. This page shows what reaches that ledger, when, and what stops a bad month from being signed off.

What SKU.io posts, and when

SKU.io keeps its own double-entry ledger, written from the documents the business already creates. Nobody types journal entries. If a document changes after its entry has posted, SKU.io posts a correcting entry. It never edits the old one. A deleted document's entry is reversed, not erased. High-volume postings such as shipments can be batched into one summary entry per period and per sales channel, so the provider does not fill up with a line for every order.

Event What posts When
A sale on a payout channel Booked once, from the payout. The order keeps its invoice for the record, but that invoice posts nothing and is not sent to Xero or QuickBooks. Payout channels and order invoices When the payout or settlement arrives
A sale invoiced on its own (wholesale, or a channel set per order) Debit Accounts Receivable. Credit Sales and Sales Tax. How automatic accounting works When the order is invoiced
A shipment Debit Cost of Goods Sold, credit Inventory Control, at the first in, first out (FIFO) cost of the units shipped, including any landed cost recorded against them. FIFO layers and COGS When the shipment goes out
Stock received on a purchase order, then the supplier bill Receipt: debit Inventory Control, credit Accrued Purchases. Bill: debit Accrued Purchases, credit Accounts Payable. How automatic accounting works On receipt, then on the bill
Stock lost, damaged or expired Shrinkage, lost and stolen go to Inventory Shrinkage. Damaged goes to Inventory Damage Write-Offs. Expired goes to Expired Stock Write-Off. Counting mistakes and losses with no reason go to COGS. Send inventory losses to their own accounts When the loss is recorded, from the day the accounts are mapped
Tax a marketplace collects and remits Posts twice to a separate Marketplace Facilitator Tax account, once collected and once remitted, so it nets to zero and stays out of Sales Tax. Tax the seller collects itself still posts to Sales Tax. Account for marketplace facilitator tax By order date, from the day it is adopted
A payout that spans two months One part per month. Earlier parts are dated the last day of their month, and the parts still add up to the one deposit. Split settlements at month end Month end
A bill from a supplier in another currency (optional) Posts in the supplier's currency at the bill-date rate, so Xero or QuickBooks books the realized exchange gain or loss when it is paid. Post supplier bills in their own currency On the bill

Payout channels

On Amazon, Shopify, eBay, Walmart, TikTok Shop and Temu, a channel set to "Per payout" books each sale once, from the payout, so the sale is not counted twice and the order's receivable does not sit open. Amazon channels start on Per payout. So do Shopify stores connected now. A month-end check fails while any order invoice on a payout channel still carries a receivable its payout already booked.

  • Walmart: One sales invoice and one fee bill per settlement, adding up to the deposit to the cent, from Walmart's reconciliation report. Guide
  • TikTok Shop: One sales invoice and one fee bill per payout, equal to the deposit to the cent. The reserve and any negative balance sit in a balance-sheet clearing account. Guide
  • Temu: Each statement posts as an invoice equal to the deposit, with "Others" on a separate fee bill and the rolling reserve in a balance-sheet account. Temu has no payout API, so statements come from two files downloaded from Temu Seller Center, or are typed in. Guide
  • Shopify and eBay: Each payout posts as invoices and bills whose net equals the deposit. Lines can also be split into product, shipping, discount and tax, which sends buyer-paid tax to Sales Tax, never revenue. Guide
  • Amazon: Settlements map to your accounts, and each settlement shows whether Amazon actually paid it out. A month-end check flags any that were not deposited. Guide

Payout mappings are dated. A change starts on a date you choose, earlier payouts keep the accounts they posted with, and payouts on or before the hard close date are never rebuilt (change payout mappings from a date).

Revenue timing

Revenue is booked on the order date by default. For sellers who need revenue to wait for the shipment, such as pre-orders, long lead times or ASC 606 reporting, there is an optional "At fulfillment" basis. Revenue moves to Sales as each shipment goes out, in the same entry as its COGS. On payout channels this covers Amazon, eBay, Shopify and Walmart, not TikTok Shop or Temu. You can preview it month by month on the client's own recent orders before switching, and orders created before the switch date keep order-date recognition (revenue recognition at fulfillment).

The chart and the channel split

New accounts start with an ecommerce chart of accounts. An existing account can apply the same standard after a full preview, and it only adds what is missing: nothing already set is remapped, renamed or deleted, and nothing is written in a locked period. Marketplace and payment processing fees sit in cost of sales, above gross margin. Advertising stays an operating expense (release note). Channels are told apart with a Xero tracking category or QuickBooks classes on revenue, COGS, marketplace fees and FBA inventory, instead of a longer chart (tag entries by channel). Account rules by category, brand, supplier or product type send each product's sales and costs to the right accounts, new products included (map product accounts with rules).

The standards checklist

36 checks ecommerce accountants apply to a seller's books

We wrote down what ecommerce accountants expect to find when they take over a seller's books: payouts, landed cost, opening stock, go-live readiness, the P&L and chart of accounts, the close, losses, and tax and revenue timing. It works on any system. Use it as a review list for a new client, or send it to a client before the first meeting.

Read the 36 checks

Close controls

What stops a bad month from being signed off

A checklist that grades the month

Each month carries 31 built-in rows: 28 checks SKU.io grades and three reviews a person ticks. Some checks block the close until they are fixed. Some can be closed over, but only with a written reason and the Period Override permission. The rest are warnings that need an acknowledgment.

Close checks reference

A second person signs it off

With two or more people doing the accounting, whoever prepared the month, ticked an item or recorded an override cannot close it. That includes administrators. The reviewer sees every override by name.

Review and close a month someone else prepared

Closing is a sign-off. One date locks.

Closing a month signs it off and saves its report pack as the numbers of record. A late bill still lands on its real date, and the month reads "Closed – restated" until it is signed off again. The earlier pack stays in History. The only lock is one hard close date for the account. Every move of that date is recorded with the person and the reason, and moving it needs its own permission, which only the Admin role has by default.

How the hard close date works

Your provider is checked at close

The trial balance from Xero or QuickBooks is fetched fresh while the checks run. SKU.io reads each connection's own lock date daily and flags when it disagrees with the hard close date. It never writes that lock for you.

Close a month

Two things to know before you rely on it. "Inventory reconciled to GL" is a warning by default and blocks only if you turn that on. No check ever locks a month: only the hard close date does.

Go-live readiness

Checks to run before the first entry reaches the ledger

A client's first entries are built from product costs, purchase orders, receipts and payouts. Mistakes there are much harder to correct once they reach Xero or QuickBooks, so these checks run first.

Go-live readiness

Runs before accounting is first turned on. Blocking checks: product costs, payout and settlement codes with no account, and the inventory tie-out to the opening balance. Warnings: stale purchase orders, unfinished receipts, foreign-currency bills, your review of the setup, and cost and count trust. Each check links to the records to fix. Overriding a blocking check takes a written reason, and the override is kept with the check's figures at that moment.

Check your data before going live

Cost and count trust

The share of stock value that has a documented cost, weighted by where the cost came from, and count trust per warehouse per month from physical counts. Both are warnings, never blocks. Stock at Amazon (FBA and AWD) is not included yet.

Check how far your costs and counts can be trusted

Books health check against Xero or QuickBooks

Compares SKU.io's figures with the provider's trial balance month by month: income, income by channel, COGS, and inventory on the balance sheet. Each difference is graded against bands you can see. It is read-only, costs nothing to run, and covers up to 24 months per run. Both sides must use the same base currency.

Check your books against Xero or QuickBooks

History from before go-live

Old counts and supplier invoices go in a separate register that works out COGS as opening plus purchases minus closing for each month. It never creates stock, changes a cost or posts to the books. Months it cannot pin down are labeled Estimate and are never posted.

Record your history before go-live

Two offers you can hand a client

A readiness review, and an opening cost check

Readiness review

We run go-live readiness and the books health check on your client's data and send you the result: what blocks, what only warns, where SKU.io and the current books disagree by month, and the records behind each item. You decide with your client what to fix before anything posts.

Go-live readiness · Books health check

Opening cost check

A service the SKU.io team runs, not a button. We compare your client's costs with the supplier invoices, freight, duty and brokerage bills, credit notes and counts behind them, and work out landed cost per product per warehouse. It ends in an opening stock count ready to load and corrected default costs, and we walk through the report on a call. The quantities are your client's own count, as given. The price is agreed up front.

Each new partner firm's first client gets it free. So far we have run it on a generated set of documents with known answers, not on a client's books. Your first client is also our first real case, and we will say so to them.

Have your costs checked against supplier documents

Who it is for, and who it is not

SKU.io fits sellers on several channels, usually Shopify and Amazon plus some of Walmart, TikTok Shop, eBay or wholesale, with stock at Amazon, an outside warehouse or more than one warehouse of their own. Roughly $1M to $50M a year. A client under about $1M a year that sells on one channel will be better served by Zoho Inventory or inFlow, and we will tell them so.

Some limits to know now. SKU.io connects to Xero and QuickBooks Online only. It does not file sales tax: it sends every sale and credit to Numeral, a separate company, which registers, files and pays (connect Numeral). The cash-flow calendar is a purchasing view built from payouts and supplier payments, not a full cash forecast. Separation of duties is between users in one account; there is no separate outside-reviewer seat. SKU.io has no SOC 2 report.

Every guide linked on this page is in the public accounting guides, and most have a short video. The accounting overview covers the same ground for your client.

Partner terms

The partner program, in plain words

The fee
10% of the subscription revenue we actually collect from each client you refer.
How long
12 months per referral, counted from the client's first billed month of live service. A signing deposit does not start the clock.
When you are paid
Within 60 days of us collecting from the client, usually sooner. Your partner portal shows every referral and every month owed, so an invoice is never a guess.
Partners introduced by a partner
If another referral partner introduced you to us, the 10% is shared: 5% to you and 5% to the partner who introduced you, so the total on any client is never more than 10%. Introduce another partner yourself and you earn 5% on the clients they refer.
Or a discount for your client
Prefer not to take a fee? Pass the same value to your client instead: 10% off their subscription for 12 months.
Not included
Pass-through items we bill at cost, one-off onboarding and custom development, taxes and refunds.

These terms are set out in full in the SKU.io Partner Agreement and mutual NDA, which you accept online in your partner portal. No cost to join and no minimum number of referrals. More on how a referral works is on the partners page.

Apply, or see it on a call first

Apply on the partners page in two minutes, or book a walkthrough. Kalvin shows the postings, the close and the readiness checks in a live account, and answers the hard questions straight.

Book a walkthrough with Kalvin

Ready to join? Apply to become a partner.