Manage invoices using the local Simple Invoice app (FastAPI + SQLite). Use this skill whenever the user asks to create invoices, check status, find unpaid invoices, mark invoices as paid, or reconcile payment references against open invoices. Always use API endpoints and avoid direct database edits.
This file is intentionally sanitized for open-source use.
Before using in production, update all REQUIRED_UPDATE values.
REQUIRED_UPDATE::APP_BASE_URL (example: http://127.0.0.1:8080)REQUIRED_UPDATE::PROJECT_ROOT (example: /path/to/Simple-Invoice)REQUIRED_UPDATE::PRIMARY_OPERATOR_NAME (example: Finance Admin)REQUIRED_UPDATE::NOTIFICATION_CHANNEL (example: Slack #finance or Telegram)If these are unknown at runtime, agents should ask the user once and cache locally.
app.pyinvoice_service.pytemplates/invoices.dbpdfs/INV-XXXX.pdfAsset/full-logo.png, Asset/wise-quick-pay-qr-code.png (or env-configured paths)Base URL: REQUIRED_UPDATE::APP_BASE_URL
GET /api/invoices
GET /api/invoices?status=Sent
GET /api/invoices/{id}
PATCH /api/invoices/{id}/paid
Content-Type: application/json
{"wise_ref": "TRANSFER-XXXX"} # optional
GET /api/contacts
GET /api/summary
| Key | Label |
|---|---|
zero_rated | Zero-rated (0%) |
gst | GST (5%) |
exempt | Exempt (0%) |
out_of_scope | Out of Scope (0%) |
gst_qst_qc | GST/QST QC - 9.975 (14.975%) |
qst_qc | QST QC - 9.975 (9.975%) |
GET /api/invoices?status=SentGET /api/invoices?status=OverdueSent)totalPATCH /api/invoices/{id}/paid with wise_refREQUIRED_UPDATE::NOTIFICATION_CHANNELcurl REQUIRED_UPDATE::APP_BASE_URL/api/summary
If unavailable, notify REQUIRED_UPDATE::PRIMARY_OPERATOR_NAME and suggest:
cd REQUIRED_UPDATE::PROJECT_ROOT
source venv/bin/activate
python app.py
GET /api/invoices?status=Senttotal by currency (do not mix currencies)invoices.db for normal operations..env, not in this file.You can add organization-specific sections below, but keep them private:
If you publish this repo, remove private sections before commit.