Fakturor, bokforing, momsredovisning, resultatrapport — svensk standard for aktiebolag
Du hanterar all ekonomi: fakturor, bokforing, moms och rapporter. Allt ska folja svensk lag for aktiebolag.
Folj instruktionerna i .claude/skills/shared/helpers.md for ID-generering och validering.
Trigger: "skapa faktura", "fakturera", "faktura for [order/kund]"
Procedur:
Las data/orders.json — hitta ordern (maste ha status delivered eller completed)
Las data/customers.json — hamta kundinfo
Las data/knives.json — hamta alla knivar for ordern
Las data/pricing.json — hamta priser per knivtyp
Las data/invoices.json — hamta next_invoice_number
Berakna rader:
data/pricing.jsonBerakna OCR-nummer fran fakturanummer:
Skapa fakturaobjekt:
{
"id": "INV-YYYYMMDD-NNN",
"invoice_number": 1001,
"order_id": "ORD-...",
"customer_id": "CUS-...",
"customer_name": "Anna Svensson",
"customer_address": "Storgatan 12, 712 34 Lindesberg",
"invoice_date": "YYYY-MM-DD",
"due_date": "YYYY-MM-DD (+ 30 dagar)",
"ocr": "10016",
"lines": [
{
"description": "Slipning kockkniv",
"quantity": 3,
"unit_price_excl_vat": 80,
"vat_rate": 0.25,
"total_excl_vat": 240
}
],
"total_excl_vat": 420,
"total_vat": 105,
"total_incl_vat": 525,
"status": "draft",
"payment": {
"paid": false,
"paid_date": null,
"method": null,
"amount_paid": 0
},
"is_credit_note": false,
"credit_for_invoice": null,
"reminder_sent": false,
"reminder_date": null,
"seller": {
"name": "Knivslip AB",
"org_nr": "XXXXXX-XXXX",
"vat_nr": "SE XXXXXXXXXXXX",
"address": "FYLL I ADRESS",
"fskatt": true,
"bankgiro": "XXX-XXXX",
"swish": "123XXXXXXX"
},
"created_at": "..."
}
Lagg till i invoices.json, oka next_invoice_number
Uppdatera ordern: satt invoice_id
Skapa transaktion i transactions.json (typ: income)
Visa fakturan formaterad:
╔══════════════════════════════════════════════╗
║ FAKTURA ║
╠══════════════════════════════════════════════╣
║ Knivslip AB ║
║ [adress] ║
║ Org.nr: XXXXXX-XXXX ║
║ Innehar F-skattsedel ║
║ Momsreg.nr: SE XXXXXXXXXXXX ║
╠══════════════════════════════════════════════╣
║ Fakturanr: 1001 ║
║ Fakturadatum: YYYY-MM-DD ║
║ Forfallodatum: YYYY-MM-DD ║
║ OCR: 10016 ║
╠══════════════════════════════════════════════╣
║ Kund: ║
║ Anna Svensson ║
║ Storgatan 12, 712 34 Lindesberg ║
╠══════════════════════════════════════════════╣
║ Beskrivning | Antal | A-pris | Summa ║
║ ────────────────────|───────|────────|──────── ║
║ Slipning kockkniv | 3 | 80 kr | 240 kr ║
║ Slipning sax | 1 | 100 kr | 100 kr ║
╠══════════════════════════════════════════════╣
║ Netto (exkl moms): 340 kr ║
║ Moms 25%: 85 kr ║
║ ATT BETALA: 425 kr ║
╠══════════════════════════════════════════════╣
║ Betalning: Swish [nummer] / Bankgiro [nummer] ║
║ Ange OCR: 10016 ║
║ Betalningsvillkor: 30 dagar netto ║
║ Drojsmalsranta enl. rantelagen ║
╚══════════════════════════════════════════════╝
sentTrigger: "betald", "betalning", "kunden har betalat"
payment.paid = true, payment.paid_date, payment.method, payment.amount_paidpaidcompleted om inte redanTrigger: "kostnad", "utgift", "kvitto"
Samla:
Procedur:
data/transactions.jsontransactions.jsonTrigger: "moms", "momsrapport", "momsredovisning"
Fraga: period (kvartal, t.ex. "Q1 2026" = jan-mar)
data/transactions.jsonVisa:
MOMSREDOVISNING Q1 2026
═══════════════════════
Utgaende moms (forsaljning): {summa} kr
Ingaende moms (inkop): -{summa} kr
────────────────────────────────────────
Moms att betala: {summa} kr
Trigger: "resultat", "vinst", "rapport", "hur gar det ekonomiskt"
Fraga: period (vecka/manad/kvartal/ar)
data/transactions.jsonRESULTATRAPPORT {period}
════════════════════════
INTAKTER
Forsaljning: {summa} kr
Ovrigt: {summa} kr
Totalt: {summa} kr
KOSTNADER
Bransle: {summa} kr
Material: {summa} kr
Forpackning: {summa} kr
Telefon: {summa} kr
Marknadsforing: {summa} kr
Ovrigt: {summa} kr
Totalt: {summa} kr
RESULTAT: {summa} kr
Vinstmarginal: {procent}%
Trigger: "obetalda", "forfalma", "vem har inte betalat"
data/invoices.jsonpayment.paid === falseTrigger: "paminnelse faktura", "betalningspaminnelse"
reminder_sent = true, reminder_date pa originalfakturanTrigger: "kreditera", "kreditfaktura"
is_credit_note = true och negativt beloppcredit_for_invoiceTrigger: "export", "revisor", "bokforing export"
data/transactions.jsondata/invoices.json, data/transactions.jsondata/orders.json, data/customers.json, data/knives.json, data/pricing.jsonNar en faktura skapas eller betalning registreras:
Trigger: "kassaflode", "pengar", "hur mycket har vi"
Visa:
KASSAFLODE
══════════
Intakter (betalda): {summa} kr
Kostnader: -{summa} kr
Momsreserv (satt undan): -{summa} kr
────────────────────────────────
Disponibelt: {summa} kr
VANTER PA BETALNING: {summa} kr ({antal} fakturor)
Pamin automatiskt nar relevant:
Nar datum narmar sig: varna i output.
En FULLSTANDIG faktura MASTE innehalla:
FORENKLAD faktura (tillaten under 4 000 kr inkl moms):
Anvand dessa konton vid bokforing: