Sales Taxes / VAT
How to record sales tax and VAT transactions in Bkper, covering taxes included and not included in the sales price, plus settlement.
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).
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.
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.
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.
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.
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.
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. The bot listens for posted transactions and automatically records the tax entry based on rates configured on your accounts or groups.