@kreiseck/kasseneck-api 1.8.0 → 1.10.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.
Files changed (85) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/client/api.d.ts +5 -3
  3. package/dist/cjs/client/api.js +1 -0
  4. package/dist/cjs/client/aufrufe.d.ts +2 -2
  5. package/dist/cjs/client/aufrufe.js +3 -0
  6. package/dist/cjs/client/errors.js +1 -0
  7. package/dist/cjs/client/index.d.ts +1 -1
  8. package/dist/cjs/client/index.js +2 -1
  9. package/dist/cjs/client/reports.d.ts +26 -0
  10. package/dist/cjs/client/reports.js +47 -0
  11. package/dist/cjs/index.d.ts +1 -1
  12. package/dist/cjs/index.js +2 -1
  13. package/dist/cjs/inventory/vertrag.d.ts +1 -1
  14. package/dist/cjs/inventory/vertrag.js +1 -0
  15. package/dist/cjs/invoice/index.d.ts +1 -1
  16. package/dist/cjs/invoice/typen.d.ts +12 -0
  17. package/dist/cjs/invoice/vertrag.d.ts +1 -1
  18. package/dist/cjs/invoice/vertrag.js +1 -0
  19. package/dist/cjs/models/cancellation.d.ts +1 -1
  20. package/dist/cjs/models/cancellation.js +1 -0
  21. package/dist/cjs/models/payment-errors.d.ts +1 -1
  22. package/dist/cjs/models/payment-errors.js +1 -0
  23. package/dist/cjs/models/receipt-email.d.ts +1 -1
  24. package/dist/cjs/models/receipt-email.js +1 -0
  25. package/dist/cjs/models/receipt-errors.d.ts +1 -1
  26. package/dist/cjs/models/receipt-errors.js +1 -0
  27. package/dist/cjs/pos/errors.d.ts +1 -1
  28. package/dist/cjs/pos/errors.js +1 -0
  29. package/dist/cjs/register/errors.d.ts +1 -1
  30. package/dist/cjs/register/errors.js +1 -0
  31. package/dist/cjs/stored/vokabular.d.ts +1 -1
  32. package/dist/cjs/stored/vokabular.js +1 -1
  33. package/dist/cjs/version.d.ts +1 -1
  34. package/dist/cjs/version.js +1 -1
  35. package/dist/esm/client/api.d.ts +5 -3
  36. package/dist/esm/client/api.js +2 -1
  37. package/dist/esm/client/aufrufe.d.ts +2 -2
  38. package/dist/esm/client/aufrufe.js +3 -0
  39. package/dist/esm/client/errors.js +1 -0
  40. package/dist/esm/client/index.d.ts +1 -1
  41. package/dist/esm/client/index.js +1 -1
  42. package/dist/esm/client/reports.d.ts +26 -0
  43. package/dist/esm/client/reports.js +46 -0
  44. package/dist/esm/index.d.ts +1 -1
  45. package/dist/esm/index.js +1 -1
  46. package/dist/esm/inventory/vertrag.d.ts +1 -1
  47. package/dist/esm/inventory/vertrag.js +1 -0
  48. package/dist/esm/invoice/index.d.ts +1 -1
  49. package/dist/esm/invoice/typen.d.ts +12 -0
  50. package/dist/esm/invoice/vertrag.d.ts +1 -1
  51. package/dist/esm/invoice/vertrag.js +1 -0
  52. package/dist/esm/models/cancellation.d.ts +1 -1
  53. package/dist/esm/models/cancellation.js +1 -0
  54. package/dist/esm/models/payment-errors.d.ts +1 -1
  55. package/dist/esm/models/payment-errors.js +1 -0
  56. package/dist/esm/models/receipt-email.d.ts +1 -1
  57. package/dist/esm/models/receipt-email.js +1 -0
  58. package/dist/esm/models/receipt-errors.d.ts +1 -1
  59. package/dist/esm/models/receipt-errors.js +1 -0
  60. package/dist/esm/pos/errors.d.ts +1 -1
  61. package/dist/esm/pos/errors.js +1 -0
  62. package/dist/esm/register/errors.d.ts +1 -1
  63. package/dist/esm/register/errors.js +1 -0
  64. package/dist/esm/stored/vokabular.d.ts +1 -1
  65. package/dist/esm/stored/vokabular.js +1 -1
  66. package/dist/esm/version.d.ts +1 -1
  67. package/dist/esm/version.js +1 -1
  68. package/fixtures/hobex-hps-codes.json +1 -1
  69. package/fixtures/invoice-api.schema.json +1 -1
  70. package/fixtures/invoice-texts.json +1 -1
  71. package/fixtures/pos-texts.json +1 -1
  72. package/fixtures/surface.json +7 -1
  73. package/fixtures/v3/antworten/belege.json +1 -1
  74. package/fixtures/v3/antworten/belegmail.json +1 -1
  75. package/fixtures/v3/antworten/kasse-belege.json +1 -1
  76. package/fixtures/v3/antworten/kasse.json +2 -2
  77. package/fixtures/v3/antworten/lager.json +1 -1
  78. package/fixtures/v3/antworten/rechnungen.json +14 -6
  79. package/fixtures/v3/antworten/storno.json +1 -1
  80. package/fixtures/v3/stored/belege.json +1 -1
  81. package/fixtures/v3/stored/kasse.json +2 -2
  82. package/fixtures/v3/stored/rechnungen.json +1 -1
  83. package/fixtures/v3/v3-vokabular.json +57 -2
  84. package/fixtures/v3/zahlbetrag-faelle.json +1 -1
  85. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@ Was vor 0.7.0 geschah, steht in der Commit-Historie (`git log`); ab hier wird
4
4
  es hier geführt. Ein Eintrag nennt die Änderung **und ihren Grund** —
5
5
  nur der Grund überlebt den nächsten Umbau.
6
6
 
7
+ ## 1.10.0
8
+
9
+ - New `getCashregisterReport(options)`: cash register report PDF (v2) for a closed month, a day up to today or a date range (`end` exclusive, max. 366 days). Reason: one successor for the monthly and daily report downloads, same rules as the customer panel.
10
+ - Deprecated `downloadMonthlyReport` and `downloadDailyReport`. Reason: the endpoints are deprecated; they keep working (closed periods now return the v2 report, the current month and today the previous layout).
11
+ - New error code `password_change_required` in the request error code lists. Reason: the backend /v3 contract already contains them since keck#638 (mandatory password change is rejected before the handler).
12
+ - `InvoiceVatIdProof` gains `afterSupplyDate` and `supplyDateProof` (new type `InvoiceSupplyDateProof`). Reason: the backend /v3 contract already contains them since keck#644 (proof relative to the date of supply).
13
+
7
14
  ## 1.8.0
8
15
 
9
16
  Stocktake (Lager-Kern stage 3): `./inventory` gains the twelve stocktake
@@ -2,7 +2,7 @@ import type { Cashregister, HobexReceipt, Receipt, ReportMonth, StripeUrlSession
2
2
  import { type CreateStripeLinkOptions, type StripeCaptureResult } from '../payments/stripe.js';
3
3
  import { type HobexPayOptions, type HobexRefundOptions } from '../payments/hobex.js';
4
4
  import { type TransportOptions } from './transport.js';
5
- import { type ReportV2, type ReportV2Options } from './reports.js';
5
+ import { type CashregisterReportPeriod, type ReportV2, type ReportV2Options } from './reports.js';
6
6
  import { type CashboxStatus, type SignatureStatus } from './status.js';
7
7
  import { type SendReceiptEmailOptions, type SendReceiptEmailResult, type ListMyReceiptsOptions, type ReceiptList, type ReceiptWithCompany, type SellReceiptOptions, type CancelReceiptOptions, type CancelReceiptResult } from './receipts.js';
8
8
  /**
@@ -54,9 +54,11 @@ export interface KasseneckApi {
54
54
  listMyCashregisters(): Promise<Cashregister[]>;
55
55
  /** Rohdaten eines Zeitraums: Belege und Firmendaten (`getReportV2`). */
56
56
  getReportV2(options: ReportV2Options): Promise<ReportV2>;
57
- /** Tagesbericht als PDF (Kalendertag nach Wiener Zeit). */
57
+ /** Kassenbericht als PDF (v2): abgeschlossener Monat, Tag oder Zeitraum (Endpunkt `getCashregisterReport`). */
58
+ getCashregisterReport(options: CashregisterReportPeriod): Promise<Uint8Array>;
59
+ /** @deprecated Since 1.10.0: use getCashregisterReport. Tagesbericht als PDF (Kalendertag nach Wiener Zeit). */
58
60
  downloadDailyReport(date: Date): Promise<Uint8Array>;
59
- /** Monatsbericht als PDF (Endpunkt `downloadReport`). */
61
+ /** @deprecated Since 1.10.0: use getCashregisterReport. Monatsbericht als PDF (Endpunkt `downloadReport`). */
60
62
  downloadMonthlyReport(reportMonth: ReportMonth): Promise<Uint8Array>;
61
63
  /** Betriebsstatus der Kasse bei FinanzOnline. */
62
64
  getCashboxStatus(): Promise<CashboxStatus>;
@@ -27,6 +27,7 @@ function createKasseneckApi(options) {
27
27
  sendReceiptEmail: (o) => (0, receipts_js_1.sendReceiptEmail)(rufen, o),
28
28
  listMyCashregisters: () => (0, cashregisters_js_1.listMyCashregisters)(rufen),
29
29
  getReportV2: (o) => (0, reports_js_1.getReportV2)(rufen, o),
30
+ getCashregisterReport: (options) => (0, reports_js_1.getCashregisterReport)(rufenBinaer, options),
30
31
  downloadDailyReport: (date) => (0, reports_js_1.downloadDailyReport)(rufenBinaer, date),
31
32
  downloadMonthlyReport: (reportMonth) => (0, reports_js_1.downloadMonthlyReport)(rufenBinaer, reportMonth),
32
33
  getCashboxStatus: () => (0, status_js_1.getCashboxStatus)(rufen),
@@ -13,7 +13,7 @@
13
13
  * umhuellt, muss ihn weiterhin absetzen koennen.
14
14
  */
15
15
  import type { PdfOrData, TransportBodyFields, TransportCallOptions } from './transport.js';
16
- export declare const ALL_CALLS: readonly ["activateCashregister", "cancelInvoice", "cancelReceipt", "createCreditNote", "createCustomer", "createCustomerCashregister", "createPartnerCustomer", "checkPartnerCustomerEmail", "createPartnerWebhook", "createPaymentLinkStripe", "createPrintJob", "createReceipt", "deletePartnerWebhook", "downloadDailyReport", "downloadReport", "endRegisterSession", "financeWebService", "generateFullReceiptId", "getCustomer", "getCustomerCredentials", "getCustomerSignatureStatus", "getFirstReceiptDate", "getInvoice", "getInvoicePdf", "getInvoiceSetupStatus", "getInvoiceXml", "getKasseSettings", "getPartnerCustomer", "getPartnerInfo", "getPrintJob", "getReceipt", "getReportV2", "hobexPayApi", "hobexRefundApi", "issueInvoice", "listCustomerCashregisters", "listInvoices", "listBrands", "listMyArticleGroups", "listMyArticles", "listMyCashregisters", "listMyPrinters", "listMyReceipts", "listMyStock", "listMyStockLocations", "listMyTipRecipients", "listPartnerCustomers", "listPartnerWebhookDeliveries", "listPartnerWebhooks", "listRegisterUsersForDevice", "listRegisterSessionsForDevice", "pairRegisterDevice", "recordInvoicePayment", "registerPinLogin", "registerUserLogin", "renewRegisterSession", "reportCustomerContract", "requestCustomerSignature", "searchCustomers", "sendPartnerCustomerFonLink", "sendPartnerWebhookTest", "sendReceiptEmail", "setMyCashregisterStockLocation", "setMyKasseLogo", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "unpairRegisterDevice", "rotatePartnerWebhookSecret", "updateCustomer", "updatePartnerWebhook", "getArticle", "listArticles", "lookupArticleByCode", "listLocations", "getStock", "listStock", "listStockMovements", "createWebhook", "updateWebhook", "deleteWebhook", "listWebhooks", "sendWebhookTest", "rotateWebhookSecret", "listWebhookDeliveries", "createArticle", "updateArticle", "deactivateArticle", "receiveGoods", "transferStock", "recordStockLoss", "changeStockCondition", "reverseStockMovement", "createReservation", "extendReservation", "releaseReservation", "getReservation", "listReservations", "createVariantGroup", "updateVariantGroup", "getVariantGroup", "listVariantGroups", "addVariant", "createStocktake", "listStocktakes", "getStocktake", "listStocktakeItems", "recordStocktakeCount", "voidStocktakeCount", "listStocktakeCounts", "reviewStocktake", "recountStocktake", "closeStocktake", "cancelStocktake", "getStocktakePdf", "listMyStocktakes", "listMyStocktakeItems", "listMyStocktakeCounts", "recordMyStocktakeCount", "voidMyStocktakeCount"];
16
+ export declare const ALL_CALLS: readonly ["activateCashregister", "cancelInvoice", "cancelReceipt", "createCreditNote", "createCustomer", "createCustomerCashregister", "createPartnerCustomer", "checkPartnerCustomerEmail", "createPartnerWebhook", "createPaymentLinkStripe", "createPrintJob", "createReceipt", "deletePartnerWebhook", "downloadDailyReport", "downloadReport", "endRegisterSession", "financeWebService", "generateFullReceiptId", "getCashregisterReport", "getCustomer", "getCustomerCredentials", "getCustomerSignatureStatus", "getFirstReceiptDate", "getInvoice", "getInvoicePdf", "getInvoiceSetupStatus", "getInvoiceXml", "getKasseSettings", "getPartnerCustomer", "getPartnerInfo", "getPrintJob", "getReceipt", "getReportV2", "hobexPayApi", "hobexRefundApi", "issueInvoice", "listCustomerCashregisters", "listInvoices", "listBrands", "listMyArticleGroups", "listMyArticles", "listMyCashregisters", "listMyPrinters", "listMyReceipts", "listMyStock", "listMyStockLocations", "listMyTipRecipients", "listPartnerCustomers", "listPartnerWebhookDeliveries", "listPartnerWebhooks", "listRegisterUsersForDevice", "listRegisterSessionsForDevice", "pairRegisterDevice", "recordInvoicePayment", "registerPinLogin", "registerUserLogin", "renewRegisterSession", "reportCustomerContract", "requestCustomerSignature", "searchCustomers", "sendPartnerCustomerFonLink", "sendPartnerWebhookTest", "sendReceiptEmail", "setMyCashregisterStockLocation", "setMyKasseLogo", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "unpairRegisterDevice", "rotatePartnerWebhookSecret", "updateCustomer", "updatePartnerWebhook", "getArticle", "listArticles", "lookupArticleByCode", "listLocations", "getStock", "listStock", "listStockMovements", "createWebhook", "updateWebhook", "deleteWebhook", "listWebhooks", "sendWebhookTest", "rotateWebhookSecret", "listWebhookDeliveries", "createArticle", "updateArticle", "deactivateArticle", "receiveGoods", "transferStock", "recordStockLoss", "changeStockCondition", "reverseStockMovement", "createReservation", "extendReservation", "releaseReservation", "getReservation", "listReservations", "createVariantGroup", "updateVariantGroup", "getVariantGroup", "listVariantGroups", "addVariant", "createStocktake", "listStocktakes", "getStocktake", "listStocktakeItems", "recordStocktakeCount", "voidStocktakeCount", "listStocktakeCounts", "reviewStocktake", "recountStocktake", "closeStocktake", "cancelStocktake", "getStocktakePdf", "listMyStocktakes", "listMyStocktakeItems", "listMyStocktakeCounts", "recordMyStocktakeCount", "voidMyStocktakeCount"];
17
17
  export type ApiCall = typeof ALL_CALLS[number];
18
18
  /**
19
19
  * Die oeffentlichen Endpunkte unter `/v3` (`https://api.kasseneck.at/v3/<name>`),
@@ -21,7 +21,7 @@ export type ApiCall = typeof ALL_CALLS[number];
21
21
  * (`fixtures/v3/v3-vokabular.json`, `endpoints.public`, umbenannt nach
22
22
  * `names`). Ein Test haelt beide Listen deckungsgleich.
23
23
  */
24
- export declare const PUBLIC_CALLS: readonly ["createReceipt", "getReceipt", "cancelReceipt", "sendReceiptEmail", "generateFullReceiptId", "downloadReceipt", "getFirstReceiptDate", "getReportV2", "downloadReport", "downloadDailyReport", "createPaymentLinkStripe", "stripeCaptureIntent", "hobexPayApi", "hobexRefundApi", "hobexGetStatus", "financeWebService", "listMyTipRecipients", "getPartnerInfo", "createPartnerCustomer", "checkPartnerCustomerEmail", "listPartnerCustomers", "getPartnerCustomer", "sendPartnerCustomerFonLink", "createPartnerWebhook", "updatePartnerWebhook", "deletePartnerWebhook", "listPartnerWebhooks", "sendPartnerWebhookTest", "rotatePartnerWebhookSecret", "listPartnerWebhookDeliveries", "requestCustomerSignature", "getCustomerSignatureStatus", "createCustomerCashregister", "activateCashregister", "listCustomerCashregisters", "getCustomerCredentials", "reportCustomerContract", "getPartnerBilling", "getPartnerBillingMonth", "createCustomer", "getCustomer", "updateCustomer", "searchCustomers", "issueInvoice", "cancelInvoice", "createCreditNote", "getInvoice", "listInvoices", "getInvoicePdf", "getInvoiceXml", "getInvoiceSetupStatus", "listBrands", "recordInvoicePayment", "createInvoiceItem", "updateInvoiceItem", "withdrawInvoiceItem", "getInvoiceItem", "listInvoiceItems", "setCustomerMandate", "revokeCustomerMandate", "getArticle", "listArticles", "lookupArticleByCode", "listLocations", "getStock", "listStock", "listStockMovements", "createWebhook", "updateWebhook", "deleteWebhook", "listWebhooks", "sendWebhookTest", "rotateWebhookSecret", "listWebhookDeliveries", "createArticle", "updateArticle", "deactivateArticle", "receiveGoods", "transferStock", "recordStockLoss", "changeStockCondition", "reverseStockMovement", "createReservation", "extendReservation", "releaseReservation", "getReservation", "listReservations", "createVariantGroup", "updateVariantGroup", "getVariantGroup", "listVariantGroups", "addVariant", "createStocktake", "listStocktakes", "getStocktake", "listStocktakeItems", "recordStocktakeCount", "voidStocktakeCount", "listStocktakeCounts", "reviewStocktake", "recountStocktake", "closeStocktake", "cancelStocktake", "getStocktakePdf"];
24
+ export declare const PUBLIC_CALLS: readonly ["createReceipt", "getReceipt", "cancelReceipt", "sendReceiptEmail", "generateFullReceiptId", "downloadReceipt", "getFirstReceiptDate", "getReportV2", "downloadReport", "downloadDailyReport", "getCashregisterReport", "createPaymentLinkStripe", "stripeCaptureIntent", "hobexPayApi", "hobexRefundApi", "hobexGetStatus", "financeWebService", "listMyTipRecipients", "getPartnerInfo", "createPartnerCustomer", "checkPartnerCustomerEmail", "listPartnerCustomers", "getPartnerCustomer", "sendPartnerCustomerFonLink", "createPartnerWebhook", "updatePartnerWebhook", "deletePartnerWebhook", "listPartnerWebhooks", "sendPartnerWebhookTest", "rotatePartnerWebhookSecret", "listPartnerWebhookDeliveries", "requestCustomerSignature", "getCustomerSignatureStatus", "createCustomerCashregister", "activateCashregister", "listCustomerCashregisters", "getCustomerCredentials", "reportCustomerContract", "getPartnerBilling", "getPartnerBillingMonth", "createCustomer", "getCustomer", "updateCustomer", "searchCustomers", "issueInvoice", "cancelInvoice", "createCreditNote", "getInvoice", "listInvoices", "getInvoicePdf", "getInvoiceXml", "getInvoiceSetupStatus", "listBrands", "recordInvoicePayment", "createInvoiceItem", "updateInvoiceItem", "withdrawInvoiceItem", "getInvoiceItem", "listInvoiceItems", "setCustomerMandate", "revokeCustomerMandate", "getArticle", "listArticles", "lookupArticleByCode", "listLocations", "getStock", "listStock", "listStockMovements", "createWebhook", "updateWebhook", "deleteWebhook", "listWebhooks", "sendWebhookTest", "rotateWebhookSecret", "listWebhookDeliveries", "createArticle", "updateArticle", "deactivateArticle", "receiveGoods", "transferStock", "recordStockLoss", "changeStockCondition", "reverseStockMovement", "createReservation", "extendReservation", "releaseReservation", "getReservation", "listReservations", "createVariantGroup", "updateVariantGroup", "getVariantGroup", "listVariantGroups", "addVariant", "createStocktake", "listStocktakes", "getStocktake", "listStocktakeItems", "recordStocktakeCount", "voidStocktakeCount", "listStocktakeCounts", "reviewStocktake", "recountStocktake", "closeStocktake", "cancelStocktake", "getStocktakePdf"];
25
25
  /**
26
26
  * Die Endpunkte des Kassenwegs (`https://kasse.kasseneck.at/api/v3/<name>`,
27
27
  * Web-Kasse: gleicher Ursprung `/api/v3`), in der Reihenfolge von
@@ -23,6 +23,7 @@ exports.ALL_CALLS = [
23
23
  'endRegisterSession',
24
24
  'financeWebService',
25
25
  'generateFullReceiptId',
26
+ 'getCashregisterReport',
26
27
  'getCustomer',
27
28
  'getCustomerCredentials',
28
29
  'getCustomerSignatureStatus',
@@ -148,6 +149,7 @@ exports.PUBLIC_CALLS = [
148
149
  'getReportV2',
149
150
  'downloadReport',
150
151
  'downloadDailyReport',
152
+ 'getCashregisterReport',
151
153
  'createPaymentLinkStripe',
152
154
  'stripeCaptureIntent',
153
155
  'hobexPayApi',
@@ -409,6 +411,7 @@ exports.CALLS_WITHOUT_EFFECT = Object.freeze({
409
411
  createPaymentLinkStripe: 'repeatable',
410
412
  endRegisterSession: 'repeatable',
411
413
  generateFullReceiptId: 'read',
414
+ getCashregisterReport: 'read',
412
415
  getArticle: 'read',
413
416
  getCustomer: 'read',
414
417
  getCustomerCredentials: 'read',
@@ -283,6 +283,7 @@ exports.PAYMENT_CALL_REJECTED_CODES = Object.freeze([
283
283
  'app_check_missing', // Admin-App ohne bzw. mit ungueltigem App Check: vor dem Handler abgewiesen
284
284
  'app_check_invalid',
285
285
  'unauthorized',
286
+ 'password_change_required', // Pflichtwechsel des Passworts offen: vor dem Handler abgewiesen
286
287
  'mfa_required',
287
288
  'user_verification_failed',
288
289
  'admin_required',
@@ -4,6 +4,6 @@ export { ALL_CALLS, type ApiCall, PUBLIC_CALLS, POS_CALLS, UNKNOWN_OUTCOME_CALLS
4
4
  export { KasseneckApiError, KasseneckAuthError, KasseneckHttpError, KasseneckNetworkError, KasseneckValidationError, type ValidationScope, type KasseneckError, type HttpFailureReason, type CauseDigest, type ErrorOutcome, CLIENT_ERROR_CODES, type ClientErrorCode, isKasseneckApiError, isKasseneckAuthError, isKasseneckHttpError, isKasseneckNetworkError, isKasseneckValidationError, isOutcomeUnknown, } from './errors.js';
5
5
  export { type ReceiptCommonOptions, type SellReceiptOptions, type TipOptions, type TipRecipientShare, type CancelReceiptOptions, type ReceiptWithCompany, sellReceipt, sellReceiptWithCompany, paymentsExpectedCents, cardRefundReference, receiptLayoutFromResult, cancelReceipt, type CancelReceiptResult, zeroReceipt, getReceipt, getReceiptWithCompany, generateFullReceiptId, getFirstReceiptDate, listMyReceipts, type ListMyReceiptsOptions, type ReceiptList, type ReceiptListStats, checkVoucherCombinationError, type SendReceiptEmailOptions, type SendReceiptEmailResult, sendReceiptEmail, } from './receipts.js';
6
6
  export { listMyCashregisters } from './cashregisters.js';
7
- export { downloadDailyReport, downloadMonthlyReport, getReportV2, type ReportV2, type ReportV2Metadata, type ReportV2Options } from './reports.js';
7
+ export { downloadDailyReport, downloadMonthlyReport, getCashregisterReport, getReportV2, type CashregisterReportPeriod, type ReportV2, type ReportV2Metadata, type ReportV2Options } from './reports.js';
8
8
  export { type CashboxStatus, type SignatureStatus, getCashboxStatus, getSignatureStatus, } from './status.js';
9
9
  export { type KasseneckApi, createKasseneckApi } from './api.js';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.getReportV2 = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.listMyCashregisters = exports.sendReceiptEmail = exports.checkVoucherCombinationError = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = exports.getReceipt = exports.zeroReceipt = exports.cancelReceipt = exports.receiptLayoutFromResult = exports.cardRefundReference = exports.paymentsExpectedCents = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isOutcomeUnknown = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.CLIENT_ERROR_CODES = exports.KasseneckValidationError = exports.KasseneckNetworkError = exports.KasseneckHttpError = exports.KasseneckAuthError = exports.KasseneckApiError = exports.UNKNOWN_OUTCOME_CALLS = exports.POS_CALLS = exports.PUBLIC_CALLS = exports.ALL_CALLS = exports.createPdfOrDataTransport = exports.createBinaryTransport = exports.createTransport = exports.DEFAULT_TIMEOUT_MS = exports.POS_BASE_URL = exports.DEFAULT_BASE_URL = exports.registerUserAuth = exports.apiKeyAuth = void 0;
3
+ exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.getReportV2 = exports.getCashregisterReport = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.listMyCashregisters = exports.sendReceiptEmail = exports.checkVoucherCombinationError = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = exports.getReceipt = exports.zeroReceipt = exports.cancelReceipt = exports.receiptLayoutFromResult = exports.cardRefundReference = exports.paymentsExpectedCents = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isOutcomeUnknown = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.CLIENT_ERROR_CODES = exports.KasseneckValidationError = exports.KasseneckNetworkError = exports.KasseneckHttpError = exports.KasseneckAuthError = exports.KasseneckApiError = exports.UNKNOWN_OUTCOME_CALLS = exports.POS_CALLS = exports.PUBLIC_CALLS = exports.ALL_CALLS = exports.createPdfOrDataTransport = exports.createBinaryTransport = exports.createTransport = exports.DEFAULT_TIMEOUT_MS = exports.POS_BASE_URL = exports.DEFAULT_BASE_URL = exports.registerUserAuth = exports.apiKeyAuth = void 0;
4
4
  var auth_js_1 = require("./auth.js");
5
5
  Object.defineProperty(exports, "apiKeyAuth", { enumerable: true, get: function () { return auth_js_1.apiKeyAuth; } });
6
6
  Object.defineProperty(exports, "registerUserAuth", { enumerable: true, get: function () { return auth_js_1.registerUserAuth; } });
@@ -49,6 +49,7 @@ Object.defineProperty(exports, "listMyCashregisters", { enumerable: true, get: f
49
49
  var reports_js_1 = require("./reports.js");
50
50
  Object.defineProperty(exports, "downloadDailyReport", { enumerable: true, get: function () { return reports_js_1.downloadDailyReport; } });
51
51
  Object.defineProperty(exports, "downloadMonthlyReport", { enumerable: true, get: function () { return reports_js_1.downloadMonthlyReport; } });
52
+ Object.defineProperty(exports, "getCashregisterReport", { enumerable: true, get: function () { return reports_js_1.getCashregisterReport; } });
52
53
  Object.defineProperty(exports, "getReportV2", { enumerable: true, get: function () { return reports_js_1.getReportV2; } });
53
54
  var status_js_1 = require("./status.js");
54
55
  Object.defineProperty(exports, "getCashboxStatus", { enumerable: true, get: function () { return status_js_1.getCashboxStatus; } });
@@ -28,6 +28,9 @@ import type { InternerBinaerTransport, InternerTransport } from './aufrufe.js';
28
28
  * `getDate()`/`getMonth()` wuerden auf einer UTC-Maschine den Bericht des
29
29
  * Vortags holen (das Dart-Vorbild nimmt hier die Geraetezeit, was auf einer
30
30
  * oesterreichischen Kasse zufaellig stimmt).
31
+ *
32
+ * @deprecated Since 1.10.0: use getCashregisterReport(...). The old endpoint keeps working
33
+ * (closed periods as v2, current month / today as before) until it is switched off.
31
34
  */
32
35
  export declare function downloadDailyReport(transport: InternerBinaerTransport, date: Date): Promise<Uint8Array>;
33
36
  /**
@@ -39,8 +42,31 @@ export declare function downloadDailyReport(transport: InternerBinaerTransport,
39
42
  *
40
43
  * `month` geht als **Zahl 1-12** raus (im Flutter-Paket `reportMonth.month.id`,
41
44
  * wo `KeckMonth.january.id === 1` ist) — kein Name, kein nullbasierter Index.
45
+ *
46
+ * @deprecated Since 1.10.0: use getCashregisterReport(...). The old endpoint keeps working
47
+ * (closed periods as v2, current month / today as before) until it is switched off.
42
48
  */
43
49
  export declare function downloadMonthlyReport(transport: InternerBinaerTransport, reportMonth: ReportMonth): Promise<Uint8Array>;
50
+ /** Zeitraum fuer [getCashregisterReport]: genau eine der drei Formen. */
51
+ export type CashregisterReportPeriod = {
52
+ year: number;
53
+ month: number;
54
+ } | {
55
+ year: number;
56
+ month: number;
57
+ day: number;
58
+ } | {
59
+ start: string;
60
+ end: string;
61
+ };
62
+ /**
63
+ * Kassenbericht als PDF (v2) fuer einen abgeschlossenen Monat, einen Tag bis
64
+ * heute oder einen Zeitraum (`end` ausschliesslich, hoechstens 366 Tage).
65
+ * Laufender Monat und Zukunft liefern die Fehler `period_not_closed` bzw.
66
+ * `period_in_future`. Nachfolger von [downloadMonthlyReport] und
67
+ * [downloadDailyReport].
68
+ */
69
+ export declare function getCashregisterReport(transport: InternerBinaerTransport, options: CashregisterReportPeriod): Promise<Uint8Array>;
44
70
  /** Zeitfenster von [getReportV2]: Wiener Wanduhr, `YYYY-MM-DD` oder voller Zeitstempel, `end` ausschliesslich. */
45
71
  export interface ReportV2Options {
46
72
  start: string;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.downloadDailyReport = downloadDailyReport;
4
4
  exports.downloadMonthlyReport = downloadMonthlyReport;
5
+ exports.getCashregisterReport = getCashregisterReport;
5
6
  exports.getReportV2 = getReportV2;
6
7
  const index_js_1 = require("../models/index.js");
7
8
  const vienna_time_js_1 = require("../vienna-time.js");
@@ -34,6 +35,9 @@ const errors_js_1 = require("./errors.js");
34
35
  * `getDate()`/`getMonth()` wuerden auf einer UTC-Maschine den Bericht des
35
36
  * Vortags holen (das Dart-Vorbild nimmt hier die Geraetezeit, was auf einer
36
37
  * oesterreichischen Kasse zufaellig stimmt).
38
+ *
39
+ * @deprecated Since 1.10.0: use getCashregisterReport(...). The old endpoint keeps working
40
+ * (closed periods as v2, current month / today as before) until it is switched off.
37
41
  */
38
42
  // `async`, damit auch die Eingabepruefung als abgelehntes Versprechen ankommt
39
43
  // und nicht als synchroner Wurf am `await` des Aufrufers vorbei.
@@ -58,6 +62,9 @@ async function downloadDailyReport(transport, date) {
58
62
  *
59
63
  * `month` geht als **Zahl 1-12** raus (im Flutter-Paket `reportMonth.month.id`,
60
64
  * wo `KeckMonth.january.id === 1` ist) — kein Name, kein nullbasierter Index.
65
+ *
66
+ * @deprecated Since 1.10.0: use getCashregisterReport(...). The old endpoint keeps working
67
+ * (closed periods as v2, current month / today as before) until it is switched off.
61
68
  */
62
69
  async function downloadMonthlyReport(transport, reportMonth) {
63
70
  const { month, year } = reportMonth;
@@ -69,6 +76,46 @@ async function downloadMonthlyReport(transport, reportMonth) {
69
76
  }
70
77
  return transport('downloadReport', { month, year });
71
78
  }
79
+ /**
80
+ * Kassenbericht als PDF (v2) fuer einen abgeschlossenen Monat, einen Tag bis
81
+ * heute oder einen Zeitraum (`end` ausschliesslich, hoechstens 366 Tage).
82
+ * Laufender Monat und Zukunft liefern die Fehler `period_not_closed` bzw.
83
+ * `period_in_future`. Nachfolger von [downloadMonthlyReport] und
84
+ * [downloadDailyReport].
85
+ */
86
+ async function getCashregisterReport(transport, options) {
87
+ // Genau eine Form; Misch- und Teilformen werfen vor dem Transport (wie im Dart-Paket).
88
+ const o = options;
89
+ const da = (k) => o[k] !== undefined && o[k] !== null;
90
+ const felder = ['year', 'month', 'day', 'start', 'end'].filter(da).sort().join(',');
91
+ if (felder !== 'month,year' && felder !== 'day,month,year' && felder !== 'end,start') {
92
+ throw eingabefehler('getCashregisterReport', 'genau eine Form angeben: year+month, year+month+day oder start+end');
93
+ }
94
+ if (felder === 'end,start') {
95
+ const { start, end } = options;
96
+ for (const [feld, wert] of [['start', start], ['end', end]]) {
97
+ if (typeof wert !== 'string' || !/^\d{4}-\d{2}-\d{2}$/.test(wert)) {
98
+ throw eingabefehler('getCashregisterReport', `${feld} muss YYYY-MM-DD sein, war "${String(wert)}"`);
99
+ }
100
+ }
101
+ return transport('getCashregisterReport', { start, end });
102
+ }
103
+ const { year, month } = options;
104
+ if (!Number.isInteger(month) || month < 1 || month > 12) {
105
+ throw eingabefehler('getCashregisterReport', `month muss 1-12 sein, war "${month}"`);
106
+ }
107
+ if (!Number.isInteger(year)) {
108
+ throw eingabefehler('getCashregisterReport', `year muss eine ganze Zahl sein, war "${year}"`);
109
+ }
110
+ if ('day' in options) {
111
+ const day = options.day;
112
+ if (!Number.isInteger(day) || day < 1 || day > 31) {
113
+ throw eingabefehler('getCashregisterReport', `day muss 1-31 sein, war "${day}"`);
114
+ }
115
+ return transport('getCashregisterReport', { year, month, day });
116
+ }
117
+ return transport('getCashregisterReport', { year, month });
118
+ }
72
119
  /**
73
120
  * Rohdaten eines Zeitraums (`getReportV2`): alle Belege der Kasse und die
74
121
  * Firmendaten fuer Kopf und Fuss. Der Server vergleicht die Zeitstempel als
@@ -1,6 +1,6 @@
1
1
  export { ReceiptType, type ReceiptTypeKey, VatRate, type VatRateKey, KeckPaymentMethod, type KeckPaymentMethodKey, CreditCardProvider, type CreditCardProviderKey, VoucherType, type VoucherTypeKey, VoucherAction, type VoucherActionKey, StripeLinkMode, type StripeLinkModeKey, } from './enums/index.js';
2
2
  export { type ReceiptItem, type ReceiptItemPayload, type ReceiptItemPayloadRead, toReceiptItemPayload, fromReceiptItemPayload, receiptItemTotalCents, receiptItemIsValid, negateReceiptItem, type TipRecipient, isTipItem, type Voucher, type VoucherPayload, toVoucherPayload, fromVoucherPayload, voucherIsValid, type Receipt, type RegistrationInfo, type ReceiptPayload, type ReceiptPayloadRead, toReceiptPayload, fromReceiptPayload, receiptSubSumCents, receiptSumCents, type CancellationOf, type CancellationItem, type Cancellation, type CancellationReason, type CancellationErrorCode, type CancellationStatus, type ReturnDisposition, RETURN_DISPOSITIONS, CANCELLATION_REASONS, CANCELLATION_STATUSES, CANCELLATION_ERROR_CODES, CANCELLATION_RESERVATION_MS, isCancellationReason, isReturnDisposition, isCancellationErrorCode, cancellationErrorCode, isCancellationError, cancellationFieldErrors, type CancellationFieldError, type ReceiptPayment, type ReceiptPaymentPayload, type ReceiptPaymentInput, fromReceiptPaymentPayload, toReceiptPaymentPayload, type PaymentErrorCode, PAYMENT_ERROR_CODES, isPaymentErrorCode, paymentErrorCode, isPaymentError, paymentFieldErrors, type PaymentFieldError, type ReceiptEmailErrorCode, type ReceiptEmailVia, RECEIPT_EMAIL_ERROR_CODES, RECEIPT_EMAIL_SEND_ERROR_CODES, type ReceiptEmailSendErrorCode, RECEIPT_EMAIL_VIAS, isReceiptEmailErrorCode, receiptEmailErrorCode, isReceiptEmailError, receiptEmailFieldErrors, type ReceiptEmailFieldError, type ReceiptErrorCode, type ReceiptFieldError, RECEIPT_ERROR_CODES, isReceiptErrorCode, receiptErrorCode, isReceiptError, receiptFieldErrors, remainingQuantities, type ReceiptCompany, type ReceiptCompanyPayload, fromReceiptCompanyPayload, receiptCompanyTaxInfo, type Cashregister, type CashregisterOnboarding, type CashregisterPayload, type CashregisterOnboardingPayload, type CashregisterAutoLogout, type CashregisterAutoLogoutPayload, fromCashregisterPayload, type ReceiptSummary, type ReceiptSummaryPayload, fromReceiptSummaryPayload, type ZeroKind, ZERO_KINDS, isZeroKind, type ReportMonth, reportMonthFromDate, previousReportMonth, nextReportMonth, reportMonthKey, reportMonthReadable, type StripeUrlSession, type StripeUrlSessionPayload, toStripeUrlSessionPayload, fromStripeUrlSessionPayload, type HobexReceipt, type HobexReceiptPayload, toHobexReceiptPayload, fromHobexReceiptPayload, hobexReceiptToCardPaymentData, hobexReceiptNeedsSignature, } from './models/index.js';
3
- export { type AuthCredentials, type KasseneckAuth, type ApiKeyAuthOptions, type RegisterUserAuthOptions, apiKeyAuth, registerUserAuth, DEFAULT_BASE_URL, POS_BASE_URL, DEFAULT_TIMEOUT_MS, type HttpResponseLike, type HttpRequestInit, type FetchLike, type TransportOptions, type TransportBodyFields, type TransportCallOptions, type KasseneckTransport, type KasseneckBinaryTransport, type KasseneckPdfOrDataTransport, type PdfOrData, ALL_CALLS, type ApiCall, PUBLIC_CALLS, POS_CALLS, UNKNOWN_OUTCOME_CALLS, type PublicCall, type PosCall, createTransport, createBinaryTransport, createPdfOrDataTransport, KasseneckApiError, KasseneckAuthError, KasseneckHttpError, KasseneckNetworkError, KasseneckValidationError, type ValidationScope, type KasseneckError, type HttpFailureReason, type CauseDigest, type ErrorOutcome, CLIENT_ERROR_CODES, type ClientErrorCode, isKasseneckApiError, isKasseneckAuthError, isKasseneckHttpError, isKasseneckNetworkError, isKasseneckValidationError, isOutcomeUnknown, type ReceiptCommonOptions, type SellReceiptOptions, type TipOptions, type TipRecipientShare, type CancelReceiptOptions, type CancelReceiptResult, type ReceiptWithCompany, sellReceipt, sellReceiptWithCompany, paymentsExpectedCents, cardRefundReference, receiptLayoutFromResult, cancelReceipt, zeroReceipt, getReceipt, getReceiptWithCompany, generateFullReceiptId, getFirstReceiptDate, listMyReceipts, type ListMyReceiptsOptions, type ReceiptList, type ReceiptListStats, listMyCashregisters, checkVoucherCombinationError, type SendReceiptEmailOptions, type SendReceiptEmailResult, sendReceiptEmail, downloadDailyReport, downloadMonthlyReport, getReportV2, type ReportV2, type ReportV2Metadata, type ReportV2Options, type CashboxStatus, type SignatureStatus, getCashboxStatus, getSignatureStatus, type KasseneckApi, createKasseneckApi, } from './client/index.js';
3
+ export { type AuthCredentials, type KasseneckAuth, type ApiKeyAuthOptions, type RegisterUserAuthOptions, apiKeyAuth, registerUserAuth, DEFAULT_BASE_URL, POS_BASE_URL, DEFAULT_TIMEOUT_MS, type HttpResponseLike, type HttpRequestInit, type FetchLike, type TransportOptions, type TransportBodyFields, type TransportCallOptions, type KasseneckTransport, type KasseneckBinaryTransport, type KasseneckPdfOrDataTransport, type PdfOrData, ALL_CALLS, type ApiCall, PUBLIC_CALLS, POS_CALLS, UNKNOWN_OUTCOME_CALLS, type PublicCall, type PosCall, createTransport, createBinaryTransport, createPdfOrDataTransport, KasseneckApiError, KasseneckAuthError, KasseneckHttpError, KasseneckNetworkError, KasseneckValidationError, type ValidationScope, type KasseneckError, type HttpFailureReason, type CauseDigest, type ErrorOutcome, CLIENT_ERROR_CODES, type ClientErrorCode, isKasseneckApiError, isKasseneckAuthError, isKasseneckHttpError, isKasseneckNetworkError, isKasseneckValidationError, isOutcomeUnknown, type ReceiptCommonOptions, type SellReceiptOptions, type TipOptions, type TipRecipientShare, type CancelReceiptOptions, type CancelReceiptResult, type ReceiptWithCompany, sellReceipt, sellReceiptWithCompany, paymentsExpectedCents, cardRefundReference, receiptLayoutFromResult, cancelReceipt, zeroReceipt, getReceipt, getReceiptWithCompany, generateFullReceiptId, getFirstReceiptDate, listMyReceipts, type ListMyReceiptsOptions, type ReceiptList, type ReceiptListStats, listMyCashregisters, checkVoucherCombinationError, type SendReceiptEmailOptions, type SendReceiptEmailResult, sendReceiptEmail, downloadDailyReport, downloadMonthlyReport, getCashregisterReport, type CashregisterReportPeriod, getReportV2, type ReportV2, type ReportV2Metadata, type ReportV2Options, type CashboxStatus, type SignatureStatus, getCashboxStatus, getSignatureStatus, type KasseneckApi, createKasseneckApi, } from './client/index.js';
4
4
  export { type ReceiptDueTip, type ReceiptDueTipRecipient, type ReceiptDueOptions, type ReceiptDueBuckets, type ReceiptDueBreakdown, type ReceiptDueErrorReason, receiptDueCents, receiptDueBreakdown, ReceiptDueError, RECEIPT_DUE_ERROR_REASONS, isReceiptDueError, } from './receipt/due.js';
5
5
  export { parseServerTimeStamp, toViennaWallClock, type ViennaWallClock } from './vienna-time.js';
6
6
  export { type PosBusinessSettings, type PosDeviceSettings, type PosSettings, type ArticleGroup, type PosArticle, POS_BUSINESS_DEFAULTS, POS_DEVICE_DEFAULTS, mergePosSettings, fromArticleGroupPayload, fromPosArticlePayload, listMyArticleGroups, listMyArticles, getPosSettings, setMyPosSettings, setMyRegisterDeviceSettings, distributeDiscount, cancelScopeOf, receiptsScopeOf, stockViewOf, } from './pos/index.js';
package/dist/cjs/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.receiptFieldErrors = exports.isReceiptError = exports.receiptErrorCode = exports.isReceiptErrorCode = exports.RECEIPT_ERROR_CODES = exports.receiptEmailFieldErrors = exports.isReceiptEmailError = exports.receiptEmailErrorCode = exports.isReceiptEmailErrorCode = exports.RECEIPT_EMAIL_VIAS = exports.RECEIPT_EMAIL_SEND_ERROR_CODES = exports.RECEIPT_EMAIL_ERROR_CODES = exports.paymentFieldErrors = exports.isPaymentError = exports.paymentErrorCode = exports.isPaymentErrorCode = exports.PAYMENT_ERROR_CODES = exports.toReceiptPaymentPayload = exports.fromReceiptPaymentPayload = exports.cancellationFieldErrors = exports.isCancellationError = exports.cancellationErrorCode = exports.isCancellationErrorCode = exports.isReturnDisposition = exports.isCancellationReason = exports.CANCELLATION_RESERVATION_MS = exports.CANCELLATION_ERROR_CODES = exports.CANCELLATION_STATUSES = exports.CANCELLATION_REASONS = exports.RETURN_DISPOSITIONS = exports.receiptSumCents = exports.receiptSubSumCents = exports.fromReceiptPayload = exports.toReceiptPayload = exports.voucherIsValid = exports.fromVoucherPayload = exports.toVoucherPayload = exports.isTipItem = exports.negateReceiptItem = exports.receiptItemIsValid = exports.receiptItemTotalCents = exports.fromReceiptItemPayload = exports.toReceiptItemPayload = exports.StripeLinkMode = exports.VoucherAction = exports.VoucherType = exports.CreditCardProvider = exports.KeckPaymentMethod = exports.VatRate = exports.ReceiptType = void 0;
4
4
  exports.getReceipt = exports.zeroReceipt = exports.cancelReceipt = exports.receiptLayoutFromResult = exports.cardRefundReference = exports.paymentsExpectedCents = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isOutcomeUnknown = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.CLIENT_ERROR_CODES = exports.KasseneckValidationError = exports.KasseneckNetworkError = exports.KasseneckHttpError = exports.KasseneckAuthError = exports.KasseneckApiError = exports.createPdfOrDataTransport = exports.createBinaryTransport = exports.createTransport = exports.UNKNOWN_OUTCOME_CALLS = exports.POS_CALLS = exports.PUBLIC_CALLS = exports.ALL_CALLS = exports.DEFAULT_TIMEOUT_MS = exports.POS_BASE_URL = exports.DEFAULT_BASE_URL = exports.registerUserAuth = exports.apiKeyAuth = exports.hobexReceiptNeedsSignature = exports.hobexReceiptToCardPaymentData = exports.fromHobexReceiptPayload = exports.toHobexReceiptPayload = exports.fromStripeUrlSessionPayload = exports.toStripeUrlSessionPayload = exports.reportMonthReadable = exports.reportMonthKey = exports.nextReportMonth = exports.previousReportMonth = exports.reportMonthFromDate = exports.isZeroKind = exports.ZERO_KINDS = exports.fromReceiptSummaryPayload = exports.fromCashregisterPayload = exports.receiptCompanyTaxInfo = exports.fromReceiptCompanyPayload = exports.remainingQuantities = void 0;
5
- exports.stockViewOf = exports.receiptsScopeOf = exports.cancelScopeOf = exports.distributeDiscount = exports.setMyRegisterDeviceSettings = exports.setMyPosSettings = exports.getPosSettings = exports.listMyArticles = exports.listMyArticleGroups = exports.fromPosArticlePayload = exports.fromArticleGroupPayload = exports.mergePosSettings = exports.POS_DEVICE_DEFAULTS = exports.POS_BUSINESS_DEFAULTS = exports.toViennaWallClock = exports.parseServerTimeStamp = exports.isReceiptDueError = exports.RECEIPT_DUE_ERROR_REASONS = exports.ReceiptDueError = exports.receiptDueBreakdown = exports.receiptDueCents = exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.getReportV2 = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.sendReceiptEmail = exports.checkVoucherCombinationError = exports.listMyCashregisters = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = void 0;
5
+ exports.stockViewOf = exports.receiptsScopeOf = exports.cancelScopeOf = exports.distributeDiscount = exports.setMyRegisterDeviceSettings = exports.setMyPosSettings = exports.getPosSettings = exports.listMyArticles = exports.listMyArticleGroups = exports.fromPosArticlePayload = exports.fromArticleGroupPayload = exports.mergePosSettings = exports.POS_DEVICE_DEFAULTS = exports.POS_BUSINESS_DEFAULTS = exports.toViennaWallClock = exports.parseServerTimeStamp = exports.isReceiptDueError = exports.RECEIPT_DUE_ERROR_REASONS = exports.ReceiptDueError = exports.receiptDueBreakdown = exports.receiptDueCents = exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.getReportV2 = exports.getCashregisterReport = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.sendReceiptEmail = exports.checkVoucherCombinationError = exports.listMyCashregisters = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = void 0;
6
6
  var index_js_1 = require("./enums/index.js");
7
7
  Object.defineProperty(exports, "ReceiptType", { enumerable: true, get: function () { return index_js_1.ReceiptType; } });
8
8
  Object.defineProperty(exports, "VatRate", { enumerable: true, get: function () { return index_js_1.VatRate; } });
@@ -115,6 +115,7 @@ Object.defineProperty(exports, "checkVoucherCombinationError", { enumerable: tru
115
115
  Object.defineProperty(exports, "sendReceiptEmail", { enumerable: true, get: function () { return index_js_3.sendReceiptEmail; } });
116
116
  Object.defineProperty(exports, "downloadDailyReport", { enumerable: true, get: function () { return index_js_3.downloadDailyReport; } });
117
117
  Object.defineProperty(exports, "downloadMonthlyReport", { enumerable: true, get: function () { return index_js_3.downloadMonthlyReport; } });
118
+ Object.defineProperty(exports, "getCashregisterReport", { enumerable: true, get: function () { return index_js_3.getCashregisterReport; } });
118
119
  Object.defineProperty(exports, "getReportV2", { enumerable: true, get: function () { return index_js_3.getReportV2; } });
119
120
  Object.defineProperty(exports, "getCashboxStatus", { enumerable: true, get: function () { return index_js_3.getCashboxStatus; } });
120
121
  Object.defineProperty(exports, "getSignatureStatus", { enumerable: true, get: function () { return index_js_3.getSignatureStatus; } });
@@ -126,7 +126,7 @@ export type InventoryErrorCode = (typeof INVENTORY_ERROR_CODES)[number];
126
126
  * `route_missing` (Code des Pakets). Dieselbe Ableitung wie bei der
127
127
  * Rechnungs-API.
128
128
  */
129
- export declare const INVENTORY_REQUEST_ERROR_CODES: readonly ["account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "route_missing"];
129
+ export declare const INVENTORY_REQUEST_ERROR_CODES: readonly ["account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "password_change_required", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "route_missing"];
130
130
  export type InventoryRequestErrorCode = (typeof INVENTORY_REQUEST_ERROR_CODES)[number];
131
131
  /**
132
132
  * Hinweise einer Buchung (`warnings[].code`, `warningCodes.inventory`). Sie sind
@@ -314,6 +314,7 @@ exports.INVENTORY_REQUEST_ERROR_CODES = [
314
314
  'method_not_allowed',
315
315
  'mfa_required',
316
316
  'not_found',
317
+ 'password_change_required',
317
318
  'register_user_no_business',
318
319
  'register_user_not_allowed',
319
320
  'register_user_not_found',
@@ -14,7 +14,7 @@ export { createInvoiceApi, type InvoiceApi, type InvoiceApiOptions } from './api
14
14
  export { invoiceKeyAuth, type InvoiceKeyAuthOptions } from './auth.js';
15
15
  export { isInvoiceError, isInvoiceErrorCode, invoiceErrorCode, invoiceFieldErrors, type InvoiceApiErrorCode, type InvoiceFieldError, } from './fehler.js';
16
16
  export { cancelInvoice, createCreditNote, createCustomer, getCustomer, getInvoice, getInvoicePdf, getInvoiceSetupStatus, getInvoiceXml, issueInvoice, listBrands, listInvoices, previewInvoice, recordInvoicePayment, searchCustomers, updateCustomer, } from './endpunkte.js';
17
- export type { Brand, CancelInvoiceRequest, CancelResult, CreditNoteItemInput, CreditNoteRequest, CreditNoteResult, Customer, CustomerInput, CustomerPage, CustomerSearch, EInvoiceStatus, Invoice, InvoiceDetail, InvoiceDetailPayment, InvoiceItem, InvoiceItemInput, IssueInvoiceItemInput, InvoiceListQuery, InvoicePage, InvoiceRecipient, InvoiceSetupGap, InvoiceSetupStatus, InvoiceTotals, InvoiceXml, InvoiceNotice, InvoicePayment, InvoicePreview, InvoiceRateTotals, InvoiceVatIdProof, InvoiceVatIdRisk, IssueInvoiceRequest, IssueResult, PaymentInput, PreviewResult, RecordPaymentRequest, RecordPaymentResult, } from './typen.js';
17
+ export type { Brand, CancelInvoiceRequest, CancelResult, CreditNoteItemInput, CreditNoteRequest, CreditNoteResult, Customer, CustomerInput, CustomerPage, CustomerSearch, EInvoiceStatus, Invoice, InvoiceDetail, InvoiceDetailPayment, InvoiceItem, InvoiceItemInput, IssueInvoiceItemInput, InvoiceListQuery, InvoicePage, InvoiceRecipient, InvoiceSetupGap, InvoiceSetupStatus, InvoiceTotals, InvoiceXml, InvoiceNotice, InvoicePayment, InvoicePreview, InvoiceRateTotals, InvoiceVatIdProof, InvoiceSupplyDateProof, InvoiceVatIdRisk, IssueInvoiceRequest, IssueResult, PaymentInput, PreviewResult, RecordPaymentRequest, RecordPaymentResult, } from './typen.js';
18
18
  export { INVOICE_TEXTS, invoiceText, type InvoiceTextKey } from './texte.js';
19
19
  export { computeInvoiceTotals, ZERO_RATED_TAX_SCHEMES, type TotalsItem } from './summen.js';
20
20
  export { proratedPriceMicros, MAX_AMOUNT_CENTS, itemFromEuro, formatUnitPrice, CalcError, calculateInvoice, roundDiv, vatRateMapKey, formatVatRate, type CalcResult, type CalcErrorCode, type CalcOptions, type CalcItem, type RateTotal, type ItemConversion, type ConversionReason, type LineAmount, } from './calc.js';
@@ -277,6 +277,18 @@ export interface InvoiceVatIdProof {
277
277
  level: 1 | 2;
278
278
  /** Pruefcode fuer die oeffentliche Pruefseite (auf dem PDF als QR); `null`, wenn keiner vergeben wurde. */
279
279
  code: string | null;
280
+ /** `true`, wenn erst nach dem Leistungstag geprueft wurde (kein Nachweis am oder vor dem Leistungstag). */
281
+ afterSupplyDate: boolean;
282
+ /** Pruefung am oder vor dem Leistungstag (ohne Pruefcode); `null`, wenn es keine gibt. */
283
+ supplyDateProof: InvoiceSupplyDateProof | null;
284
+ }
285
+ /** Nachweis am oder vor dem Leistungstag: wann, wer, welche Stufe. */
286
+ export interface InvoiceSupplyDateProof {
287
+ /** Wiener Tag der Pruefung (`YYYY-MM-DD`). */
288
+ checkedOn: string;
289
+ source: 'finanzonline' | 'vies';
290
+ /** Stufe der Pruefung: 1 = nur UID, 2 = UID mit Name und Anschrift. */
291
+ level: 1 | 2;
280
292
  }
281
293
  /** Ausgestellt ohne Ergebnis der UID-Pruefung, das Risiko traegt der Aussteller. */
282
294
  export interface InvoiceVatIdRisk {
@@ -37,7 +37,7 @@ export type InvoiceErrorCode = (typeof INVOICE_ERROR_CODES)[number];
37
37
  * genau der Katalog des Servers (das Backend vergleicht ihn mit dem Schema);
38
38
  * die Helfer in `./invoice` erkennen beide Listen.
39
39
  */
40
- export declare const INVOICE_REQUEST_ERROR_CODES: readonly ["account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "route_missing"];
40
+ export declare const INVOICE_REQUEST_ERROR_CODES: readonly ["account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "password_change_required", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "route_missing"];
41
41
  export type InvoiceRequestErrorCode = (typeof INVOICE_REQUEST_ERROR_CODES)[number];
42
42
  /** Gruende einer Gutschrift. Der Server druckt den deutschen Anzeigetext. */
43
43
  export declare const CREDIT_NOTE_REASONS: readonly ["cancellation", "price_reduction", "return", "incorrect_invoice", "other"];
@@ -105,6 +105,7 @@ exports.INVOICE_REQUEST_ERROR_CODES = [
105
105
  'method_not_allowed',
106
106
  'mfa_required',
107
107
  'not_found',
108
+ 'password_change_required',
108
109
  'register_user_no_business',
109
110
  'register_user_not_allowed',
110
111
  'register_user_not_found',
@@ -53,7 +53,7 @@ export declare function isReturnDisposition(value: unknown): value is ReturnDisp
53
53
  * [PAYMENT_ERROR_CODES]. Ein Code ausserhalb bleibt ueber
54
54
  * `KasseneckApiError.code` lesbar.
55
55
  */
56
- export declare const CANCELLATION_ERROR_CODES: readonly ["receipt_not_found", "receipt_type_not_cancellable", "training_receipt", "already_cancelled", "invalid_line", "quantity_exceeds_remaining", "unknown_reason", "note_too_long", "invalid_items", "cashregister_not_assigned", "not_permitted", "own_receipts_only", "cashregister_incomplete", "cancellation_failed", "cancellation_payments_required", "cancellation_refund_exceeds_payment", "cancellation_refund_reference_required", "cancellation_refund_reference_unknown", "cancellation_outcome_unknown", "invalid_return_disposition", "account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing", "response_unreadable"];
56
+ export declare const CANCELLATION_ERROR_CODES: readonly ["receipt_not_found", "receipt_type_not_cancellable", "training_receipt", "already_cancelled", "invalid_line", "quantity_exceeds_remaining", "unknown_reason", "note_too_long", "invalid_items", "cashregister_not_assigned", "not_permitted", "own_receipts_only", "cashregister_incomplete", "cancellation_failed", "cancellation_payments_required", "cancellation_refund_exceeds_payment", "cancellation_refund_reference_required", "cancellation_refund_reference_unknown", "cancellation_outcome_unknown", "invalid_return_disposition", "account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "password_change_required", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing", "response_unreadable"];
57
57
  export type CancellationErrorCode = (typeof CANCELLATION_ERROR_CODES)[number];
58
58
  export declare function isCancellationErrorCode(value: unknown): value is CancellationErrorCode;
59
59
  /** Der Code eines geworfenen Fehlers, wenn er in [CANCELLATION_ERROR_CODES] steht; sonst `undefined`. */
@@ -100,6 +100,7 @@ exports.CANCELLATION_ERROR_CODES = Object.freeze([
100
100
  'method_not_allowed',
101
101
  'mfa_required',
102
102
  'not_found',
103
+ 'password_change_required',
103
104
  'register_user_no_business',
104
105
  'register_user_not_allowed',
105
106
  'register_user_not_found',
@@ -19,7 +19,7 @@ import { KasseneckApiError } from '../client/errors.js';
19
19
  * ...) und zuletzt `route_missing` (Code des Pakets). Ein Code ausserhalb
20
20
  * bleibt ueber `KasseneckApiError.code` lesbar.
21
21
  */
22
- export declare const PAYMENT_ERROR_CODES: readonly ["payments_invalid", "payment_method_invalid", "payment_amount_invalid", "payment_tendered_invalid", "payment_provider_invalid", "payment_provider_not_allowed", "payments_sum_mismatch", "payments_due_negative", "payments_not_allowed", "payments_conflict", "payments_required", "payment_method_not_supported", "tip_payment_method_invalid", "tip_payment_method_required", "tip_exceeds_payment", "payment_refund_not_allowed", "payment_tip_invalid", "tip_conflict", "account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing"];
22
+ export declare const PAYMENT_ERROR_CODES: readonly ["payments_invalid", "payment_method_invalid", "payment_amount_invalid", "payment_tendered_invalid", "payment_provider_invalid", "payment_provider_not_allowed", "payments_sum_mismatch", "payments_due_negative", "payments_not_allowed", "payments_conflict", "payments_required", "payment_method_not_supported", "tip_payment_method_invalid", "tip_payment_method_required", "tip_exceeds_payment", "payment_refund_not_allowed", "payment_tip_invalid", "tip_conflict", "account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "password_change_required", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing"];
23
23
  export type PaymentErrorCode = (typeof PAYMENT_ERROR_CODES)[number];
24
24
  /** Erkennt einen Code aus [PAYMENT_ERROR_CODES], exakt (klein, wie unter `/v3`). */
25
25
  export declare function isPaymentErrorCode(value: unknown): value is PaymentErrorCode;
@@ -61,6 +61,7 @@ exports.PAYMENT_ERROR_CODES = Object.freeze([
61
61
  'method_not_allowed',
62
62
  'mfa_required',
63
63
  'not_found',
64
+ 'password_change_required',
64
65
  'register_user_no_business',
65
66
  'register_user_not_allowed',
66
67
  'register_user_not_found',
@@ -11,7 +11,7 @@ export type ReceiptEmailSendErrorCode = (typeof RECEIPT_EMAIL_SEND_ERROR_CODES)[
11
11
  * als [KasseneckApiError.code] durch; ein Code ausserhalb bleibt dort lesbar.
12
12
  * Zuletzt `route_missing` (Code des Pakets).
13
13
  */
14
- export declare const RECEIPT_EMAIL_ERROR_CODES: readonly ["invalid_address", "receipt_not_found", "too_many_requests", "send_failed", "account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing"];
14
+ export declare const RECEIPT_EMAIL_ERROR_CODES: readonly ["invalid_address", "receipt_not_found", "too_many_requests", "send_failed", "account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "password_change_required", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing"];
15
15
  export type ReceiptEmailErrorCode = (typeof RECEIPT_EMAIL_ERROR_CODES)[number];
16
16
  export declare function isReceiptEmailErrorCode(value: unknown): value is ReceiptEmailErrorCode;
17
17
  /** Der Code eines geworfenen Fehlers, wenn er in [RECEIPT_EMAIL_ERROR_CODES] steht; sonst `undefined`. */
@@ -40,6 +40,7 @@ exports.RECEIPT_EMAIL_ERROR_CODES = Object.freeze([
40
40
  'method_not_allowed',
41
41
  'mfa_required',
42
42
  'not_found',
43
+ 'password_change_required',
43
44
  'register_user_no_business',
44
45
  'register_user_not_allowed',
45
46
  'register_user_not_found',
@@ -16,7 +16,7 @@ import { KasseneckApiError } from '../client/errors.js';
16
16
  * ...) stehen in [PAYMENT_ERROR_CODES]. Ein Code ausserhalb bleibt ueber
17
17
  * `KasseneckApiError.code` lesbar.
18
18
  */
19
- export declare const RECEIPT_ERROR_CODES: readonly ["cancellation_reference_unavailable", "cashregister_closed", "cashregister_decommissioned", "final_receipt_expired", "final_receipt_not_allowed", "module_inactive", "not_permitted", "receipt_limit_exceeded", "receipt_not_found", "receipt_outcome_unknown", "receipt_type_invalid", "signature_incomplete", "signature_missing", "signing_failed", "small_business_vat_not_allowed", "tip_invalid", "tip_not_allowed", "tip_recipient_unknown", "validation", "account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "route_missing", "response_unreadable"];
19
+ export declare const RECEIPT_ERROR_CODES: readonly ["cancellation_reference_unavailable", "cashregister_closed", "cashregister_decommissioned", "final_receipt_expired", "final_receipt_not_allowed", "module_inactive", "not_permitted", "receipt_limit_exceeded", "receipt_not_found", "receipt_outcome_unknown", "receipt_type_invalid", "signature_incomplete", "signature_missing", "signing_failed", "small_business_vat_not_allowed", "tip_invalid", "tip_not_allowed", "tip_recipient_unknown", "validation", "account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "password_change_required", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "route_missing", "response_unreadable"];
20
20
  export type ReceiptErrorCode = (typeof RECEIPT_ERROR_CODES)[number];
21
21
  export declare function isReceiptErrorCode(value: unknown): value is ReceiptErrorCode;
22
22
  /** Der Code eines geworfenen Fehlers, wenn er in [RECEIPT_ERROR_CODES] steht; sonst `undefined`. */
@@ -59,6 +59,7 @@ exports.RECEIPT_ERROR_CODES = Object.freeze([
59
59
  'method_not_allowed',
60
60
  'mfa_required',
61
61
  'not_found',
62
+ 'password_change_required',
62
63
  'register_user_no_business',
63
64
  'register_user_not_allowed',
64
65
  'register_user_not_found',
@@ -20,7 +20,7 @@ import { KasseneckApiError } from '../client/errors.js';
20
20
  * ueber `KasseneckApiError.code` lesbar; die Kasse braucht dafuer einen
21
21
  * Rueckfallzweig.
22
22
  */
23
- export declare const POS_ERROR_CODES: readonly ["account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "article_not_found", "article_not_in_scope", "article_not_tracked", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "count_already_voided", "count_not_found", "device_not_found", "dialect_mismatch", "idempotency_conflict", "idempotency_key_required", "internal_translation_error", "invalid_cursor", "invalid_quantity", "invalid_serial", "live_not_enabled", "location_inactive", "location_not_found", "logo_invalid", "logo_invalid_type", "logo_too_large", "method_not_allowed", "mfa_required", "module_inactive", "not_found", "not_permitted", "print_job_not_found", "print_layout_failed", "printer_not_found", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "serial_already_counted", "serial_not_allowed", "serial_required", "server_error", "session_expired", "session_other_cashregister", "stocktake_closed", "stocktake_closing", "stocktake_not_found", "stocktake_not_open", "too_many_counts", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing"];
23
+ export declare const POS_ERROR_CODES: readonly ["account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "article_not_found", "article_not_in_scope", "article_not_tracked", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "count_already_voided", "count_not_found", "device_not_found", "dialect_mismatch", "idempotency_conflict", "idempotency_key_required", "internal_translation_error", "invalid_cursor", "invalid_quantity", "invalid_serial", "live_not_enabled", "location_inactive", "location_not_found", "logo_invalid", "logo_invalid_type", "logo_too_large", "method_not_allowed", "mfa_required", "module_inactive", "not_found", "not_permitted", "password_change_required", "print_job_not_found", "print_layout_failed", "printer_not_found", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "serial_already_counted", "serial_not_allowed", "serial_required", "server_error", "session_expired", "session_other_cashregister", "stocktake_closed", "stocktake_closing", "stocktake_not_found", "stocktake_not_open", "too_many_counts", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing"];
24
24
  export type PosErrorCode = typeof POS_ERROR_CODES[number];
25
25
  export declare function isPosErrorCode(value: unknown): value is PosErrorCode;
26
26
  /** Der Code eines geworfenen Fehlers, wenn er in [POS_ERROR_CODES] steht; sonst `undefined`. */
@@ -61,6 +61,7 @@ exports.POS_ERROR_CODES = Object.freeze([
61
61
  'module_inactive',
62
62
  'not_found',
63
63
  'not_permitted',
64
+ 'password_change_required',
64
65
  'print_job_not_found',
65
66
  'print_layout_failed',
66
67
  'printer_not_found',
@@ -22,7 +22,7 @@ import { KasseneckApiError } from '../client/errors.js';
22
22
  * ueber `KasseneckApiError.code` lesbar; die Kasse braucht dafuer einen
23
23
  * Rueckfallzweig.
24
24
  */
25
- export declare const REGISTER_ERROR_CODES: readonly ["account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_in_use", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "device_bound_elsewhere", "device_not_found", "device_not_paired", "device_takeover_required", "dialect_mismatch", "internal_translation_error", "licenses_exhausted", "live_not_enabled", "location_outside", "location_required", "login_failed", "login_mode_select_user", "login_unavailable", "method_not_allowed", "mfa_required", "not_found", "pairing_code_expired", "pairing_code_unknown", "pairing_code_used", "pairing_failed", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "register_user_only", "response_translation_failed", "session_ended", "session_expired", "session_not_running", "session_other_cashregister", "too_many_attempts", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing"];
25
+ export declare const REGISTER_ERROR_CODES: readonly ["account_not_found", "admin_required", "api_not_approved", "app_check_invalid", "app_check_missing", "cashregister_in_use", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "device_bound_elsewhere", "device_not_found", "device_not_paired", "device_takeover_required", "dialect_mismatch", "internal_translation_error", "licenses_exhausted", "live_not_enabled", "location_outside", "location_required", "login_failed", "login_mode_select_user", "login_unavailable", "method_not_allowed", "mfa_required", "not_found", "pairing_code_expired", "pairing_code_unknown", "pairing_code_used", "pairing_failed", "password_change_required", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "register_user_only", "response_translation_failed", "session_ended", "session_expired", "session_not_running", "session_other_cashregister", "too_many_attempts", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing"];
26
26
  export type RegisterErrorCode = typeof REGISTER_ERROR_CODES[number];
27
27
  export declare function isRegisterErrorCode(value: unknown): value is RegisterErrorCode;
28
28
  /** Der Code eines geworfenen Fehlers, wenn es einer der Kassen-Anmeldung ist; sonst `undefined`. */
@@ -62,6 +62,7 @@ exports.REGISTER_ERROR_CODES = Object.freeze([
62
62
  'pairing_code_unknown',
63
63
  'pairing_code_used',
64
64
  'pairing_failed',
65
+ 'password_change_required',
65
66
  'register_user_no_business',
66
67
  'register_user_not_allowed',
67
68
  'register_user_not_found',
@@ -1,5 +1,5 @@
1
1
  /** Fingerabdruck des Vertrags-Exports, aus dem diese Datei stammt (`_quelle.sha256`). */
2
- export declare const VOKABULAR_QUELLE = "0f78308720a3098401867185fdceea2aadf292158d719c0f9dc0306826959a27";
2
+ export declare const VOKABULAR_QUELLE = "4b0152e546f6320ecc6dad18156ac91cc176426c71c57ecbf21c1192a714ecda";
3
3
  /** Schema-Notation des Vertrags: Blatt 'aussen': 'innen', Objekt { __: 'innen', ... }, Liste [ { __: 'innen', ... } ]. */
4
4
  export type SchemaEintrag = string | SchemaObjekt | readonly [SchemaObjekt];
5
5
  export interface SchemaObjekt {
@@ -4,7 +4,7 @@
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.KATALOGE = exports.ARTIKEL_FELDER = exports.SCHEMAS = exports.VOKABULAR_QUELLE = void 0;
6
6
  /** Fingerabdruck des Vertrags-Exports, aus dem diese Datei stammt (`_quelle.sha256`). */
7
- exports.VOKABULAR_QUELLE = "0f78308720a3098401867185fdceea2aadf292158d719c0f9dc0306826959a27";
7
+ exports.VOKABULAR_QUELLE = "4b0152e546f6320ecc6dad18156ac91cc176426c71c57ecbf21c1192a714ecda";
8
8
  /** Schema je Endpunkt (aussen -> innen) und Wertverweise auf die Kataloge. */
9
9
  exports.SCHEMAS = {
10
10
  "getReceipt": {
@@ -4,4 +4,4 @@
4
4
  * Client-Version, Nachtrag §6). Ein Test haelt sie gleich mit `package.json`;
5
5
  * beim Anheben der Version beide Stellen aendern.
6
6
  */
7
- export declare const PACKAGE_VERSION = "1.8.0";
7
+ export declare const PACKAGE_VERSION = "1.10.0";
@@ -7,4 +7,4 @@ exports.PACKAGE_VERSION = void 0;
7
7
  * Client-Version, Nachtrag §6). Ein Test haelt sie gleich mit `package.json`;
8
8
  * beim Anheben der Version beide Stellen aendern.
9
9
  */
10
- exports.PACKAGE_VERSION = '1.8.0';
10
+ exports.PACKAGE_VERSION = '1.10.0';