Cet article traite de l’objet « Header » (« paiements »), c’est-à-dire des éléments de l’en-tête (Header) au sein de l’objet « Document ».
Une description complète du RetailForce DOM (Document Object Model), ainsi qu’une description des différents éléments, est disponible dans la section « Téléchargements » du site Web RetailForce (Documentation sur le modèle d’objet.pdf) dans le répertoire correspondant à la version concernée.
Objet « Header »
{
"uniqueClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"applicationVersion": "6.2.5",
"applicationVersionId": "string",
"applicationVersionPrevious": "string",
"fiscalModuleVersion": "1.8.8",
"fiscalCountryModuleVersion": "1.0.5",
"softwareName": "GreatesPOS",
"retailForceReceiptId": "W3D9C2Q1",
"additionalFields": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"automaticVatCalculation": "noCalculation",
"allowedVatDeviation": 0.01,
"terminalSlaveId": "Pad05",
"cashRegisterSerialNumber": "CR123456789",
"footerGraphicIndex": 5,
"auditLogEntryType": "other",
"amount": 0,
"identifier": "string",
"documentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"documentId": "S962-000001287",
"createDate": "2023-04-27T17:27:12+01:00",
"bookDate": "2023-04-27T17:27:12+01:00",
"accountingDate": "2023-04-27T17:27:12+01:00",
"processStartDate": "2023-04-27T17:27:12+01:00",
"documentNumber": "000001287",
"documentNumberSeries": "Kassenbelege",
"cancellationDocument": false,
"failedToPay": false,
"documentReference": {
"referenceType": "[0] = Cancellation",
"storeNumber": "Restaurant 03",
"terminalNumber": "002",
"documentType": "[0] = Receipt",
"documentNumber": "000000895",
"documentNumberSeries": "Kassenbelege",
"fiscalDocumentNumber": 0,
"documentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"documentId": "S962-000000895",
"documentBookDate": "2023-04-27T17:27:12+01:00",
"returnReasonType": "userMistake",
"returnReasonText": "Fehler passiert"
},
"isTraining": true,
"testCaseNumber": "string",
"documentType": "[0] = Receipt",
"documentTypeCaption": "Verkaufsbeleg",
"user": {
"id": "03",
"caption": "Bedienung 03",
"firstName": "Franz",
"lastName": "Österreicher",
"taxNumber": "123456789",
"dateOfEntry": "2022-10-01T08:00:00+01:00"
},
"salesPerson": {
"id": "04",
"caption": "Kassier 04",
"firstName": "Sandra",
"lastName": "Hurtig",
"taxNumber": "987654321",
"dateOfEntry": "2022-10-01T08:00:00+01:00"
},
"allocationGroups": [
"Tisch 127"
],
"partner": {
"id": "ABC1234567",
"caption": "Kunde",
"isBusiness": false,
"partnerType": "[0] = Customer",
"partnerClassification": "Privatkunde",
"vatNumber": "n.a.",
"taxNumber": "n.a.",
"identificationType": "passport",
"partnerIdentification": "ABC1234567",
"addressType": "BillingAddress",
"additionalIdentifications": {
"lotteryId": "1234567",
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"street": "Musterstraße",
"streetNumber": "186",
"postalCode": "1010",
"city": "Wien",
"community": "n.a.",
"countryCode": "AT"
},
"notes": "Anmerkungen",
"customerCount": 1,
"paymentTerms": {
"dueDateDays": 0,
"discount": 0,
"discountDueDays": 0,
"latePaymentPenaltyRate": 0
},
"servicePeriodStart": "2023-04-27T17:27:12+01:00",
"servicePeriodEnd": "2023-04-27T17:27:12+01:00",
"positionCount": 1,
"documentIssueType": "paper",
"coupon": {
"header": [
{
"text": "string",
"barcodeType": "QrCode",
"barcode": "https://retailforce.cloud"
}
],
"grafic": "string",
"footer": [
{
"text": "string",
"barcodeType": "QrCode",
"barcode": "https://retailforce.cloud"
}
]
},
"serviceType": "string",
"isEcommerceTransaction": true,
"taxPositions": [
{
"vatIdentification": 0,
"vatLabel": "string",
"vatPercent1": 0,
"vatPercent2": 0,
"vatAmount": 0,
"vatAmount2": 0,
"netAmount": 0,
"grossAmount": 0
}
],
"fiscalResponse": {
"fiscalCountry": "[1] = Austria",
"certificationType": "string",
"fiscalisationType": "string",
"supportedPlatformTypes": "string",
"overpaymentNotAllowed": "boolean",
"documentTypeBusinessTransactionTypeSupport": "string",
"fiscalDocumentNumber": "0",
"taxPositions": [
{
"vatIdentification": 0,
"vatLabel": "string",
"vatPercent1": 0,
"vatPercent2": 0,
"vatAmount": 0,
"vatAmount2": 0,
"netAmount": 0,
"grossAmount": 0
}
],
"fiscalDocumentStartTime": 0,
"processStartTime": 0,
"errorDescription": "string",
"cashRegisterId": "string",
"signature": "string",
"userMessage": "string",
"printMessage": "string",
"requestTime": "2023-04-27T17:27:12+01:00",
"requestCompletionTime": "2023-04-27T17:27:12+01:00",
"qrCode": "string",
"printingFields": {},
"AdditionalFields": {}
},
"fiscalDocumentNumber": 0,
"fiscalDocumentRevision": 0,
"FiscalDocumentStartTime": 0,
"positions": [
{
"positionNumber": 0,
"positionReference": {
"positionNumber": 0,
"referenceType": "[0] = Cancellation",
"storeNumber": "string",
"terminalNumber": "string",
"documentType": "[0] = Receipt",
"documentNumber": "string",
"documentNumberSeries": "string",
"fiscalDocumentNumber": 0,
"documentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"documentId": "string",
"documentBookDate": "2023-04-27T17:27:12+01:00",
"returnReasonType": "userMistake",
"returnReasonText": "string"
},
"cancellationPosition": true,
"deletedPosition": false,
"type": "[0] = Item",
"itemCaption": "Sample Item",
"itemId": "ITEM-001",
"itemType": "[0] = Article",
"quantity": 1.0,
"quantityUnit": { "id": "Stk" },
"businessTransactionType": "[0] = Revenue",
"netValue": 10.0,
"grossValue": 12.0,
"taxValue": 2.0,
"ItemDateOfEntry": "2021-08-08T12:00:00+01:00",
"additionalFields": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"createDate": "2023-04-27T17:27:12+01:00",
"externalIdentifier": [
"string"
],
"user": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string",
"dateOfEntry": "2021-08-08T12:00:00+01:00"
},
"salesPerson": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string",
"dateOfEntry": "2021-08-08T12:00:00+01:00"
},
"FiscalAdditionalFields": {}
}
],
"payments": [
{
"amount": 12.0,
"currencyIsoCode": "EUR",
"caption": "string",
"uniqueReadablePaymentIdentifier": "string",
"foreignAmount": 0,
"foreignAmountExchangeRate": 0,
"additionalFields": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"paymentType": "creditCard",
"createDate": "2023-04-27T17:27:12+01:00",
"vatIdentification": 0,
"vatPercent": 0,
"taxValue": 0,
"externalIdentifier": [
"string"
],
"user": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string",
"dateOfEntry": "2021-08-08T12:00:00+01:00"
},
"salesPerson": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string",
"dateOfEntry": "2021-08-08T12:00:00+01:00"
},
"paymentTerminalReferenceId": "string",
"cardData": {
"receiptCopyCount": 0,
"receipt": [
"string"
],
"cardNumberMasked": "string",
"identificationToken": "string",
"merchantCopyCount": 0,
"merchantReceipt": [
"string"
],
"cardType": "VISA",
"authorizationCode": "AUTH123",
"terminalId": "TERM-A1",
"merchantId": "MERCH-B2",
"transactionId": "TRANS-C3",
"providerSignature": "string",
"providerTransactionId": "string",
"providerSignatureMessage": "string",
"transactionDate": "2023-04-27T17:27:12+01:00",
"transactionNumber": "string"
}
}
],
"additionalHeader": [
"string"
],
"additionalFooter": [
"string"
],
"FiscalAdditionalFields": {}
}L’objet « Header » contient les informations suivantes.
Informations figurant dans la colonne « Type » :
- M … obligatoire (« mandatory »)
- M* … obligatoire dans certains pays ou sous certaines conditions
- R ... recommandé (« recommandé »)
- O ... facultatif
| Élément | Type | Description | |
| uniqueClientId | M | Identifiant unique du client, correspondant à l’identifiant du terminal dans RetailForce Cloud (il est renvoyé/attribué lors de la mise en service via PUT /api/v1/management/clients/byCloud). | |
| applicationVersion | R/M* |
Version du logiciel de caisse.
Attention :
veuillez noter que dans certains pays (France), le numéro de version est fixé dans le cadre du processus de certification. Si un numéro de version incorrect est indiqué (ne correspondant pas au numéro certifié), il n’est pas possible de valider le document (= erreur). Veuillez également vous reporter à la section : Version certifiée
.
Informations par pays :
|
|
| ApplicationVersionId | R/M* |
Identifiant de la version du logiciel de caisse. Informations par pays :
|
|
| ApplicationVersionPrevious | R/M* |
ID de la version précédente du logiciel de caisse. Détails par pays :
|
|
| FiscalModuleVersion | O/M* | Version du module fiscal (module fiscal certifié) utilisé pour générer le document correspondant. Définie automatiquement par le middleware si elle n’est pas transmise par le logiciel. | |
| FiscalCountryModuleVersion | O/M* | Version du module national (Trusted Fiscal Country Module) utilisé pour générer le document concerné. Définie automatiquement par le middleware si elle n’est pas transmise par le logiciel. | |
| FiscalisationType | O | ||
| signature | O | Signature | |
| Imprimante fiscale | Imprimante fiscale | ||
| en ligne | En ligne | ||
| signatureAvecConnexionEnLigne | Signature avec connexion en ligne | ||
| sans fiscalisation | Pas de fiscalisation | ||
| Type de fiscalisation : Italie | O | ||
| imprimante | O | Enregistreur télématique | |
| retailForceReceiptId | O | Numéro de ticket unique au niveau mondial (composé du terminalId et du numéro séquentiel du ticket). Peut être généré lors de la création d’une transaction (avec la fonction createDocument). | |
| AdditionalFields | O | ||
| additionalProp1-x | O | ||
| automaticVatCalculation | O |
Cet élément déclenche le calcul automatique de divers champs de somme au niveau de la position. 0 noCalculation : aucun calcul automatique n’est effectué 1 netValueCalculation – calcul automatique du montant net et du montant du Vat. Le montant brut et le taux de Vat ou le numéro d’identification doivent au moins être indiqués. 2 grossValueCalculation — Calcul automatique du montant brut et du montant de la taxe. La valeur nette et le taux de Vat ou le numéro d’identification doivent au minimum être indiqués. |
|
| AllowedVatDeviation | O |
Peut être utilisé pour compenser les écarts d’arrondi lors du calcul de la VAT. À utiliser avec précaution : si la valeur définie est élevée, la vérification du calcul de la TVA est désactivée. Exemple : « AllowedVatDeviation » : 0,05 autorise un écart de ± 5 centimes entre la valeur nette + TVA et la valeur brute. |
|
| TerminalSlaveId | O | Spécification de l’ID d’un terminal d’entrée. | |
| cashRegisterSerialNumber | O |
Numéro de série de la caisse enregistreuse. Ce champ identifie le matériel physique spécifique de la caisse enregistreuse utilisé pour traiter la transaction. | |
| footerGraphicIndex | O |
L’index « footerGraphicIndex » permet d’insérer un élément graphique prédéfini dans le pied de page d’un document. Informations par pays :
|
|
| AuditLogEntryType | Spécifie le type d’entrée du journal d’audit lorsque le document lui-même constitue une entrée du journal d’audit. | ||
| amount | Montant associé à l’en-tête du document (par exemple, à des fins de journal d’audit). | ||
| identifier | Champ d’identification général (par exemple, à des fins de journal d’audit). | ||
| DocumentGuid | M | Identifiant unique du document utilisant un UUID / GUID. Également utilisé comme lien vers les reçus numériques. | |
| DocumentId | M | Numéro unique et séquentiel du document (reçu) au sein de la succursale / filiale / restaurant (sur l’ensemble des caisses), attribué par le système de caisse (40 caractères maximum). | |
| CreateDate | M | Date et heure de création du document | |
| BookDate | M | Date de réservation | |
| AccountingDate | O | Date de comptabilisation possible pour ce document | |
| ProcessStartDate | R/M* | Date de création du premier reçu dans l’ensemble du processus (par exemple, en Allemagne : date de création de la première commande client liée au présent reçu de paiement – voir également « Particularités de la restauration ») | |
| DocumentNumber | R/M* | Numéro unique et séquentiel du document (= « numéro de ticket de caisse »), attribué par le système de caisse. | |
| documentNumberSeries | O/M* |
Nom de la série de numérotation du numéro de ticket (DocumentNumber). Informations spécifiques au pays :
|
|
| cancellationDocument | M |
Indicateur précisant si le présent document sert à annuler un autre document (émis précédemment) true - Document d'annulation false - Aucun document d'annulation |
|
| FailedToPay | O |
Un drapeau booléen (true/false) indiquant si le paiement du document a échoué. |
|
| documentReference | O/M* | Utilisé pour faire référence à un autre document. | |
| {...} | |||
| IsTraining | O/M* | Flag permettant d’identifier les documents de formation ou de démonstration (générés en mode formation ou démonstration de la caisse). | |
| TestCaseNumber | O/M* |
Champ permettant de spécifier un numéro de cas de test à des fins de certification. Informations par pays :
|
|
| documentType | O | Spécification du type de document | |
| documentTypeCaption | M* |
Description du type de document. Sert essentiellement à fournir une description plus précise ou des précisions. Informations par pays :
|
|
| utilisateur | O/M* |
Informations concernant l'utilisateur (de la caisse enregistreuse). Informations sur le pays :
|
|
| {...} | |||
| SalesPerson | O/M* |
Informations concernant le personnel commercial. Détails par pays :
|
|
| {...} | |||
| AllocationGroups [] | O/M* |
Permet d’affecter des reçus à des éléments spécifiques (par exemple, des tables dans le secteur de la restauration). Voir également : Processus de commande à long terme – Restauration. Détails par pays :
|
|
| partenaire | O/M* |
Informations concernant les partenaires (commerciaux) respectifs de l’entreprise émettrice du document. Détails par pays :
|
|
| addressType | (Dans l’ partner objet) Nouveau champ facultatif permettant de préciser le type d’adresse (par exemple, adresse de facturation). |
||
| {...} | |||
| notes | O | Enregistrement de remarques supplémentaires | |
| CustomerCount | O/M* |
Nombre de clients concernés par ce document (par exemple, dans la restauration, le nombre de clients à la caisse ou à une table) Informations sur le pays :
|
|
| PaymentTerms | O | Conditions de paiement | |
| {...} | |||
| ServicePeriodStart | O |
Début de la période de prestation (notamment pour les factures) Informations sur le pays :
|
|
| ServicePeriodEnd | O |
Fin de la période de prestation (notamment pour les factures) Détails par pays :
|
|
| PositionCount | O/M* |
Nombre de lignes contenues dans le reçu (toutes les lignes, y compris article, texte, réservation, sous-total, total) Voir également l’objet « Position ». Informations par pays :
|
|
| DocumentIssueType | O/M* |
Définit le type d'émission du reçu.
Informations sur le pays :
|
|
| coupon | O | Possibilité d’imprimer des coupons supplémentaires et d’autres éléments sur le ticket de caisse. | |
| {...} | |||
| serviceType | O/M* |
Spécification du type de service en restauration (service à table, service au comptoir). Valeurs possibles (respectez la convention CamelCase !)
Informations par pays :
|
|
| IsEcommerceTransaction | O/M* |
Indique s’il s’agit d’une transaction de commerce électronique (true / false). Informations sur le pays :
|
|
| TaxPositions | R |
Spécification de toutes les positions de Vat du document. Toutes les positions Vat doivent être spécifiées, ou aucune. Pour récupérer les positions fiscales du document (lorsque cette propriété n’a pas été définie), utilisez GetTaxPositions(Document, boolean).
Remarque concernant l’Autriche :
nous vous recommandons d’utiliser ce tableau pour transmettre les positions fiscales d’un ticket de caisse afin d’éviter les problèmes d’arrondi dans le protocole d’enregistrement des données (« DEP7 »).
|
|
| {...} | |||
| fiscalResponse | - |
Réponse du service de fiscalisation après les opérations de transmission createDocument et storeDocument. Nous vous recommandons de persister le contenu de fiscalResponse dans la base de données de la caisse enregistreuse.
Remarque :
certains éléments de l’objet fiscalResponse, après l’appel de la fonction createDocument
, doivent être inclus dans le document JSON (qui doit être envoyé à storeDocument
). Veuillez NE PAS inclure l’intégralité de l’objet fiscalResponse !
|
|
| {...} | |||
| fiscalDocumentNumber | M* |
Numéro du document fiscal (attribué par le RetailForce system ou par l’unité de fiscalisation concernée – par exemple, la TSE en Allemagne)
Attention :
veuillez noter que, dans les systèmes jusqu’à la version 1.7.7, l’information fiscalDocumentNumber était renvoyée dans le champ fiscalisation
DocumentNumber de l’objet fiscalResponse. Voir également l’article : « Transaction donnée non lancée
». Dans la version 1.7.7, un champ supplémentaire fiscalDocumentNumber (string) a été introduit dans l’objet fiscalResponse.
|
|
| fiscalDocumentRevision | O/M* |
Numéro de révision du document fiscal (attribué par le RetailForce system ou par l’unité de fiscalisation compétente – par exemple, la TSE en Allemagne)
Attention :
veuillez noter que dans les systèmes antérieurs à la version 1.7.7, la propriété « fiscalDocumentRevision » était renvoyée dans le champ « fiscalisation
DocumentRevision » du header de l’objet « fiscalResponse ». Voir également l’article : « Transaction donnée non lancée
». À partir de la version 1.7.7, cette propriété de l’objet « fiscalResponse » a été renommée « fiscalDocumentRevision » et n’est désormais renvoyée que dans le tableau « AdditionalFields » de l’objet « fiscalResponse-Germany ».
|
|
| fiscalDocumentStartTime | M* | Heure de création du document fiscal (attribuée par le RetailForce system ou par l’unité de fiscalisation concernée — par exemple, la TSE en Allemagne) | |
| positions | M | Informations relatives au ticket de caisse ou à la ligne du document concerné (le contenu dépend du type de document et de la ligne — documentType, positionType) | |
| {...} | |||
| paiements | O/M* | Informations relatives au paiement (l’utilisation dépend du type de document — documentType) | |
| {...} | |||
| AdditionalHeader | O |
Le tableau « AdditionalHeader » permet d’ajouter des lignes de texte libre supplémentaires dans l’en-tête du document. Informations par pays :
Remarque : actuellement, ce tableau n’est pris en charge qu’en Italie. Il peut également être renseigné dans d’autres pays, mais n’aura alors aucun effet. |
|
| AdditionalFooter | O |
Le tableau AdditionalFooter permet de définir des lignes de texte libre supplémentaires dans le Footer du document. Détails par pays :
Remarque : actuellement, ce tableau n’est pris en charge qu’en Italie. Il peut également être renseigné dans d’autres pays, mais n’aura alors aucun effet. |
|
| FiscalAdditionalFields | O | ||
Cet article a été traduit automatiquement.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.