Skip to content

CRO resources to optimize your e-commerce store Subscribe for free

Why the Books Stop Reconciling After a Shopify Migration

Why the Books Stop Reconciling After a Shopify Migration

In a Shopify migration, the project brief often focuses on the front end: customer journey analysis, rebranding, UX redesign and migration of the technical foundation. Nothing is left to chance… except the back office.

“They do their best, and unfortunately their best creates a lot of discrepancies.”

That's the dejected comment of a premium brand's chief financial officer, talking about the customer service team.

The poor team had been eagerly waiting for their new tool. They had just discovered that all their processes had changed. Not only would they have to learn a new way of working fast, but some habits would simply no longer be possible.

Nobody had been trained on accounting exports, and nobody had written down a refund procedure. The invoicing tool they'd chosen had just thrown the sales journal off track. The quarter's TVA return was fast approaching, and the data couldn't guarantee it could be filed with certainty.

Who should take the blame? The team or the tool?

Before answering, you have to check the mechanisms in place, Shopify's documentation and the tax rules. If your migration is under way, or if your month-end close looks like this one, what follows applies to you.


What Shopify Does Exactly

Shopify does what it says:

  • it records what happens to an order
  • on the day it happens
  • the sale on the order date
  • and the refund on the date it's processed

An order placed on the 28th and refunded on the 3rd therefore spans two different months, and nothing in the report links those two lines. An order edited on another day even shows up as a new order on the edit date, even though no order was created, and that day's order count and average order value are thrown off.

Accounting software expects accuracy from it: balanced entries, each tied to a document, meaning an invoice or a credit note, the negative invoice that cancels or corrects the original.

⚠️
There is no accounting table in Shopify.

Any invoicing tool connected to the store has to interpret these events. Every action on an order then becomes, after the fact, an invoice, a credit note or nothing at all, depending on what the tool understood.

When an update changes how the tool interprets events, the sales journal changes with it. The brand in our example went through this this year.

An accounting firm specializing in TVA, which we met through another brand, puts it differently:

“In general, Shopify does things very well as long as you don't touch it too much.”

The difficulty isn't in displaying monthly reports, which cross-check fairly easily. It's in everything that happens after the sale, meaning the team's actions.

Accounting needs four datasets that agree:

  • Shopify sales,
  • issued documents,
  • payment provider statements
  • and the bank,

The first decision to make with your finance team is to name which source is authoritative for what.

A person vacuums a red carpet at the foot of a staircase: cleaning up after the show

Five Customer Service Actions, Five Missing Documents

Action What Shopify records What's missing in accounting
Refund €25 (illustrative amount) for a late delivery, with no product return A free-form amount, filed with returns on the day of the refund The credit note that corrects the original invoice
Edit an order that's already paid A “new order” on the edit date, with a balance to refund or collect The link to the invoice already issued
Issue store credit to a customer A liability for the store, with no payment against it The entry that records this liability
Create a gift card without payment An active card that the export can't tell apart from a sold one The distinction between sold and gifted cards
Mark an order as paid under manual payment (bank transfer, check, cash on delivery) An order that goes from “pending” to “paid” on the team's say-so The actual payment received

In practice, this applies to you if your anomalies look like this:

  • a refund with no credit note,
  • a credit note with no refund,
  • a canceled payment with no credit note,
  • an order with no invoice,
  • an order marked as paid with no payment found

The most frequent cases are tied to a goodwill gesture, a return or an order edit.

The refund screen accepts a free-form amount, with no return or restocking, and if the order was placed through Shopify Payments, the card fees charged at purchase aren't refunded.

Store credit issued by hand creates a liability that only a dedicated balance report shows, and an order marked as paid leaves no trace of the money received.

Diagram of the Shopify accounting chain (order, invoice, credit note, payment, payout, entry) and the four customer service actions that break a link

A sold gift card appears in no sales report, since Shopify counts it when it's spent, for the full value of the item. Shopify's help center warns that the gift card export mixes cards that were sold with cards the team created for free in the admin.

TVA follows a different timeline. A card valid in a single country and on products at the same rate is a single-purpose voucher, taxed as soon as the card is sold. Settle this point with your accountant before the new store's first Christmas.

Shopify offers separate permissions to edit an order, refund to the original payment method, refund as store credit, adjust a credit balance or create a gift card.

What we found nowhere in the documentation is a cap by amount. The limit on a goodwill gesture exists only if you write it down, for example in this form, to copy and then rewrite with finance:

Goodwill gesture with no product return:

- Who. Customer service up to €[amount] per order. Above that, approval from [role].
- In Shopify. A partial refund on the original order, with no restocking. No store credit or gift card instead, without prior approval.
- The document. A credit note tied to the original invoice, checked the same day.
- The record. A note on the order: reason, amount and initials.
- When in doubt. The question goes to [role] before approval, and the answer comes back within the day.


The Fear of a Tax Audit Is Aimed at the Wrong Target

The question that comes up fastest in these meetings is about tax audits, and it concerns the “uncertified” invoicing tool.

The points below don't replace your accountant's advice. They're meant to help you ask the right questions.

The “uncertified” tool refers to the French law on cash register software, which covers systems that record payments from non-business customers. The tax authority exempts businesses whose payments all go through a bank, and it cites the example of a website paid by card or bank transfer. For an online store, the fear is aimed at the wrong target.

The exemption applies to all sales, and a single other payment method, such as cash in a store, voids it. In that case the store's register software must be covered by a certificate or, again since February 2026, by a vendor attestation. Shopify says its own is certified (NF525 standard), under conditions.

Check your payment provider's status before opening a point of sale or accepting another payment method.

According to the tax authority, nothing requires invoicing a consumer for a sale of goods in France, though consumer law may decide otherwise. An invoice becomes mandatory only for distance sales to another EU country, unless the business reports its TVA through the one-stop shop.

Many brands invoice every order anyway, out of habit or for export. That choice carries obligations: invoices follow a continuous chronological numbering, an issued invoice can only be corrected by a credit note or a replacement invoice, and once an invoice has been issued, the TVA on a canceled sale or a price reduction can only be recovered after the original invoice is corrected.

A €25 refund with no credit note leaves the business bearing the TVA included in that €25. The smallest action in the table is the one that leaves a tax trail. Shopify does show a TVA invoice on the order status page for European orders, but it doesn't email it, has no documented numbering or credit note, and doesn't replace an invoicing tool. Decide with finance to invoice each order only once, and stick to it.

Filings follow. The one-stop shop is declared every quarter, no later than the last day of the following month, from a register kept for ten years that traces later price reductions and proof of return.

Since September 1, 2026, large companies and mid-sized companies also send the tax authority the daily totals of their consumer sales, known as “e-reporting.” Everyone else follows on September 1, 2027, one-stop shop or not. Each refund must therefore be allocated by order and by country.

An accountant at a desk in front of a transaction listing that spills onto the floor

Three Reconciliations, in This Order

To shorten this lag, reconciliations should be run in this order. Your role is limited to providing the exports and naming who pulls them.

What you reconcile The typical discrepancy
Shopify orders with issued documents (invoices and credit notes), then with collected or refunded transactions Refund with no credit note, edited order, gift card
Gross transactions with the payment provider's fees and the net amount Fees not returned on a refund, currency conversion
Net amounts with transfers received at the bank Grouped payout, date lag, payment dispute (a customer contests the charge with their bank)

Between payment collection and payout, the money sits in a suspense account, one per payment provider: the place where accounting parks money the provider has collected but that hasn't reached the bank yet.

The French chart of accounts doesn't mention payment providers. It provides for “transit accounts” to be brought back to zero, and the choice of account is set with your accountant.

At each close, this account's balance must be explained, line by line, by transactions collected but not yet paid out. Otherwise the balance is itself the reconciliation gap.

For Shopify Payments, the admin exports each transaction with its amount, fees, net and the date of the payout it belongs to.

For an external payment provider, Shopify knows only the gross transaction, and its help center states that payout information can't be viewed in the admin, so the reconciliation report is built from the provider's exports. If you use one, ask for that report before launch, not at the first close.

Some companies give up on the detail and post a single lump-sum adjusting entry at year-end, at the price of an unpleasant surprise on margin. The brand in our example reconciles order by order and wants to keep doing so.

The specialist then sorts anomalies by cause, since a single case can explain more than half of the flows in error, and you need to know whether it comes from the tool or from a team habit. The stated target is between 99% and 99.5% reliable flows, because, as he puts it, “having ten to look at at month-end is not at all the same as having hundreds.”

Ten flows a month is the finish line. What remains is understanding how you get there from several hundred, and there, the migration stops being responsible.

The Migration Isn't Responsible for Everything

Very often, accounting problems predate the move to Shopify. In the analysis of another brand, the order history contained refunds whose full amount had been entered in the TVA field.

The brand's team summed up the old platform by saying that pre-tax amounts and TVA were mixed together there (really), “never mind, there's no check.”

The usual project rule is as simple as it is defensible: migrate the data as is, with no recalculation of anything. But if there are errors, they travel with the migration, and the only protection is to know them and put them in writing before the transfer.

The back office isn't tested like the rest either. On a hosted platform, a full copy of the store means paying twice for every app subscription, so settings are most often changed in production.

At the brand in our first example, a test order sent to production generated real invoices. Disaster.

The answers are unequivocal: “A CFO or a logistics manager has every place in this kind of project, to check that the flows work at go-live.”

They still have to be invited, and project experience shows how rare that is.

What's Missing From Your Project Brief

We reviewed dozens of launch checklists and other acceptance test plans. One checklist runs to 71 lines in eight sections, including fonts to preload and five boxes for the 404 page, without a word on accounting export, invoices, credit notes or reconciliation.

The workshop notes do contain an “Accounting checks” block, but the need got lost between the workshop and acceptance testing. Only one of the scoping documents we reviewed includes a line for “Accounting (accounting export, invoicing).”

Before signing yours, check that it contains these six lines:

  1. Someone from your finance department takes part in the workshops and signs off on the tests before launch.
  2. Definitions are set before launch: which export is authoritative, on what date a sale is counted, which suspense account for each payment provider.
  3. Each role gets the permissions it needs, and full admin rights stay limited to a few named accounts, whatever the team.
  4. One page of procedure per case is enough: refund, return, order edit, goodwill gesture, credit note, gift card and store credit, payment dispute, unpaid order, package not received.
  5. The history is cleaned up before it's migrated, or its known errors are put in writing.
  6. The three reconciliations are done every month, and the balance of the suspense accounts is justified line by line.

To see where you stand without waiting for a migration, take last month's ten most recent refunds.

For each one, look for the credit note, or the refund entry if you don't invoice every order, then the matching line on the payment provider's statement.

In committee, report a single sentence: “Out of ten refunds, we find the credit note and the provider's line for X of them.”

One point to reassure you: every brand we've looked at deals with these issues, and they belong in the project brief, next to the mockups and the redirect plan, with the rest of the audit to run before a redesign.

Your customer service team will do its best, like the one in our example. Give them these six lines and their best will stop generating discrepancies.


Frequently Asked Questions

Is Shopify accounting software?

No. Shopify records an order's events on the date they happen and has no accounting table.

Entries, invoices and credit notes come from an invoicing tool or accounting software, which interpret those events.

Accounting works from four datasets: Shopify sales, issued documents, payment provider statements, the bank.

Do you need an invoice for every Shopify order in France?

Not for tax purposes, for a sale of goods to a consumer in France. An invoice becomes mandatory for distance sales to another EU country, unless reported through the one-stop shop.

If you invoice every order, every refund requires a credit note, otherwise the TVA on the refunded amount remains due.

Does a Shopify invoicing tool need to be NF525 certified?

The cash register software law targets payments from individuals recorded in a register system. An online store whose payments all go through a bank is exempt by tolerance.

Cash in a store voids the exemption: the register software must then be certified or attested by its vendor.

How do you reconcile Shopify Payments with the bank statement?

In three levels: orders with invoices and credit notes, then with transactions; gross transactions with fees and net; net with transfers received.

Shopify Payments exports each transaction with fees, net and payout date. An external provider supplies this report itself.

Does e-reporting apply to a Shopify store?

Yes. Since September 1, 2026 for large companies and mid-sized companies, and from September 1, 2027 for everyone else, the tax authority receives the daily totals of sales to individuals, pre-tax and TVA by rate.

Reporting through the one-stop shop doesn't exempt a company established in France.