# Invoice App Configuration # (C) 2026 Kristian Benestad. Licensed under the Apache 2 license. # ── Default language ─────────────────────────────────────────────────────────── default-code: en default-name: English default-direction: ltr # ── Available languages ──────────────────────────────────────────────────────── languages: - code: en name: English direction: ltr - code: de name: Deutsch direction: ltr - code: fr name: Français direction: ltr - code: "no" name: Norsk direction: ltr # ── Organisation brand ──────────────────────────────────────────────────────── # Optional. Set org-name to show a branded header (org logo + name + subheading). # Leave org-name absent or empty to show the plain "invoice" wordmark instead. # org-name: "Acme Corporation" # org-subheading: "Freelance invoicing" # ── About modal ─────────────────────────────────────────────────────────────── # Optional. Remove this section entirely to hide the ⓘ button and footer link. about: en: title: "About" content: | ### Invoice Generator A single-file browser app for generating freelance invoices as PDF. No backend, no build step — just a browser and a config file. **Source:** [kbenestad/invoice](https://github.com/kbenestad/invoice) **Docs:** [docs.benestad.net/invoice](https://docs.benestad.net/invoice) © 2026 Kristian Benestad. Licensed under the Apache 2 license. btn-close: "Close" de: title: "Über" content: | ### Rechnungsgenerator Eine Single-File-Browser-App zur Erstellung von Freiberufler-Rechnungen als PDF. Kein Backend, kein Build-Schritt. **Quellcode:** [kbenestad/invoice](https://github.com/kbenestad/invoice) **Dokumentation:** [docs.benestad.net/invoice](https://docs.benestad.net/invoice) © 2026 Kristian Benestad. Lizenziert unter Apache 2. btn-close: "Schließen" fr: title: "À propos" content: | ### Générateur de factures Une application de navigateur en fichier unique pour générer des factures en PDF. Aucun backend, aucune étape de build. **Code source :** [kbenestad/invoice](https://github.com/kbenestad/invoice) **Documentation :** [docs.benestad.net/invoice](https://docs.benestad.net/invoice) © 2026 Kristian Benestad. Sous licence Apache 2. btn-close: "Fermer" "no": title: "Om" content: | ### Fakturagenerator En nettleserapp i én fil for å generere frilansfakturaer som PDF. Ingen backend, ingen byggtrinn. **Kildekode:** [kbenestad/invoice](https://github.com/kbenestad/invoice) **Dokumentasjon:** [docs.benestad.net/invoice](https://docs.benestad.net/invoice) © 2026 Kristian Benestad. Lisensiert under Apache 2. btn-close: "Lukk" # ── Payment info visibility ─────────────────────────────────────────────────── # Set to true to hide the payment info panel entirely (useful if payment info # should not appear on invoices, e.g. per company policy). hide-payment-info: false # ── Date and paper format ───────────────────────────────────────────────────── # Date tokens: d=day, dd=day(0-padded), M=month number, MM=month(0-padded), # MMM=short month name, MMMM=full month name, YY=2-digit year, YYYY=4-digit year date-format: "d MMMM YYYY" # paper-format: a4 or letter paper-format: a4 # ── Tax types (user builds tax lines; these are the label options) ───────────── tax-types: - key: vat labels: en: VAT de: MwSt. fr: TVA "no": MVA - key: gst labels: en: GST de: GST fr: TPS "no": GST - key: sales-tax labels: en: Sales Tax de: Umsatzsteuer fr: Taxe de vente "no": Omsetningsavgift - key: withholding labels: en: Withholding Tax de: Quellensteuer fr: "Retenue à la source" "no": Kildeskatt - key: other labels: en: Other Tax de: Sonstige Steuer fr: Autre taxe "no": Annen skatt # ── Units of measure ────────────────────────────────────────────────────────── uom: - code: EA labels: en: Each de: Stück fr: Pièce "no": Stykk - code: HR labels: en: Hour de: Stunde fr: Heure "no": Time - code: DY labels: en: Day de: Tag fr: Jour "no": Dag - code: WK labels: en: Week de: Woche fr: Semaine "no": Uke - code: MO labels: en: Month de: Monat fr: Mois "no": Måned - code: LS labels: en: Lump Sum de: Pauschale fr: Forfait "no": Engangsbeløp # ── Predefined recipients (charge-to) ───────────────────────────────────────── charge-to: - display: Acme Corporation name: Acme Corporation Ltd. address1: 123 Business Avenue address2: Suite 400 address3: New York, NY 10001 address4: "" country: US phone: "+1-212-555-0100" email: accounts@acmecorp.example vat-id: "US-EIN-12-3456789" reg-no: "" currency: USD project-codes: - AC-100 - AC-110 - AC-200 - display: Example NGO name: Example Non-Profit Organisation address1: 45 Charity Lane address2: London EC1A 1BB address3: "" address4: "" country: GB phone: "+44 20 7123 4567" email: finance@examplengo.example vat-id: "GB123456789" reg-no: "01234567" currency: GBP project-codes: - NGO-2026-01 - NGO-2026-02 - NGO-2026-03 # ── Project codes ────────────────────────────────────────────────────────────── project-codes: - Project 100 - Project 110 - Project 230 # ── Predefined products / services ──────────────────────────────────────────── products: - code: CONSULTING description: en: Consulting Services de: Beratungsleistungen fr: Services de conseil "no": Konsulenttjenester uom: HR price: 100.00 - code: TRAINING description: en: Training de: Schulung fr: Formation "no": Opplæring uom: DY price: 800.00 - code: REPORT description: en: Written Report de: Schriftlicher Bericht fr: Rapport écrit "no": Skriftlig rapport uom: EA qty: 1 price: 500.00 - code: REVIEW description: en: Review & Feedback de: Überprüfung & Feedback fr: Révision et retours "no": Gjennomgang og tilbakemelding uom: HR price: 120.00 # ── Foreign currency options ─────────────────────────────────────────────────── currencies: - USD - EUR - GBP - JPY - CHF - CAD - AUD - NOK - SEK - DKK - THB - SGD - HKD - INR - MXN - BRL - ZAR # ── UI label translations ────────────────────────────────────────────────────── translations: language: en: Language de: Sprache fr: Langue "no": Språk invoice: en: INVOICE de: RECHNUNG fr: FACTURE "no": FAKTURA sender-name: en: Issuer de: Issuer fr: Issuer "no": Issuer sender-address1: en: Address Line 1 de: Adresszeile 1 fr: "Ligne d'adresse 1" "no": Adresselinje 1 sender-address2: en: Address Line 2 de: Adresszeile 2 fr: "Ligne d'adresse 2" "no": Adresselinje 2 sender-address3: en: Address Line 3 de: Adresszeile 3 fr: "Ligne d'adresse 3" "no": Adresselinje 3 sender-address4: en: Address Line 4 de: Adresszeile 4 fr: "Ligne d'adresse 4" "no": Adresselinje 4 sender-country: en: Country de: Land fr: Pays "no": Land sender-phone: en: Phone de: Telefon fr: Téléphone "no": Telefon sender-email: en: Email de: E-Mail fr: "E-mail" "no": E-post charge-to: en: "Charge to" de: "In Rechnung an" fr: "Facturer à" "no": "Faktureres til" charge-to-name: en: Organisation / Name de: Organisation / Name fr: Organisation / Nom "no": Organisasjon / Navn charge-to-address1: en: Address Line 1 de: Adresszeile 1 fr: "Ligne d'adresse 1" "no": Adresselinje 1 charge-to-address2: en: Address Line 2 de: Adresszeile 2 fr: "Ligne d'adresse 2" "no": Adresselinje 2 charge-to-address3: en: Address Line 3 de: Adresszeile 3 fr: "Ligne d'adresse 3" "no": Adresselinje 3 charge-to-address4: en: Address Line 4 de: Adresszeile 4 fr: "Ligne d'adresse 4" "no": Adresselinje 4 charge-to-country: en: Country de: Land fr: Pays "no": Land charge-to-phone: en: Phone de: Telefon fr: Téléphone "no": Telefon charge-to-email: en: Email de: E-Mail fr: "E-mail" "no": E-post vat-id: en: VAT / Tax ID de: USt-IdNr. fr: "N° TVA / ID fiscal" "no": MVA-nummer registration-no: en: "Registration no." de: "Handelsreg.-Nr." fr: "N° d'enregistrement" "no": "Organisasjonsnr." invoice-date: en: Invoice date de: Rechnungsdatum fr: Date de facture "no": Fakturadato project-code: en: Project code de: Projektnummer fr: Code projet "no": Prosjektkode invoice-no: en: "Invoice no." de: "Rechnungsnr." fr: "N° de facture" "no": "Fakturanr." qty: en: QTY de: Menge fr: Qté "no": Ant. uom: en: UOM de: Einh. fr: UM "no": Enh. description: en: Description de: Beschreibung fr: Description "no": Beskrivelse price: en: Unit Price de: Einzelpreis fr: Prix unitaire "no": Enhetspris line-total: en: Line Total de: Betrag fr: Total ligne "no": Linjebeløp foreign-currency: en: Foreign currency de: Fremdwährung fr: Devise étrangère "no": Utenlandsk valuta currency-code: en: Foreign currency code de: Fremdwährungscode fr: Code devise étrangère "no": Utenlandsk valutakode exchange-rate: en: Exchange rate de: Wechselkurs fr: Taux de change "no": Valutakurs per-item: en: Price per item in de: Preis je Einheit in fr: Prix par unité en "no": Pris per enhet i total-foreign: en: Line total in de: Zeilenbetrag in fr: Total ligne en "no": Linjebeløp i add-line: en: "+ Add new line" de: "+ Neue Zeile hinzufügen" fr: "+ Ajouter une ligne" "no": "+ Legg til ny linje" subtotal: en: Subtotal de: Zwischensumme fr: Sous-total "no": Delsum tax: en: Tax de: Steuer fr: Taxe "no": Mva paid: en: Paid de: Bezahlt fr: Payé "no": Betalt to-pay: en: To Pay de: Zu zahlen fr: À payer "no": Å betale save: en: Save de: Speichern fr: Enregistrer "no": Lagre validate: en: Validate de: Prüfen fr: Valider "no": Valider val-ok: en: All required fields are filled. de: Alle Pflichtfelder sind ausgefüllt. fr: Tous les champs obligatoires sont remplis. "no": Alle obligatoriske felt er fylt ut. val-invoice-no: en: Invoice number is required de: Rechnungsnummer ist erforderlich fr: Le numéro de facture est requis "no": Fakturanummer er påkrevd val-from-name: en: Sender name is required de: Absendername ist erforderlich fr: Le nom de l'expéditeur est requis "no": Avsendernavn er påkrevd val-charge-to: en: Charge-to is required de: Empfänger ist erforderlich fr: Le destinataire est requis "no": Mottaker er påkrevd val-lines: en: At least one line item is required de: Mindestens eine Zeile ist erforderlich fr: Au moins une ligne est requise "no": Minst én linje er påkrevd generate-invoice: en: Download Invoice de: Rechnung herunterladen fr: Télécharger la facture "no": Last ned faktura other: en: Other de: Andere fr: Autre "no": Annet select: en: "— Select —" de: "— Auswählen —" fr: "— Sélectionner —" "no": "— Velg —" yes: en: "Yes" de: "Ja" fr: "Oui" "no": "Ja" no-option: en: "No" de: "Nein" fr: "Non" "no": "Nei" invoice-currency: en: Invoice currency de: Rechnungswährung fr: Devise de facturation "no": Fakturavaluta add-tax: en: "+ Add new tax" de: "+ Neue Steuer hinzufügen" fr: "+ Ajouter une taxe" "no": "+ Legg til skatt" tax-pct: en: "%" de: "%" fr: "%" "no": "%" tax-amount: en: Amount de: Betrag fr: Montant "no": Beløp converted-from: en: Converted from de: Umgerechnet aus fr: Converti depuis "no": Konvertert fra download-pdf: en: "Download PDF" de: "PDF herunterladen" fr: "Télécharger PDF" "no": "Last ned PDF" close: en: Close de: Schließen fr: Fermer "no": Lukk invoice-lines: en: Invoice Lines de: Rechnungspositionen fr: Lignes de facture "no": Fakturalinjer sender-section: en: From de: Von fr: De "no": Fra invoice-details-section: en: Invoice Details de: Rechnungsdetails fr: Détails de la facture "no": Fakturaopplysninger payment: en: Payment de: Zahlung fr: Paiement "no": Betaling payment-terms: en: Payment terms de: Zahlungsbedingungen fr: Conditions de paiement "no": Betalingsbetingelser payment-days: en: days de: Tage fr: jours "no": dager pay-by: en: Pay by de: Zahlbar bis fr: "À payer avant le" "no": Betal innen account-holder: en: Account holder de: Kontoinhaber fr: Titulaire du compte "no": Kontohaver account-no: en: "Account no. (BBAN/IBAN)" de: "Kontonummer (BBAN/IBAN)" fr: "N° de compte (BBAN/IBAN)" "no": "Kontonr. (BBAN/IBAN)" bank-bic: en: "Bank / BIC (Swift code)" de: "Bank / BIC (Swift)" fr: "Banque / BIC (code Swift)" "no": "Bank / BIC (Swift-kode)" bank-address: en: Bank address de: Bankadresse fr: Adresse de la banque "no": Bankadresse payment-ref: en: Please use reference de: Bitte Referenz angeben fr: "Merci d'indiquer la référence" "no": Vennligst oppgi referanse reset-lines: en: Reset invoice lines de: Positionen zurücksetzen fr: Réinitialiser les lignes "no": Tilbakestill linjer