Skip to main content
Orb connects to third-party tax providers to calculate tax on Orb invoices and keep your business compliant. Orb supports: Your provider maintains tax rates for every nexus and jurisdiction, so you don’t have to track changes to tax law or to your own obligations as your sales grow. Because it receives transactions directly from Orb, it can also handle filing and reporting without manual data entry. Tax integrations apply to invoices issued through Orb Invoicing. Invoices synced to an external invoicing provider get their tax from that provider instead. See When Orb skips tax calculation.

How Orb and your tax provider work together

Orb is the system of record for your invoices. Your tax provider is the source of truth for tax law, rates, and filings. Orb doesn’t decide how much tax you owe: it sends invoice data to your provider, applies the result to the invoice, and reports the finalized transaction back.

How a tax calculation works

Each provider has its own payload format, but every integration follows the same pattern: Orb sends a calculation request, applies the response to the invoice, and later reports the finalized transaction.
Tax Diagram

What Orb sends

  1. Customer identity and address. The Orb customer ID and the address used to determine jurisdiction. Where the provider accepts seller or origin details (for example, Avalara’s ShipFrom or Numeral’s origin_address), Orb sends your merchant tax registration.
  2. Line items. One entry per invoice line item, with its amount, its quantity where applicable, and the external tax code, product ID, or category configured on the Orb item.
  3. Currency and dates. The invoice currency and the accounting date used to look up rates.
  4. Tax ID and exemption context. The customer’s tax ID and exemption status, for providers that use them to apply reverse-charge or exemption rules.
  5. Metadata. Identifiers that link the transaction back to the Orb invoice and its line items, so the response can be reconciled.
Providers calculate tax per line item, so Orb assigns any invoice-level discount to individual line items before sending the request. The discount is split in proportion to each line item’s total. For example, a $100 discount on an invoice with a $600 line item and a $400 line item reduces them by $60 and $40, and tax is calculated on the discounted amounts.

What Orb receives

  1. A tax amount for each line item, plus the total tax for the invoice.
  2. Jurisdiction and rate details for each line item (such as jurisdiction name, rate, and tax name), for providers that return them. Orb shows these in the dashboard for auditing.
  3. Any taxability reasons the provider gives for not taxing a line item, such as an exemption. Supported tax_reason values:
    1. taxed
    2. reverse_charge
    3. customer_exempt
    4. product_exempt
    5. zero_rate
Orb applies the tax amounts to the invoice as soon as the calculation returns.

Reporting the transaction

For most providers, Orb makes a second call once the invoice is issued, registering the transaction with the provider so it can be filed with a tax authority. This call happens at issuance, not when the invoice is paid, so event backfills after issuance don’t change the tax already reported.
  • Anrok, Numeral, Stripe Tax, and TaxJar: Orb creates a reporting transaction that references the original calculation.
  • Avalara: Orb creates the transaction during calculation, then commits that same transaction when the invoice moves from issued to paid. The commit only happens when the Commit tax setting is on.
  • Sphere: there’s no separate reporting call. Orb re-runs the calculation, and Sphere receives updates through webhooks.

Setting up customers

Addresses

Orb calculates tax from the customer’s shipping address, falling back to the billing address if no shipping address is set. If the customer has no valid address when an invoice is issued, issuance fails and Orb flags the invoice in the dashboard. You can set customer addresses from the customer details page in the dashboard or through the API.

Manual tax exemptions

There are two ways to manually handle a customer who doesn’t owe tax:
  • Exemption certificates in your tax provider. Create a certificate for the customer in your provider’s dashboard, using the Orb customer ID so the provider matches it to the right transactions. Orb still sends the invoice for calculation, and the provider applies the exemption.
  • Tax-exempt status in Orb. Mark the customer as tax exempt in their tax configuration, from the dashboard or the API. Orb then skips tax calculation for the customer entirely.

Reverse charge

Reverse charge is a VAT and GST rule, used in the EU and other non-US jurisdictions, that moves responsibility for reporting and paying tax from the seller to the buyer. When reverse charge applies, you charge 0% tax on the invoice, and your customer accounts for the tax in their own return. Reverse charge is a compliance requirement for businesses selling to eligible customers in the EU and other applicable jurisdictions. Eligibility A transaction qualifies for reverse charge when the customer has a valid B2B tax ID registered with the relevant tax authority. In the EU, tax IDs are validated against the VAT Information Exchange System (VIES). Your tax provider, not Orb, validates the customer’s tax ID and decides whether reverse charge applies. When it does, the provider returns a reverse charge exemption in its tax response, and Orb applies it to the invoice. How reverse charge works Orb makes the tax call when the invoice is finalized and issued. Line items taxed under reverse charge are taxed at 0% and return tax_reason: "reverse_charge" in the invoice and credit note APIs and in data exports. Reverse charge notes When reverse charge applies, Orb prints a tax note on the transaction. Where the note text comes from depends on your provider. Reverse Charge 1 Setting up reverse charge
  1. Add customer tax IDs. Set each eligible customer’s tax ID on their Orb customer record, from the customer details page or through the API. Without a tax ID, your provider can’t apply reverse charge. See Customer tax IDs.
  2. Configure your tax note (Numeral, Sphere, and Stripe Tax only). Customize the note text in your integration settings.

Tax IDs

Orb displays both customer and merchant tax IDs on invoices, and sends them to your tax provider as calculation inputs. Merchant tax IDs are managed in Orb, so they work the same way with every provider.

Customer tax IDs

Set a customer’s tax ID from the customer details page or through the API. Orb sends it to your provider with every calculation and report, and the provider uses it to decide whether a transaction qualifies for a reverse charge in eligible VAT countries.
Tax Customer Ids
A customer’s tax ID is final once an invoice is issued.Draft invoices always show the customer’s current tax ID. Issued invoices keep the tax ID the customer had at issuance, and it can’t be changed afterward. To correct it, the invoice must be voided and reissued. Contact Orb Support for help.

Merchant tax IDs

Add your company’s tax registration numbers in Settings > Invoices. Each tax ID has an Applies to setting, and Orb shows it in the invoice’s “From” section and on invoice and credit note PDFs when the customer’s country or region matches. You can add up to 50 tax IDs per account. On cross-border invoices, Orb shows the merchant’s and customer’s country names alongside their addresses, so the tax context is clear.
Tax Merchant Ids

Tax presentation on the Orb Invoice

If you use Orb for Invoicing, Orb prints all tax relevant information clearly on the invoice. Reverse Charge 3
  1. Consolidated tax line. A single header tax value is shown.
  2. Tax breakdowns. All tax amounts across all lines are shown on the invoice, and are default broken down by jurisdiction.
  3. Merchant and customer tax IDs. If configured, Orb prints the tax IDs on the invoice header.
  4. Reverse charge note. If a transaction is reverse charge exempt, Orb prints the compliance language on the invoice.
To hide per jurisdiction breakdowns on the invoice, toggle the Hide tax breakdown by jurisdiction setting in your account settings. Settings > Invoices > Invoice display. Reverse Charge 2

When Orb skips tax calculation

Orb doesn’t calculate tax on an invoice when:
  • automatic tax is off for the customer,
  • the customer is marked as tax exempt in Orb,
  • no tax provider is connected, or the integration is disabled, or
  • the invoice syncs to an external invoicing provider, such as Stripe Invoicing, Bill.com, or NetSuite.

Automatic tax

Automatic tax controls whether Orb calculates tax for a customer’s invoices. You set it for your whole account and can override it for individual customers. Customers without an override follow the account setting. The setting only takes effect once a tax integration is connected. When automatic tax is off, Orb doesn’t contact your tax provider at all, and it skips the address check, so invoices can be issued for customers without a valid address. This is an operational control, not a legal determination. Use it when tax is handled outside Orb: manually, by a marketplace, by an external invoicing system, or by another tax engine.

Invoices synced to external invoicing providers

External invoicing providers usually apply their own tax, so Orb skips its calculation for invoices it syncs to them and doesn’t sync any tax line items. This prevents double taxation and supports gradual migrations: customers still invoiced through a provider like Stripe Invoicing keep their existing tax setup until you move them to Orb Invoicing.

Timeline events

Whenever Orb skips tax on an invoice, it records an event on the invoice timeline with the reason, the time of the decision, and any relevant context, such as which external provider the invoice syncs to. Use these events to audit untaxed invoices and find ones that need manual review.

Credit notes and voids

  • Credit notes. When you issue a credit note on a taxed invoice, Orb calculates the tax adjustment in proportion to the original transaction and reports it to your provider, so refunds show up correctly in your compliance records.
  • Voids. Voiding a taxed invoice removes its original tax impact instead of recording a refund. Orb sends the matching void or reversal to your provider so the two systems stay reconciled.
In both cases, the reversal uses the customer information from the original invoice.