let $ict = { mdl: 'Rechnungen', iov: { all: 'Rechnungen (alle)', '': 'Rechnungen (nur fertige)', '#d': 'Rechnungen (nur Entwürfe)', '#u': 'Rechnungen (nur unbezahlt)', '#r': 'Rechnungen (nur angemahnt)', '#a': 'Rechnungen (nur Akonto)', '#c': 'Rechnungen (nur Storno)', '#ru': 'Rechnungen (nur angemahnt + unbez.)' }, uba: ', gesamter Zeitraum)', req: 'Auftrag', inv: 'Rechnung', rem: 'Mahnung', in: 'Rechnungsnummer', cc: 'Kunde', wk: 'Woche', nd: 'Keine Daten gefunden.', dl: 'Herunterladen', ed: 'Bearbeiten', ced: 'Bearbeitung fortsetzen', sItm: 'Einzelheiten anzeigen', sPay: 'Zahlungen anzeigen', cdI: 'Entwurf der Rechnung löschen?', rel: 'Neu Laden', relm: 'Bitte laden Sie Liste manuell neu, um die Änderungen zu sehen.', dsp: 'Rechnung anzeigen', storno: 'Storno-Rechnung erstellen', credit: 'Gutschrift erstellen', remd: 'Mahnung erstellen', remdt: 'Mahnung erstellen zur Rechnung {0}', remlst: 'Mahnungen anzeigen', remdsp: 'Mahnung anzeigen', remres: 'Mahnung erneut senden', remresc: 'Mahnung {0} wirklich erneut senden?', remresr: 'Mahnung {0} wurde erfolgreich versandt.', setpyd: 'Bezahlt markieren', cpyd: 'Rechnung wirklich als bezahlt markieren?', setupd: 'Bezahlt-Markierung aufheben', cupd: 'Bezahlt-Markierung wirklich aufheben?', ivE: 'Die Email-Adresse ist vermutlich nicht gültig.', ivEc: '\nMöchten Sie fortfahren?', pna: 'Diese Seite ist in der Vorschau nicht verfügbar', tpe: 'Die Anzahl von {0} Seiten wird aktuell nicht unterstützt', eis: 'Der Rechnungsentwurf konnte nicht gespeichert werden.', iss: 'Zwischenstand speichern.', p13b: 'USt -> §13b', setm: 'Set-Preisanzeige', setmo: { setprice: 'Set mit Preis – Positionen ohne Preis', itemprices: 'Positionen mit Preis – Set als Überschrift', setonly: 'Nur Set mit Preis – Positionen ausgeblendet' }, ctp: 'Ansprechpartner festlegen', mfr: 'Von MFR neu abrufen', rq1: 'Auftragsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.', rq2: 'Auftragsdaten werden geladen', iq1: 'Rechnungsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.', iq2: 'Rechnungsdaten werden geladen', sis: 'Rechnung als versandt markieren', srs: 'Mahnung als versandt markieren', sisc: 'Rechnung wirklich als versandt markieren?', srsc: 'Mahnung wirklich als versandt markieren?', iSt: {dft: 'Entwurf', uns: 'nicht versandt', pyd: 'bezahlt', cc: 'storniert', op: 'offen', due: 'fällig', ovd: 'überfällig', rem: 'angemahnt' }, rSt: ['', 'Überfällig', '2. Mahnung', '3. Stufe'], pSt: { 'a': 'Vollst.', 'p': 'Teilz.' }, ivT: { i: 'AbschlagsR.', f: 'SchlussR', r: 'Rechnung', c: 'StornoR.' }, rovlh: 'Übersicht der bisherigen Mahnungen', rovl: ['Betreff', 'Betrag', 'Betrag gezahlt', 'fertiggestellt am'], remHR: ['Rechnung', 'vom', 'Rechnungsbetrag', 'bereits bezahlt', 'noch offen'], // Reminder intro/closing notice texts are backend-authoritative (see FuchsPdf.BuildReminderNotes / // $inv.rd.notes) — no client-side copies here. translatePaymentTerm: (pt) => (pt || '').replace('wd', ' Werktagen').replace('d', ' Tagen').replace('wk', ' Wochen') || '10 Tagen' , payi: { account: 'Konto', name: 'Zahler', text: 'Verw.Zweck', InvoiceID: 'Rechnung', amount: 'Betrag', date: 'Datum', manual: 'Typ'} }, $invcol = { datev: new fields_definition('Rechnung', 'Rechnungen', [ { name: 'Umsatz (ohne Soll/Haben-Kz)', label: 'Umsatz (ohne Soll/Haben-Kz)', type: 'string' }, /*{ name: 'EINZELPOS_brutto', label: 'EINZELPOS_brutto', type: 'string' }, { name: 'EINZELPOS_netto', label: 'EINZELPOS_netto', type: 'string' },*/ { name: 'vf', label: 'vf', type: 'string' }, { name: 'Soll/Haben-Kennzeichen', label: 'Soll/Haben-Kennzeichen', type: 'string' }, { name: 'Konto', label: 'Konto', type: 'string' }, { name: 'Gegenkonto', label: 'Gegenkonto', type: 'string' }, { name: 'BU-Schlüssel', label: 'BU-Schlüssel', type: 'string' }, { name: 'Belegdatum', label: 'Belegdatum', type: 'string' }, { name: 'Belegfeld 1', label: 'Belegfeld 1', type: 'string' }, { name: 'Belegfeld 2', label: 'Belegfeld 2', type: 'string' }, { name: 'Buchungstext', label: 'Buchungstext', type: 'string' } ]) , inv: new fields_definition('Rechnung', 'Rechnungen', [ { name: 'invstatus', label: 'Status', type: 'select', url: $ict.iSt }, { name: 'balance', label: 'Umsatz', type: 'string', dtype: 'currency' }, { name: 'CustomerName', label: 'Kunde', type: 'string' }, { name: 'InvoiceId', label: 'RNummer', type: 'string' }, { name: 'InvoiceType', label: 'Typ', type: 'select', url: $ict.ivT }, //{ name: 'requestcount', label: 'Anz. Aufträge', type: 'string', dtype: 'num' }, { name: 'request', label: 'Auftrag', type: 'string', dtype: 'num' }, /*{ name: 'EINZELPOS_brutto', label: 'EINZELPOS_brutto', type: 'string', dtype: 'currency' }, { name: 'EINZELPOS_netto', label: 'EINZELPOS_netto', type: 'string', dtype: 'currency' },*/ { name: 'vat', label: 'MwSt', type: 'string', dtype: 'num' }, { name: 'deb_cred', label: 'Soll/Haben', type: 'string' }, { name: 'customer', label: 'Konto', type: 'string', dtype: 'num' }, { name: 'contra_account', label: 'Gegenkonto', type: 'string', dtype: 'num' }, { name: 'Belegdatum', label: 'Belegdatum', type: 'date' }, { name: 'reminderstatus', label: 'MahnStatus', type: 'select', url: $ict.rSt }, { name: 'reminder', label: '# Mahnungen', type: 'integer' }, { name: 'Buchungstext', label: 'Buchungstext', type: 'string' }, { name: 'Payment', label: 'Zahlung', type: 'string' } /*{ name: 'PaymentStatus', label: 'Zahlungsstatus', type: 'select', url: $ict.pSt}*/ ]) , rem: new fields_definition('Zahlungserinnerung', 'Zahlungserinnerung', [ { name: 'amount', label: 'Rechnungsbetrag', type: 'number', precision: '0.01', value: 1 }, { name: 'amount_payed', label: 'bereits bezahlt', type: 'number', precision: '0.01', value: 1 } ]) , rem2: new fields_definition('Zahlungserinnerung', 'Zahlungserinnerung', [ { name: 'DocumentName', label: 'Name', type: 'string' }, { name: 'subject', label: 'Betreff', type: 'string' }, { name: 'DateSent', label: 'Versanddatum', type: 'date' }, { name: 'status', label: 'Status', type: 'string' }, //{ name: 'IsDraft', label: 'Entwurf', type: 'boolean' }, { name: 'amount_open', label: 'offener Betrag', type: 'number', precision: '0.01' }, { name: 'InvoiceId', label: 'RNummer', type: 'string' }, //{ name: 'InvoiceDocumentName', label: 'RechnungName', type: 'string' } ]) , rid: new fields_definition('Zahlungserinnerung', 'Zahlungserinnerung', [ { name: 'type', label: 'Typ', type: 'select', url: [['f', 'einfache Zahlungserinnerung'],[ 'm', 'Mahnung'],[ 'l', 'letzte Mahnung']], required: true}, { name: 'level', label: 'Stufe', type: 'select', url: [['1', 'Stufe 1'], ['2', 'Stufe 2'], ['3', 'Stufe 3'], ['4', 'Stufe 4'], ['5', 'Stufe 5'], ['6', 'Stufe 6']], required: true } ]) , ctp: new fields_definition('Ansprechpartner', 'Ansprechpartner', [ { name: 'name', label: 'Name', type: 'string' }, { name: 'email', label: 'Email', type: 'string' } ]) };