---
title: "Decide when prepaid credits carry VAT · Agent Wranglers"
url: https://agentwranglers.se/playbook/usage-billing/credits-and-prepaid-balances/credit-vat-point
id: USG-27
level: Recommended
applies: payments, eu-users
region: EU
updated: 2026-10-27
build: a2a6bdfed830
tokens: 975
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Decide when prepaid credits carry VAT

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Credits and prepaid balances](https://agentwranglers.se/playbook/usage-billing/credits-and-prepaid-balances.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: USG-27
- Level: Recommended
- Chapter: [Credits and prepaid balances](https://agentwranglers.se/playbook/usage-billing/credits-and-prepaid-balances.md)
- Rule: For each credit product, record whether VAT is due when the credits are sold or when they are spent. Keep the reason and your accountant's sign-off. Charge and report VAT at that point only.
- Check: Every credit product in the catalogue has a VAT point of "sale" or "spend" and a sign-off date. A test buys and spends credits of each kind, and VAT appears on the invoice at the recorded point only.
- Applies when: The project takes payments, or has users in the EU.
- Region: European Union (EU). The duty comes from the law there. The rule applies only when the project serves people there, and its Applies when also holds.
- How: EU VAT law treats a voucher by what is known at sale. Credits that buy one service at one VAT rate in a known country are close to a single-purpose voucher. VAT is then due at sale. Credits spendable on goods or services at different rates, or in several countries, are multi-purpose, and VAT is due when they are spent. Some tax offices treat SaaS credits as a plain advance payment, which is also taxed when paid. The voucher rules are in [Sell gift cards as vouchers with the right VAT and expiry](https://agentwranglers.se/playbook/payments/tax/gift-card-vouchers.md). Store the VAT point on the credit product, and let the invoice code read it. Credits that expire unspent still leave VAT and accounting questions, so ask your accountant how to book them.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### JavaScript example

```js
export function vatLinesFor(event, product) {
  if (product.vatPoint === 'sale' && event.kind === 'credit-purchase') return [vatLine(event.amountMinor, product)]
  if (product.vatPoint === 'spend' && event.kind === 'credit-use') return [vatLine(event.amountMinor, product)]
  return []
}
```

### Python example

```python
def vat_lines_for(event, product):
    taxed_kind = {"sale": "credit-purchase", "spend": "credit-use"}[product.vat_point]
    return [vat_line(event.amount_minor, product)] if event.kind == taxed_kind else []
```

## Sources

- [Council Directive (EU) 2016/1065 on vouchers](https://eur-lex.europa.eu/eli/dir/2016/1065/oj)

## Related rules

- PAY-75 [Sell gift cards as vouchers with the right VAT and expiry](https://agentwranglers.se/playbook/payments/tax/gift-card-vouchers.md) in Payments and billing
- PRC-20 [Recognise unused credits as breakage by a written method](https://agentwranglers.se/playbook/pricing/ledger-and-accounting/credit-breakage.md) in Pricing, plans and entitlements

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/usage-billing/credits-and-prepaid-balances/credit-vat-point">Agent Wranglers usage-based billing playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Show how a metered price is calculated before the customer pays](https://agentwranglers.se/playbook/usage-billing/credits-and-prepaid-balances/metered-price-disclosure.md)
- [Credits and prepaid balances](https://agentwranglers.se/playbook/usage-billing/credits-and-prepaid-balances.md)
