Fix/invoice delivery and payment accounts (#1116)
* fix: reconcile annual reports with final closing entries * test: cover annual report depreciation and VAT balances * Merge remote-tracking branch 'origin/main' into fix/usr-fdbck-ch * fix: show exact invoice delivery details * fix: use currency account in invoice emails * fix: address invoice delivery review feedback * fix: harden invoice delivery and payment accounts * test: assert RLS-denied zero-row updates * fix: close remaining invoice compliance gaps * fix: harden invoice archive authorization * fix: close invoice delivery review findings * fix: verify delivery finalization results * fix: cap combined invoice email recipients * fix: close final invoice compliance findings * fix: prevent stale payment account saves * test: prove invoice delivery isolation * fix: close invoice privacy review findings * test: normalize delivery retention dates
This commit is contained in:
+71
-1
@@ -1697,6 +1697,64 @@
|
||||
"firstname_note": "The first-name placeholder uses the first word of the customer's name.",
|
||||
"toast_save_failed": "Could not save"
|
||||
},
|
||||
"settings_invoice_email_recipients": {
|
||||
"heading": "Invoice email recipients",
|
||||
"description": "These recipients are added automatically to every invoice email. You can add more recipients when sending an individual invoice.",
|
||||
"cc_label": "Fixed copy (CC)",
|
||||
"cc_placeholder": "info@company.com",
|
||||
"cc_hint": "Enter one address per line, or separate addresses with commas or semicolons.",
|
||||
"bcc_label": "Fixed blind copy (BCC)",
|
||||
"bcc_placeholder": "archive@company.com",
|
||||
"bcc_hint": "BCC recipients are hidden from the customer and other recipients.",
|
||||
"invalid_title": "Invalid email address",
|
||||
"invalid_description": "Check the address {address}.",
|
||||
"too_many_title": "Too many recipients",
|
||||
"too_many_description": "You can enter at most {count} fixed CC and BCC addresses in total.",
|
||||
"save_failed": "Could not save the recipients",
|
||||
"saved_title": "Recipients saved",
|
||||
"saved_description": "The fixed CC and BCC recipients will be used for the next invoice email.",
|
||||
"save_failed_title": "Could not save recipients",
|
||||
"saving": "Saving...",
|
||||
"save": "Save recipients"
|
||||
},
|
||||
"settings_invoice_payment_accounts": {
|
||||
"heading": "Payment accounts by currency",
|
||||
"description": "The invoice automatically shows the account matching its currency. A foreign-currency account must have an IBAN before the invoice can be sent.",
|
||||
"currency_tabs_label": "Configured currencies",
|
||||
"add_currency_label": "Add currency",
|
||||
"add_currency_placeholder": "Select currency",
|
||||
"add_currency": "Add account",
|
||||
"account_heading": "Payment account for {currency}",
|
||||
"foreign_account_hint": "This account is only used on invoices in {currency}.",
|
||||
"remove_currency": "Remove account",
|
||||
"bank_label": "Bank",
|
||||
"clearing_label": "Clearing number",
|
||||
"account_number_label": "Account number",
|
||||
"bankgiro_label": "Bankgiro",
|
||||
"plusgiro_label": "Plusgiro",
|
||||
"swish_label": "Swish",
|
||||
"iban_label": "IBAN",
|
||||
"bic_label": "BIC/SWIFT",
|
||||
"required_suffix": "(required)",
|
||||
"validation_title": "Check the payment account",
|
||||
"validation_clearing": "The clearing number for {currency} must contain 4 to 5 digits.",
|
||||
"validation_account_number": "The account number for {currency} must contain 6 to 12 digits.",
|
||||
"validation_bankgiro": "The bankgiro number for {currency} is invalid.",
|
||||
"validation_plusgiro": "The plusgiro number for {currency} is invalid.",
|
||||
"validation_swish": "The Swish number for {currency} is invalid.",
|
||||
"validation_iban": "The IBAN for {currency} is invalid.",
|
||||
"validation_bic": "The BIC/SWIFT for {currency} is invalid.",
|
||||
"validation_foreign_iban": "Enter an IBAN for the {currency} payment account.",
|
||||
"conflict_title": "Payment accounts changed elsewhere",
|
||||
"conflict_description": "Reload the latest saved values before saving. Your unsaved edits will be discarded.",
|
||||
"reload_server_values": "Reload saved values",
|
||||
"save_failed": "Could not save the payment accounts",
|
||||
"save_failed_title": "Could not save payment accounts",
|
||||
"saved_title": "Payment accounts saved",
|
||||
"saved_description": "New invoices use the account matching the invoice currency.",
|
||||
"saving": "Saving...",
|
||||
"save": "Save payment accounts"
|
||||
},
|
||||
"settings_period_locking": {
|
||||
"heading": "Period locking",
|
||||
"locked_through_label": "Bookkeeping locked through",
|
||||
@@ -2689,6 +2747,7 @@
|
||||
"load_customers_failed_description": "Check your connection and try again.",
|
||||
"items_card_title": "Invoice lines",
|
||||
"items_card_description": "Add products or services",
|
||||
"more_references": "References & more",
|
||||
"description_label": "Description",
|
||||
"description_placeholder": "E.g. Instagram campaign",
|
||||
"quantity_label": "Quantity",
|
||||
@@ -2896,6 +2955,7 @@
|
||||
"delivery_manual_unknown_details": "The invoice was delivered outside Accounted, so its recipients, message, and delivered file are unknown.",
|
||||
"delivery_to_label": "To",
|
||||
"delivery_cc_label": "Cc",
|
||||
"delivery_bcc_label": "Bcc",
|
||||
"delivery_reply_to_label": "Reply to",
|
||||
"delivery_from_label": "Sender name",
|
||||
"delivery_subject_label": "Subject",
|
||||
@@ -3200,7 +3260,17 @@
|
||||
"explain_deferred": "Register without booking: the invoice is marked as sent without a voucher. Booking happens in a separate step.",
|
||||
"explain_credit_cash": "Cash method: the original invoice is unpaid, so no verifikat is created when the credit note is issued.",
|
||||
"explain_email": "The invoice is sent to {email}.",
|
||||
"explain_manual": "The invoice is marked as sent.",
|
||||
"explain_manual": "The invoice is marked as sent, but no email is sent.",
|
||||
"recipient_to_label": "To",
|
||||
"recipient_fixed_cc_label": "Fixed CC",
|
||||
"recipient_fixed_bcc_label": "Fixed BCC",
|
||||
"recipient_none": "None",
|
||||
"recipient_additional_cc_label": "Additional CC for this invoice",
|
||||
"recipient_additional_bcc_label": "Additional BCC for this invoice",
|
||||
"recipient_additional_placeholder": "name@company.com",
|
||||
"recipient_additional_hint": "Separate multiple addresses with commas or semicolons.",
|
||||
"recipient_invalid": "Invalid email address: {address}",
|
||||
"recipient_too_many": "An invoice email can have at most {count} recipients in total.",
|
||||
"cancel": "Cancel",
|
||||
"later": "Do later",
|
||||
"send_invoice": "Send invoice",
|
||||
|
||||
+71
-1
@@ -1697,6 +1697,64 @@
|
||||
"firstname_note": "Platshållaren förnamn använder första ordet i kundens namn.",
|
||||
"toast_save_failed": "Kunde inte spara"
|
||||
},
|
||||
"settings_invoice_email_recipients": {
|
||||
"heading": "Mottagare vid fakturautskick",
|
||||
"description": "Dessa mottagare läggs automatiskt till på varje fakturamejl. Du kan komplettera listan när en enskild faktura skickas.",
|
||||
"cc_label": "Fast kopia (CC)",
|
||||
"cc_placeholder": "info@foretag.se",
|
||||
"cc_hint": "En adress per rad, eller separera med komma eller semikolon.",
|
||||
"bcc_label": "Fast dold kopia (BCC)",
|
||||
"bcc_placeholder": "arkiv@foretag.se",
|
||||
"bcc_hint": "BCC-mottagare visas inte för kunden eller övriga mottagare.",
|
||||
"invalid_title": "Ogiltig e-postadress",
|
||||
"invalid_description": "Kontrollera adressen {address}.",
|
||||
"too_many_title": "För många mottagare",
|
||||
"too_many_description": "Du kan ange högst {count} fasta CC- och BCC-adresser totalt.",
|
||||
"save_failed": "Kunde inte spara mottagarna",
|
||||
"saved_title": "Mottagare sparade",
|
||||
"saved_description": "De fasta CC- och BCC-mottagarna används vid nästa fakturautskick.",
|
||||
"save_failed_title": "Kunde inte spara mottagare",
|
||||
"saving": "Sparar...",
|
||||
"save": "Spara mottagare"
|
||||
},
|
||||
"settings_invoice_payment_accounts": {
|
||||
"heading": "Betalningskonton per valuta",
|
||||
"description": "Fakturan visar automatiskt kontot som matchar fakturans valuta. Ett utländskt konto måste ha IBAN för att fakturan ska kunna skickas.",
|
||||
"currency_tabs_label": "Konfigurerade valutor",
|
||||
"add_currency_label": "Lägg till valuta",
|
||||
"add_currency_placeholder": "Välj valuta",
|
||||
"add_currency": "Lägg till konto",
|
||||
"account_heading": "Betalningskonto för {currency}",
|
||||
"foreign_account_hint": "Detta konto används bara på fakturor i {currency}.",
|
||||
"remove_currency": "Ta bort konto",
|
||||
"bank_label": "Bank",
|
||||
"clearing_label": "Clearingnummer",
|
||||
"account_number_label": "Kontonummer",
|
||||
"bankgiro_label": "Bankgiro",
|
||||
"plusgiro_label": "Plusgiro",
|
||||
"swish_label": "Swish",
|
||||
"iban_label": "IBAN",
|
||||
"bic_label": "BIC/SWIFT",
|
||||
"required_suffix": "(obligatoriskt)",
|
||||
"validation_title": "Kontrollera betalningskontot",
|
||||
"validation_clearing": "Clearingnumret för {currency} måste vara 4 till 5 siffror.",
|
||||
"validation_account_number": "Kontonumret för {currency} måste vara 6 till 12 siffror.",
|
||||
"validation_bankgiro": "Bankgironumret för {currency} är ogiltigt.",
|
||||
"validation_plusgiro": "Plusgironumret för {currency} är ogiltigt.",
|
||||
"validation_swish": "Swish-numret för {currency} är ogiltigt.",
|
||||
"validation_iban": "IBAN för {currency} är ogiltigt.",
|
||||
"validation_bic": "BIC/SWIFT för {currency} är ogiltigt.",
|
||||
"validation_foreign_iban": "Ange IBAN för betalningskontot i {currency}.",
|
||||
"conflict_title": "Betalningskontona har ändrats någon annanstans",
|
||||
"conflict_description": "Läs in de senast sparade värdena innan du sparar. Dina osparade ändringar tas bort.",
|
||||
"reload_server_values": "Läs in sparade värden",
|
||||
"save_failed": "Kunde inte spara betalningskontona",
|
||||
"save_failed_title": "Kunde inte spara betalningskonton",
|
||||
"saved_title": "Betalningskonton sparade",
|
||||
"saved_description": "Nya fakturor använder kontot som matchar fakturans valuta.",
|
||||
"saving": "Sparar...",
|
||||
"save": "Spara betalningskonton"
|
||||
},
|
||||
"settings_period_locking": {
|
||||
"heading": "Periodlåsning",
|
||||
"locked_through_label": "Bokföring låst t.o.m.",
|
||||
@@ -2689,6 +2747,7 @@
|
||||
"load_customers_failed_description": "Kontrollera din anslutning och försök igen.",
|
||||
"items_card_title": "Fakturarader",
|
||||
"items_card_description": "Lägg till produkter eller tjänster",
|
||||
"more_references": "Referenser & mer",
|
||||
"description_label": "Beskrivning",
|
||||
"description_placeholder": "T.ex. Instagram-kampanj",
|
||||
"quantity_label": "Antal",
|
||||
@@ -2896,6 +2955,7 @@
|
||||
"delivery_manual_unknown_details": "Utskicket gjordes utanför Accounted. Mottagare, meddelande och den levererade filen är därför inte kända.",
|
||||
"delivery_to_label": "Till",
|
||||
"delivery_cc_label": "Kopia",
|
||||
"delivery_bcc_label": "Dold kopia",
|
||||
"delivery_reply_to_label": "Svara till",
|
||||
"delivery_from_label": "Avsändarnamn",
|
||||
"delivery_subject_label": "Ämne",
|
||||
@@ -3200,7 +3260,17 @@
|
||||
"explain_deferred": "Registrera utan bokföring: fakturan markeras som skickad utan verifikation. Bokföringen görs i ett separat steg.",
|
||||
"explain_credit_cash": "Kontantmetoden: originalfakturan är obetald, så ingen verifikation skapas när kreditfakturan utfärdas.",
|
||||
"explain_email": "Fakturan skickas till {email}.",
|
||||
"explain_manual": "Fakturan markeras som skickad.",
|
||||
"explain_manual": "Fakturan markeras som skickad, men inget e-postmeddelande skickas.",
|
||||
"recipient_to_label": "Till",
|
||||
"recipient_fixed_cc_label": "Fast CC",
|
||||
"recipient_fixed_bcc_label": "Fast BCC",
|
||||
"recipient_none": "Ingen",
|
||||
"recipient_additional_cc_label": "Extra CC för denna faktura",
|
||||
"recipient_additional_bcc_label": "Extra BCC för denna faktura",
|
||||
"recipient_additional_placeholder": "namn@foretag.se",
|
||||
"recipient_additional_hint": "Separera flera adresser med komma eller semikolon.",
|
||||
"recipient_invalid": "Ogiltig e-postadress: {address}",
|
||||
"recipient_too_many": "Ett fakturautskick får ha högst {count} mottagare totalt.",
|
||||
"cancel": "Avbryt",
|
||||
"later": "Gör senare",
|
||||
"send_invoice": "Skicka faktura",
|
||||
|
||||
Reference in New Issue
Block a user