@kreiseck/kasseneck-api 0.30.0 → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +433 -0
- package/README.de.md +11 -7
- package/README.md +486 -126
- package/dist/cjs/client/api.d.ts +7 -6
- package/dist/cjs/client/api.js +2 -2
- package/dist/cjs/client/aufrufe.d.ts +29 -5
- package/dist/cjs/client/aufrufe.js +114 -2
- package/dist/cjs/client/auth.d.ts +2 -0
- package/dist/cjs/client/auth.js +17 -1
- package/dist/cjs/client/cashregisters.d.ts +1 -1
- package/dist/cjs/client/cashregisters.js +2 -2
- package/dist/cjs/client/errors.d.ts +78 -19
- package/dist/cjs/client/errors.js +107 -28
- package/dist/cjs/client/fehlercodes.d.ts +9 -0
- package/dist/cjs/client/fehlercodes.js +36 -0
- package/dist/cjs/client/index.d.ts +5 -5
- package/dist/cjs/client/index.js +11 -3
- package/dist/cjs/client/receipts.d.ts +131 -124
- package/dist/cjs/client/receipts.js +214 -137
- package/dist/cjs/client/reports.d.ts +26 -4
- package/dist/cjs/client/reports.js +37 -4
- package/dist/cjs/client/status.d.ts +3 -3
- package/dist/cjs/client/status.js +7 -7
- package/dist/cjs/client/transport.d.ts +56 -4
- package/dist/cjs/client/transport.js +222 -25
- package/dist/cjs/enums/vat-rate.d.ts +2 -2
- package/dist/cjs/enums/vat-rate.js +1 -1
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.js +42 -13
- package/dist/{esm/rechnung → cjs/invoice}/api.d.ts +18 -17
- package/dist/cjs/{rechnung → invoice}/api.js +6 -6
- package/dist/{esm/rechnung → cjs/invoice}/auth.d.ts +2 -2
- package/dist/cjs/{rechnung → invoice}/auth.js +5 -5
- package/dist/{esm/rechnung/rechnen.d.ts → cjs/invoice/calc.d.ts} +27 -27
- package/dist/cjs/{rechnung/rechnen.js → invoice/calc.js} +54 -54
- package/dist/{esm/rechnung → cjs/invoice}/endpunkte.d.ts +23 -21
- package/dist/cjs/{rechnung → invoice}/endpunkte.js +52 -42
- package/dist/cjs/invoice/fehler.d.ts +31 -0
- package/dist/cjs/invoice/fehler.js +39 -0
- package/dist/cjs/invoice/index.d.ts +21 -0
- package/dist/cjs/invoice/index.js +86 -0
- package/dist/cjs/{rechnung → invoice}/summen.d.ts +12 -12
- package/dist/cjs/{rechnung → invoice}/summen.js +14 -14
- package/dist/cjs/invoice/texte.d.ts +224 -0
- package/dist/cjs/invoice/texte.js +425 -0
- package/dist/{esm/rechnung → cjs/invoice}/typen.d.ts +32 -11
- package/dist/{esm/rechnung → cjs/invoice}/vertrag.d.ts +97 -71
- package/dist/cjs/{rechnung → invoice}/vertrag.js +144 -82
- package/dist/cjs/models/cancellation.d.ts +53 -21
- package/dist/cjs/models/cancellation.js +94 -42
- package/dist/cjs/models/hobex-receipt.d.ts +3 -3
- package/dist/cjs/models/hobex-receipt.js +35 -35
- package/dist/cjs/models/index.d.ts +6 -5
- package/dist/cjs/models/index.js +22 -2
- package/dist/cjs/models/payment-errors.d.ts +32 -15
- package/dist/cjs/models/payment-errors.js +80 -32
- package/dist/cjs/models/receipt-company.d.ts +6 -5
- package/dist/cjs/models/receipt-company.js +4 -4
- package/dist/cjs/models/receipt-email.d.ts +32 -18
- package/dist/cjs/models/receipt-email.js +69 -24
- package/dist/cjs/models/receipt-errors.d.ts +39 -0
- package/dist/cjs/models/receipt-errors.js +94 -0
- package/dist/cjs/models/receipt-item.d.ts +9 -1
- package/dist/cjs/models/receipt-item.js +3 -0
- package/dist/cjs/models/receipt-payment.d.ts +2 -1
- package/dist/cjs/models/receipt-summary.d.ts +10 -4
- package/dist/cjs/models/receipt-summary.js +10 -4
- package/dist/cjs/models/receipt.d.ts +31 -2
- package/dist/cjs/models/receipt.js +28 -1
- package/dist/cjs/models/voucher.d.ts +7 -6
- package/dist/cjs/models/voucher.js +2 -7
- package/dist/cjs/partner/ablauf.d.ts +10 -10
- package/dist/cjs/partner/ablauf.js +29 -29
- package/dist/cjs/partner/api.d.ts +26 -23
- package/dist/cjs/partner/api.js +11 -13
- package/dist/cjs/partner/auth.d.ts +1 -1
- package/dist/cjs/partner/auth.js +2 -2
- package/dist/cjs/partner/betrieb.d.ts +7 -7
- package/dist/cjs/partner/betrieb.js +10 -10
- package/dist/cjs/partner/endpunkte.d.ts +27 -14
- package/dist/cjs/partner/endpunkte.js +80 -39
- package/dist/cjs/partner/fehler.d.ts +60 -30
- package/dist/cjs/partner/fehler.js +99 -43
- package/dist/cjs/partner/index.d.ts +13 -12
- package/dist/cjs/partner/index.js +35 -22
- package/dist/cjs/partner/secret.d.ts +3 -3
- package/dist/cjs/partner/secret.js +6 -6
- package/dist/cjs/partner/typen.d.ts +129 -71
- package/dist/cjs/partner/typen.js +76 -3
- package/dist/cjs/partner/webhook-signatur.d.ts +2 -2
- package/dist/cjs/partner/webhook-signatur.js +12 -12
- package/dist/cjs/partner/webhooks.d.ts +60 -32
- package/dist/cjs/partner/webhooks.js +40 -34
- package/dist/cjs/payments/hobex-hps/transaction-response.js +28 -28
- package/dist/cjs/payments/hobex.d.ts +2 -2
- package/dist/cjs/payments/hobex.js +4 -4
- package/dist/cjs/payments/stripe.d.ts +2 -2
- package/dist/cjs/payments/stripe.js +4 -4
- package/dist/cjs/pos/artikel.d.ts +90 -0
- package/dist/cjs/pos/artikel.js +89 -0
- package/dist/cjs/pos/client.d.ts +27 -0
- package/dist/cjs/pos/client.js +144 -0
- package/dist/cjs/pos/drucker.d.ts +86 -0
- package/dist/cjs/pos/drucker.js +78 -0
- package/dist/cjs/pos/errors.d.ts +36 -0
- package/dist/cjs/pos/errors.js +95 -0
- package/dist/cjs/pos/index.d.ts +15 -0
- package/dist/cjs/pos/index.js +102 -0
- package/dist/cjs/pos/settings.d.ts +313 -0
- package/dist/cjs/pos/settings.js +376 -0
- package/dist/cjs/pos/texte.d.ts +883 -0
- package/dist/cjs/pos/texte.js +489 -0
- package/dist/cjs/{kasse → pos}/trinkgeld.d.ts +1 -1
- package/dist/cjs/{kasse → pos}/trinkgeld.js +2 -2
- package/dist/cjs/printing/escpos.d.ts +29 -29
- package/dist/cjs/printing/escpos.js +61 -61
- package/dist/cjs/printing/index.d.ts +2 -2
- package/dist/cjs/printing/index.js +17 -17
- package/dist/cjs/printing/qr-groesse.d.ts +38 -38
- package/dist/cjs/printing/qr-groesse.js +47 -47
- package/dist/cjs/printing/webusb.d.ts +2 -2
- package/dist/cjs/printing/webusb.js +4 -4
- package/dist/cjs/react/index.d.ts +21 -21
- package/dist/cjs/react/index.js +40 -30
- package/dist/cjs/receipt/bild.d.ts +4 -4
- package/dist/cjs/receipt/bild.js +11 -11
- package/dist/cjs/receipt/blatt.d.ts +46 -46
- package/dist/cjs/receipt/blatt.js +59 -59
- package/dist/cjs/receipt/discount.d.ts +1 -1
- package/dist/cjs/receipt/discount.js +8 -8
- package/dist/cjs/receipt/due.d.ts +86 -0
- package/dist/cjs/receipt/due.js +261 -0
- package/dist/cjs/receipt/epos.d.ts +22 -22
- package/dist/cjs/receipt/epos.js +45 -45
- package/dist/cjs/receipt/grid.d.ts +10 -10
- package/dist/cjs/receipt/grid.js +20 -20
- package/dist/cjs/receipt/index.d.ts +9 -8
- package/dist/cjs/receipt/index.js +26 -23
- package/dist/cjs/receipt/layout-escpos.d.ts +24 -24
- package/dist/cjs/receipt/layout-escpos.js +49 -49
- package/dist/cjs/receipt/layout.d.ts +28 -23
- package/dist/cjs/receipt/layout.js +45 -21
- package/dist/cjs/receipt/marke-daten.d.ts +8 -8
- package/dist/cjs/receipt/marke-daten.js +8 -8
- package/dist/cjs/receipt/marke.d.ts +7 -7
- package/dist/cjs/receipt/marke.js +10 -10
- package/dist/cjs/register/errors.d.ts +61 -0
- package/dist/cjs/register/errors.js +112 -0
- package/dist/cjs/register/index.d.ts +14 -1
- package/dist/cjs/register/index.js +20 -1
- package/dist/cjs/register/pairing.d.ts +55 -36
- package/dist/cjs/register/pairing.js +33 -29
- package/dist/cjs/register/session.d.ts +5 -5
- package/dist/cjs/register/session.js +7 -7
- package/dist/cjs/stored/draht.d.ts +45 -0
- package/dist/cjs/stored/draht.js +220 -0
- package/dist/cjs/stored/einstellungen.d.ts +23 -0
- package/dist/cjs/stored/einstellungen.js +200 -0
- package/dist/cjs/stored/index.d.ts +109 -0
- package/dist/cjs/stored/index.js +225 -0
- package/dist/cjs/stored/vokabular.d.ts +18 -0
- package/dist/cjs/stored/vokabular.js +389 -0
- package/dist/cjs/version.d.ts +7 -0
- package/dist/cjs/version.js +10 -0
- package/dist/cjs/vienna-time.d.ts +1 -1
- package/dist/cjs/vienna-time.js +2 -2
- package/dist/esm/client/api.d.ts +7 -6
- package/dist/esm/client/api.js +4 -4
- package/dist/esm/client/aufrufe.d.ts +29 -5
- package/dist/esm/client/aufrufe.js +111 -1
- package/dist/esm/client/auth.d.ts +2 -0
- package/dist/esm/client/auth.js +16 -1
- package/dist/esm/client/cashregisters.d.ts +1 -1
- package/dist/esm/client/cashregisters.js +2 -2
- package/dist/esm/client/errors.d.ts +78 -19
- package/dist/esm/client/errors.js +105 -27
- package/dist/esm/client/fehlercodes.d.ts +9 -0
- package/dist/esm/client/fehlercodes.js +32 -0
- package/dist/esm/client/index.d.ts +5 -5
- package/dist/esm/client/index.js +5 -5
- package/dist/esm/client/receipts.d.ts +131 -124
- package/dist/esm/client/receipts.js +213 -140
- package/dist/esm/client/reports.d.ts +26 -4
- package/dist/esm/client/reports.js +36 -4
- package/dist/esm/client/status.d.ts +3 -3
- package/dist/esm/client/status.js +7 -7
- package/dist/esm/client/transport.d.ts +56 -4
- package/dist/esm/client/transport.js +221 -24
- package/dist/esm/enums/vat-rate.d.ts +2 -2
- package/dist/esm/enums/vat-rate.js +1 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +4 -3
- package/dist/{cjs/rechnung → esm/invoice}/api.d.ts +18 -17
- package/dist/esm/{rechnung → invoice}/api.js +6 -6
- package/dist/{cjs/rechnung → esm/invoice}/auth.d.ts +2 -2
- package/dist/esm/{rechnung → invoice}/auth.js +4 -4
- package/dist/{cjs/rechnung/rechnen.d.ts → esm/invoice/calc.d.ts} +27 -27
- package/dist/esm/{rechnung/rechnen.js → invoice/calc.js} +45 -45
- package/dist/{cjs/rechnung → esm/invoice}/endpunkte.d.ts +23 -21
- package/dist/esm/{rechnung → invoice}/endpunkte.js +52 -42
- package/dist/esm/invoice/fehler.d.ts +31 -0
- package/dist/esm/invoice/fehler.js +33 -0
- package/dist/esm/invoice/index.d.ts +21 -0
- package/dist/esm/invoice/index.js +20 -0
- package/dist/esm/{rechnung → invoice}/summen.d.ts +12 -12
- package/dist/esm/{rechnung → invoice}/summen.js +12 -12
- package/dist/esm/invoice/texte.d.ts +224 -0
- package/dist/esm/invoice/texte.js +421 -0
- package/dist/{cjs/rechnung → esm/invoice}/typen.d.ts +32 -11
- package/dist/{cjs/rechnung → esm/invoice}/vertrag.d.ts +97 -71
- package/dist/esm/{rechnung → invoice}/vertrag.js +143 -81
- package/dist/esm/models/cancellation.d.ts +53 -21
- package/dist/esm/models/cancellation.js +90 -41
- package/dist/esm/models/hobex-receipt.d.ts +3 -3
- package/dist/esm/models/hobex-receipt.js +35 -35
- package/dist/esm/models/index.d.ts +6 -5
- package/dist/esm/models/index.js +6 -5
- package/dist/esm/models/payment-errors.d.ts +32 -15
- package/dist/esm/models/payment-errors.js +77 -32
- package/dist/esm/models/receipt-company.d.ts +6 -5
- package/dist/esm/models/receipt-company.js +4 -4
- package/dist/esm/models/receipt-email.d.ts +32 -18
- package/dist/esm/models/receipt-email.js +65 -23
- package/dist/esm/models/receipt-errors.d.ts +39 -0
- package/dist/esm/models/receipt-errors.js +87 -0
- package/dist/esm/models/receipt-item.d.ts +9 -1
- package/dist/esm/models/receipt-item.js +3 -0
- package/dist/esm/models/receipt-payment.d.ts +2 -1
- package/dist/esm/models/receipt-summary.d.ts +10 -4
- package/dist/esm/models/receipt-summary.js +9 -3
- package/dist/esm/models/receipt.d.ts +31 -2
- package/dist/esm/models/receipt.js +28 -2
- package/dist/esm/models/voucher.d.ts +7 -6
- package/dist/esm/models/voucher.js +2 -7
- package/dist/esm/partner/ablauf.d.ts +10 -10
- package/dist/esm/partner/ablauf.js +27 -27
- package/dist/esm/partner/api.d.ts +26 -23
- package/dist/esm/partner/api.js +13 -15
- package/dist/esm/partner/auth.d.ts +1 -1
- package/dist/esm/partner/auth.js +2 -2
- package/dist/esm/partner/betrieb.d.ts +7 -7
- package/dist/esm/partner/betrieb.js +8 -8
- package/dist/esm/partner/endpunkte.d.ts +27 -14
- package/dist/esm/partner/endpunkte.js +79 -39
- package/dist/esm/partner/fehler.d.ts +60 -30
- package/dist/esm/partner/fehler.js +91 -35
- package/dist/esm/partner/index.d.ts +13 -12
- package/dist/esm/partner/index.js +12 -11
- package/dist/esm/partner/secret.d.ts +3 -3
- package/dist/esm/partner/secret.js +5 -5
- package/dist/esm/partner/typen.d.ts +129 -71
- package/dist/esm/partner/typen.js +75 -2
- package/dist/esm/partner/webhook-signatur.d.ts +2 -2
- package/dist/esm/partner/webhook-signatur.js +12 -12
- package/dist/esm/partner/webhooks.d.ts +60 -32
- package/dist/esm/partner/webhooks.js +38 -32
- package/dist/esm/payments/hobex-hps/transaction-response.js +28 -28
- package/dist/esm/payments/hobex.d.ts +2 -2
- package/dist/esm/payments/hobex.js +4 -4
- package/dist/esm/payments/stripe.d.ts +2 -2
- package/dist/esm/payments/stripe.js +4 -4
- package/dist/esm/pos/artikel.d.ts +90 -0
- package/dist/esm/pos/artikel.js +79 -0
- package/dist/esm/pos/client.d.ts +27 -0
- package/dist/esm/pos/client.js +137 -0
- package/dist/esm/pos/drucker.d.ts +86 -0
- package/dist/esm/pos/drucker.js +71 -0
- package/dist/esm/pos/errors.d.ts +36 -0
- package/dist/esm/pos/errors.js +88 -0
- package/dist/esm/pos/index.d.ts +15 -0
- package/dist/esm/pos/index.js +20 -0
- package/dist/esm/pos/settings.d.ts +313 -0
- package/dist/esm/pos/settings.js +367 -0
- package/dist/esm/pos/texte.d.ts +883 -0
- package/dist/esm/pos/texte.js +481 -0
- package/dist/esm/{kasse → pos}/trinkgeld.d.ts +1 -1
- package/dist/esm/{kasse → pos}/trinkgeld.js +2 -2
- package/dist/esm/printing/escpos.d.ts +29 -29
- package/dist/esm/printing/escpos.js +56 -56
- package/dist/esm/printing/index.d.ts +2 -2
- package/dist/esm/printing/index.js +2 -2
- package/dist/esm/printing/qr-groesse.d.ts +38 -38
- package/dist/esm/printing/qr-groesse.js +42 -42
- package/dist/esm/printing/webusb.d.ts +2 -2
- package/dist/esm/printing/webusb.js +4 -4
- package/dist/esm/react/index.d.ts +21 -21
- package/dist/esm/react/index.js +39 -29
- package/dist/esm/receipt/bild.d.ts +4 -4
- package/dist/esm/receipt/bild.js +11 -11
- package/dist/esm/receipt/blatt.d.ts +46 -46
- package/dist/esm/receipt/blatt.js +55 -55
- package/dist/esm/receipt/discount.d.ts +1 -1
- package/dist/esm/receipt/discount.js +7 -7
- package/dist/esm/receipt/due.d.ts +86 -0
- package/dist/esm/receipt/due.js +257 -0
- package/dist/esm/receipt/epos.d.ts +22 -22
- package/dist/esm/receipt/epos.js +47 -47
- package/dist/esm/receipt/grid.d.ts +10 -10
- package/dist/esm/receipt/grid.js +18 -18
- package/dist/esm/receipt/index.d.ts +9 -8
- package/dist/esm/receipt/index.js +9 -8
- package/dist/esm/receipt/layout-escpos.d.ts +24 -24
- package/dist/esm/receipt/layout-escpos.js +51 -51
- package/dist/esm/receipt/layout.d.ts +28 -23
- package/dist/esm/receipt/layout.js +44 -20
- package/dist/esm/receipt/marke-daten.d.ts +8 -8
- package/dist/esm/receipt/marke-daten.js +7 -7
- package/dist/esm/receipt/marke.d.ts +7 -7
- package/dist/esm/receipt/marke.js +10 -10
- package/dist/esm/register/errors.d.ts +61 -0
- package/dist/esm/register/errors.js +104 -0
- package/dist/esm/register/index.d.ts +14 -1
- package/dist/esm/register/index.js +13 -0
- package/dist/esm/register/pairing.d.ts +55 -36
- package/dist/esm/register/pairing.js +33 -29
- package/dist/esm/register/session.d.ts +5 -5
- package/dist/esm/register/session.js +7 -7
- package/dist/esm/stored/draht.d.ts +45 -0
- package/dist/esm/stored/draht.js +208 -0
- package/dist/esm/stored/einstellungen.d.ts +23 -0
- package/dist/esm/stored/einstellungen.js +196 -0
- package/dist/esm/stored/index.d.ts +109 -0
- package/dist/esm/stored/index.js +217 -0
- package/dist/esm/stored/vokabular.d.ts +18 -0
- package/dist/esm/stored/vokabular.js +386 -0
- package/dist/esm/version.d.ts +7 -0
- package/dist/esm/version.js +7 -0
- package/dist/esm/vienna-time.d.ts +1 -1
- package/dist/esm/vienna-time.js +2 -2
- package/fixtures/{erwartet/storno-rabatt.lines.json → expected/cancellation-discount.lines.json} +2 -2
- package/fixtures/expected/cancellation-discount.sheet32.json +248 -0
- package/fixtures/{erwartet/storno-rabatt.blatt48.json → expected/cancellation-discount.sheet48.json} +119 -119
- package/fixtures/{erwartet/storno-voll.lines.json → expected/cancellation-full.lines.json} +2 -2
- package/fixtures/expected/cancellation-full.sheet32.json +218 -0
- package/fixtures/{erwartet/storno-voll.blatt48.json → expected/cancellation-full.sheet48.json} +107 -107
- package/fixtures/{erwartet/storno-teil.lines.json → expected/cancellation-partial.lines.json} +2 -2
- package/fixtures/expected/cancellation-partial.sheet32.json +206 -0
- package/fixtures/{erwartet/storno-teil.blatt48.json → expected/cancellation-partial.sheet48.json} +101 -101
- package/fixtures/{erwartet/storno-split-voll.lines.json → expected/cancellation-split-full.lines.json} +2 -2
- package/fixtures/expected/cancellation-split-full.sheet32.json +320 -0
- package/fixtures/{erwartet/storno-split-voll.blatt48.json → expected/cancellation-split-full.sheet48.json} +158 -158
- package/fixtures/{erwartet/storno-split-teil.lines.json → expected/cancellation-split-partial.lines.json} +2 -2
- package/fixtures/expected/cancellation-split-partial.sheet32.json +230 -0
- package/fixtures/{erwartet/storno-split-teil.blatt48.json → expected/cancellation-split-partial.sheet48.json} +113 -113
- package/fixtures/{erwartet/karte-eigener.lines.json → expected/card-custom.lines.json} +1 -1
- package/fixtures/expected/card-custom.sheet32.json +158 -0
- package/fixtures/{erwartet/karte-eigener.blatt48.json → expected/card-custom.sheet48.json} +80 -80
- package/fixtures/{erwartet/karte-gptom-ios.lines.json → expected/card-gptom-ios.lines.json} +1 -1
- package/fixtures/expected/card-gptom-ios.sheet32.json +230 -0
- package/fixtures/{erwartet/karte-gptom-ios.blatt48.json → expected/card-gptom-ios.sheet48.json} +116 -116
- package/fixtures/{erwartet/karte-gptom.lines.json → expected/card-gptom.lines.json} +1 -1
- package/fixtures/expected/card-gptom.sheet32.json +230 -0
- package/fixtures/{erwartet/karte-gptom.blatt48.json → expected/card-gptom.sheet48.json} +116 -116
- package/fixtures/{erwartet/karte-hobex-cloud.lines.json → expected/card-hobex-cloud.lines.json} +1 -1
- package/fixtures/expected/card-hobex-cloud.sheet32.json +200 -0
- package/fixtures/{erwartet/karte-hobex-cloud.blatt48.json → expected/card-hobex-cloud.sheet48.json} +101 -101
- package/fixtures/{erwartet/karte-hobex-hps.lines.json → expected/card-hobex-hps.lines.json} +1 -1
- package/fixtures/expected/card-hobex-hps.sheet32.json +224 -0
- package/fixtures/{erwartet/karte-hobex-hps.blatt48.json → expected/card-hobex-hps.sheet48.json} +113 -113
- package/fixtures/{erwartet/karte-mypos.lines.json → expected/card-mypos.lines.json} +1 -1
- package/fixtures/expected/card-mypos.sheet32.json +254 -0
- package/fixtures/{erwartet/karte-mypos.blatt48.json → expected/card-mypos.sheet48.json} +122 -122
- package/fixtures/{erwartet/karte-stripe-eps.lines.json → expected/card-stripe-eps.lines.json} +1 -1
- package/fixtures/expected/card-stripe-eps.sheet32.json +194 -0
- package/fixtures/{erwartet/karte-stripe-eps.blatt48.json → expected/card-stripe-eps.sheet48.json} +98 -98
- package/fixtures/{erwartet/karte-stripe.lines.json → expected/card-stripe.lines.json} +1 -1
- package/fixtures/expected/card-stripe.sheet32.json +212 -0
- package/fixtures/{erwartet/karte-stripe.blatt48.json → expected/card-stripe.sheet48.json} +107 -107
- package/fixtures/{erwartet/karte-sumup.lines.json → expected/card-sumup.lines.json} +1 -1
- package/fixtures/expected/card-sumup.sheet32.json +218 -0
- package/fixtures/{erwartet/karte-sumup.blatt48.json → expected/card-sumup.sheet48.json} +104 -104
- package/fixtures/{erwartet/rabattzeilen.lines.json → expected/discount-lines.lines.json} +1 -1
- package/fixtures/expected/discount-lines.sheet32.json +200 -0
- package/fixtures/{erwartet/rabattzeilen.blatt48.json → expected/discount-lines.sheet48.json} +98 -98
- package/fixtures/{erwartet/rabatt-chef-trinkgeld.lines.json → expected/discount-owner-tip.lines.json} +1 -1
- package/fixtures/expected/discount-owner-tip.sheet32.json +212 -0
- package/fixtures/{erwartet/rabatt-chef-trinkgeld.blatt48.json → expected/discount-owner-tip.sheet48.json} +104 -104
- package/fixtures/{erwartet/rabatt-einfach.lines.json → expected/discount-simple.lines.json} +1 -1
- package/fixtures/expected/discount-simple.sheet32.json +182 -0
- package/fixtures/{erwartet/rabatt-einfach.blatt48.json → expected/discount-simple.sheet48.json} +89 -89
- package/fixtures/{erwartet/rabatt-trinkgeld.lines.json → expected/discount-tip.lines.json} +1 -1
- package/fixtures/expected/discount-tip.sheet32.json +212 -0
- package/fixtures/{erwartet/rabatt-trinkgeld.blatt48.json → expected/discount-tip.sheet48.json} +104 -104
- package/fixtures/{erwartet/rabatt-wertgutschein.lines.json → expected/discount-value-voucher.lines.json} +1 -1
- package/fixtures/expected/discount-value-voucher.sheet32.json +218 -0
- package/fixtures/{erwartet/rabatt-wertgutschein.blatt48.json → expected/discount-value-voucher.sheet48.json} +107 -107
- package/fixtures/{erwartet/langer-artikelname.lines.json → expected/long-item-name.lines.json} +1 -1
- package/fixtures/expected/long-item-name.sheet32.json +176 -0
- package/fixtures/{erwartet/langer-artikelname.blatt48.json → expected/long-item-name.sheet48.json} +86 -86
- package/fixtures/{erwartet/verkauf-karte.lines.json → expected/sale-card.lines.json} +1 -1
- package/fixtures/expected/sale-card.sheet32.json +176 -0
- package/fixtures/{erwartet/verkauf-karte.blatt48.json → expected/sale-card.sheet48.json} +86 -86
- package/fixtures/{erwartet/verkauf-bar.lines.json → expected/sale-cash.lines.json} +1 -1
- package/fixtures/expected/sale-cash.sheet32.json +176 -0
- package/fixtures/{erwartet/verkauf-bar.blatt48.json → expected/sale-cash.sheet48.json} +86 -86
- package/fixtures/{erwartet/verkauf-kleinunternehmer.lines.json → expected/sale-small-business.lines.json} +1 -1
- package/fixtures/expected/sale-small-business.sheet32.json +182 -0
- package/fixtures/{erwartet/verkauf-kleinunternehmer.blatt48.json → expected/sale-small-business.sheet48.json} +89 -89
- package/fixtures/{erwartet/signaturausfall-verkauf.lines.json → expected/signature-outage-sale.lines.json} +1 -1
- package/fixtures/expected/signature-outage-sale.sheet32.json +194 -0
- package/fixtures/{erwartet/signaturausfall-verkauf.blatt48.json → expected/signature-outage-sale.sheet48.json} +92 -92
- package/fixtures/{erwartet/split-karte-karte-bar.lines.json → expected/split-card-card-cash.lines.json} +1 -1
- package/fixtures/expected/split-card-card-cash.sheet32.json +356 -0
- package/fixtures/{erwartet/split-karte-karte-bar.blatt48.json → expected/split-card-card-cash.sheet48.json} +170 -170
- package/fixtures/{erwartet/split-bar-rueckgeld.lines.json → expected/split-cash-change.lines.json} +1 -1
- package/fixtures/expected/split-cash-change.sheet32.json +194 -0
- package/fixtures/{erwartet/split-bar-rueckgeld.blatt48.json → expected/split-cash-change.sheet48.json} +92 -92
- package/fixtures/{erwartet/split-langer-betrag.lines.json → expected/split-long-amount.lines.json} +1 -1
- package/fixtures/expected/split-long-amount.sheet32.json +266 -0
- package/fixtures/{erwartet/split-langer-betrag.blatt48.json → expected/split-long-amount.sheet48.json} +131 -131
- package/fixtures/{erwartet/split-eine-karte-trinkgeld.lines.json → expected/split-one-card-tip.lines.json} +1 -1
- package/fixtures/expected/split-one-card-tip.sheet32.json +242 -0
- package/fixtures/{erwartet/split-eine-karte-trinkgeld.blatt48.json → expected/split-one-card-tip.sheet48.json} +113 -113
- package/fixtures/{erwartet/split-tischrunde-trinkgeld.lines.json → expected/split-table-round-tip.lines.json} +1 -1
- package/fixtures/expected/split-table-round-tip.sheet32.json +470 -0
- package/fixtures/{erwartet/split-tischrunde-trinkgeld.blatt48.json → expected/split-table-round-tip.sheet48.json} +218 -218
- package/fixtures/{erwartet/split-trinkgeld-karte.lines.json → expected/split-tip-card.lines.json} +1 -1
- package/fixtures/expected/split-tip-card.sheet32.json +272 -0
- package/fixtures/{erwartet/split-trinkgeld-karte.blatt48.json → expected/split-tip-card.sheet48.json} +128 -128
- package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.lines.json → expected/split-two-cards-same-provider.lines.json} +1 -1
- package/fixtures/expected/split-two-cards-same-provider.sheet32.json +326 -0
- package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.blatt48.json → expected/split-two-cards-same-provider.sheet48.json} +149 -149
- package/fixtures/{erwartet/testkasse-verkauf.lines.json → expected/test-cashregister-sale.lines.json} +3 -3
- package/fixtures/expected/test-cashregister-sale.sheet32.json +224 -0
- package/fixtures/{erwartet/testkasse-verkauf.blatt48.json → expected/test-cashregister-sale.sheet48.json} +110 -110
- package/fixtures/{erwartet/testsignatur-verkauf.lines.json → expected/test-signature-sale.lines.json} +3 -3
- package/fixtures/expected/test-signature-sale.sheet32.json +236 -0
- package/fixtures/{erwartet/testsignatur-verkauf.blatt48.json → expected/test-signature-sale.sheet48.json} +110 -110
- package/fixtures/{erwartet → expected}/training.lines.json +2 -2
- package/fixtures/expected/training.sheet32.json +236 -0
- package/fixtures/{erwartet/training.blatt48.json → expected/training.sheet48.json} +110 -110
- package/fixtures/{erwartet/null-jahr.lines.json → expected/zero-annual.lines.json} +2 -2
- package/fixtures/expected/zero-annual.sheet32.json +212 -0
- package/fixtures/{erwartet/null-jahr.blatt48.json → expected/zero-annual.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-schluss.lines.json → expected/zero-final.lines.json} +2 -2
- package/fixtures/expected/zero-final.sheet32.json +206 -0
- package/fixtures/{erwartet/null-schluss.blatt48.json → expected/zero-final.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-pruef.lines.json → expected/zero-manual.lines.json} +2 -2
- package/fixtures/expected/zero-manual.sheet32.json +206 -0
- package/fixtures/{erwartet/null-pruef.blatt48.json → expected/zero-manual.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-monat.lines.json → expected/zero-monthly.lines.json} +2 -2
- package/fixtures/expected/zero-monthly.sheet32.json +206 -0
- package/fixtures/{erwartet/null-monat.blatt48.json → expected/zero-monthly.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-ausfall.lines.json → expected/zero-outage-end.lines.json} +2 -2
- package/fixtures/expected/zero-outage-end.sheet32.json +206 -0
- package/fixtures/{erwartet/null-ausfall.blatt48.json → expected/zero-outage-end.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-start.lines.json → expected/zero-start.lines.json} +2 -2
- package/fixtures/expected/zero-start.sheet32.json +206 -0
- package/fixtures/{erwartet/null-start.blatt48.json → expected/zero-start.sheet48.json} +95 -95
- package/fixtures/hobex-hps-codes.json +40 -40
- package/fixtures/invoice-api-examples/brands-ok.json +8 -0
- package/fixtures/{rechnung-api-beispiele/credit-fehler-grund.json → invoice-api-examples/credit-error-reason.json} +6 -6
- package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/credit-ok.json +6 -6
- package/fixtures/{rechnung-api-beispiele/customer-fehler-uid.json → invoice-api-examples/customer-error-vat-id.json} +4 -4
- package/fixtures/invoice-api-examples/customer-get-error-both.json +15 -0
- package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/customer-ok.json +4 -4
- package/fixtures/{rechnung-api-beispiele/customer-search-fehler-leer.json → invoice-api-examples/customer-search-error-empty.json} +4 -4
- package/fixtures/{rechnung-api-beispiele/issue-rabatt.json → invoice-api-examples/issue-discount.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-englisch.json → invoice-api-examples/issue-english.json} +7 -7
- package/fixtures/{rechnung-api-beispiele/issue-fehler-cent.json → invoice-api-examples/issue-error-cent.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-sprache.json → invoice-api-examples/issue-error-language.json} +5 -5
- package/fixtures/{rechnung-api-beispiele/issue-fehler-negativ.json → invoice-api-examples/issue-error-negative.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-zahlungsart.json → invoice-api-examples/issue-error-payment-method.json} +8 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-beide.json → invoice-api-examples/issue-error-price-both.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-fehlt.json → invoice-api-examples/issue-error-price-missing.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-menge.json → invoice-api-examples/issue-error-quantity.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-satz.json → invoice-api-examples/issue-error-rate.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-einheit.json → invoice-api-examples/issue-error-unit.json} +5 -5
- package/fixtures/{rechnung-api-beispiele/issue-fehler-unbekannt.json → invoice-api-examples/issue-error-unknown.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-brutto-20.json → invoice-api-examples/issue-gross-20.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-mikropreis.json → invoice-api-examples/issue-micro-price.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-gemischt.json → invoice-api-examples/issue-mixed.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-netto-20.json → invoice-api-examples/issue-net-20.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-bezahlt.json → invoice-api-examples/issue-paid.json} +7 -7
- package/fixtures/{rechnung-api-beispiele/issue-kleinunternehmer.json → invoice-api-examples/issue-small-business.json} +6 -6
- package/fixtures/invoice-api-examples/payment-error-on-site.json +17 -0
- package/fixtures/invoice-api-examples/payment-error-without-key.json +16 -0
- package/fixtures/invoice-api-examples/payment-recorded-later.json +14 -0
- package/fixtures/{rechnung-api-beispiele/setup-status-fehler-feld.json → invoice-api-examples/setup-status-error-field.json} +4 -4
- package/fixtures/invoice-api-examples/setup-status-ok.json +8 -0
- package/fixtures/{rechnung-api.schema.json → invoice-api.schema.json} +24 -24
- package/fixtures/{rechnung-rechnen-zufall.json → invoice-calc-random.json} +828 -828
- package/fixtures/{rechnung-rechnen.json → invoice-calc.json} +47 -47
- package/fixtures/invoice-texts.json +464 -0
- package/fixtures/{rechnung-summen.json → invoice-totals.json} +25 -25
- package/fixtures/{position-aus-euro.json → item-from-euro.json} +26 -26
- package/fixtures/manifest.json +252 -252
- package/fixtures/pos-message-cases.json +32 -0
- package/fixtures/pos-settings-defaults.json +149 -0
- package/fixtures/pos-texts.json +957 -0
- package/fixtures/receipt-due-generated.json +1218 -0
- package/fixtures/{belege/storno-rabatt.json → receipts/cancellation-discount.json} +3 -3
- package/fixtures/{belege/storno-voll.json → receipts/cancellation-full.json} +3 -3
- package/fixtures/{belege/storno-teil.json → receipts/cancellation-partial.json} +3 -3
- package/fixtures/{belege/storno-split-voll.json → receipts/cancellation-split-full.json} +3 -3
- package/fixtures/{belege/storno-split-teil.json → receipts/cancellation-split-partial.json} +3 -3
- package/fixtures/{belege/karte-eigener.json → receipts/card-custom.json} +2 -2
- package/fixtures/{belege/karte-gptom-ios.json → receipts/card-gptom-ios.json} +2 -2
- package/fixtures/{belege/karte-gptom.json → receipts/card-gptom.json} +2 -2
- package/fixtures/{belege/karte-hobex-cloud.json → receipts/card-hobex-cloud.json} +2 -2
- package/fixtures/{belege/karte-hobex-hps.json → receipts/card-hobex-hps.json} +2 -2
- package/fixtures/{belege/karte-mypos.json → receipts/card-mypos.json} +2 -2
- package/fixtures/{belege/karte-stripe-eps.json → receipts/card-stripe-eps.json} +2 -2
- package/fixtures/{belege/karte-stripe.json → receipts/card-stripe.json} +2 -2
- package/fixtures/{belege/karte-sumup.json → receipts/card-sumup.json} +2 -2
- package/fixtures/{belege/rabattzeilen.json → receipts/discount-lines.json} +2 -2
- package/fixtures/{belege/rabatt-chef-trinkgeld.json → receipts/discount-owner-tip.json} +2 -2
- package/fixtures/{belege/rabatt-einfach.json → receipts/discount-simple.json} +2 -2
- package/fixtures/{belege/rabatt-trinkgeld.json → receipts/discount-tip.json} +2 -2
- package/fixtures/{belege/rabatt-wertgutschein.json → receipts/discount-value-voucher.json} +2 -2
- package/fixtures/{belege/langer-artikelname.json → receipts/long-item-name.json} +2 -2
- package/fixtures/{belege/verkauf-karte.json → receipts/sale-card.json} +2 -2
- package/fixtures/{belege/verkauf-bar.json → receipts/sale-cash.json} +2 -2
- package/fixtures/{belege/verkauf-kleinunternehmer.json → receipts/sale-small-business.json} +1 -1
- package/fixtures/{belege/signaturausfall-verkauf.json → receipts/signature-outage-sale.json} +2 -2
- package/fixtures/{belege/split-karte-karte-bar.json → receipts/split-card-card-cash.json} +2 -2
- package/fixtures/{belege/split-bar-rueckgeld.json → receipts/split-cash-change.json} +2 -2
- package/fixtures/{belege/split-langer-betrag.json → receipts/split-long-amount.json} +2 -2
- package/fixtures/{belege/split-eine-karte-trinkgeld.json → receipts/split-one-card-tip.json} +2 -2
- package/fixtures/{belege/split-tischrunde-trinkgeld.json → receipts/split-table-round-tip.json} +2 -2
- package/fixtures/{belege/split-trinkgeld-karte.json → receipts/split-tip-card.json} +2 -2
- package/fixtures/{belege/split-zwei-karten-gleicher-anbieter.json → receipts/split-two-cards-same-provider.json} +2 -2
- package/fixtures/{belege/testsignatur-verkauf.json → receipts/test-cashregister-sale.json} +3 -3
- package/fixtures/{belege/testkasse-verkauf.json → receipts/test-signature-sale.json} +3 -3
- package/fixtures/{belege → receipts}/training.json +2 -2
- package/fixtures/{belege/null-jahr.json → receipts/zero-annual.json} +5 -5
- package/fixtures/{belege/null-schluss.json → receipts/zero-final.json} +5 -5
- package/fixtures/{belege/null-pruef.json → receipts/zero-manual.json} +5 -5
- package/fixtures/{belege/null-monat.json → receipts/zero-monthly.json} +5 -5
- package/fixtures/{belege/null-ausfall.json → receipts/zero-outage-end.json} +5 -5
- package/fixtures/{belege/null-start.json → receipts/zero-start.json} +5 -5
- package/fixtures/renames-1.0.json +1490 -0
- package/fixtures/{kasse-settings-standard.json → stored/pos-settings-defaults.json} +10 -8
- package/fixtures/surface.json +877 -0
- package/fixtures/v3/README.md +125 -0
- package/fixtures/v3/antworten/belege.json +4738 -0
- package/fixtures/v3/antworten/belegmail.json +154 -0
- package/fixtures/v3/antworten/kasse-belege.json +4304 -0
- package/fixtures/v3/antworten/kasse.json +12716 -0
- package/fixtures/v3/antworten/rechnungen.json +1712 -0
- package/fixtures/v3/antworten/storno.json +737 -0
- package/fixtures/v3/stored/belege.json +502 -0
- package/fixtures/v3/stored/kasse.json +3461 -0
- package/fixtures/v3/stored/rechnungen.json +750 -0
- package/fixtures/v3/v3-vokabular.json +3375 -0
- package/fixtures/v3/zahlbetrag-faelle.json +794 -0
- package/package.json +32 -18
- package/dist/cjs/kasse/artikel.d.ts +0 -83
- package/dist/cjs/kasse/artikel.js +0 -79
- package/dist/cjs/kasse/client.d.ts +0 -10
- package/dist/cjs/kasse/client.js +0 -38
- package/dist/cjs/kasse/drucker.d.ts +0 -59
- package/dist/cjs/kasse/drucker.js +0 -50
- package/dist/cjs/kasse/index.d.ts +0 -13
- package/dist/cjs/kasse/index.js +0 -79
- package/dist/cjs/kasse/settings.d.ts +0 -227
- package/dist/cjs/kasse/settings.js +0 -169
- package/dist/cjs/kasse/texte.d.ts +0 -458
- package/dist/cjs/kasse/texte.js +0 -244
- package/dist/cjs/rechnung/fehler.d.ts +0 -21
- package/dist/cjs/rechnung/fehler.js +0 -44
- package/dist/cjs/rechnung/index.d.ts +0 -21
- package/dist/cjs/rechnung/index.js +0 -82
- package/dist/cjs/rechnung/texte.d.ts +0 -222
- package/dist/cjs/rechnung/texte.js +0 -425
- package/dist/esm/kasse/artikel.d.ts +0 -83
- package/dist/esm/kasse/artikel.js +0 -70
- package/dist/esm/kasse/client.d.ts +0 -10
- package/dist/esm/kasse/client.js +0 -33
- package/dist/esm/kasse/drucker.d.ts +0 -59
- package/dist/esm/kasse/drucker.js +0 -45
- package/dist/esm/kasse/index.d.ts +0 -13
- package/dist/esm/kasse/index.js +0 -18
- package/dist/esm/kasse/settings.d.ts +0 -227
- package/dist/esm/kasse/settings.js +0 -165
- package/dist/esm/kasse/texte.d.ts +0 -458
- package/dist/esm/kasse/texte.js +0 -238
- package/dist/esm/rechnung/fehler.d.ts +0 -21
- package/dist/esm/rechnung/fehler.js +0 -39
- package/dist/esm/rechnung/index.d.ts +0 -21
- package/dist/esm/rechnung/index.js +0 -20
- package/dist/esm/rechnung/texte.d.ts +0 -222
- package/dist/esm/rechnung/texte.js +0 -421
- package/fixtures/erwartet/karte-eigener.blatt32.json +0 -158
- package/fixtures/erwartet/karte-gptom-ios.blatt32.json +0 -230
- package/fixtures/erwartet/karte-gptom.blatt32.json +0 -230
- package/fixtures/erwartet/karte-hobex-cloud.blatt32.json +0 -200
- package/fixtures/erwartet/karte-hobex-hps.blatt32.json +0 -224
- package/fixtures/erwartet/karte-mypos.blatt32.json +0 -254
- package/fixtures/erwartet/karte-stripe-eps.blatt32.json +0 -194
- package/fixtures/erwartet/karte-stripe.blatt32.json +0 -212
- package/fixtures/erwartet/karte-sumup.blatt32.json +0 -218
- package/fixtures/erwartet/langer-artikelname.blatt32.json +0 -176
- package/fixtures/erwartet/null-ausfall.blatt32.json +0 -206
- package/fixtures/erwartet/null-jahr.blatt32.json +0 -212
- package/fixtures/erwartet/null-monat.blatt32.json +0 -206
- package/fixtures/erwartet/null-pruef.blatt32.json +0 -206
- package/fixtures/erwartet/null-schluss.blatt32.json +0 -206
- package/fixtures/erwartet/null-start.blatt32.json +0 -206
- package/fixtures/erwartet/rabatt-chef-trinkgeld.blatt32.json +0 -212
- package/fixtures/erwartet/rabatt-einfach.blatt32.json +0 -182
- package/fixtures/erwartet/rabatt-trinkgeld.blatt32.json +0 -212
- package/fixtures/erwartet/rabatt-wertgutschein.blatt32.json +0 -218
- package/fixtures/erwartet/rabattzeilen.blatt32.json +0 -200
- package/fixtures/erwartet/signaturausfall-verkauf.blatt32.json +0 -194
- package/fixtures/erwartet/split-bar-rueckgeld.blatt32.json +0 -194
- package/fixtures/erwartet/split-eine-karte-trinkgeld.blatt32.json +0 -242
- package/fixtures/erwartet/split-karte-karte-bar.blatt32.json +0 -356
- package/fixtures/erwartet/split-langer-betrag.blatt32.json +0 -266
- package/fixtures/erwartet/split-tischrunde-trinkgeld.blatt32.json +0 -470
- package/fixtures/erwartet/split-trinkgeld-karte.blatt32.json +0 -272
- package/fixtures/erwartet/split-zwei-karten-gleicher-anbieter.blatt32.json +0 -326
- package/fixtures/erwartet/storno-rabatt.blatt32.json +0 -248
- package/fixtures/erwartet/storno-split-teil.blatt32.json +0 -230
- package/fixtures/erwartet/storno-split-voll.blatt32.json +0 -320
- package/fixtures/erwartet/storno-teil.blatt32.json +0 -206
- package/fixtures/erwartet/storno-voll.blatt32.json +0 -218
- package/fixtures/erwartet/testkasse-verkauf.blatt32.json +0 -224
- package/fixtures/erwartet/testsignatur-verkauf.blatt32.json +0 -236
- package/fixtures/erwartet/training.blatt32.json +0 -236
- package/fixtures/erwartet/verkauf-bar.blatt32.json +0 -176
- package/fixtures/erwartet/verkauf-karte.blatt32.json +0 -176
- package/fixtures/erwartet/verkauf-kleinunternehmer.blatt32.json +0 -182
- package/fixtures/kasse-meldungen-faelle.json +0 -32
- package/fixtures/kasse-texte.json +0 -513
- package/fixtures/oberflaeche.json +0 -557
- package/fixtures/rechnung-api-beispiele/brands-ok.json +0 -8
- package/fixtures/rechnung-api-beispiele/customer-get-fehler-beide.json +0 -15
- package/fixtures/rechnung-api-beispiele/setup-status-ok.json +0 -8
- package/fixtures/rechnung-api-beispiele/zahlung-fehler-ohne-schluessel.json +0 -14
- package/fixtures/rechnung-api-beispiele/zahlung-fehler-vor-ort.json +0 -15
- package/fixtures/rechnung-api-beispiele/zahlung-nachtrag.json +0 -14
- package/fixtures/rechnung-texte.json +0 -464
- /package/dist/cjs/{rechnung → invoice}/typen.js +0 -0
- /package/dist/esm/{rechnung → invoice}/typen.js +0 -0
- /package/fixtures/{erwartet/storno-rabatt.grid32.txt → expected/cancellation-discount.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-rabatt.grid48.txt → expected/cancellation-discount.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-voll.grid32.txt → expected/cancellation-full.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-voll.grid48.txt → expected/cancellation-full.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-teil.grid32.txt → expected/cancellation-partial.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-teil.grid48.txt → expected/cancellation-partial.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-voll.grid32.txt → expected/cancellation-split-full.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-voll.grid48.txt → expected/cancellation-split-full.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-teil.grid32.txt → expected/cancellation-split-partial.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-teil.grid48.txt → expected/cancellation-split-partial.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-eigener.grid32.txt → expected/card-custom.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-eigener.grid48.txt → expected/card-custom.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom-ios.grid32.txt → expected/card-gptom-ios.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom-ios.grid48.txt → expected/card-gptom-ios.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom.grid32.txt → expected/card-gptom.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom.grid48.txt → expected/card-gptom.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-cloud.grid32.txt → expected/card-hobex-cloud.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-cloud.grid48.txt → expected/card-hobex-cloud.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-hps.grid32.txt → expected/card-hobex-hps.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-hps.grid48.txt → expected/card-hobex-hps.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-mypos.grid32.txt → expected/card-mypos.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-mypos.grid48.txt → expected/card-mypos.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe-eps.grid32.txt → expected/card-stripe-eps.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe-eps.grid48.txt → expected/card-stripe-eps.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe.grid32.txt → expected/card-stripe.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe.grid48.txt → expected/card-stripe.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-sumup.grid32.txt → expected/card-sumup.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-sumup.grid48.txt → expected/card-sumup.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabattzeilen.grid32.txt → expected/discount-lines.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabattzeilen.grid48.txt → expected/discount-lines.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid32.txt → expected/discount-owner-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid48.txt → expected/discount-owner-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-einfach.grid32.txt → expected/discount-simple.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-einfach.grid48.txt → expected/discount-simple.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-trinkgeld.grid32.txt → expected/discount-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-trinkgeld.grid48.txt → expected/discount-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-wertgutschein.grid32.txt → expected/discount-value-voucher.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-wertgutschein.grid48.txt → expected/discount-value-voucher.grid48.txt} +0 -0
- /package/fixtures/{erwartet/logo-probe-hoch.raster32.txt → expected/logo-sample-tall.raster32.txt} +0 -0
- /package/fixtures/{erwartet/logo-probe.raster32.txt → expected/logo-sample.raster32.txt} +0 -0
- /package/fixtures/{erwartet/langer-artikelname.grid32.txt → expected/long-item-name.grid32.txt} +0 -0
- /package/fixtures/{erwartet/langer-artikelname.grid48.txt → expected/long-item-name.grid48.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-karte.grid32.txt → expected/sale-card.grid32.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-karte.grid48.txt → expected/sale-card.grid48.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-bar.grid32.txt → expected/sale-cash.grid32.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-bar.grid48.txt → expected/sale-cash.grid48.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid32.txt → expected/sale-small-business.grid32.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid48.txt → expected/sale-small-business.grid48.txt} +0 -0
- /package/fixtures/{erwartet/signaturausfall-verkauf.grid32.txt → expected/signature-outage-sale.grid32.txt} +0 -0
- /package/fixtures/{erwartet/signaturausfall-verkauf.grid48.txt → expected/signature-outage-sale.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-karte-karte-bar.grid32.txt → expected/split-card-card-cash.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-karte-karte-bar.grid48.txt → expected/split-card-card-cash.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-bar-rueckgeld.grid32.txt → expected/split-cash-change.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-bar-rueckgeld.grid48.txt → expected/split-cash-change.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-langer-betrag.grid32.txt → expected/split-long-amount.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-langer-betrag.grid48.txt → expected/split-long-amount.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid32.txt → expected/split-one-card-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid48.txt → expected/split-one-card-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid32.txt → expected/split-table-round-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid48.txt → expected/split-table-round-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-trinkgeld-karte.grid32.txt → expected/split-tip-card.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-trinkgeld-karte.grid48.txt → expected/split-tip-card.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid32.txt → expected/split-two-cards-same-provider.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid48.txt → expected/split-two-cards-same-provider.grid48.txt} +0 -0
- /package/fixtures/{erwartet/testkasse-verkauf.grid32.txt → expected/test-cashregister-sale.grid32.txt} +0 -0
- /package/fixtures/{erwartet/testkasse-verkauf.grid48.txt → expected/test-cashregister-sale.grid48.txt} +0 -0
- /package/fixtures/{erwartet/testsignatur-verkauf.grid32.txt → expected/test-signature-sale.grid32.txt} +0 -0
- /package/fixtures/{erwartet/testsignatur-verkauf.grid48.txt → expected/test-signature-sale.grid48.txt} +0 -0
- /package/fixtures/{erwartet → expected}/training.grid32.txt +0 -0
- /package/fixtures/{erwartet → expected}/training.grid48.txt +0 -0
- /package/fixtures/{erwartet/null-jahr.grid32.txt → expected/zero-annual.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-jahr.grid48.txt → expected/zero-annual.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-schluss.grid32.txt → expected/zero-final.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-schluss.grid48.txt → expected/zero-final.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-pruef.grid32.txt → expected/zero-manual.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-pruef.grid48.txt → expected/zero-manual.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-monat.grid32.txt → expected/zero-monthly.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-monat.grid48.txt → expected/zero-monthly.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-ausfall.grid32.txt → expected/zero-outage-end.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-ausfall.grid48.txt → expected/zero-outage-end.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-start.grid32.txt → expected/zero-start.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-start.grid48.txt → expected/zero-start.grid48.txt} +0 -0
|
@@ -6,49 +6,50 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { type FetchLike } from '../client/transport.js';
|
|
8
8
|
import type { EInvoiceFormat, InvoiceLanguage } from './vertrag.js';
|
|
9
|
-
import type { Brand, CancelInvoiceRequest, CancelResult, CreditNoteRequest, CreditNoteResult, Customer, CustomerInput, CustomerPage, CustomerSearch, InvoiceDetail, InvoiceListQuery, InvoicePage, InvoiceSetupStatus, IssueInvoiceRequest, IssueResult, PreviewResult, RecordPaymentRequest, RecordPaymentResult } from './typen.js';
|
|
10
|
-
export interface
|
|
9
|
+
import type { Brand, CancelInvoiceRequest, CancelResult, CreditNoteRequest, CreditNoteResult, Customer, CustomerInput, CustomerPage, CustomerSearch, InvoiceDetail, InvoiceListQuery, InvoicePage, InvoiceSetupStatus, InvoiceXml, IssueInvoiceRequest, IssueResult, PreviewResult, RecordPaymentRequest, RecordPaymentResult } from './typen.js';
|
|
10
|
+
export interface InvoiceApiOptions {
|
|
11
11
|
/** `api_key` des Kontos (`kr_live_…` / `kr_test_…`). Gehoert auf einen Server. */
|
|
12
12
|
apiKey: string;
|
|
13
|
-
/** Abweichende Basis-URL; Vorgabe `https://api.kasseneck.at/
|
|
13
|
+
/** Abweichende Basis-URL; Vorgabe `https://api.kasseneck.at/v3`. */
|
|
14
14
|
baseUrl?: string;
|
|
15
15
|
/** Zeitlimit je Aufruf in Millisekunden. */
|
|
16
16
|
timeoutMs?: number;
|
|
17
17
|
/** Eigene `fetch`-Umsetzung (Tests, Proxys). */
|
|
18
18
|
fetch?: FetchLike;
|
|
19
19
|
}
|
|
20
|
-
export interface
|
|
21
|
-
createCustomer(customer: CustomerInput,
|
|
20
|
+
export interface InvoiceApi {
|
|
21
|
+
createCustomer(customer: CustomerInput, options?: {
|
|
22
22
|
idempotencyKey?: string;
|
|
23
23
|
}): Promise<Customer>;
|
|
24
|
-
getCustomer(
|
|
24
|
+
getCustomer(ref: {
|
|
25
25
|
customerId: string;
|
|
26
26
|
} | {
|
|
27
27
|
externalId: string;
|
|
28
28
|
}): Promise<Customer>;
|
|
29
29
|
updateCustomer(customerId: string, patch: Partial<CustomerInput>): Promise<Customer>;
|
|
30
|
-
searchCustomers(
|
|
31
|
-
issueInvoice(
|
|
30
|
+
searchCustomers(search: CustomerSearch): Promise<CustomerPage>;
|
|
31
|
+
issueInvoice(request: IssueInvoiceRequest): Promise<IssueResult>;
|
|
32
32
|
/** Probelauf: pruefen und rechnen wie `issueInvoice`, ohne auszustellen. */
|
|
33
|
-
previewInvoice(
|
|
34
|
-
cancelInvoice(
|
|
35
|
-
createCreditNote(
|
|
36
|
-
getInvoice(
|
|
33
|
+
previewInvoice(request: IssueInvoiceRequest): Promise<PreviewResult>;
|
|
34
|
+
cancelInvoice(request: CancelInvoiceRequest): Promise<CancelResult>;
|
|
35
|
+
createCreditNote(request: CreditNoteRequest): Promise<CreditNoteResult>;
|
|
36
|
+
getInvoice(ref: {
|
|
37
37
|
invoiceId: string;
|
|
38
38
|
} | {
|
|
39
39
|
number: string;
|
|
40
40
|
}): Promise<InvoiceDetail>;
|
|
41
|
-
listInvoices(
|
|
41
|
+
listInvoices(query?: InvoiceListQuery): Promise<InvoicePage>;
|
|
42
42
|
/** Eine spaeter eingetroffene Zahlung nachtragen; `idempotencyKey` ist Pflicht. */
|
|
43
|
-
recordInvoicePayment(
|
|
43
|
+
recordInvoicePayment(request: RecordPaymentRequest): Promise<RecordPaymentResult>;
|
|
44
44
|
/** Mit `language` ungleich der Rechnungssprache: gekennzeichnete Uebersetzungskopie. */
|
|
45
|
-
getInvoicePdf(invoiceId: string,
|
|
45
|
+
getInvoicePdf(invoiceId: string, options?: {
|
|
46
46
|
language?: InvoiceLanguage;
|
|
47
47
|
}): Promise<Uint8Array>;
|
|
48
|
-
|
|
48
|
+
/** `{ xml, format, filename }` wie gesendet; `filename` ist `invoice-<Nummer>.xml`. */
|
|
49
|
+
getInvoiceXml(invoiceId: string, format?: EInvoiceFormat): Promise<InvoiceXml>;
|
|
49
50
|
/** Darf dieses Konto ausstellen, und was fehlt noch? Laeuft auch ohne Freigabe. */
|
|
50
51
|
getInvoiceSetupStatus(): Promise<InvoiceSetupStatus>;
|
|
51
52
|
/** Die Marken des Kontos; `id` geht als `brandId` in `issueInvoice`. */
|
|
52
53
|
listBrands(): Promise<Brand[]>;
|
|
53
54
|
}
|
|
54
|
-
export declare function
|
|
55
|
+
export declare function createInvoiceApi(options: InvoiceApiOptions): InvoiceApi;
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
* Funktionen (endpunkte.ts) und bleiben einzeln importierbar.
|
|
6
6
|
*/
|
|
7
7
|
import { createBinaryTransport, createTransport } from '../client/transport.js';
|
|
8
|
-
import {
|
|
8
|
+
import { invoiceKeyAuth } from './auth.js';
|
|
9
9
|
import { cancelInvoice, createCreditNote, createCustomer, getCustomer, getInvoice, getInvoicePdf, getInvoiceSetupStatus, getInvoiceXml, issueInvoice, listBrands, previewInvoice, listInvoices, recordInvoicePayment, searchCustomers, updateCustomer, } from './endpunkte.js';
|
|
10
|
-
export function
|
|
10
|
+
export function createInvoiceApi(options) {
|
|
11
11
|
const transportOptionen = {
|
|
12
|
-
auth:
|
|
13
|
-
baseUrl:
|
|
14
|
-
timeoutMs:
|
|
15
|
-
fetch:
|
|
12
|
+
auth: invoiceKeyAuth({ apiKey: options.apiKey }),
|
|
13
|
+
baseUrl: options.baseUrl,
|
|
14
|
+
timeoutMs: options.timeoutMs,
|
|
15
|
+
fetch: options.fetch,
|
|
16
16
|
};
|
|
17
17
|
const rufen = createTransport(transportOptionen);
|
|
18
18
|
const rufenBinaer = createBinaryTransport(transportOptionen);
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* weiterhin aeltere Formen annimmt. Die Meldung nennt nie den Wert, nur seine Art.
|
|
15
15
|
*/
|
|
16
16
|
import type { KasseneckAuth } from '../client/auth.js';
|
|
17
|
-
export interface
|
|
17
|
+
export interface InvoiceKeyAuthOptions {
|
|
18
18
|
/** `api_key` des Kontos, z. B. `kr_live_…` oder `kr_test_…`. */
|
|
19
19
|
apiKey: string;
|
|
20
20
|
}
|
|
21
|
-
export declare function
|
|
21
|
+
export declare function invoiceKeyAuth(options: InvoiceKeyAuthOptions): KasseneckAuth;
|
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
* weiterhin aeltere Formen annimmt. Die Meldung nennt nie den Wert, nur seine Art.
|
|
15
15
|
*/
|
|
16
16
|
import { KasseneckAuthError } from '../client/errors.js';
|
|
17
|
-
export function
|
|
17
|
+
export function invoiceKeyAuth(options) {
|
|
18
18
|
const schluessel = typeof options?.apiKey === 'string' ? options.apiKey.trim() : '';
|
|
19
19
|
if (!schluessel) {
|
|
20
|
-
throw new KasseneckAuthError('
|
|
20
|
+
throw new KasseneckAuthError('invoiceKeyAuth: apiKey fehlt');
|
|
21
21
|
}
|
|
22
22
|
if (/^pk_(live|test)_/i.test(schluessel)) {
|
|
23
|
-
throw new KasseneckAuthError('
|
|
23
|
+
throw new KasseneckAuthError('invoiceKeyAuth: das ist ein Partner-Schluessel (pk_…); die Rechnungs-API nimmt den api_key des Kontos (kr_…)');
|
|
24
24
|
}
|
|
25
25
|
if (/^cb_(live|test)_/i.test(schluessel)) {
|
|
26
|
-
throw new KasseneckAuthError('
|
|
26
|
+
throw new KasseneckAuthError('invoiceKeyAuth: das ist ein Kassen-Token (cb_…); die Rechnungs-API nimmt den api_key des Kontos (kr_…)');
|
|
27
27
|
}
|
|
28
28
|
// Pro Aufruf ein frisches Objekt, wie bei den anderen Anmeldungen.
|
|
29
29
|
return () => ({
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import type { PriceMode, TaxScheme } from './vertrag.js';
|
|
22
22
|
/** Hoechster Betrag je Zeile und je Rechnung: 999.999.999,99 €. */
|
|
23
|
-
export declare const
|
|
23
|
+
export declare const MAX_AMOUNT_CENTS = 99999999999;
|
|
24
24
|
/** Steuerfaelle, in denen die Rechnung keine Steuer ausweist: jede Zeile zaehlt zu 0 %. */
|
|
25
|
-
export declare const
|
|
25
|
+
export declare const ZERO_RATED_TAX_SCHEMES: readonly TaxScheme[];
|
|
26
26
|
/** Eine Position in gespeicherter Form — alle Werte ganzzahlig. */
|
|
27
|
-
export interface
|
|
27
|
+
export interface CalcItem {
|
|
28
28
|
/** Einzelpreis in Millionstel Euro, 0 … 10¹². */
|
|
29
29
|
unitPriceMicros: number;
|
|
30
30
|
/** Menge in Tausendstel; negativ = Abzugszeile, 0 = Textzeile. */
|
|
@@ -34,39 +34,39 @@ export interface RechenPosition {
|
|
|
34
34
|
/** USt-Satz in Hundertstel-Prozent, 0 … 10000 (ohne Angabe 0). */
|
|
35
35
|
vatRateBp?: number;
|
|
36
36
|
}
|
|
37
|
-
export interface
|
|
37
|
+
export interface CalcOptions {
|
|
38
38
|
priceMode: PriceMode;
|
|
39
39
|
/** Ohne Angabe `normal`. */
|
|
40
40
|
taxScheme?: TaxScheme;
|
|
41
41
|
}
|
|
42
|
-
export interface
|
|
42
|
+
export interface RateTotal {
|
|
43
43
|
rateBp: number;
|
|
44
44
|
netCents: number;
|
|
45
45
|
vatCents: number;
|
|
46
46
|
grossCents: number;
|
|
47
47
|
}
|
|
48
|
-
export interface
|
|
48
|
+
export interface LineAmount {
|
|
49
49
|
netCents: number;
|
|
50
50
|
grossCents: number;
|
|
51
51
|
/** Der Satz, mit dem die Zeile gerechnet wurde (bei steuerfreiem Fall 0). */
|
|
52
52
|
rateBp: number;
|
|
53
53
|
}
|
|
54
|
-
export interface
|
|
54
|
+
export interface CalcResult {
|
|
55
55
|
netCents: number;
|
|
56
56
|
vatCents: number;
|
|
57
57
|
grossCents: number;
|
|
58
58
|
/** Absteigend nach `rateBp`. */
|
|
59
|
-
byRate:
|
|
59
|
+
byRate: RateTotal[];
|
|
60
60
|
/** Je Position, in der Reihenfolge der Eingabe. */
|
|
61
|
-
lines:
|
|
61
|
+
lines: LineAmount[];
|
|
62
62
|
}
|
|
63
|
-
export type
|
|
63
|
+
export type CalcErrorCode = 'amount_too_large' | 'not_integer' | 'out_of_range';
|
|
64
64
|
/** Fehler des Kerns — mit Code, Feld und Index, damit die API daraus einen Feldfehler machen kann. */
|
|
65
|
-
export declare class
|
|
66
|
-
readonly code:
|
|
67
|
-
readonly
|
|
65
|
+
export declare class CalcError extends Error {
|
|
66
|
+
readonly code: CalcErrorCode;
|
|
67
|
+
readonly field?: string;
|
|
68
68
|
readonly index?: number;
|
|
69
|
-
constructor(code:
|
|
69
|
+
constructor(code: CalcErrorCode, message: string, field?: string, index?: number);
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* `a / b` kaufmaennisch gerundet, halbe Einheit vom Nullpunkt weg; `b` > 0.
|
|
@@ -74,16 +74,16 @@ export declare class RechenFehler extends Error {
|
|
|
74
74
|
* Ohne Gleitkomma: `(2·|a| + b) / (2·b)` ist genau dann eins groesser, wenn der
|
|
75
75
|
* Rest mindestens die halbe Einheit betraegt.
|
|
76
76
|
*/
|
|
77
|
-
export declare function
|
|
78
|
-
export declare function
|
|
79
|
-
export type
|
|
80
|
-
export type
|
|
77
|
+
export declare function roundDiv(a: bigint, b: bigint): bigint;
|
|
78
|
+
export declare function calculateInvoice(items: readonly CalcItem[], options: CalcOptions): CalcResult;
|
|
79
|
+
export type ConversionReason = 'not_a_number' | 'too_many_decimals' | 'out_of_range';
|
|
80
|
+
export type ItemConversion = {
|
|
81
81
|
ok: true;
|
|
82
|
-
|
|
82
|
+
item: CalcItem & Record<string, unknown>;
|
|
83
83
|
} | {
|
|
84
84
|
ok: false;
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
field: 'unitPrice' | 'quantity' | 'vatRate' | 'discountPct';
|
|
86
|
+
reason: ConversionReason;
|
|
87
87
|
};
|
|
88
88
|
/**
|
|
89
89
|
* Euro-Position → Ganzzahl-Form, verlustfrei oder mit Grund abgelehnt. Die
|
|
@@ -98,26 +98,26 @@ export type Umwandlung = {
|
|
|
98
98
|
* abgerechnet hat. Ein fehlender Preis dagegen ist NIE 0: sonst wuerde eine
|
|
99
99
|
* Position, der nur der Preis fehlt, still zur 0-€-Zeile.
|
|
100
100
|
*/
|
|
101
|
-
export declare function
|
|
101
|
+
export declare function itemFromEuro(item: Record<string, unknown>): ItemConversion;
|
|
102
102
|
/**
|
|
103
103
|
* Anteiliger Preis fuer einen Teilzeitraum (erste Rechnung eines Abos).
|
|
104
104
|
* War der Ursprungspreis centgenau, bleibt auch der Anteil centgenau — sonst
|
|
105
105
|
* stuende auf der ersten Rechnung ein Preis mit sechs Stellen, wo bisher zwei
|
|
106
106
|
* standen.
|
|
107
107
|
*/
|
|
108
|
-
export declare function
|
|
108
|
+
export declare function proratedPriceMicros(unitPriceMicros: number, months: number, interval: number): number;
|
|
109
109
|
/**
|
|
110
110
|
* Schluessel eines USt-Satzes in den gespeicherten Maps (`creditedCents.byRate`,
|
|
111
111
|
* `invoice_stats.vatByRate`): der Prozenttext mit Punkt, genau wie
|
|
112
112
|
* `String(satz)` ihn bisher gebildet hat. NICHT fuer die Anzeige — dafuer gibt
|
|
113
|
-
* es `
|
|
113
|
+
* es `formatVatRate`.
|
|
114
114
|
*/
|
|
115
|
-
export declare function
|
|
115
|
+
export declare function vatRateMapKey(rateBp: number): string;
|
|
116
116
|
/** Ein USt-Satz fuer die Anzeige: oesterreichisch mit Komma, ohne nachlaufende Nullen. */
|
|
117
|
-
export declare function
|
|
117
|
+
export declare function formatVatRate(rateBp: number): string;
|
|
118
118
|
/**
|
|
119
119
|
* Ein Einzelpreis fuer die Anzeige: mindestens zwei, hoechstens sechs
|
|
120
120
|
* Nachkommastellen, Tausenderpunkt, Komma als Trennzeichen — in jeder Sprache
|
|
121
121
|
* oesterreichisch, wie die Betraege auf dem Blatt.
|
|
122
122
|
*/
|
|
123
|
-
export declare function
|
|
123
|
+
export declare function formatUnitPrice(unitPriceMicros: number): string;
|
|
@@ -21,26 +21,26 @@
|
|
|
21
21
|
/** Skala des Zeilenbruchs: 10⁻¹⁷ Cent. */
|
|
22
22
|
const E = 10n ** 17n;
|
|
23
23
|
/** Hoechster Betrag je Zeile und je Rechnung: 999.999.999,99 €. */
|
|
24
|
-
export const
|
|
24
|
+
export const MAX_AMOUNT_CENTS = 99_999_999_999;
|
|
25
25
|
/** Steuerfaelle, in denen die Rechnung keine Steuer ausweist: jede Zeile zaehlt zu 0 %. */
|
|
26
|
-
export const
|
|
26
|
+
export const ZERO_RATED_TAX_SCHEMES = Object.freeze([
|
|
27
27
|
'smallBusiness',
|
|
28
28
|
'reverseCharge',
|
|
29
|
-
'
|
|
29
|
+
'intraCommunitySupply',
|
|
30
30
|
'exportThirdCountry',
|
|
31
31
|
'domesticReverseCharge',
|
|
32
32
|
'outsideScope',
|
|
33
33
|
]);
|
|
34
34
|
/** Fehler des Kerns — mit Code, Feld und Index, damit die API daraus einen Feldfehler machen kann. */
|
|
35
|
-
export class
|
|
35
|
+
export class CalcError extends Error {
|
|
36
36
|
code;
|
|
37
|
-
|
|
37
|
+
field;
|
|
38
38
|
index;
|
|
39
|
-
constructor(code,
|
|
40
|
-
super(
|
|
41
|
-
this.name = '
|
|
39
|
+
constructor(code, message, field, index) {
|
|
40
|
+
super(message);
|
|
41
|
+
this.name = 'CalcError';
|
|
42
42
|
this.code = code;
|
|
43
|
-
this.
|
|
43
|
+
this.field = field;
|
|
44
44
|
this.index = index;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -50,7 +50,7 @@ export class RechenFehler extends Error {
|
|
|
50
50
|
* Ohne Gleitkomma: `(2·|a| + b) / (2·b)` ist genau dann eins groesser, wenn der
|
|
51
51
|
* Rest mindestens die halbe Einheit betraegt.
|
|
52
52
|
*/
|
|
53
|
-
export function
|
|
53
|
+
export function roundDiv(a, b) {
|
|
54
54
|
const negativ = a < 0n;
|
|
55
55
|
const betrag = negativ ? -a : a;
|
|
56
56
|
const ganz = (2n * betrag + b) / (2n * b);
|
|
@@ -64,11 +64,11 @@ const GRENZEN = {
|
|
|
64
64
|
};
|
|
65
65
|
function ganzzahl(wert, feld, index) {
|
|
66
66
|
if (typeof wert !== 'number' || !Number.isInteger(wert)) {
|
|
67
|
-
throw new
|
|
67
|
+
throw new CalcError('not_integer', `items[${index}].${feld} muss eine ganze Zahl sein`, feld, index);
|
|
68
68
|
}
|
|
69
69
|
const [min, max] = GRENZEN[feld];
|
|
70
70
|
if (wert < min || wert > max) {
|
|
71
|
-
throw new
|
|
71
|
+
throw new CalcError('out_of_range', `items[${index}].${feld} liegt ausserhalb von ${min} … ${max}`, feld, index);
|
|
72
72
|
}
|
|
73
73
|
return wert;
|
|
74
74
|
}
|
|
@@ -84,7 +84,7 @@ function ganzzahl(wert, feld, index) {
|
|
|
84
84
|
function verteile(gruppe, feld, faktor, nenner, ziel) {
|
|
85
85
|
const werte = gruppe.map((z) => {
|
|
86
86
|
const zaehler = z.L * faktor;
|
|
87
|
-
return { z, zaehler, wert:
|
|
87
|
+
return { z, zaehler, wert: roundDiv(zaehler, nenner) };
|
|
88
88
|
});
|
|
89
89
|
let rest = ziel - werte.reduce((s, w) => s + w.wert, 0n);
|
|
90
90
|
if (rest !== 0n) {
|
|
@@ -106,18 +106,18 @@ function verteile(gruppe, feld, faktor, nenner, ziel) {
|
|
|
106
106
|
for (const w of werte)
|
|
107
107
|
w.z[feld] = Number(w.wert);
|
|
108
108
|
}
|
|
109
|
-
export function
|
|
110
|
-
const steuerfrei =
|
|
111
|
-
const bruttoPreise =
|
|
112
|
-
const grenze = BigInt(
|
|
113
|
-
const zeilen =
|
|
109
|
+
export function calculateInvoice(items, options) {
|
|
110
|
+
const steuerfrei = ZERO_RATED_TAX_SCHEMES.includes(options.taxScheme ?? 'normal');
|
|
111
|
+
const bruttoPreise = options.priceMode === 'gross' && !steuerfrei;
|
|
112
|
+
const grenze = BigInt(MAX_AMOUNT_CENTS) * E;
|
|
113
|
+
const zeilen = items.map((p, index) => {
|
|
114
114
|
const preis = BigInt(ganzzahl(p.unitPriceMicros, 'unitPriceMicros', index));
|
|
115
115
|
const menge = BigInt(ganzzahl(p.quantityMilli, 'quantityMilli', index));
|
|
116
116
|
const rabatt = BigInt(ganzzahl(p.discountBp ?? 0, 'discountBp', index));
|
|
117
117
|
const satz = ganzzahl(p.vatRateBp ?? 0, 'vatRateBp', index);
|
|
118
118
|
const L = preis * menge * (10000n - rabatt) * 1000000n;
|
|
119
119
|
if ((L < 0n ? -L : L) > grenze) {
|
|
120
|
-
throw new
|
|
120
|
+
throw new CalcError('amount_too_large', `items[${index}] uebersteigt ${MAX_AMOUNT_CENTS} Cent`, 'unitPriceMicros', index);
|
|
121
121
|
}
|
|
122
122
|
return { index, rateBp: steuerfrei ? 0 : satz, L, netCents: 0, grossCents: 0 };
|
|
123
123
|
});
|
|
@@ -137,13 +137,13 @@ export function rechnungRechnen(positionen, optionen) {
|
|
|
137
137
|
let vatCents;
|
|
138
138
|
let grossCents;
|
|
139
139
|
if (bruttoPreise) {
|
|
140
|
-
grossCents =
|
|
141
|
-
netCents =
|
|
140
|
+
grossCents = roundDiv(S, E);
|
|
141
|
+
netCents = roundDiv(grossCents * 10000n, 10000n + r);
|
|
142
142
|
vatCents = grossCents - netCents;
|
|
143
143
|
}
|
|
144
144
|
else {
|
|
145
|
-
netCents =
|
|
146
|
-
vatCents =
|
|
145
|
+
netCents = roundDiv(S, E);
|
|
146
|
+
vatCents = roundDiv(S * r, E * 10000n);
|
|
147
147
|
grossCents = netCents + vatCents;
|
|
148
148
|
}
|
|
149
149
|
if (bruttoPreise) {
|
|
@@ -171,8 +171,8 @@ export function rechnungRechnen(positionen, optionen) {
|
|
|
171
171
|
lines: zeilen.map((z) => ({ netCents: z.netCents, grossCents: z.grossCents, rateBp: z.rateBp })),
|
|
172
172
|
};
|
|
173
173
|
for (const feld of ['netCents', 'vatCents', 'grossCents']) {
|
|
174
|
-
if (Math.abs(ergebnis[feld]) >
|
|
175
|
-
throw new
|
|
174
|
+
if (Math.abs(ergebnis[feld]) > MAX_AMOUNT_CENTS) {
|
|
175
|
+
throw new CalcError('amount_too_large', `Die Rechnung uebersteigt ${MAX_AMOUNT_CENTS} Cent (${feld})`);
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
return ergebnis;
|
|
@@ -224,47 +224,47 @@ const EURO_FELDER = ['unitPrice', 'quantity', 'vatRate', 'discountPct'];
|
|
|
224
224
|
* abgerechnet hat. Ein fehlender Preis dagegen ist NIE 0: sonst wuerde eine
|
|
225
225
|
* Position, der nur der Preis fehlt, still zur 0-€-Zeile.
|
|
226
226
|
*/
|
|
227
|
-
export function
|
|
227
|
+
export function itemFromEuro(item) {
|
|
228
228
|
if (typeof item.unitPriceMicros === 'number') {
|
|
229
|
-
return { ok: true,
|
|
229
|
+
return { ok: true, item: item };
|
|
230
230
|
}
|
|
231
231
|
const roh = item.unitPrice;
|
|
232
232
|
if (typeof roh !== 'number' || !Number.isFinite(roh)) {
|
|
233
|
-
return { ok: false,
|
|
233
|
+
return { ok: false, field: 'unitPrice', reason: 'not_a_number' };
|
|
234
234
|
}
|
|
235
235
|
const micros = ganzAusDezimaltext(Math.abs(roh), 6);
|
|
236
236
|
if (micros === null)
|
|
237
|
-
return { ok: false,
|
|
237
|
+
return { ok: false, field: 'unitPrice', reason: 'too_many_decimals' };
|
|
238
238
|
if (micros > GRENZEN.unitPriceMicros[1])
|
|
239
|
-
return { ok: false,
|
|
239
|
+
return { ok: false, field: 'unitPrice', reason: 'out_of_range' };
|
|
240
240
|
const zahl = (feld, stellen, max) => {
|
|
241
241
|
const w = item[feld];
|
|
242
242
|
if (w === undefined || w === null)
|
|
243
243
|
return { ok: true, wert: 0 };
|
|
244
244
|
if (typeof w !== 'number' || !Number.isFinite(w))
|
|
245
|
-
return { ok: false, grund: '
|
|
245
|
+
return { ok: false, grund: 'not_a_number' };
|
|
246
246
|
const ganz = ganzAusDezimaltext(w, stellen);
|
|
247
247
|
if (ganz === null)
|
|
248
|
-
return { ok: false, grund: '
|
|
248
|
+
return { ok: false, grund: 'too_many_decimals' };
|
|
249
249
|
if (ganz < (feld === 'quantity' ? -max : 0) || ganz > max)
|
|
250
|
-
return { ok: false, grund: '
|
|
250
|
+
return { ok: false, grund: 'out_of_range' };
|
|
251
251
|
return { ok: true, wert: ganz };
|
|
252
252
|
};
|
|
253
253
|
const menge = zahl('quantity', 3, GRENZEN.quantityMilli[1]);
|
|
254
254
|
if (!menge.ok)
|
|
255
|
-
return { ok: false,
|
|
255
|
+
return { ok: false, field: 'quantity', reason: menge.grund };
|
|
256
256
|
const satz = zahl('vatRate', 2, 10_000);
|
|
257
257
|
if (!satz.ok)
|
|
258
|
-
return { ok: false,
|
|
258
|
+
return { ok: false, field: 'vatRate', reason: satz.grund };
|
|
259
259
|
const rabatt = zahl('discountPct', 2, 10_000);
|
|
260
260
|
if (!rabatt.ok)
|
|
261
|
-
return { ok: false,
|
|
261
|
+
return { ok: false, field: 'discountPct', reason: rabatt.grund };
|
|
262
262
|
const rest = { ...item };
|
|
263
263
|
for (const feld of EURO_FELDER)
|
|
264
264
|
delete rest[feld];
|
|
265
265
|
return {
|
|
266
266
|
ok: true,
|
|
267
|
-
|
|
267
|
+
item: {
|
|
268
268
|
...rest,
|
|
269
269
|
unitPriceMicros: micros,
|
|
270
270
|
quantityMilli: roh < 0 ? -menge.wert : menge.wert,
|
|
@@ -279,32 +279,32 @@ export function positionAusEuro(item) {
|
|
|
279
279
|
* stuende auf der ersten Rechnung ein Preis mit sechs Stellen, wo bisher zwei
|
|
280
280
|
* standen.
|
|
281
281
|
*/
|
|
282
|
-
export function
|
|
282
|
+
export function proratedPriceMicros(unitPriceMicros, months, interval) {
|
|
283
283
|
const micros = BigInt(unitPriceMicros);
|
|
284
|
-
const anteil =
|
|
284
|
+
const anteil = roundDiv(micros * BigInt(months), BigInt(interval));
|
|
285
285
|
if (unitPriceMicros % 10_000 !== 0)
|
|
286
286
|
return Number(anteil);
|
|
287
|
-
return Number(
|
|
287
|
+
return Number(roundDiv(anteil, 10000n) * 10000n);
|
|
288
288
|
}
|
|
289
289
|
/**
|
|
290
290
|
* Schluessel eines USt-Satzes in den gespeicherten Maps (`creditedCents.byRate`,
|
|
291
291
|
* `invoice_stats.vatByRate`): der Prozenttext mit Punkt, genau wie
|
|
292
292
|
* `String(satz)` ihn bisher gebildet hat. NICHT fuer die Anzeige — dafuer gibt
|
|
293
|
-
* es `
|
|
293
|
+
* es `formatVatRate`.
|
|
294
294
|
*/
|
|
295
|
-
export function
|
|
295
|
+
export function vatRateMapKey(rateBp) {
|
|
296
296
|
return String(rateBp / 100);
|
|
297
297
|
}
|
|
298
298
|
/** Ein USt-Satz fuer die Anzeige: oesterreichisch mit Komma, ohne nachlaufende Nullen. */
|
|
299
|
-
export function
|
|
300
|
-
return
|
|
299
|
+
export function formatVatRate(rateBp) {
|
|
300
|
+
return vatRateMapKey(rateBp).replace('.', ',');
|
|
301
301
|
}
|
|
302
302
|
/**
|
|
303
303
|
* Ein Einzelpreis fuer die Anzeige: mindestens zwei, hoechstens sechs
|
|
304
304
|
* Nachkommastellen, Tausenderpunkt, Komma als Trennzeichen — in jeder Sprache
|
|
305
305
|
* oesterreichisch, wie die Betraege auf dem Blatt.
|
|
306
306
|
*/
|
|
307
|
-
export function
|
|
307
|
+
export function formatUnitPrice(unitPriceMicros) {
|
|
308
308
|
const negativ = unitPriceMicros < 0;
|
|
309
309
|
const betrag = Math.abs(unitPriceMicros);
|
|
310
310
|
const ganz = Math.trunc(betrag / 1_000_000);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Die Aufrufe der Rechnungs-API — Kunden, Rechnungen, Gutschriften, Dateien.
|
|
3
3
|
*
|
|
4
4
|
* Jede Funktion nimmt den Transport als ersten Parameter und ist einzeln
|
|
5
|
-
* importierbar; die Fassade [
|
|
5
|
+
* importierbar; die Fassade [createInvoiceApi] bindet ihn nur einmal.
|
|
6
6
|
*
|
|
7
7
|
* **Geprueft wird hier nichts Fachliches.** Die Anfrage geht unveraendert an
|
|
8
8
|
* das Backend, das sie gegen denselben Vertrag prueft (`vertrag.ts`) und einen
|
|
@@ -17,19 +17,19 @@
|
|
|
17
17
|
* der Aufruf `KasseneckValidationError` mit `scope:'response'`.
|
|
18
18
|
*/
|
|
19
19
|
import type { InternerBinaerTransport, InternerTransport } from '../client/aufrufe.js';
|
|
20
|
-
import type
|
|
21
|
-
import type { Brand, CancelInvoiceRequest, CancelResult, CreditNoteRequest, CreditNoteResult, Customer, CustomerInput, CustomerPage, CustomerSearch, InvoiceDetail, InvoiceListQuery, InvoicePage, InvoiceSetupStatus, IssueInvoiceRequest, IssueResult, PreviewResult, RecordPaymentRequest, RecordPaymentResult } from './typen.js';
|
|
22
|
-
export declare function createCustomer(
|
|
20
|
+
import { type EInvoiceFormat, type InvoiceLanguage } from './vertrag.js';
|
|
21
|
+
import type { Brand, CancelInvoiceRequest, CancelResult, CreditNoteRequest, CreditNoteResult, Customer, CustomerInput, CustomerPage, CustomerSearch, InvoiceDetail, InvoiceListQuery, InvoicePage, InvoiceSetupStatus, InvoiceXml, IssueInvoiceRequest, IssueResult, PreviewResult, RecordPaymentRequest, RecordPaymentResult } from './typen.js';
|
|
22
|
+
export declare function createCustomer(transport: InternerTransport, customer: CustomerInput, options?: {
|
|
23
23
|
idempotencyKey?: string;
|
|
24
24
|
}): Promise<Customer>;
|
|
25
|
-
export declare function getCustomer(
|
|
25
|
+
export declare function getCustomer(transport: InternerTransport, ref: {
|
|
26
26
|
customerId: string;
|
|
27
27
|
} | {
|
|
28
28
|
externalId: string;
|
|
29
29
|
}): Promise<Customer>;
|
|
30
|
-
export declare function updateCustomer(
|
|
31
|
-
export declare function searchCustomers(
|
|
32
|
-
export declare function issueInvoice(
|
|
30
|
+
export declare function updateCustomer(transport: InternerTransport, customerId: string, patch: Partial<CustomerInput>): Promise<Customer>;
|
|
31
|
+
export declare function searchCustomers(transport: InternerTransport, search: CustomerSearch): Promise<CustomerPage>;
|
|
32
|
+
export declare function issueInvoice(transport: InternerTransport, request: IssueInvoiceRequest): Promise<IssueResult>;
|
|
33
33
|
/**
|
|
34
34
|
* Probelauf von `issueInvoice`: dieselbe Anfrage wird geprueft und gerechnet
|
|
35
35
|
* wie beim Ausstellen, aber nichts festgeschrieben. Die Antwort nennt Summen,
|
|
@@ -40,28 +40,28 @@ export declare function issueInvoice(rufen: InternerTransport, anfrage: IssueInv
|
|
|
40
40
|
* danach unveraendert ausstellen. Verbindlich ist das Ausstellen — zwischen
|
|
41
41
|
* Probelauf und Ausstellen kann sich der Kunde oder das Konto aendern.
|
|
42
42
|
*/
|
|
43
|
-
export declare function previewInvoice(
|
|
44
|
-
export declare function cancelInvoice(
|
|
45
|
-
export declare function createCreditNote(
|
|
46
|
-
export declare function getInvoice(
|
|
43
|
+
export declare function previewInvoice(transport: InternerTransport, request: IssueInvoiceRequest): Promise<PreviewResult>;
|
|
44
|
+
export declare function cancelInvoice(transport: InternerTransport, request: CancelInvoiceRequest): Promise<CancelResult>;
|
|
45
|
+
export declare function createCreditNote(transport: InternerTransport, request: CreditNoteRequest): Promise<CreditNoteResult>;
|
|
46
|
+
export declare function getInvoice(transport: InternerTransport, ref: {
|
|
47
47
|
invoiceId: string;
|
|
48
48
|
} | {
|
|
49
49
|
number: string;
|
|
50
50
|
}): Promise<InvoiceDetail>;
|
|
51
|
-
export declare function listInvoices(
|
|
51
|
+
export declare function listInvoices(transport: InternerTransport, query?: InvoiceListQuery): Promise<InvoicePage>;
|
|
52
52
|
/**
|
|
53
53
|
* Darf dieses Konto ueber die API ausstellen, und was fehlt noch? Laeuft auch
|
|
54
54
|
* ohne Freigabe und vor der Live-Freischaltung — genau dann braucht man die
|
|
55
55
|
* Antwort. Vor dem ersten `issueInvoice` aufrufen und `missing` anzeigen.
|
|
56
56
|
*/
|
|
57
|
-
export declare function getInvoiceSetupStatus(
|
|
57
|
+
export declare function getInvoiceSetupStatus(transport: InternerTransport): Promise<InvoiceSetupStatus>;
|
|
58
58
|
/**
|
|
59
59
|
* Das PDF der Rechnung (bei Gutschriften: der Gutschrift), mit eingebetteter
|
|
60
60
|
* Factur-X-Datei. Mit `language` in der anderen Sprache als der Rechnung kommt
|
|
61
61
|
* eine **Uebersetzungskopie**: dieselbe Nummer, auf jeder Seite als Uebersetzung
|
|
62
62
|
* gekennzeichnet, ohne eingebettete E-Rechnung — keine eigene Rechnung.
|
|
63
63
|
*/
|
|
64
|
-
export declare function getInvoicePdf(
|
|
64
|
+
export declare function getInvoicePdf(binaryTransport: InternerBinaerTransport, invoiceId: string, options?: {
|
|
65
65
|
language?: InvoiceLanguage;
|
|
66
66
|
}): Promise<Uint8Array>;
|
|
67
67
|
/**
|
|
@@ -73,12 +73,14 @@ export declare function getInvoicePdf(rufenBinaer: InternerBinaerTransport, invo
|
|
|
73
73
|
* zusaetzlich `notice` — eine Barzahlung ist ein Barumsatz und braucht einen
|
|
74
74
|
* Beleg (§ 132a BAO), den dieser Vermerk nicht ersetzt.
|
|
75
75
|
*/
|
|
76
|
-
export declare function recordInvoicePayment(
|
|
76
|
+
export declare function recordInvoicePayment(transport: InternerTransport, request: RecordPaymentRequest): Promise<RecordPaymentResult>;
|
|
77
77
|
/** Die Marken des Kontos — die Kennung geht als `brandId` in `issueInvoice`. */
|
|
78
|
-
export declare function listBrands(
|
|
78
|
+
export declare function listBrands(transport: InternerTransport): Promise<Brand[]>;
|
|
79
79
|
/**
|
|
80
|
-
* Die E-Rechnung
|
|
81
|
-
* und nicht als rohe Datei: so
|
|
82
|
-
* (`einvoice_incomplete` mit `missing[]`) ein
|
|
80
|
+
* Die E-Rechnung samt Format und Dateiname, genau wie der Server sie schickt.
|
|
81
|
+
* Sie kommt im gewohnten Umschlag (`data.xml`) und nicht als rohe Datei: so
|
|
82
|
+
* bleibt ein fachlicher Fehler (`einvoice_incomplete` mit `missing[]`) ein
|
|
83
|
+
* gewoehnlicher Fehler. Den Dateinamen nicht selbst bauen, sondern
|
|
84
|
+
* `filename` nehmen (`invoice-<Nummer>.xml`).
|
|
83
85
|
*/
|
|
84
|
-
export declare function getInvoiceXml(
|
|
86
|
+
export declare function getInvoiceXml(transport: InternerTransport, invoiceId: string, format?: EInvoiceFormat): Promise<InvoiceXml>;
|