Skip to content

VAT and Bulgarian fiscal

Audience

Anyone running Bulgarian accounting in PLANA. This is the PLANA-unique content that does not exist in vanilla Odoo.

PLANA Business Cloud ships with a Bulgarian fiscal pack pre-configured at provisioning time: VAT rates, fiscal positions, the chart of accounts (l10n_bg), and the regulator-format reports for monthly VAT, VIES, and Intrastat. This page explains what's there, what to verify before going live, and how to run the monthly cycle.

What's installed by default

A fresh PLANA Business Cloud tenant comes with:

ComponentSource
Bulgarian chart of accounts (l10n_bg)OCA + PLANA additions
Bulgarian VAT rates (20% standard, 9% reduced, 0%, exempt)Pre-configured
Fiscal positions for B2B / B2C / EU / non-EUPre-configured
Monthly VAT report in NRA-submission formatPLANA module
VIES report for intra-EU B2BPLANA module
Intrastat report for goods movementPLANA module
BG-specific number formatting (dot decimal, BGN currency)Per locale

You start with a working setup. The remaining work is to verify that your specific business's setup matches and to review the fiscal positions assigned to your customers and vendors.

Verifying VAT rates

Configuration → Taxes.

The expected default set:

TaxRateUse
VAT 20% Sale20%Standard sales
VAT 9% Sale9%Reduced — books, food, etc. (per the BG VAT Act)
VAT 0% Sale (export)0%Export outside EU
VAT Exempt SaleExempt categories
VAT 20% Purchase20%Standard purchases
VAT 9% Purchase9%Reduced purchases

These rates are kept current with regulator changes. If the National Revenue Agency (NRA) changes a rate, PLANA pushes an update.

Fiscal positions

A fiscal position transforms taxes and account assignments based on the customer or vendor. PLANA ships these:

Fiscal positionApplies toEffect
None (default)Domestic BulgarianStandard VAT applies
EU B2B (reverse charge)EU companies with a valid VAT IDRemoves VAT; flags as reverse-charge in VIES
EU B2CEU individual consumersStandard BG VAT applies
Non-EU exportCustomers outside the EU0% VAT; sale flagged as export
Non-EU import (reverse charge)Vendors outside the EUTriggers reverse-charge VAT on import

Assign a fiscal position on each contact in Customer → Accounting tab → Fiscal Position. New customers usually auto-assign correctly based on their country and VAT ID; verify after import.

The chart of accounts

The Bulgarian chart follows the structure required by the NRA:

  • Class 1: Capital and reserves (1xx)
  • Class 2: Long-term assets (2xx)
  • Class 3: Inventories (3xx)
  • Class 4: Receivables and payables (4xx)
  • Class 5: Financial accounts (5xx)
  • Class 6: Expenses (6xx)
  • Class 7: Revenue (7xx)
  • Class 8: Off-balance-sheet (8xx)

You can add sub-accounts within each class. You cannot restructure the main classes — the regulator requires this layout.

The monthly VAT cycle

End of every month, run this:

1. Review and post unreconciled bank transactions

Banks → each bank journal → Reconciliation until everything is reconciled. Unreconciled transactions don't appear on the VAT report.

2. Confirm all draft invoices and bills

Customers → Invoices → filter Draft → post each. Same for vendor bills. The VAT report only counts posted documents.

3. Run the VAT report (Bulgarian format)

Reports → Bulgarian VAT report.

Pick the period (e.g. May 2026). Click Generate. The report has three tabs:

TabWhat
SalesAll sales transactions in the period, with VAT due
PurchasesAll purchase transactions, with deductible VAT
SummaryVAT due – VAT deductible = VAT payable / refundable

Click Export to download the NRA-format XML. This is the file you upload to the NRA portal as your monthly VAT submission.

4. Run the VIES report (if applicable)

If you sold to EU B2B customers in the period:

Reports → VIES report → pick the quarter → Export.

This produces the quarterly VIES declaration for the NRA.

5. Run the Intrastat report (if applicable)

If you moved goods across an EU border:

Reports → Intrastat → Dispatches (goods out) and Arrivals (goods in). Export each in the required format.

The Intrastat threshold in Bulgaria (2026: BGN 1.65M for dispatches, BGN 1.0M for arrivals) determines whether you're required to file.

6. Period close

Once the VAT is submitted to the NRA, close the period to prevent back-dated changes:

Configuration → Fiscal Years → click your year → Periods → click the month → Close.

See Period closing for the full procedure.

Customer / vendor tax ID

Every contact must have a tax ID for the report to count their transactions correctly:

FieldWhere
Tax ID (EIK / ЕИК)Contact → Accounting tab → "Tax ID"
VAT (for EU B2B)Contact → Accounting tab → "VAT"

A missing tax ID on a customer used in an invoice will appear in the VAT report's validation step. Fix the contact and re-generate.

NRA-format export

The export from the Bulgarian VAT report follows the NRA's XML schema. PLANA tracks regulator changes and updates the export format accordingly. If the NRA portal rejects your file:

  1. Check the period — is it within the regulator's accepted window?
  2. Check the company tax ID on the file matches your registration
  3. Check that all customer tax IDs are present
  4. Ask in the workspace Matrix room — PLANA will diagnose

Year-end

In addition to the monthly cycle, year-end requires:

  • Annual VAT report — January
  • Year-end closing entries — in Accounting → Closing
  • Annual tax return — typically March of the following year

See Period closing → Fiscal year closing for the procedure. PLANA does not file your annual tax return — your accountant does, using the reports PLANA produces.

Where to read more

© PLANA Digital Ltd.