VAT & invoices

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:

LineAmount
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:

SliceAmountOwner
VAT€19.00Passthrough — Cobuntu remits to tax authority
Cobuntu commission (e.g., 10%)€10.00Cobuntu revenue
Seller payout€90.00 minus Stripe feesPaid 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 /cart field.
  • 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 / regionTypeExample
EU 27eu_vatDE123456789, PT123456789
United Kingdomgb_vatGB123456789
Switzerlandch_vatCHE-123.456.789 MWST
Brazilbr_cnpj (company) / br_cpf (individual)12.345.678/0001-90
UAEae_trn123456789012345
Australiaau_abn12 345 678 901
New Zealandnz_gst123-456-789
Singaporesg_uen201912345A
Canadaca_bn123456789RT0001
Indiain_gst12ABCDE3456F1Z5
Japanjp_cn1234567890123
Koreakr_brn123-45-67890
Mexicomx_rfcABC010101AB1

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.