Booking Shopify B2B orders -- correctly, not as a generic consumer sale.
The moment an order carries a buyer GSTIN, it needs to become a completely different kind of invoice -- a real tax-credit document, with its own ledger, its own voucher, kept out of your ordinary retail aggregate entirely.
A GSTIN captured but never booked is worse than no GSTIN at all.
Shopify has no native GSTIN field. Merchants who sell B2B usually solve capture with a checkout note attribute, a metafield, or Shopify's native B2B/Wholesale feature -- but capturing the GSTIN is only half the problem. It has to actually reach the invoice, correctly matched to the right customer, every time. At least one competing Shopify-to-Zoho connector reportedly drops the captured GSTIN entirely and books every buyer as a plain consumer -- which quietly blocks the buyer's own input tax credit until someone notices and fixes it by hand.
Every part of the B2B path.
Three ways to capture a GSTIN
Shopify's checkout has no native GSTIN field -- Ledgeree reads it from a checkout note attribute, an order or company metafield, or Shopify's native B2B/Wholesale company (Shopify Plus), configurable per shop.
Matched by GSTIN, never by name
Customer names vary and typo across orders ("Acme Pvt Ltd" vs "ACME Private Limited") -- the one reliable identifier is the GSTIN, so party-ledger lookup is always keyed on it, checked before ever creating a new ledger.
Auto-created Sundry Debtor / Contact
The first order from a new B2B customer creates their dedicated ledger (name + GSTIN + state) on the fly -- idempotent, so a hundred repeat orders from the same customer never create a hundred ledgers.
Never folded into the B2C aggregate
B2B orders are excluded from the standard state-day gateway/website aggregate entirely and post against the customer's own ledger -- unlike at least one competing Shopify-to-Zoho connector that reportedly drops the captured GSTIN and books every buyer as a plain consumer.
One voucher per fulfillment, never aggregated
Unlike the B2C daily aggregate, every B2B fulfillment gets its own voucher -- so a tax-credit invoice always maps to exactly one real shipment, never a blended multi-order total.
Its own Sales / Sales Return ledger pair
B2B sales and returns post to dedicated ledgers, kept separate from ordinary retail Sales/Sales Return -- your B2C and B2B revenue never mix in one account.
Configurable GSTIN-source-not-enabled fallback
If auto-ledger-creation is switched off, a captured GSTIN is simply ignored and the order falls back to plain B2C -- a deliberate escape hatch, not a silent failure.
Get your B2B invoices right, automatically.
A 5-day free trial is enough to see a real B2B order post correctly.
Start free trial