National e-Invoice System (KSeF) accounting assistant in English. Use when working with KSeF 2.0 API, FA(3) invoices, Polish VAT compliance, e-invoice processing, payment matching, VAT registers (JPK_V7), corrective invoices, split payment mechanism (MPP) or Polish accounting workflows. Provides domain knowledge for invoice issuance, purchase processing, expense classification, fraud detection and cash flow forecasting in the KSeF ecosystem.
Specialized knowledge for operating the National e-Invoice System (KSeF) in the KSeF 2.0 environment with the FA(3) structure. Supports accounting tasks related to electronic invoicing in Poland.
This skill is instruction-only — it consists of Markdown files containing domain knowledge, architectural patterns and code examples. It does not contain any executable code, binaries, installation scripts or runtime dependencies.
Skill-side guarantees:
disableModelInvocation: true / disable-model-invocation: true — declared in both the frontmatter metadata (both formats: camelCase and kebab-case) and in the dedicated manifest skill.json. The skill should not be invoked autonomously by the model.secret: true — the environment variables KSEF_TOKEN and KSEF_ENCRYPTION_KEY are marked as secrets in the frontmatter and , signaling to the platform that they must be isolated and must not be logged or displayed.skill.jsonskill.json — a machine-readable file with security metadata, environment variable declarations and constraints. If the platform does not parse the SKILL.md frontmatter correctly, it should read metadata from skill.json.NOTE — registry metadata verification before installation:
Security flags are declared in two sources: the SKILL.md frontmatter and skill.json. Nevertheless, the hosting platform may not read or enforce these flags. Before installation you MUST perform the following steps:
disable-model-invocation field is set to true and that the environment variables (KSEF_TOKEN, KSEF_ENCRYPTION_KEY, KSEF_BASE_URL) are visible with the secret label. If the platform shows not set, false or does not display these fields — the flags are NOT enforced.KSEF_TOKEN, KSEF_ENCRYPTION_KEY), DO NOT allow autonomous use.disableModelInvocation (or parsing of skill.json) or do not install the skill with access to any credentials.Platform-dependent guarantees:
disableModelInvocation flag depends on the hosting platform. The frontmatter alone does not provide protection — it requires platform-side support.KSEF_TOKEN, KSEF_ENCRYPTION_KEY, KSEF_BASE_URL) or a secrets manager. The skill never stores, generates, transmits or implicitly requests credentials. NEVER paste credentials (tokens, keys, certificates) directly in the conversation with the agent — use environment variables or the platform's secrets manager. Vault/Fernet usage examples in the reference documentation are architectural patterns for user implementation.https://ksef.mf.gov.pl) issues legally binding invoices. Use DEMO (https://ksef-demo.mf.gov.pl) for development and testing.disableModelInvocation: true and disable-model-invocation: true in the frontmatter metadata (both naming formats) and in the dedicated manifest skill.json. This means the model should not invoke this skill autonomously — it requires explicit user action. NOTE: The frontmatter and skill.json are declarations — not guarantees. Enforcement depends on the platform. Before use, verify that the registry metadata displayed by the platform also shows disable-model-invocation: true. If the platform shows not set or false, the flag is not enforced and the skill may be invoked autonomously (see "Security Model" section above).Before installing the skill and configuring environment variables, perform the following steps:
disable-model-invocation field must show trueskill.json — the variables KSEF_TOKEN and KSEF_ENCRYPTION_KEY must be visible as secrets (secret: true)https://ksef-demo.mf.gov.pl) before any production useIssuing FA(3) invoices, downloading purchase invoices, managing sessions/tokens, handling Offline24 mode (emergency), downloading UPO (Official Acknowledgement of Receipt).
Key endpoints:
POST /api/online/Session/InitToken # Session initialization
POST /api/online/Invoice/Send # Send invoice
GET /api/online/Invoice/Status/{ref} # Check status
POST /api/online/Query/Invoice/Sync # Query purchase invoices
See references/ksef-api-reference.md - full API documentation with authentication, error codes and rate limiting.
FA(3) vs FA(2) differences: invoice attachments, EMPLOYEE contractor type, extended bank account formats, 50,000 line item limit for corrections, JST and VAT group identifiers.
See references/ksef-fa3-examples.md - XML examples (basic invoice, multiple VAT rates, corrections, MPP, Offline24, attachments).
Sales: Data -> Generate FA(3) -> Send to KSeF -> Get KSeF number -> Post
Dr 300 (Receivables) | Cr 700 (Sales) + Cr 220 (Output VAT)
Purchases: Query KSeF -> Download XML -> AI Classification -> Post
Dr 400-500 (Expenses) + Dr 221 (VAT) | Cr 201 (Payables)
See references/ksef-accounting-workflows.md - detailed workflows with payment matching, MPP, corrections, VAT registers and month-end closing.
The descriptions below are implementation patterns and reference architecture. The skill does NOT run ML models — it provides knowledge about algorithms, helps design pipelines and write code for implementation in the user's system. Code examples in reference files (Python, sklearn, pandas) are illustrative pseudocode — the skill does not contain trained models, ML artifacts or executable files.
See references/ksef-ai-features.md - conceptual algorithms and implementation patterns (require sklearn, pandas — not dependencies of this skill).
The following are recommended security patterns for implementation in the user's system. The skill provides knowledge and code examples — it does not implement these mechanisms itself.
See references/ksef-security-compliance.md - implementation patterns and security checklist.
Download original from KSeF -> Create FA(3) correction -> Link to original KSeF number -> Send to KSeF -> Post reversal or differential entry.
Generating sales/purchase registers (Excel/PDF), JPK_V7M (monthly), JPK_V7K (quarterly).
| Problem | Cause | Solution |
|---|---|---|
| Invoice rejected (400/422) | Invalid XML, NIP, date, missing fields | Check UTF-8, validate FA(3) schema, verify NIP |
| API timeout | KSeF outage, network, peak hours | Check KSeF status, retry with exponential backoff |
| Cannot match payment | Amount mismatch, missing data, split payment | Extended search (+/-2%, +/-14 days), check MPP |
See references/ksef-troubleshooting.md - full troubleshooting guide.
Load depending on the task:
| File | When to read |
|---|---|
| skill.json | Metadata manifest — security flags, env var declarations, constraints. Source of truth for registries and scanners. |
| ksef-api-reference.md | KSeF API endpoints, authentication, sending/downloading invoices |
| ksef-legal-status.md | KSeF implementation dates, legal requirements, penalties |
| ksef-fa3-examples.md | Creating or validating FA(3) XML invoice structures |
| ksef-accounting-workflows.md | Accounting entries, payment matching, MPP, corrections, VAT registers |
| ksef-ai-features.md | Expense classification, fraud detection, cash flow prediction algorithms |
| ksef-security-compliance.md | VAT White List, token security, audit trail, GDPR, backup |
| ksef-troubleshooting.md | API errors, validation issues, performance |