fiskaly eReceipt API Update
A major version change to eReceipt API version 2.0.0 and updates are planned for our eReceipt API on Thursday, 23rd March 2023 starting from 2 pm. The new version will be even better, with bugs fixed and improved consistency in our API.
Change log
- Removal of default values for various schema fields in the CreateReceipt endpoint:
For a list of properties (see Table 1 below) the default value 0 will be removed in the CreateReceipt endpoint. For mandatory fields, a value now needs to be sent explicitly. Invalid requests with missing mandatory fields will be answered with the error-code 400 and a corresponding error-message. - Removal of the possibility to send additional fields in the CreateReceipt endpoint:
The option to send additional properties in various Objects in the CreateReceipt endpoint will be removed. Until now, additional fields with any name and any type could be sent to the CreateReceipt endpoint. This option will be removed to improve clarity and improve consistency. See Table 2 below for a list of affected Objects.
Exception: optional fields were retained for all Objects contained in the EkabsSecurity Object to allow for flexibility when providing the response from various fiscalization endpoints.
Table 1: Affected schema fields
Object type | Schema field | Mandatory |
---|---|---|
EkabsPaymentType | .amount | yes |
EkabsLineItem | .quantity | yes |
.price_per_unit | yes | |
EkabsLineVatAmountGross | .percentage | yes |
.incl_vat | yes | |
EkabsLineVatAmountNet | .percentage | yes |
.excl_vat | yes | |
.vat | yes | |
EkabsVatAmountTotal | .percentage | yes |
.incl_vat | yes | |
.excl_vat | yes | |
.vat | yes | |
EkabsData | .full_amount_incl_vat | yes |
Discount | .discount_value | yes |
EkabsPaymentType | .change | no |
EkabsData | .full_amount_incl_vat_before_discount | no |
.total_discount_value | no | |
HospitalitySchema | .tip | no |
Table 2: Affected schema objects
Object | Schema old | Schema new |
---|---|---|
ReceiptSchemaEkabsV0 | { custom_elements: CustomElements[], data: EkabsData, head: EkabsHead, language: Language, misc: EkabsMisc, security: EkabsSecurity, property name*: any } | { custom_elements: CustomElements[], data: EkabsData, head: EkabsHead, language: Language, misc: EkabsMisc, security: EkabsSecurity } |
EkabsData | { currency: EkabsCurrency, full_amount_incl_vat: string, full_amount_incl_vat_before_discount: string, lines: EkabsLine[], payment_types: EkabsPaymentType[], total_discount_value: string, vat_amounts: EkabsVatAmountTotal, property name*: any } | { currency: EkabsCurrency, full_amount_incl_vat: string, full_amount_incl_vat_before_discount: string, lines: EkabsLine[], payment_types: EkabsPaymentType[], total_discount_value: string, vat_amounts: EkabsVatAmountTotal } |
EkabsLine | { additional_text: string, delivery_period_end: integer, delivery_period_start: integer, discounts: Discount[], item: EkabsLineItem, sort_order: integer, text: string, vat_amounts: EkabsLineVatAmountGross[] or EkabsLineVatAmountNet[], property name*: any } | { additional_text: string, delivery_period_end: integer, delivery_period_start: integer, discounts: Discount[], item: EkabsLineItem, sort_order: integer, text: string, vat_amounts: EkabsLineVatAmountGross[] or EkabsLineVatAmountNet[] } |
EkabsLineItem | { full_amount: string, gtin: string, number: string, price_per_unit: string, quantity: string, quantity_measure: string, property name*: any } | { full_amount: string, gtin: string, number: string, price_per_unit: string, quantity: string, quantity_measure: string } |
EkabsLineVatAmountGross | { incl_vat: string, percentage: string, property name*: any } | { incl_vat: string, percentage: string } |
EkabsLineVatAmountNet | { excl_vat: string, percentage: string, vat: string, property name*: any } | { excl_vat: string, percentage: string, vat: string } |
EkabsPaymentType | { amount: string, change: string, display_name: string, foreign_amount: string, foreign_currency: EkabsCurrency, name: string, payment_identifier: string, remaining_balance: string, sort_order: integer, property name*: any } | { amount: string, change: string, display_name: string, foreign_amount: string, foreign_currency: EkabsCurrency, name: string, payment_identifier: string, remaining_balance: string, sort_order: integer } |
EkabsVatAmountTotal | { excl_vat: string, incl_vat: string, percentage: string, vat: string, property name*: any } | { excl_vat: string, incl_vat: string, percentage: string, vat: string } |
EkabsHead | { id: string, buyer: EkabsBuyer, date: integer, delivery_period_end: integer, delivery_period_start: integer, number: string, seller: EkabsSeller, property name*: any } | { id: string, buyer: EkabsBuyer, date: integer, delivery_period_end: integer, delivery_period_start: integer, number: string, seller: EkabsSeller } |
EkabsBuyer | { address: EkabsAddress, customer_number: string, name: string, tax_number: string, property name*: any } | { address: EkabsAddress, customer_number: string, name: string, tax_number: string } |
EkabsSeller | { address: EkabsAddress, name: string, tax_exemption: boolean, tax_exemption_note: string, tax_number: string, property name*: any } | { address: EkabsAddress, name: string, tax_exemption: boolean, tax_exemption_note: string, tax_number: string } |
EkabsMisc | { conformity_text: string, footer_text: string, property name*: any } | { conformity_text: string, footer_text: string } |
fiskaly website for developers: developer.fiskaly.com.
fiskaly status page: status.fiskaly.com.
fiskaly support website: support.fiskaly.com.
You can contact our support at dev-support@fiskaly.com.