brainstorming
Structured design dialogue that validates ideas before implementation begins.
fakturoid
Czech invoicing API integration for Fakturoid. Use when the user needs to create, manage, or retrieve invoices, contacts/subjects, or expenses from Fakturoid. Supports OAuth 2.0 authentication, invoice creation with Czech tax compliance (IČO, DIČ, VAT), PDF downloads, payment tracking, expense ma...
Full skill instructions
Czech invoicing service API integration - comprehensive reference for building integrations.
export FAKTUROID_CLIENT_ID="your-client-id"
export FAKTUROID_CLIENT_SECRET="your-client-secret"
export FAKTUROID_ACCOUNT_SLUG="your-account-slug"
python scripts/auth.py credentials --save
python scripts/invoice.py create --subject-id 123 --lines '[
{"name": "Consulting", "quantity": 8, "unit_name": "hours", "unit_price": 2000, "vat_rate": 21}
]'
| Setting | Value |
|---|---|
| Base URL | https://app.fakturoid.cz/api/v3 |
| Account URL | https://app.fakturoid.cz/api/v3/accounts/{slug} |
| Auth | OAuth 2.0 (Client Credentials or Authorization Code) |
| Pagination | 40 records per page |
| Rate Limit | 400 requests per 60 seconds |
User-Agent: YourAppName ([email protected])
Authorization: Bearer {access_token}
Content-Type: application/json
Accept: application/json
| Script | Commands | Description |
|---|---|---|
auth.py | credentials, refresh, revoke, status | OAuth token management |
subject.py | list, get, search, create, update, delete, lookup-ico | Contact management |
invoice.py | list, get, search, create, update, delete, action, pdf, pay, pay-delete | Invoice operations |
expense.py | list, get, search, create, update, delete, action, pay, pay-delete | Expense tracking |
generator.py | list, get, create, update, delete | Invoice templates |
| Script | Commands | Description |
|---|---|---|
user.py | get, list | User and account info |
bank_account.py | list | Bank account listing |
inventory.py | list-items, get-item, create-item, list-moves, create-move | Inventory management |
recurring.py | list, get, create, update, delete, pause, activate | Recurring invoices |
inbox.py | list, upload, send-to-ocr, download, delete | OCR file processing |
event.py | list, list-paid | Activity log |
todo.py | list, toggle | Task management |
message.py | send | Send invoice emails |
webhook.py | list, get, create, update, delete | Webhook management |
# 1. Create subject
python scripts/subject.py create --name "Acme s.r.o." --ico 12345678 --dic CZ12345678
# 2. Create invoice (use returned subject ID)
python scripts/invoice.py create --subject-id 456 --lines '[
{"name": "Web development", "quantity": 40, "unit_name": "hours", "unit_price": 1500, "vat_rate": 21}
]'
# 3. Mark as sent and download PDF
python scripts/invoice.py action 789 mark_as_sent
python scripts/invoice.py pdf 789 --output invoice.pdf
# 1. Ensure supplier exists
python scripts/subject.py create --name "Supplier Ltd" --type supplier --ico 87654321
# 2. Create expense
python scripts/expense.py create --subject-id 321 --original-number "FV-2024-0456" --lines '[
{"name": "Office supplies", "quantity": 10, "unit_name": "ks", "unit_price": 450, "vat_rate": 21}
]'
python scripts/recurring.py create --name "Monthly Hosting" --subject-id 123 \
--start-date 2024-02-01 --months-period 1 --send-email \
--lines '[{"name": "Web hosting - {MMMM} {YYYY}", "unit_price": 500, "vat_rate": 21}]'
# Upload and send to OCR
python scripts/inbox.py upload invoice.pdf --send-to-ocr
# Check status
python scripts/inbox.py list
| Value | Czech | Description |
|---|---|---|
invoice | Faktura | Standard invoice |
proforma | Zálohová faktura | Advance payment request |
partial_proforma | Částečná záloha | Legacy partial advance |
correction | Dobropis | Credit note |
tax_document | Daňový doklad | Tax receipt for proforma payment |
final_invoice | Vyúčtovací faktura | Final invoice from tax documents |
| Value | Description |
|---|---|
open | New, unpaid, not sent |
sent | Sent to client, not overdue |
overdue | Past due date |
paid | Fully paid |
cancelled | Cancelled (VAT payers only) |
uncollectible | Marked as bad debt |
| Value | Description |
|---|---|
open | Received, not paid |
overdue | Past due date |
paid | Fully paid |
| Value | Czech | Description |
|---|---|---|
vat_payer | Plátce DPH | Standard VAT payer |
non_vat_payer | Neplátce DPH | Non-VAT payer |
identified_person | Identifikovaná osoba | EU VAT identified person |
| Value | Description |
|---|---|
without_vat | Prices entered without VAT |
from_total_with_vat | Calculate VAT from total with VAT |
| Value | Rate | Description |
|---|---|---|
standard | 21% | Standard rate |
reduced | 12% | First reduced rate |
reduced2 | 10% | Second reduced rate |
zero | 0% | Zero VAT |
| Value | Description |
|---|---|
bank | Bank transfer |
cash | Cash payment |
cod | Cash on delivery |
card | Card payment |
paypal | PayPal |
custom | Custom (see custom_payment_method) |
| Value | Language |
|---|---|
cz | Czech |
sk | Slovak |
en | English |
de | German |
fr | French |
it | Italian |
es | Spanish |
ru | Russian |
pl | Polish |
hu | Hungarian |
ro | Romanian |
| Value | Description |
|---|---|
customer | Customer only |
supplier | Supplier only |
both | Both customer and supplier |
| Action | Description |
|---|---|
mark_as_sent | Mark invoice as sent |
cancel | Cancel invoice |
undo_cancel | Revert cancellation |
lock | Lock from editing |
unlock | Unlock for editing |
mark_as_uncollectible | Mark as bad debt |
undo_uncollectible | Revert uncollectible |
| Action | Description |
|---|---|
lock | Lock from editing |
unlock | Unlock for editing |
| Value | Description |
|---|---|
disabled | OSS disabled |
service | OSS for services |
goods | OSS for goods |
| Value | Description |
|---|---|
final_invoice_paid | Auto-create paid invoice |
final_invoice | Manual invoice creation |
tax_document | Auto-create tax document |
none | No followup document |
| Value | Description |
|---|---|
created | OCR requested |
processing | OCR in progress |
processing_failed | OCR failed |
processing_rejected | File rejected |
processed | Successfully processed |
| API Field | Czech | Example |
|---|---|---|
registration_no | IČO | 12345678 |
vat_no | DIČ | CZ12345678 |
local_vat_no | SK DIČ | 1234567890 |
taxable_fulfillment_due | DUZP | 2024-01-15 |
transferred_tax_liability | Přenesená daňová povinnost | true |
supply_code | Kód předmětu plnění | 4 |
{
"name": "Service description",
"quantity": 10,
"unit_name": "hours",
"unit_price": 1500,
"vat_rate": 21,
"inventory_item_id": 123,
"sku": "PROD-001"
}
| Operation | Method |
|---|---|
| Add line | Omit id |
| Update line | Include id |
| Delete line | Include id and _destroy: true |
| Status | Meaning | Action |
|---|---|---|
| 400 | Bad Request | Check date formats, User-Agent header |
| 401 | Unauthorized | Refresh OAuth token |
| 402 | Payment Required | Fakturoid account blocked |
| 403 | Forbidden | Permission denied, resource limits |
| 404 | Not Found | Resource doesn't exist |
| 422 | Validation Error | Check errors field for details |
| 429 | Rate Limited | Wait for X-RateLimit reset |
| 503 | Unavailable | Maintenance, retry later |
# Get new token
python scripts/auth.py credentials --save
# Check token status
python scripts/auth.py status
# Refresh expired token (Authorization Code flow)
python scripts/auth.py refresh
# Revoke token
python scripts/auth.py revoke
Token file: ~/.fakturoid/token.json
Headers on every response:
X-RateLimit-Policy: default;q=400;w=60
X-RateLimit: default;r=398;t=55
q=400: Max 400 requestsw=60: Per 60 seconds windowr=398: Remaining requestst=55: Seconds until resetWhen exceeded: 429 Too Many Requests - wait for reset.
Structured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs