Skip to content

Scanning 26 Official FA(3) XML Examples

The Ministry of Finance publishes 26 example XML files alongside the FA(3) schema documentation. All 26 are XSD-valid. We scanned them with KSeF Guard using --reference-date 2026-05-12 and --all-rules to show what substantive validation finds beyond schema checks.

Scanning 26 Official FA(3) XML Examples

What are the official FA(3) examples?

The Ministry of Finance publishes 26 XML files with names such as FA_3_Przykład_N.xml (N=1–26) as part of the FA(3) schema documentation (CRWDE 13775). These cover standard invoices, corrections, foreign currency, VAT-exempt, margin, advance payments, self-billing, and various special invoice types.

All 26 files pass XSD schema validation. They are official example files for selected FA(3) scenarios. They are not templates for production use; several contain fixed 2026 scenario dates and test data that trigger date-sensitive rules when validated against a current reference date.

XSD validity is not full compliance

XSD schema validation checks document structure: element names, ordering, data types, required fields. It does not check business logic, arithmetic consistency, temporal constraints, or cross-field dependencies.

A file can pass XSD validation and still surface substantive observations. KSeF Guard checks both layers: XSD first, then 128 active validation rules covering VAT Act requirements, Ministry guidance, heuristic anomaly detection, and security checks.

What KSeF Guard found

Across 26 files: 1 clean (no findings), 31 error-severity findings, 35 warning-severity findings, 8 distinct rules triggered. Reference date: 2026-05-12.

# XSD Errors Warnings Rules triggered
1 PASS 1 2 BUS-300, BUS-197, BUS-198
2 PASS 2 2 BUS-300, BUS-302, BUS-197, BUS-198
3 PASS 2 2 BUS-300, BUS-302, BUS-197, BUS-198
4 PASS 1 2 BUS-300, BUS-197, BUS-198
5 PASS 0 0
6 PASS 2 0 BUS-030, BUS-300
7 PASS 2 0 BUS-030, BUS-300
8 PASS 2 0 BUS-194, BUS-300
9 PASS 1 1 BUS-300, BUS-197
10 PASS 0 1 BUS-197
11 PASS 0 1 BUS-197
12 PASS 1 0 BUS-300
13 PASS 1 0 BUS-300
14 PASS 2 2 BUS-030, BUS-300, BUS-198, BUS-303
15 PASS 1 2 BUS-300, BUS-197, BUS-198
16 PASS 1 2 BUS-300, BUS-197, BUS-198
17 PASS 2 2 BUS-030, BUS-300, BUS-198, BUS-303
18 PASS 1 1 BUS-030, BUS-198
19 PASS 1 2 BUS-300, BUS-197, BUS-198
20 PASS 1 2 BUS-300, BUS-197, BUS-198
21 PASS 1 2 BUS-300, BUS-197, BUS-198
22 PASS 1 2 BUS-300, BUS-197, BUS-198
23 PASS 3 1 BUS-030, BUS-168, BUS-300, BUS-198
24 PASS 1 2 BUS-300, BUS-197, BUS-198
25 PASS 1 2 BUS-300, BUS-197, BUS-198
26 PASS 0 2 BUS-197, BUS-198

Date-sensitive rules: BUS-030, BUS-168, and BUS-194 depend on the reference date. The official examples use fixed 2026 scenario dates. When evaluated against --reference-date 2026-05-12, some dates fall outside the allowed window. This is an expected artifact of fixed test data, not a defect in the examples.

Batch rules: BUS-300, BUS-302, and BUS-303 activate when validating multiple files together. Running each file individually would not trigger these rules.

Understanding the findings

KSEF-BUS-030 error GOV_MANDATED

What KSeF Guard observed: Invoice issue date (P_1 — issue date) is set in the future beyond the allowed window (max 30 days ahead).

How to interpret or fix: Check the invoice issue date — it should be the current date or no more than 30 days in the future.

Source: Art. 106na ust. 1 Ustawy o VAT (LOGICAL_INFERENCE)

Triggered in examples: #6, #7, #14, #17, #18, #23

KSEF-BUS-194 error GOV_MANDATED

What KSeF Guard observed: The invoice issue date (P_1) exceeds the statutory deadline — the invoice must be issued no later than the 15th day of the month following the supply month (P_6 — supply/service date).

How to interpret or fix: Check the issue date — under Art. 106i of the VAT Act, an invoice must be issued by the 15th day of the month following supply. Correct the issue date or the supply date.

Source: Art. 106i ust. 1 Ustawy o VAT

Triggered in examples: #8

KSEF-BUS-300 error GOV_MANDATED

What KSeF Guard observed: Duplicate invoice number (P_2 — invoice number) detected in the batch. Two documents in the batch share the same number.

How to interpret or fix: Verify invoice numbering in the batch — each invoice must have a unique number (P_2). Correct the duplicated document's number.

Source: UoVAT, Art. 106e ust. 1 pkt 2 (kolejny numer jednoznacznie identyfikujący fakturę); KSeF — empiryczne odrzucenie duplikatów w sesji

Triggered in examples: #1, #2, #3, #4, #6, #7, #8, #9, #12, #13, #14, #15, #16, #17, #19, #20, #21, #22, #23, #24, #25

KSEF-BUS-302 error BATCH_CHECK

What KSeF Guard observed: Guard detected an issue-date (P_1) regression within a sequential invoice number series — an invoice with a higher number has an earlier date. Batch heuristic — not enforced by KSeF, but may indicate a numbering or dating error.

How to interpret or fix: Check the order of dates and invoice numbers in the batch — an invoice with a higher number should not have an earlier issue date.

Source: KSeF Guard batch heuristic (chronological monotonicity of P_1 within sequential P_2 series)

Triggered in examples: #2, #3

KSEF-BUS-168 warning HEURISTIC

What KSeF Guard observed: Invoice issue date (P_1 — issue date) is more than 60 days in the future — likely erroneous. Such a distant date may indicate a mistake in the year or month.

How to interpret or fix: Check the invoice issue date — make sure the year, month, and day are correct. An invoice dated far in the future requires verification.

Source: UoVAT, Art. 106i ust. 7; Broszura FA(3) P_1, P_6

Triggered in examples: #23

KSEF-BUS-197 warning HEURISTIC

What KSeF Guard observed: The invoice has an issue date (P_1) falling on a weekend (Saturday or Sunday). Weekend issuance is rare and may indicate a date entry error or an automated process.

How to interpret or fix: Check the invoice issue date — invoices are usually issued on business days. If the date is correct, this may be justified by a special business process.

Source: KSeF Guard heuristic (weekend invoice issuance — gateway validation practice)

Triggered in examples: #1, #2, #3, #4, #9, #10, #11, #15, #16, #19, #20, #21, #22, #24, #25, #26

KSEF-BUS-198 warning HEURISTIC

What KSeF Guard observed: The invoice creation timestamp (DataWytworzeniaFa) falls within night hours (22:00-05:59). Night-hour creation is rare and may indicate a system error or automated process.

How to interpret or fix: Check the invoice creation hour — invoices are typically generated during business hours. If the hour is correct, this may be justified by a special business process (e.g. cross-time-zone operations).

Source: KSeF Guard heuristic (22:00-05:59 night-window invoice creation — gateway validation practice)

Triggered in examples: #1, #2, #3, #4, #14, #15, #16, #17, #18, #19, #20, #21, #22, #23, #24, #25, #26

KSEF-BUS-303 warning HEURISTIC

What KSeF Guard observed: The settlement invoice (ROZ) amount exceeds the sum of the related advance invoices (ZAL) in the batch. This may indicate missing advance linkage or a partial-advance scenario (Art. 106f).

How to interpret or fix: Verify the linkage between advance and settlement invoices. The rule is a Guard heuristic — a partial-advance scenario per Art. 106f is legitimate and may trigger this alert.

Source: UoVAT, Art. 106f ust. 3 (faktury zaliczkowe i rozliczeniowe)

Triggered in examples: #14, #17

Learn more

Validate your own invoices against 128 active rules — offline, on your machine, with source traceability.

Download KSeF Guard