VAT & invoices
Every paid checkout on Cobuntu produces a tax-deductible invoice. This page covers how VAT works on the platform, who issues the invoice, and the three ways a buyer can add their VAT number.
TL;DR
- Cobuntu is the merchant of record for every paid checkout. The buyer's commercial counterparty is Cobuntu, not the seller. The seller is named on the invoice ("Sold by …") for attribution.
- VAT is a passthrough, not an expense. Cobuntu collects VAT from the buyer at the rate Stripe Tax computes (based on the buyer's billing address) and remits it to the relevant tax authority. The seller does not collect or remit VAT on the transaction.
- Buyers can add a VAT number on three surfaces —
/cart(members, before redirect), the Stripe Checkout page (everyone, at payment time), and/my-orders(within 30 days, post-purchase amendment). - Invoices live in
/my-orders, pivoted by transaction (one row per cart checkout, even when the cart mixes events + products + multiple sellers). Download links open the Stripe-hosted PDF.
How VAT works on Cobuntu
Cobuntu operates as a marketplace under a single-merchant model: every paid transaction is a sale from Cobuntu to the buyer, with the seller (a community or an individual user) receiving a downstream payout net of Cobuntu's commission and processing fees. This is the same model Amazon and Eventbrite use.
What the buyer sees
A buyer in Berlin paying €100 for a Porto event ticket sees this on their card statement and invoice:
| Line | Amount |
|---|---|
| Subtotal | €100.00 |
| VAT (19% — buyer's country rate) | €19.00 |
| Total charged | €119.00 |
The €19 VAT is calculated by Stripe Tax based on the buyer's billing address (collected on the Stripe Checkout page). For B2B EU buyers with a valid VAT number, reverse-charge applies — VAT shows as €0 on the invoice and the buyer self-accounts in their own country.
What happens with the money
Behind the scenes:
| Slice | Amount | Owner |
|---|---|---|
| VAT | €19.00 | Passthrough — Cobuntu remits to tax authority |
| Cobuntu commission (e.g., 10%) | €10.00 | Cobuntu revenue |
| Seller payout | €90.00 minus Stripe fees | Paid to the seller (community or user) on the next bi-weekly cycle |
The seller's perspective. Sellers don't have to register for VAT, file VAT returns, or handle cross-border tax compliance. Cobuntu does that on their behalf because every charge legally lands on Cobuntu's Stripe account. Sellers receive a SELLER_PAYOUT or COMMUNITY_PAYOUT invoice for tax records (issued by Cobuntu, documenting the payout).
The buyer's perspective. The invoice is a regular B2C receipt unless the buyer provides a VAT number — in which case it's a B2B tax-deductible invoice with the VAT number printed on it and (for EU cross-border B2B) the reverse-charge note.
Adding a VAT number to your purchase
There are three paths, each catching a different moment in the buyer journey.
Path 1 — At checkout, in the cart (members only)
Members of a Cobuntu community see an optional "Tax-deductible invoice" section on the /cart page when there's at least one paid item. They enter their country + VAT number before clicking Checkout.
- Stripe validates the VAT number when the customer record is updated. Invalid formats are rejected with an inline error before the buyer is sent to Stripe Checkout.
- The VAT number then appears pre-filled (and pre-validated) on the Stripe Checkout page.
- Once payment completes, the resulting invoice carries the VAT number and applies any reverse-charge rules.
Path 2 — On the Stripe Checkout page (every buyer, including guests)
After clicking Checkout, the Stripe-hosted page shows an optional "Add tax ID" field. This catches:
- Guests who don't have a Cobuntu account.
- Members who skipped the
/cartfield. - Buyers from countries with non-EU tax ID formats Stripe supports (UAE TRN, Australian ABN, Brazilian CNPJ, Singapore UEN, etc.).
The field is fully managed by Stripe — buyers see Stripe's validation messaging and formatting rules per country. Result is the same: the VAT number lands on the resulting invoice.
Path 3 — Post-purchase, on /my-orders
Buyers who didn't add a VAT number at checkout can amend it later for up to 30 days after the purchase. On /my-orders, each transaction row shows an "Add VAT number" link when no tax ID is on file.
- Modal collects country + VAT number.
- The original invoice is marked
SUPERSEDED; a replacement invoice is issued with the VAT number on it. - The "Download invoice" button on that row now points at the replacement PDF.
After 30 days, the link is gone — the buyer's accounting period for that transaction is likely closed. They can contact support for an exceptional amendment.
Downloading your invoice
Every paid transaction produces a Stripe-hosted PDF invoice plus a hosted invoice URL (the Stripe-branded receipt page). Both are linked from /my-orders:
- In the table — a download icon per row opens the PDF directly.
- In the detail drawer — full transaction breakdown (line items, refunds, credit notes for refunded items, "Download invoice" button).
If you don't see a download button yet, the invoice hasn't been generated. Cobuntu runs an hourly reconcile job that catches any missed invoices within 24 hours of the purchase; on the rare occasion an invoice doesn't show up within that window, contact support.
Refunds and credit notes
If a transaction is partially or fully refunded, a credit note appears next to the original invoice in /my-orders. The credit note is Cobuntu-issued (same merchant as the invoice) and references the original via Stripe's native credit-note mechanism — both PDFs match for accounting purposes.
Reverse-charge mechanism (EU B2B)
When a VAT-registered EU buyer makes a cross-border purchase (e.g., a German company buying from a Portuguese community), the reverse-charge mechanism applies:
- Cobuntu collects €0 VAT on the transaction.
- The invoice shows the buyer's VAT number and a note: "Reverse charge — VAT to be accounted for by the recipient under Article 196 of the EU VAT Directive."
- The buyer self-accounts for VAT in their home country.
This is the standard EU B2B model and is handled automatically by Stripe Tax when a valid EU VAT number is on the customer record.
Supported tax ID types
Cobuntu accepts buyer tax IDs for ~30 countries via Stripe's tax ID system (opens in a new tab). Common ones:
| Country / region | Type | Example |
|---|---|---|
| EU 27 | eu_vat | DE123456789, PT123456789 |
| United Kingdom | gb_vat | GB123456789 |
| Switzerland | ch_vat | CHE-123.456.789 MWST |
| Brazil | br_cnpj (company) / br_cpf (individual) | 12.345.678/0001-90 |
| UAE | ae_trn | 123456789012345 |
| Australia | au_abn | 12 345 678 901 |
| New Zealand | nz_gst | 123-456-789 |
| Singapore | sg_uen | 201912345A |
| Canada | ca_bn | 123456789RT0001 |
| India | in_gst | 12ABCDE3456F1Z5 |
| Japan | jp_cn | 1234567890123 |
| Korea | kr_brn | 123-45-67890 |
| Mexico | mx_rfc | ABC010101AB1 |
For countries that don't appear on Stripe's tax ID list (e.g., US — sales tax model rather than VAT), Cobuntu issues a regular B2C receipt without a buyer tax ID. The total charged includes any applicable sales tax Stripe Tax has determined.
FAQ
Does Cobuntu "absorb" the VAT?
No. VAT is collected from the buyer (added on top of the sale price). Cobuntu holds it briefly and remits it to the tax authority. The seller's payout is calculated on the net sale amount (excluding VAT), so VAT doesn't reduce the seller's earnings.
Is the seller registered for VAT?
The seller doesn't need to be. Cobuntu is the merchant of record and handles VAT registration / remittance across all jurisdictions where it sells. The seller pays income tax on their payout earnings in their own country, separate from VAT.
Can I get an invoice in the seller's name instead of Cobuntu's?
Not today. Cobuntu issues every buyer invoice. The seller is named in the footer ("Sold by …") for attribution. A direct-seller-invoice model (Stripe Connect direct charges) is on the roadmap but not yet available — it would require sellers to register for VAT in every jurisdiction they sell to, which most don't want.
What if my company needs a corrected invoice (wrong address, wrong VAT number)?
For VAT amendments within 30 days: use the "Add VAT number" / "Edit VAT number" link on /my-orders. Stripe generates a replacement invoice automatically.
For other corrections (address change, name change) or amendments past the 30-day window: contact support. We'll issue a credit note for the original and a corrected invoice.
Does the FE always show the invoice immediately?
Not quite. Invoices are generated asynchronously after Stripe confirms the payment. The hourly reconcile cron picks up any that didn't generate inline. Practically, expect the invoice link within seconds of completing checkout; if it's still missing after an hour, it's a real problem worth flagging to support.