billing
Turn on Stripe Tax for card payments
TL;DR
Owners/admins finish Stripe Tax on Settings → Payouts, turn on Use Stripe Tax at Checkout in Catalog & tax, then unpaid invoice Pay recalculates tax from the horse owner’s billing address.
- billing
- tax
- stripe
- checkout
- payouts
- invoices
- registrations
- tax-code
Barnflow can charge manual sales tax on draft invoices (Catalog & tax rate) or recalculate tax at card Checkout with Stripe Tax on your connected Stripe account. Stripe Tax is opt-in and only applies to unpaid invoices (no prior payments).
How to enable Stripe Tax
- Sign in as an owner or admin. Finish Settings → Payouts until Card payments is Active (see Connect your bank).
- On the same Payouts page, open Stripe Tax (for invoice Checkout).
- In Tax settings, set your head office address and a preset product tax code. Status must become active.
- In Tax registrations, add every state (or country) where you collect tax. Without a registration, Stripe may calculate $0 tax (
not_collecting). - Open Settings → Catalog & tax (
/app/settings/billing). Turn on Use Stripe Tax at Checkout and save. - Send an unpaid invoice and use Pay (portal or staff). Checkout collects a billing address and applies Stripe Tax on pre-tax line items — it does not add Stripe Tax on top of manual tax already baked into a remaining balance.
- For partially paid invoices, card Pay charges the remaining balance (including any manual tax) without Stripe Tax.
Do not upload tax documents in other Barnflow screens — Stripe owns Tax settings and registrations on the connected account.
Example
Willow’s owner finishes Payouts (Active), sets Tax head office to Oregon and preset code Pet Boarding (txcd_20030002), registers Oregon, enables Use Stripe Tax at Checkout, then a horse owner pays a new unpaid board invoice. Checkout asks for address and adds tax per Stripe’s rules. A later partial payment uses the remaining balance without recalculating Stripe Tax.
Example product tax codes (starting points)
Barnflow’s Checkout default product tax code is General - Services (txcd_20030000) unless you set STRIPE_PRODUCT_TAX_CODE. Preset and per-product codes in Stripe control how Stripe Tax classifies what you sell.
| Code | Stripe name | Barn-oriented use (verify) |
|---|---|---|
txcd_20030002 | Pet Boarding | Overnight animal boarding / stall care (not veterinary) |
txcd_20030000 | General - Services | Catch-all services when no better Stripe category fits |
txcd_20030003 | Pet Grooming | Grooming / bathing-style services |
txcd_50021003 | Fee for Personal Training/Fitness Classes | Sometimes used for lessons — confirm carefully |
txcd_99999999 | General - Tangible Goods | Feed, bedding, tack, or other physical goods |
txcd_00000000 | Nontaxable | Force no tax on a line (only when appropriate) |
Caution: These are examples from Stripe’s catalog, not tax advice. Horse boarding, lessons, and farm retail are taxed differently by jurisdiction. Confirm the correct code with your CPA or tax advisor and Stripe’s tax codes list. Wrong codes can under- or over-collect tax.
▶Show details for AI/advancedexhaustive reference & AI context
Stripe Tax at invoice Checkout — Barnflow
Barnflow can charge manual sales tax on draft invoices (Catalog & tax rate) or recalculate tax at card Checkout with Stripe Tax on your connected Stripe account. Stripe Tax is opt-in and only applies to unpaid invoices (no prior payments).
How to enable Stripe Tax
- Sign in as an owner or admin. Finish Settings → Payouts until Card payments is Active (see Connect your bank).
- On the same Payouts page, open Stripe Tax (for invoice Checkout).
- In Tax settings, set your head office address and a preset product tax code. Status must become active.
- In Tax registrations, add every state (or country) where you collect tax. Without a registration, Stripe may calculate $0 tax (
not_collecting). - Open Settings → Catalog & tax (
/app/settings/billing). Turn on Use Stripe Tax at Checkout and save. - Send an unpaid invoice and use Pay (portal or staff). Checkout collects a billing address and applies Stripe Tax on pre-tax line items — it does not add Stripe Tax on top of manual tax already baked into a remaining balance.
- For partially paid invoices, card Pay charges the remaining balance (including any manual tax) without Stripe Tax.
Do not upload tax documents in other Barnflow screens — Stripe owns Tax settings and registrations on the connected account.
Example
Willow’s owner finishes Payouts (Active), sets Tax head office to Oregon and preset code Pet Boarding (txcd_20030002), registers Oregon, enables Use Stripe Tax at Checkout, then a horse owner pays a new unpaid board invoice. Checkout asks for address and adds tax per Stripe’s rules. A later partial payment uses the remaining balance without recalculating Stripe Tax.
Example product tax codes (starting points)
Barnflow’s Checkout default product tax code is General - Services (txcd_20030000) unless you set STRIPE_PRODUCT_TAX_CODE. Preset and per-product codes in Stripe control how Stripe Tax classifies what you sell.
| Code | Stripe name | Barn-oriented use (verify) |
|---|---|---|
txcd_20030002 | Pet Boarding | Overnight animal boarding / stall care (not veterinary) |
txcd_20030000 | General - Services | Catch-all services when no better Stripe category fits |
txcd_20030003 | Pet Grooming | Grooming / bathing-style services |
txcd_50021003 | Fee for Personal Training/Fitness Classes | Sometimes used for lessons — confirm carefully |
txcd_99999999 | General - Tangible Goods | Feed, bedding, tack, or other physical goods |
txcd_00000000 | Nontaxable | Force no tax on a line (only when appropriate) |
Caution: These are examples from Stripe’s catalog, not tax advice. Horse boarding, lessons, and farm retail are taxed differently by jurisdiction. Confirm the correct code with your CPA or tax advisor and Stripe’s tax codes list. Wrong codes can under- or over-collect tax.
Dependencies checklist
All of the following must be true for Stripe Tax at Checkout to run:
| Dependency | Where |
|---|---|
| Connected account + card_payments Active | Settings → Payouts |
| Stripe Tax settings active (head office + preset tax code) | Payouts → Tax settings (or barn Stripe Dashboard) |
| At least one tax registration where you collect | Payouts → Tax registrations |
| Org flag stripe_tax_enabled | Catalog & tax → Use Stripe Tax at Checkout |
Invoice unpaid (amount_paid_cents = 0) | Billing / portal Pay |
| Line items use exclusive pre-tax amounts | Automatic when Stripe Tax path runs |
If Tax settings are not active, Pay shows an error asking you to finish Tax on Payouts (or contact the barn from the portal).
Manual tax vs Stripe Tax
| Mode | Draft invoice | Card Checkout |
|---|---|---|
| Manual only (default) | Org rate on taxable lines | Charges remaining balance (includes manual tax); no automatic_tax |
| Stripe Tax on | Draft may still show manual rate for display | Recalculates on pre-tax lines from billing address |
Manual rate still helps offline / mark-paid and PDF drafts. Stripe Tax does not replace your filing obligations — reports live in the barn’s Stripe Tax reporting.
Who can do this
Owners and admins configure Tax and Catalog & tax. Managers can still send invoices and record offline payments.
Troubleshooting
- Pay error about Tax incomplete — finish Tax settings (status active) and registrations on Payouts.
- Tax shows $0 — missing registration for that jurisdiction, nontaxable code, or exempt product rules.
- Partial invoice — Stripe Tax path is skipped by design; remaining balance is charged as-is.
- SaaS Plan — Barnflow subscription tax is separate from horse-owner invoice Tax.
AI retrieval keywords: Stripe Tax, automatic_tax, tax settings active, tax registrations, product tax code, Pet Boarding txcd_20030002, General Services txcd_20030000, Catalog & tax, unpaid invoice only, no double tax, Settings → Payouts, /help/stripe-tax-checkout, /app/settings/billing, /app/settings/payouts
Barn staff: Open a support ticket
Horse owners: Message your barn