How Shopify orders work with Bizmitra

A Shopify order becomes a sales order in Bizmitra — not an invoice. The invoice is derived from it later, and you decide when. This guide follows one order from checkout through to a settled receivable, and is explicit about which step moves stock.

Last reviewed against the implementation on

At a glance

Direction
Shopify → Bizmitra only
First document
Sales Order (no accounting entries)
Then
Sales Invoice, then Receipt
Invoice timing
Your choice — on payment, on order, or manual
Stock moves
At invoice, not at sales order

Which system owns the order

Shopify does. The order is created there, paid there, and cancelled there; Bizmitra reflects it. This is a deliberate design decision, not a missing feature — an order that two systems both believe they own is an order that will eventually disagree with itself.

The practical consequence: Bizmitra never writes orders back to your store. Editing the imported sales order in Bizmitra does not change what your customer sees in Shopify.

Step 1 — the sales order

When an order arrives, Bizmitra writes it as a sales order — not an invoice. It gets its own voucher number in the correct financial year, against the customer's ledger and the stock items its lines resolve to.

A sales order in Bizmitra is a non-accounting document. It records what was ordered; it does not touch your ledgers and it does not move stock. That is exactly how the ERP's own sales order screen behaves, and it is what makes the later steps possible as separate, auditable events.

Two things are resolved while writing it:

  • The customer — matched to an existing party ledger, or created if this is their first order. Only the name and email reach that ledger; addresses are never extracted from the order payload. See protected customer data for exactly which fields move and what is stored where.
  • Each line's product — matched by the stored mapping first, then by SKU. A line whose product cannot be resolved still records on the order; it simply carries no stock item.

Step 2 — when the invoice is raised

This is the setting that changes the shape of everything downstream, and it is yours to choose per connection.

ModeThe invoice is raised…Suits
On payment When Shopify reports the order as paid. This is the default. Most stores — the sale and the money land together.
On order As soon as the order arrives, regardless of payment status. Businesses that invoice on despatch commitment, or bill cash-on-delivery orders up front.
Manual Never automatically — you convert the sales order yourself. Anyone who wants to check an order before it reaches the books.

Why the default is "on payment"

It is the behaviour the integration had before the setting existed, so an existing connection's books do not change shape the day the option appears. An unrecognised or blank stored value also falls back to it — a misconfiguration can never silently mean "stop invoicing altogether".

What the invoice posts

Whichever mode raised it, the invoice is a real posted sales invoice — the same document the ERP writes when you invoice by hand. It records:

  • A debit to the customer and a credit to your sales account.
  • A stock movement out of the warehouse for each line.
  • An open receivable, so the invoice shows as unpaid until something settles it.

Raised once, whatever happens

Invoice creation resolves the order's existing invoice before posting anything. A redelivered webhook, a retry racing a manual conversion, and an operator replaying a job all land on the same invoice rather than producing duplicates.

This invoice is also the document that can be pushed onward into TallyPrime — Tally receives the ERP invoice, never the Shopify order itself. See Shopify, Bizmitra and Tally.

Step 3 — the receipt

When Shopify reports payment, a receipt is posted against that invoice: a debit to your cash or bank account, a credit to the customer, and an allocation that knocks the invoice's outstanding amount down. The receivable closes, and the order stops showing as money you are owed.

Automatic receipts can be switched off independently of the invoicing mode. With them off, the invoice stands as an open receivable and you reconcile payouts yourself — which is what you want if you settle against Shopify's payout statements rather than per order.

In manual mode, payment can arrive first

An order can be paid days before you convert it. The payment is not lost: it is recorded, and the receipt is posted when you press Convert, using the captured amount.

When stock actually moves

This trips people up, so it is worth being blunt about it.

Sales order

No stock movement. The order is recorded, nothing leaves the warehouse.

Sales invoice

Stock moves out here — one movement per line.

Receipt

No stock movement. This is money, not goods.

So in manual mode, an unconverted order has not reduced your stock. That is correct behaviour — nothing has been billed — but it means your Bizmitra stock position reflects invoiced sales, not placed orders. If you want stock to move when the order lands, use on order mode.

Stock flowing the other way — from Bizmitra out to your storefront — is a separate mechanism covered in the inventory guide.

Cancellations and edits

Order updates and cancellations in Shopify are sent to Bizmitra and update the imported order. What they do not do is silently unpick posted accounting: an invoice that has already been raised is a real document in your books, and reversing it is a decision with consequences for your GST position. A refund issued in Shopify is the supported way to reverse the money, and it posts a credit note — see the refund guide.

Worked example

A ₹4,720 order for two items, on a connection left at the default settings.

Default mode — invoice on payment, automatic receipt on

01
Customer checks out in Shopify and pays by card.
Shopify records the order and marks it paid.
02
Bizmitra receives the order event.
A sales order is written with its own voucher number. No ledger entries, no stock movement.
03
Bizmitra receives the paid event.
The sales order is converted into a sales invoice: customer debited, sales credited, two stock movements out, one open receivable.
04
The receipt follows immediately.
Cash/bank debited, customer credited, and the receivable is allocated down to zero.
05
Result in your books.
One sales order, one invoice, one receipt — all linked, all reportable, and the GST is on the invoice where it belongs.

Change one setting — invoicing to manual — and steps 3 and 4 do not happen until you press Convert. The order sits as a sales order, your stock is untouched, and the captured payment waits to be receipted.

Bizmitra Assistant