# Sales Taxes / VAT

Recording sales taxes in Bkper lets you see your tax receivable or payable balance at any moment. The approach depends on whether tax is included in the sales price or added separately.

In all cases, tax accounts track what you owe the government (**Output Tax** — a liability) and what the government owes you (**Input Tax** — an asset).

> **Tip**
> These examples use simplified cash basis for easy understanding. You can also set up more complex tax flows involving [accounts payable](https://bkper.com/docs/guides/accounting-principles/payables/accounts-payable.md) and [accounts receivable](https://bkper.com/docs/guides/accounting-principles/receivables/accounts-receivable.md) instead of a direct bank account.
## Taxes included in the price

When the tax is already embedded in the price, each purchase or sale is recorded at the **full amount** first. A second transaction then extracts the tax portion into a dedicated tax account.

### Purchase (tax included)

You buy supplies for **220** (includes 20 tax at 10%). You pay 220, but your real expense is 200 — the other 20 is a tax credit you reclaim.

```mermaid
flowchart LR
    B["Bank"]:::asset -- "220" --> E["Expense"]:::outgoing
    E -- "20" --> IT["Input Tax"]:::asset
```

| # | Amount | From | | To | Description |
|---|---|---|---|---|---|
| 1 | **220.00** | Bank `Asset` | >> | Expense `Outgoing` | Service or product purchased |
| 2 | **20.00** | Expense `Outgoing` | >> | Input Tax `Asset` | #vatin |

**Result:** Expense = 200, Input Tax = 20 (reclaimable), Bank = −220

The second transaction corrects the expense — 20 of the 220 was never your cost, it's a tax credit.

### Sale (tax included)

You sell a product for **440** (includes 40 tax at 10%). The customer pays 440, but your real revenue is 400 — the other 40 is the government's money passing through you.

```mermaid
flowchart LR
    P["Product"]:::incoming -- "440" --> B["Bank"]:::asset
    OT["Output Tax"]:::liability -- "40" --> P
```

| # | Amount | From | | To | Description |
|---|---|---|---|---|---|
| 1 | **440.00** | Product `Incoming` | >> | Bank `Asset` | Service or product sold |
| 2 | **40.00** | Output Tax `Liability` | >> | Product `Incoming` | #vatout |

**Result:** Revenue = 400, Output Tax = 40 (owed to government), Bank = +440

The second transaction corrects the revenue — 40 of the 440 was never yours, it belongs to the government.

## Taxes not included in the price

When the tax is added separately from the price, the purchase or sale is recorded at the **net amount**. A separate transaction records the tax portion, increasing what the customer owes (or what you owe the supplier).

### Purchase (tax not included)

You buy a product for **500** net, plus 50 tax (10%). You owe the supplier a total of 550.

```mermaid
flowchart LR
    S["Supplier"]:::liability -- "500" --> E["Expense"]:::outgoing
    S -- "50" --> IT["Input Tax"]:::asset
```

| # | Amount | From | | To | Description |
|---|---|---|---|---|---|
| 1 | **500.00** | Supplier `Liability` | >> | Expense `Outgoing` | Product purchased |
| 2 | **50.00** | Supplier `Liability` | >> | Input Tax `Asset` | #vatin |

**Result:** Expense = 500, Input Tax = 50 (reclaimable), Supplier liability = 550

The tax transaction increases what you owe the supplier (liability goes up by 50) and creates a tax credit (Input Tax asset goes up by 50). When you pay, you settle the full 550.

### Sale (tax not included)

You sell a service for **600** net, plus 60 tax (10%). The client owes you a total of 660.

```mermaid
flowchart LR
    P["Product"]:::incoming -- "600" --> C["Client"]:::asset
    OT["Output Tax"]:::liability -- "60" --> C
```

| # | Amount | From | | To | Description |
|---|---|---|---|---|---|
| 1 | **600.00** | Product `Incoming` | >> | Client `Asset` | Service sold |
| 2 | **60.00** | Output Tax `Liability` | >> | Client `Asset` | #vatout |

**Result:** Revenue = 600, Output Tax = 60 (owed to government), Client receivable = 660

The tax transaction increases what the client owes you (receivable goes up by 60) and creates a tax liability (Output Tax goes up by 60). Revenue stays at 600 — the tax is the government's money, not yours.

## Settlement

At the end of a tax period, close the outstanding Input Tax and Output Tax balances. Offset the credits against the liability, then pay (or reclaim) the difference.

**Example:** Input Tax = 50 (credits), Output Tax = 60 (liability). You owe 10.

```mermaid
flowchart LR
    IT["Input Tax"]:::asset -- "50" --> OT["Output Tax"]:::liability
    B["Bank"]:::asset -- "10" --> OT
```

| # | Amount | From | | To | Description |
|---|---|---|---|---|---|
| 1 | **50.00** | Input Tax `Asset` | >> | Output Tax `Liability` | #settlement — offset credits |
| 2 | **10.00** | Bank `Asset` | >> | Output Tax `Liability` | #settlement — pay remaining |

After settlement, both Input Tax and Output Tax have zero balance.

---

You can automate tax-included transactions with the [Tax Bot](https://bkper.com/apps/sales-tax-bot.md). The bot listens for posted transactions and automatically records the tax entry based on rates configured on your accounts or groups.

> **Caution**
> These are general and simplified examples of recording sales taxes. Always consult your local tax specialist on how to record sales taxes correctly in your bookkeeping.
