feat(accounting): Layer A frontend — chart of accounts CRUD + Treuhänder export UI
- ledger.service.ts: accounts/VAT-codes/mappings CRUD + export client - ChartOfAccountsPage: full CRUD for the Swiss/LI KMU chart + MWST codes, category→account mapping, default/system accounts + tax-treatment/rate→VAT maps, with a 'guideline only' note - LedgerExportPage: period + currency + target tool (generic/Banana/bexio) → collective-journal CSV download, with accrual-only + Treuhänder disclaimer - AccountingLayout: 'Treuhänder export' (taxReport flag) + 'Chart of accounts' (accounting flag) sub-nav entries; App routes wired - en/de translations (accounting.taxTreatment.* enum + ledger.* namespace) de/en authored natively; no machine-translated locales touched here.
This commit is contained in:
@@ -3450,7 +3450,15 @@
|
||||
"subnav": {
|
||||
"incomingInvoices": "Eingangsrechnungen",
|
||||
"expenses": "Aufwände",
|
||||
"taxReport": "Steuer"
|
||||
"taxReport": "Steuer",
|
||||
"export": "Treuhänder-Export",
|
||||
"chartOfAccounts": "Kontenplan"
|
||||
},
|
||||
"taxTreatment": {
|
||||
"domestic": "Inland (mit MWST)",
|
||||
"reverse_charge_service": "Bezugsteuer (Dienstleistungen)",
|
||||
"foreign_vat_non_reclaimable": "Ausländische MWST (nicht abziehbar)",
|
||||
"import_goods": "Wareneinfuhr"
|
||||
},
|
||||
"disposition": {
|
||||
"rebill": "An Kunde weiterverrechnen",
|
||||
@@ -3757,6 +3765,56 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"ledger": {
|
||||
"intro": "Dient nur dem Treuhänder-Export — picpeak führt keine doppelte Buchhaltung. Der vorbelegte Kontenplan + die MWST-Codes folgen dem Schweizer/LI KMU-Kontenrahmen; passe sie an das Setup deines Treuhänders an.",
|
||||
"settingsSaved": "Zuordnungen gespeichert.",
|
||||
"saveDefaults": "Zuordnungen speichern",
|
||||
"accountType": {
|
||||
"asset": "Aktiven", "liability": "Passiven", "equity": "Eigenkapital", "revenue": "Ertrag", "expense": "Aufwand"
|
||||
},
|
||||
"vatDirection": {
|
||||
"input": "Vorsteuer", "output": "Umsatzsteuer"
|
||||
},
|
||||
"defaults": {
|
||||
"title": "Standard- & Systemkonten",
|
||||
"none": "— keines —",
|
||||
"ledger_account_debitoren": "Forderungen (Debitoren)",
|
||||
"ledger_account_kreditoren": "Verbindlichkeiten (Kreditoren)",
|
||||
"ledger_account_bank": "Bank",
|
||||
"ledger_account_cash": "Kasse",
|
||||
"ledger_account_default_revenue": "Standard-Ertragskonto",
|
||||
"ledger_account_default_expense": "Standard-Aufwandkonto",
|
||||
"ledger_account_mileage": "Kilometer-Konto",
|
||||
"ledger_account_per_diem": "Spesenpauschalen-Konto",
|
||||
"ledger_account_rebilled_revenue": "Weiterverrechnete Spesen (Ertrag)"
|
||||
},
|
||||
"vatMap": { "title": "MWST-Code nach steuerlicher Behandlung (Kosten)" },
|
||||
"outputVatMap": { "title": "MWST-Code nach Umsatzsatz" },
|
||||
"categoryMap": { "title": "Aufwandkategorie → Konto" },
|
||||
"accounts": { "title": "Kontenplan" },
|
||||
"vatCodes": { "title": "MWST-Codes" },
|
||||
"account": {
|
||||
"addTitle": "Konto hinzufügen", "editTitle": "Konto bearbeiten",
|
||||
"number": "Kontonummer", "name": "Name", "type": "Art",
|
||||
"confirmDelete": "Dieses Konto löschen?"
|
||||
},
|
||||
"vat": {
|
||||
"addTitle": "MWST-Code hinzufügen", "editTitle": "MWST-Code bearbeiten",
|
||||
"code": "Code", "name": "Name", "rate": "Satz %", "direction": "Richtung",
|
||||
"account": "MWST-Konto", "noAccount": "— keines —", "confirmDelete": "Diesen MWST-Code löschen?"
|
||||
},
|
||||
"export": {
|
||||
"title": "Treuhänder-Export",
|
||||
"intro": "Lade das Sammeljournal (Erträge + Kosten als periodengerechte Buchungssätze mit Konto- und MWST-Codes) zum Import in die Buchhaltungssoftware deines Treuhänders herunter.",
|
||||
"format": "Zielsoftware",
|
||||
"format_generic": "Generisch (alle Spalten)",
|
||||
"format_banana": "Banana Buchhaltung",
|
||||
"format_bexio": "bexio",
|
||||
"download": "CSV herunterladen",
|
||||
"failed": "Export fehlgeschlagen.",
|
||||
"disclaimer": "Nur periodengerecht (Belegdaten) — Zahlungen/Bankbewegungen sind nicht enthalten. Konto- + MWST-Codes folgen deiner Kontenplan-Zuordnung. Den Import vor der Einreichung immer mit dem Treuhänder prüfen."
|
||||
}
|
||||
},
|
||||
"taxReport": {
|
||||
"title": "Steuerliste",
|
||||
"intro": "Periodenbezogene Umsatzliste mit Netto- und MwSt-Aufschlüsselung, gruppiert nach MwSt-Satz. Stornierte Rechnungen bleiben für die lückenlose Nummernfolge sichtbar, sind aber nicht in den Summen enthalten.",
|
||||
|
||||
@@ -3450,7 +3450,15 @@
|
||||
"subnav": {
|
||||
"incomingInvoices": "Incoming invoices",
|
||||
"expenses": "Expenses",
|
||||
"taxReport": "Tax"
|
||||
"taxReport": "Tax",
|
||||
"export": "Treuhänder export",
|
||||
"chartOfAccounts": "Chart of accounts"
|
||||
},
|
||||
"taxTreatment": {
|
||||
"domestic": "Domestic (with VAT)",
|
||||
"reverse_charge_service": "Reverse charge (services)",
|
||||
"foreign_vat_non_reclaimable": "Foreign VAT (non-reclaimable)",
|
||||
"import_goods": "Import of goods"
|
||||
},
|
||||
"disposition": {
|
||||
"rebill": "Re-bill to client",
|
||||
@@ -3757,6 +3765,56 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"ledger": {
|
||||
"intro": "Used only to produce the Treuhänder export — picpeak does not keep double-entry books. The seeded chart + VAT codes follow the Swiss/LI KMU-Kontenrahmen; adjust them to match your Treuhänder’s setup.",
|
||||
"settingsSaved": "Mappings saved.",
|
||||
"saveDefaults": "Save mappings",
|
||||
"accountType": {
|
||||
"asset": "Asset", "liability": "Liability", "equity": "Equity", "revenue": "Revenue", "expense": "Expense"
|
||||
},
|
||||
"vatDirection": {
|
||||
"input": "Input (Vorsteuer)", "output": "Output (Umsatzsteuer)"
|
||||
},
|
||||
"defaults": {
|
||||
"title": "Default & system accounts",
|
||||
"none": "— none —",
|
||||
"ledger_account_debitoren": "Accounts receivable (Debitoren)",
|
||||
"ledger_account_kreditoren": "Accounts payable (Kreditoren)",
|
||||
"ledger_account_bank": "Bank",
|
||||
"ledger_account_cash": "Cash",
|
||||
"ledger_account_default_revenue": "Default revenue account",
|
||||
"ledger_account_default_expense": "Default expense account",
|
||||
"ledger_account_mileage": "Mileage account",
|
||||
"ledger_account_per_diem": "Per-diem account",
|
||||
"ledger_account_rebilled_revenue": "Re-billed expenses (revenue)"
|
||||
},
|
||||
"vatMap": { "title": "VAT code by tax treatment (costs)" },
|
||||
"outputVatMap": { "title": "VAT code by revenue rate" },
|
||||
"categoryMap": { "title": "Expense category → account" },
|
||||
"accounts": { "title": "Chart of accounts" },
|
||||
"vatCodes": { "title": "VAT codes" },
|
||||
"account": {
|
||||
"addTitle": "Add account", "editTitle": "Edit account",
|
||||
"number": "Account number", "name": "Name", "type": "Type",
|
||||
"confirmDelete": "Delete this account?"
|
||||
},
|
||||
"vat": {
|
||||
"addTitle": "Add VAT code", "editTitle": "Edit VAT code",
|
||||
"code": "Code", "name": "Name", "rate": "Rate %", "direction": "Direction",
|
||||
"account": "VAT account", "noAccount": "— none —", "confirmDelete": "Delete this VAT code?"
|
||||
},
|
||||
"export": {
|
||||
"title": "Treuhänder export",
|
||||
"intro": "Download the collective journal (revenue + costs as accrual postings with account and VAT codes) for import into your Treuhänder’s accounting software.",
|
||||
"format": "Target tool",
|
||||
"format_generic": "Generic (all columns)",
|
||||
"format_banana": "Banana Accounting",
|
||||
"format_bexio": "bexio",
|
||||
"download": "Download CSV",
|
||||
"failed": "Export failed.",
|
||||
"disclaimer": "Accrual basis only (document dates) — payments/bank movements are not included. Account + VAT codes follow your Chart-of-accounts mapping. Always review the import with your Treuhänder before filing."
|
||||
}
|
||||
},
|
||||
"taxReport": {
|
||||
"title": "Tax report",
|
||||
"intro": "Period-scoped revenue list with net + VAT breakdown grouped by VAT rate. Cancelled invoices stay visible for audit-trail continuity but are excluded from totals.",
|
||||
|
||||
Reference in New Issue
Block a user