ckb/.agents/skills/invoice-checker/references/output-format.md
Michał Kopeć c9336941ac Add timesheet and invoice skills
Add four skills for Tempo/KSeF timesheet and invoice workflows:
- check-my-timesheet: show/log the current user's Tempo time entries
- timesheet-checker: audit timesheet completion across all reporters
- invoice-checker: pull KSeF invoices, check contractors + MF white list
- invoice-prep: summarize Tempo hours per Jira project for invoicing

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 13:14:52 +02:00

70 lines
2.3 KiB
Markdown

# Output Format
## invoices_data.json (written by preprocess.py)
```json
{
"period": {
"start": "2026-06-01",
"end": "2026-06-30"
},
"summary": {
"total_invoices": 12,
"new_invoices": 4,
"known_contractors": 3,
"unknown_contractors": 1,
"whitelist_ok": 3,
"whitelist_failed": 1,
"whitelist_error": 0,
"account_mismatch": 0
},
"invoices": [
{
"ksef_reference": "1234567890-20260601-ABC123",
"invoice_number": "FV/123/06/2026",
"issue_date": "2026-06-01",
"seller_nip": "1234567890",
"seller_name": "Firma ABC Sp. z o.o.",
"gross_amount": 1230.00,
"currency": "PLN",
"bank_account": "PL61109010140000071219812874",
"is_new": true,
"contractor_known": true,
"account_in_contractors": true,
"whitelist_status": "ok",
"whitelist_account_assigned": true,
"whitelist_error": null
}
],
"known_invoices_count": 8
}
```
### Field notes
- `is_new` — true if the KSeF reference was not in `invoices_cache.json` before this run. The cache is updated at the end of a successful run.
- `contractor_known` — true if the seller NIP is in `contractors.md`.
- `account_in_contractors` — true if the invoice bank account matches one of the accounts listed in `contractors.md` for this NIP. `null` if the contractor is unknown or has no accounts configured.
- `whitelist_status``"ok"` (account found on white list), `"failed"` (account NOT on white list), `"no_account"` (invoice has no bank account), `"error"` (API call failed).
- `whitelist_account_assigned` — the raw `accountAssigned` value from the MF API (`true`/`false`). `null` if not checked.
- `whitelist_error` — error message string if the API call failed, otherwise `null`.
## invoices_report.md (written by postprocess.py)
Manager-readable markdown report containing:
- Period and run timestamp
- Summary block
- Table of new invoices with contractor and white list status
- Section highlighting white list failures (if any)
- Section listing unknown contractors (if any)
### Status icons used in the report
| Icon | Meaning |
|---|---|
| ✓ | White list OK |
| ✗ | White list FAILED — do not pay until resolved |
| ? | Could not verify (API error) |
| — | No bank account on invoice |
| ★ | Known contractor |
| ✦ | Unknown contractor |