@kreiseck/kasseneck-api 0.17.0 → 0.19.0
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 +63 -0
- package/README.md +26 -0
- package/dist/cjs/client/aufrufe.d.ts +1 -1
- package/dist/cjs/client/aufrufe.js +1 -0
- package/dist/cjs/payments/hobex-hps/index.d.ts +1 -1
- package/dist/cjs/payments/hobex-hps/index.js +3 -1
- package/dist/cjs/payments/hobex-hps/payments.d.ts +11 -0
- package/dist/cjs/payments/hobex-hps/payments.js +73 -4
- package/dist/cjs/payments/hobex-hps/tecs-codes.d.ts +16 -0
- package/dist/cjs/payments/hobex-hps/tecs-codes.js +366 -0
- package/dist/cjs/payments/hobex-hps/transaction-response.d.ts +56 -8
- package/dist/cjs/payments/hobex-hps/transaction-response.js +135 -65
- package/dist/cjs/rechnung/api.d.ts +3 -1
- package/dist/cjs/rechnung/api.js +1 -0
- package/dist/cjs/rechnung/endpunkte.d.ts +11 -1
- package/dist/cjs/rechnung/endpunkte.js +22 -0
- package/dist/cjs/rechnung/index.d.ts +3 -3
- package/dist/cjs/rechnung/index.js +4 -1
- package/dist/cjs/rechnung/typen.d.ts +48 -1
- package/dist/cjs/rechnung/vertrag.d.ts +24 -2
- package/dist/cjs/rechnung/vertrag.js +43 -1
- package/dist/esm/client/aufrufe.d.ts +1 -1
- package/dist/esm/client/aufrufe.js +1 -0
- package/dist/esm/payments/hobex-hps/index.d.ts +1 -1
- package/dist/esm/payments/hobex-hps/index.js +1 -1
- package/dist/esm/payments/hobex-hps/payments.d.ts +11 -0
- package/dist/esm/payments/hobex-hps/payments.js +74 -5
- package/dist/esm/payments/hobex-hps/tecs-codes.d.ts +16 -0
- package/dist/esm/payments/hobex-hps/tecs-codes.js +363 -0
- package/dist/esm/payments/hobex-hps/transaction-response.d.ts +56 -8
- package/dist/esm/payments/hobex-hps/transaction-response.js +133 -65
- package/dist/esm/rechnung/api.d.ts +3 -1
- package/dist/esm/rechnung/api.js +2 -1
- package/dist/esm/rechnung/endpunkte.d.ts +11 -1
- package/dist/esm/rechnung/endpunkte.js +21 -0
- package/dist/esm/rechnung/index.d.ts +3 -3
- package/dist/esm/rechnung/index.js +2 -2
- package/dist/esm/rechnung/typen.d.ts +48 -1
- package/dist/esm/rechnung/vertrag.d.ts +24 -2
- package/dist/esm/rechnung/vertrag.js +42 -0
- package/fixtures/hobex-hps-codes.json +4075 -52
- package/fixtures/kasse-texte.json +1 -1
- package/fixtures/oberflaeche.json +16 -3
- package/fixtures/rechnung-api-beispiele/issue-bezahlt.json +32 -0
- package/fixtures/rechnung-api-beispiele/issue-fehler-zahlungsart.json +26 -0
- package/fixtures/rechnung-api-beispiele/zahlung-fehler-ohne-schluessel.json +14 -0
- package/fixtures/rechnung-api-beispiele/zahlung-nachtrag.json +14 -0
- package/fixtures/rechnung-api.schema.json +82 -2
- package/fixtures/rechnung-texte.json +1 -1
- package/package.json +1 -1
|
@@ -32,6 +32,7 @@ export const RECHNUNG_AUFRUFE = [
|
|
|
32
32
|
'getInvoiceXml',
|
|
33
33
|
'getInvoiceSetupStatus',
|
|
34
34
|
'listBrands',
|
|
35
|
+
'recordInvoicePayment',
|
|
35
36
|
];
|
|
36
37
|
/**
|
|
37
38
|
* Stabile Fehlercodes. Das Fremdsystem verzweigt am Code, der Text darf sich
|
|
@@ -57,6 +58,8 @@ export const INVOICE_ERROR_CODES = [
|
|
|
57
58
|
'invoice_setup_incomplete',
|
|
58
59
|
'language_not_allowed',
|
|
59
60
|
'brand_not_found',
|
|
61
|
+
'not_payable',
|
|
62
|
+
'payment_exceeds_invoice',
|
|
60
63
|
];
|
|
61
64
|
/** Gruende einer Gutschrift. Der Server druckt den deutschen Anzeigetext. */
|
|
62
65
|
export const CREDIT_NOTE_REASONS = [
|
|
@@ -80,6 +83,18 @@ export const EINVOICE_FORMATS = ['ubl', 'cii'];
|
|
|
80
83
|
* oesterreichisch formatiert.
|
|
81
84
|
*/
|
|
82
85
|
export const INVOICE_LANGUAGES = ['de', 'en'];
|
|
86
|
+
/**
|
|
87
|
+
* Wie eine Rechnung bezahlt wurde. Der Vermerk ist Buchhaltung, kein Beleg:
|
|
88
|
+
* `cash` wird gebucht, die Antwort traegt dann zusaetzlich den Hinweis
|
|
89
|
+
* `cash_receipt_required` — eine Barzahlung ist ein Barumsatz und braucht
|
|
90
|
+
* einen Beleg (§ 132a BAO), bei Registrierkassenpflicht ueber die Kasse.
|
|
91
|
+
*/
|
|
92
|
+
export const INVOICE_PAYMENT_METHODS = ['transfer', 'card', 'online', 'cash'];
|
|
93
|
+
/**
|
|
94
|
+
* Hinweise, die eine erfolgreiche Antwort zusaetzlich tragen kann (`data.notice`).
|
|
95
|
+
* Sie sind keine Fehler: der Aufruf hat gewirkt, es gibt nur etwas zu wissen.
|
|
96
|
+
*/
|
|
97
|
+
export const INVOICE_NOTICE_CODES = ['cash_receipt_required'];
|
|
83
98
|
/**
|
|
84
99
|
* Einheiten einer Position. Die API nimmt nur diese Schluessel an; gedruckt
|
|
85
100
|
* wird das Kuerzel in der Sprache der Rechnung (`RECHNUNG_TEXTE`,
|
|
@@ -261,6 +276,19 @@ export const POSITION_FELDER = Object.freeze({
|
|
|
261
276
|
discountPct: { typ: 'number', pflicht: false, min: 0, max: 100, nachkomma: 2 },
|
|
262
277
|
});
|
|
263
278
|
const positionen = { typ: 'list', pflicht: true, min: 1, max: 500, eintrag: { typ: 'object', pflicht: true, felder: POSITION_FELDER } };
|
|
279
|
+
/**
|
|
280
|
+
* Eine Zahlung zu einer Rechnung. Ohne `amountCents` gilt der volle
|
|
281
|
+
* Bruttobetrag, ohne `paidAt` der heutige Wiener Tag. `reference` ist die
|
|
282
|
+
* Zahlungskennung des Fremdsystems (z. B. `pi_3Q...`) — sie wird gespeichert,
|
|
283
|
+
* aber **nicht gedruckt**: die Rechnung wird aufbewahrt und vervielfaeltigt,
|
|
284
|
+
* und dem Empfaenger nuetzt sie nichts.
|
|
285
|
+
*/
|
|
286
|
+
export const PAYMENT_FELDER = Object.freeze({
|
|
287
|
+
method: { typ: 'enum', pflicht: true, werte: INVOICE_PAYMENT_METHODS },
|
|
288
|
+
amountCents: { typ: 'integer', pflicht: false, min: 1, max: 100_000_000 },
|
|
289
|
+
paidAt: datum(),
|
|
290
|
+
reference: text(100),
|
|
291
|
+
});
|
|
264
292
|
export const RECHNUNG_ANFRAGEN = Object.freeze({
|
|
265
293
|
createCustomer: {
|
|
266
294
|
customer: { typ: 'object', pflicht: true, felder: KUNDE_FELDER },
|
|
@@ -302,6 +330,12 @@ export const RECHNUNG_ANFRAGEN = Object.freeze({
|
|
|
302
330
|
language: { typ: 'enum', pflicht: false, werte: INVOICE_LANGUAGES },
|
|
303
331
|
/** Marke (Kennung aus `listBrands`); sonst die Standardmarke. */
|
|
304
332
|
brandId: id,
|
|
333
|
+
/**
|
|
334
|
+
* Schon bezahlt: die Zahlung entsteht in **derselben** Transaktion wie das
|
|
335
|
+
* Festschreiben. Sonst gaebe es einen Moment, in dem die Rechnung offen ist
|
|
336
|
+
* und ein sofort geholtes PDF Zahlungsinformationen traegt.
|
|
337
|
+
*/
|
|
338
|
+
payment: { typ: 'object', pflicht: false, felder: PAYMENT_FELDER },
|
|
305
339
|
},
|
|
306
340
|
cancelInvoice: {
|
|
307
341
|
idempotencyKey: idempotencyKey(true),
|
|
@@ -340,6 +374,14 @@ export const RECHNUNG_ANFRAGEN = Object.freeze({
|
|
|
340
374
|
},
|
|
341
375
|
getInvoiceSetupStatus: {},
|
|
342
376
|
listBrands: {},
|
|
377
|
+
recordInvoicePayment: {
|
|
378
|
+
idempotencyKey: idempotencyKey(true),
|
|
379
|
+
invoiceId: idPflicht,
|
|
380
|
+
method: { typ: 'enum', pflicht: true, werte: INVOICE_PAYMENT_METHODS },
|
|
381
|
+
amountCents: { typ: 'integer', pflicht: false, min: 1, max: 100_000_000 },
|
|
382
|
+
paidAt: datum(),
|
|
383
|
+
reference: text(100),
|
|
384
|
+
},
|
|
343
385
|
});
|
|
344
386
|
/** Genau eines dieser Felder muss gesetzt sein (je Aufruf, je Gruppe). */
|
|
345
387
|
export const RECHNUNG_GENAU_EINS = Object.freeze({
|