eSche
Sign in

How invoices and payments are built

  • Each entry in a "Sales" or "Purchases" journal becomes an invoice. The invoice account is the settlement account with the customer/supplier (41…/40…); the invoice lines are the revenue/expense lines, the line amount is the tax base, and VAT sits only in the line's tax information.
  • Indicator D means the line increases the receivable (sales) or the payable (purchases); C means it reduces it, e.g. a credit note. Section totals are the bases summed by indicator, without VAT.
  • The invoice number and date must be as written on the document — the NRA matches supplier and customer invoices by them. For purchases, map the "Invoice Number (as printed)" and "Document Date" columns; without them the accounting entry number and the posting date are written. The document date is also the tax point date; the posting date decides the period.
  • Protocols (intra-EU acquisitions, services under Art. 82 VAT Act, self-assessment) are type 09, customs declarations 07, the sales report 81, and a debit note is 02 even when titled "invoice". Set the type with the "Document Type" column.
  • Invoices for directly expensed costs and for fixed assets may use product code 0; stocked products map to a CN8-2026 code and services to 00000000.
  • Payments are only real settlements with counterparties. Transfers between own accounts, cash withdrawals and deposits, currency exchange and advances to accountable persons are not submitted. D is money in, C is money out.

Source: NRA Questions and Answers, version 2 — III.5, III.6 (S.I.4, S.I.30, S.I.46, S.I.47), III.7, IV.2.5; Appendix 3, items IV.6–IV.7.

doc_numberText (max 70 chars)Conditional
When: Recognised automatically from common column names — add manually only if auto-detection fails

The source document reference: invoice number, voucher, journal entry number, or similar. This becomes the TransactionID in the SAF-T file and links GL lines to their source documents. The system recognises over 40 common column names (invoice_no, document_no, ref, voucher, je_no, move_name, …). If none are matched, a sequential code is generated automatically (TXN000001, …).

invoice_typeText (2 digits)Conditional
When: For all sales and purchase linesDefault: 01 (Invoice)

The two-digit code from the NRA nomenclature. If your accounting software stores a readable label (e.g. "Invoice"), the system will apply automatic mapping.

Automatic mapping

DescriptionCode
Фактура, Invoice, INV01
Дебитно известие, Debit note, DN02
Кредитно известие, Credit note, КИ03
Протокол, Protocol09

Key codes

CodeDescription
01Invoice
02Debit note
03Credit note
04Warehouse call-off stock register (sent)
05Warehouse call-off stock register (received)
07Customs declaration
09Protocol or other document
11Invoice (cash accounting)
12Debit note (cash accounting)
13Credit note (cash accounting)
23Credit note (Art. 126b§1 VATA)
29Protocol (Art. 126b§2,7 VATA)
81Sales report
82Sales report (special taxation)
91Protocol — due tax Art. 151c§3
92Protocol — tax credit Art. 151d§8
93Protocol Art. 151c§7 (standard recipient)
94Protocol Art. 151c§7 (special regime recipient)
95Protocol — gratuitous food goods
journal_typeSALE | PURCHASE | BANK | CASH | GENERALConditional
When: When it cannot be determined automatically from the account code

Classifies the transaction by economic nature for the XML structure:

ColumnDescription
SALESale — customer invoices, fiscal receipts
PURCHASEPurchase — supplier invoices
BANKBank — bank transfers, card payments
CASHCash — cash inflows and outflows
GENERALGeneral — depreciation, accruals, payroll, corrections
payment_methodText (2 digits)Conditional
When: For payment lines

The general payment category:

CodeDescription
01Cash payment
02Offset / netting
03Non-cash (bank transfer, card, etc.)

Payment mechanism (optional)

Specific channel within the category:

Codepayment_methodDescription
1001Cash
4203Bank transfer
4803Bank / debit card
6803Online payment service
2003Cheque
9702Offset between counterparties
9802Barter
3003Voucher
is_reversalBooleanOptional

Set to true or 1 for reversal (storno) entries. Provide the original document number in reversed_invoice_no.

reversed_invoice_noText (max 70 chars)Optional

The number of the original document being reversed or cancelled. Used together with is_reversal = true. This allows the NRA to link the correction entry to the original transaction in the audit trail.

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