/invoice
Source: ~/.claude/skills/invoice/SKILL.md
Invoice — Kreiraj i Pošalji Fakturu
Description
Vodeni workflow za kreiranje, pregled, i slanje fakture. Od validacije klijenta do auto-remind schedulea. Koristi invoice-generator.js za kreiranje, drafts.js za email workflow, i opciono fiken.js za accounting sync.
Trigger
Koristi ovaj skill kad:
- Alem kaže "napravi fakturu", "pošalji račun", "fakturiši", "invoice"
- Milestone je dostignut i treba fakturisati
- Periodična faktura (mjesečna, kvartalna)
Alati
- Fakture:
~/system/tools/invoice-generator.js - Contacts:
~/system/tools/contacts.js - Drafts:
~/system/tools/drafts.js - Fiken:
~/system/tools/fiken.js - Email: MCP
mcp__email__email_send(account: "john") - Templates:
~/system/templates/invoices/standard-invoice.html - DB:
~/system/databases/invoices.db
Workflow
Korak 1: Validacija klijenta
Provjeri da klijent postoji u sistemu:
# Provjeri contacts.db
NODE_PATH=~/system/node_modules node ~/system/tools/contacts.js search "<klijent>"
# Provjeri da ima email
NODE_PATH=~/system/node_modules node ~/system/tools/contacts.js show <id>
- Ako klijent NE postoji → pitaj Alema za podatke, dodaj u contacts.js
- Ako nema email → pitaj Alema. NE izmišljaj.
- Provjeri: org_number, adresa (treba za fakturu)
Korak 2: Prikupi podatke za fakturu
Interaktivno od Alema (ili iz konteksta):
- Klijent (ime/firma)
- Iznos (bez MVA)
- Valuta (NOK, EUR, USD, BAM, RSD)
- Opis (šta se fakturiše)
- Line items (opciono — detaljnije stavke)
- Payment terms (default: 14 dana)
- Reference (project, contract, PO number)
Korak 3: Kreiraj fakturu
NODE_PATH=~/system/node_modules node ~/system/tools/invoice-generator.js create "<klijent>" <iznos> <valuta> "<opis>"
Provjeri output:
- Invoice ID kreiran
- MVA 25% dodan (za NOK fakture)
- Total = iznos + MVA
- Due date = today + payment terms
- PDF generisan u
~/system/deliverables/invoices/
Korak 4: Review sa Alemom
OBAVEZNO: Pokaži Alemu fakturu prije slanja:
- Klijent: {ime}
- Iznos: {iznos} {valuta}
- MVA (25%): {mva}
- Total: {total} {valuta}
- Opis: {opis}
- Due date: {datum}
- Payment terms: {dani} dana
Čekaj eksplicitno odobrenje. NIKAD slati bez "OK" ili "SEND".
Korak 5: Kreiraj email draft
Fakturu NE slati direktno — koristi drafts workflow:
# Draft se kreira automatski pri invoice create
# Ili ručno:
NODE_PATH=~/system/node_modules node ~/system/tools/drafts.js list pending
Draft risk classification:
- Invoice = HIGH risk → zahtijeva manual approval
- Reminder = MEDIUM risk → auto-approve + notify
Korak 6: Pošalji fakturu
Nakon Alemovog odobrenja:
# Approve draft
NODE_PATH=~/system/node_modules node ~/system/tools/drafts.js approve <draft-id>
# Send
NODE_PATH=~/system/node_modules node ~/system/tools/drafts.js send <draft-id>
Ili direktno via MCP email:
mcp__email__email_send(
account: "john",
to: "<klijent-email>",
subject: "Invoice #<id> — ALAI Holding AS",
body: "<tekst>",
attachments: ["~/system/deliverables/invoices/INV-<id>.pdf"]
)
Korak 7: Fiken sync (opciono)
Ako klijent ima Fiken kontakt:
# Sync invoice to Fiken
NODE_PATH=~/system/node_modules node ~/system/tools/fiken.js invoices sync
Korak 8: Auto-remind schedule
Automatski reminder schedule (pipeline-watcher daemon):
- Day 7: Friendly reminder (auto-send, Norwegian)
- Day 14: Firm reminder (auto-send + Slack notify)
- Day 30+: MC task za Alema (eskalacija)
Provjeri remind status:
NODE_PATH=~/system/node_modules node ~/system/tools/invoice-generator.js list overdue
Ručni reminder:
NODE_PATH=~/system/node_modules node ~/system/tools/invoice-generator.js remind <invoice-id>
Pravila
- MVA 25% za NOK — invoice-generator.js automatski dodaje. Provjeri total.
- CEO odobrava — Faktura je HIGH risk. NIKAD slati bez Alemovog "OK".
- Klijent mora postojati — Nema fakture za nepostojeći kontakt u contacts.db.
- Referenca obavezna — Svaka faktura mora imati vezu na ugovor ili PO.
- ALAI branding — PDF koristi standard ALAI template.
- Valuta match — Koristi valutu iz ugovora. Ne miješaj NOK/EUR.
- Anti-hallucination — NE izmišljaj iznose. Ako Alem nije rekao cifru, pitaj.
- Due date realan — Default 14 dana. Provjeri ugovor za custom terms.
- Fiken sync — Sync nakon svake nove fakture ako je Fiken konfigurisan.
Primjer — Standardna Faktura
Alem: "Fakturiši Wizard 25000 NOK za februar maintenance"
John:
1. contacts.js search "Wizard" → Wizard NUF, [email protected]
2. invoice-generator.js create "Wizard NUF" 25000 NOK "February 2026 maintenance and support"
3. Output: INV-0005, 25000 + 6250 MVA = 31250 NOK, due 2026-02-26
4. → Pokaži Alemu za review
5. Alem: "OK"
6. → drafts.js approve + send
7. → fiken.js invoices sync
8. → Auto-remind active (Day 7, 14, 30)
Primjer — Multi-line Faktura
Alem: "Fakturiši Ren Drøm za januar: 40h development @ 1200 NOK + 5000 NOK hosting"
John:
1. contacts.js search "Ren Drøm" → found
2. invoice-generator.js create "Ren Drøm AS" 53000 NOK "January 2026: Development (40h × 1200 NOK) + Hosting (5000 NOK)"
3. → Review → Approve → Send → Sync
Tracking
# Lista svih faktura
NODE_PATH=~/system/node_modules node ~/system/tools/invoice-generator.js list all
# Neplaćene
NODE_PATH=~/system/node_modules node ~/system/tools/invoice-generator.js list unpaid
# Overdue
NODE_PATH=~/system/node_modules node ~/system/tools/invoice-generator.js list overdue
# Statistika
NODE_PATH=~/system/node_modules node ~/system/tools/invoice-generator.js stats
# Fiken dashboard
NODE_PATH=~/system/node_modules node ~/system/tools/fiken.js dashboard
No comments to display
No comments to display