eSche
Sign in

What the NRA requires for tax codes

  • A general-ledger line without tax information of its own carries 000 / 000000 ("not applicable"). Empty TaxType/TaxCode values are rejected.
  • Codes for tax on expenses (600) and withholding tax (700) are mandatory on the entries that accrue such expenses — on the expense account and its counter account. Set them per account under Nomenclatures → Accounts. Social expenses in kind take 600020 even when no tax is due (amount 0.00); fees under civil contracts take 700500. Interest on late 600/700 taxes may go without a code.
  • The code goes on the entry that accrues the expense, not on the later entry that accrues the tax itself.
  • Other taxes and social security in the general ledger may use 000 / 000000.
  • Purchases: 100331 is full input credit at both 20% and 9%; 100330 is no right to credit or an invoice without VAT; 100332 is partial credit. Supplies outside the scope of the VAT Act use 000 / 000000.
  • Invoices carry VAT codes only; the tax table in the file lists only the codes used, with the name and rate from the TAX-IMP nomenclature.

Source: Appendix 3, item IV.8; NRA Questions and Answers, version 2 — III.3 (GL.33), III.6, IV.2.3.

Why this cannot be auto-detected

Account 4531 (VAT on purchases) can appear on both deductible and non-deductible VAT lines. Account 702 (revenue) can be taxed at 20%, 9%, 0%, or exempt. Without explicit mapping the system has no way to assign the correct category.

How it works

  1. On import, the system collects unique values from the mapped tax label column (or searches for keywords in the description column).
  2. On the Nomenclatures → Tax Codes page you assign each detected label an NRA tax type and code. The mapping is saved and applied on every subsequent generation.
tax_labelTextOptional
When: When your GL file has a column with the tax description (e.g. "VAT 20%", "Exempt", "RC")

Map this column in the column-mapping step. Its values are matched to NRA type and code on the Nomenclatures page. If the column is absent, the system searches the description column for known keywords.

Available tax types (TaxType) — options in Nomenclatures

CodeDescription
000No tax (default)
100Value added tax (VAT)
200Corporate income tax
300Tax on budget-enterprise revenue
400Tax on additional expenses of MPs
500Gambling tax
600Tax on expenses
700Withholding tax
800Tax on ship operation
900Temporary solidarity contribution (Reg. 2022/1854)
910Insurance premiums tax
915Additional and national additional tax (Chapter 5a CITA)
920Personal income tax - general annual tax base
930Personal income tax - sole traders
940State social security (DOO)
950Supplementary pension funds
960Health insurance
970Teachers pension fund
980GVRS fund
990Gambling Act fees
991Excise Duties and Tax Warehouses Act
111General code for interest and penalties

VAT tax codes (TaxCode) — options in Nomenclatures

CodeNotesDescription
10021120%VAT 20% - taxable base of supplies
1002139%VAT 9% - taxable base of supplies
1002140%VAT 0% - supplies under Chapter 3 VAT Act (export)
1002150%VAT 0% - intra-EU supply of goods
1002160%VAT 0% - supplies under Art. 140, 146, 173
10021220%VAT 20% - intra-EU acquisition
1002209%VAT 9% - intra-EU acquisition
100219ExemptExempt supplies and exempt intra-EU acquisitions
100217—Services under Art. 21(2) with place of supply in another member state
100100—Interest - VAT
000000—Not applicable (use with type 000)
nra_tax_codeTextOptional
When: When your GL file already contains NRA codes per row

Bypasses the nomenclature table entirely. The value is either just the code (100211) or type:code (100:100211). When only the code is given, the type is taken from the first entry in the nomenclature table.

tax_amountDecimalOptional
When: When your GL file already contains the computed tax amount

When present, this value overrides the automatic computation (base × rate). For known NRA codes (20%, 9%) the system computes the amount automatically.

eSche, part of PLANA. SAF-T generator for Bulgaria.ReferenceSAF-T BG схема 1.0.3© 2026