KSeF FA(3) Invoice Lint
Runs the same checker as our npm package on a Node.js runtime that pip installs for you (
nodejs-wheel-binaries) - no system Node.js needed. Your files are checked locally.
Finds the lines KSeF will reject in a Polish structured invoice XML, before you send it
Install
ksef-fa3-invoice-lint file
Node 18+. The same 18 rules as the VS Code extension, from a terminal or CI.
Free
- Lints the invoice XML open in your editor or pasted into the free web page against 18 FA(3) rules and names every field KSeF rejects with the exact value it wants: the 2025/06/25/13775 namespace, kodSystemowy "FA (3)", WariantFormularza 3, 10-digit NIP, dot decimals, P_16-P_18A flags. Our dirty sample invoice returns 23 findings, 22 of them blocking. One file, no key, no account.
--ruleslists every rule
With a licence ($29 once)
- Sweeps every invoice XML in the workspace in one run - a whole export batch, not one file - and writes a dated REPORT.md you keep: file, line, rule, found value, wanted value. That written record is your own audit evidence for the 2027-01-01 penalty regime, where a KSeF failure carries up to 100% of the invoice VAT (18.7% of gross on VAT-exempt invoices).
ksef-fa3-invoice-lint --dir ./templates --report html --out report.html
A mid-size KSeF ERP integration project in Poland costs PLN 10,000 to PLN 50,000 and runs 2 to 4 months (ELTE-S, 2026)
Use from an AI agent (MCP)
Claude Code · Cursor · Windsurf · any MCP client - add to your MCP config:
{ "mcpServers": { "ksef-fa3-invoice-lint": { "command": "ksef-fa3-invoice-lint", "args": ["--mcp"] } } }
Tools: check_text and check_file (free) · check_dir (licence). The agent gets every finding with the line number.
Use in CI
- name: KSeF FA(3) Invoice Lint
run: pip install rulestamp-ksef-fa3-invoice-lint && ksef-fa3-invoice-lint --dir . --ci
The folder sweep, reports and CI mode need one licence — one payment, no subscription. Set READYSTACK_LICENSE=<key> or run --license <key> once.
Install (PyPI)
pip install rulestamp-ksef-fa3-invoice-lint
ksef-fa3-invoice-lint --help
Metadata
Release files for rulestamp-ksef-fa3-invoice-lint 1.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rulestamp_ksef_fa3_invoice_lint-1.0.7.tar.gz | 16.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rulestamp_ksef_fa3_invoice_lint-1.0.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.4 kB
Release files / rulestamp_ksef_fa3_invoice_lint-1.0.7.tar.gz
| Download URL | rulestamp_ksef_fa3_invoice_lint-1.0.7.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dec76770c2b83771df1a8cbe48e37824ea1033ffe5925704048f8bef081c7c9d
|
|
BLAKE2b-256 checksum How to use checksums |
4ff5dcde830283b972cc27856338a2a797f423de621c775b7ae2fa183c15d8ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / rulestamp_ksef_fa3_invoice_lint-1.0.7-py3-none-any.whl
| Download URL | rulestamp_ksef_fa3_invoice_lint-1.0.7-py3-none-any.whl |
|---|---|
| Size | 18.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
87bf6256341c7cbee2fd582c3166cfc9f231585b59eaf6e9b41372de2d34a73e
|
|
BLAKE2b-256 checksum How to use checksums |
74f9294c56f2457950fe24075057af2b3b50ae444de9fe435de5d97fd111e039
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|