Skip to main content

/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):

  1. Klijent (ime/firma)
  2. Iznos (bez MVA)
  3. Valuta (NOK, EUR, USD, BAM, RSD)
  4. Opis (šta se fakturiše)
  5. Line items (opciono — detaljnije stavke)
  6. Payment terms (default: 14 dana)
  7. 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

  1. MVA 25% za NOK — invoice-generator.js automatski dodaje. Provjeri total.
  2. CEO odobrava — Faktura je HIGH risk. NIKAD slati bez Alemovog "OK".
  3. Klijent mora postojati — Nema fakture za nepostojeći kontakt u contacts.db.
  4. Referenca obavezna — Svaka faktura mora imati vezu na ugovor ili PO.
  5. ALAI branding — PDF koristi standard ALAI template.
  6. Valuta match — Koristi valutu iz ugovora. Ne miješaj NOK/EUR.
  7. Anti-hallucination — NE izmišljaj iznose. Ako Alem nije rekao cifru, pitaj.
  8. Due date realan — Default 14 dana. Provjeri ugovor za custom terms.
  9. 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