feat(invoices): allow BAS class 1-3 posting-account overrides and complete the aktiekapital note (#1121)

- invoice/article posting-account overrides accept active class 1-3 accounts;
  class 1-2 (balance-sheet) accounts are rejected on VAT-bearing lines so the
  ruta 05 tax base always books to a 3xxx account
- shared posting-account regex across server schemas, pending-operation
  re-validation, and client forms
- share-capital settings (aktiekapital/antal_aktier) feed the annual-report
  note; kvotvarde derived per ABL 1 kap 6 $; all-or-nothing pair constraint
- signed per-rate VAT breakdown on credit-note PDFs; U+2212 to ASCII hyphen

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Mattsson
2026-07-23 12:16:00 +02:00
committed by GitHub
co-authored by Claude Fable 5
parent b0044bfe98
commit 43f7ccab9e
27 changed files with 440 additions and 109 deletions
+9 -7
View File
@@ -2710,14 +2710,15 @@
"cancel": "Cancel"
},
"invoice_editor": {
"row_menu_set_account": "Set sales account",
"row_menu_remove_account": "Remove sales account",
"row_menu_set_account": "Set posting account",
"row_menu_remove_account": "Remove posting account",
"row_menu_set_dimensions": "Set cost centre/project",
"row_menu_remove_dimensions": "Remove cost centre/project",
"dimensions_default_hint": "Cost centre/project applies to all rows without their own tagging.",
"row_dimensions_inherit_hint": "Empty fields inherit the invoice default ({dims}).",
"revenue_account_label": "Sales account",
"revenue_account_hint": "Leave blank to derive the account from the VAT rate. Ignored for reverse charge and export.",
"revenue_account_label": "Posting account",
"revenue_account_hint": "Leave blank to derive the sales account from the VAT rate. You may select an active balance-sheet or revenue account in class 1-3. Ignored for reverse charge and export.",
"posting_account_invalid": "Enter a four-digit class 1-3 account.",
"ore_rounding_label": "Öre rounding",
"ore_rounding_help": "Round the invoice total to whole kronor",
"back": "Back",
@@ -4645,9 +4646,10 @@
"price_required": "Enter a price",
"vat_rate_label": "VAT",
"advanced_section": "Advanced",
"revenue_account_label": "Revenue account",
"revenue_account_placeholder": "e.g. 3041",
"revenue_account_hint": "Leave empty to derive the account automatically from the VAT rate.",
"revenue_account_label": "Posting account",
"revenue_account_placeholder": "e.g. 2897",
"revenue_account_hint": "Leave empty to derive the sales account automatically from VAT. You may select an active class 1-3 account.",
"posting_account_invalid": "Enter a four-digit class 1-3 account.",
"cost_price_label": "Cost price",
"cost_price_hint": "Margin display only, never posted.",
"currency_label": "Currency",
+9 -7
View File
@@ -2710,14 +2710,15 @@
"cancel": "Avbryt"
},
"invoice_editor": {
"row_menu_set_account": "Ange försäljningskonto",
"row_menu_remove_account": "Ta bort försäljningskonto",
"row_menu_set_account": "Ange bokföringskonto",
"row_menu_remove_account": "Ta bort bokföringskonto",
"row_menu_set_dimensions": "Ange kostnadsställe/projekt",
"row_menu_remove_dimensions": "Ta bort kostnadsställe/projekt",
"dimensions_default_hint": "Kostnadsställe/projekt gäller alla rader utan egen märkning.",
"row_dimensions_inherit_hint": "Tomma fält ärver fakturans standard ({dims}).",
"revenue_account_label": "Försäljningskonto",
"revenue_account_hint": "Lämna tomt för att härleda kontot från momssatsen. Ignoreras för omvänd skattskyldighet och export.",
"revenue_account_label": "Bokföringskonto",
"revenue_account_hint": "Lämna tomt för att härleda försäljningskontot från momssatsen. Du kan välja ett aktivt balans- eller intäktskonto i klass 1-3. Ignoreras för omvänd skattskyldighet och export.",
"posting_account_invalid": "Ange ett fyrsiffrigt konto i klass 1-3.",
"ore_rounding_label": "Öresavrundning",
"ore_rounding_help": "Avrunda fakturatotal till hel krona",
"back": "Tillbaka",
@@ -4645,9 +4646,10 @@
"price_required": "Ange ett pris",
"vat_rate_label": "Moms",
"advanced_section": "Avancerat",
"revenue_account_label": "Försäljningskonto",
"revenue_account_placeholder": "t.ex. 3041",
"revenue_account_hint": "Lämna tomt för att härleda kontot automatiskt utifrån momsen.",
"revenue_account_label": "Bokföringskonto",
"revenue_account_placeholder": "t.ex. 2897",
"revenue_account_hint": "Lämna tomt för att härleda försäljningskontot automatiskt utifrån momsen. Du kan välja ett aktivt konto i klass 1-3.",
"posting_account_invalid": "Ange ett fyrsiffrigt konto i klass 1-3.",
"cost_price_label": "Inköpspris",
"cost_price_hint": "Endast för marginalberäkning, bokförs aldrig.",
"currency_label": "Valuta",