Με το
- POST /api/v1/transactions/storeDocument
, ένα έγγραφο μεταδίδεται στη φορολογική υπηρεσία και αποθηκεύεται εκεί.
Αποτέλεσμα
Εάν η επεξεργασία ολοκληρωθεί με επιτυχία (200), ο αντίστοιχος client της φορολογικής υπηρεσίας απαντά με ένα fiscalResponse.
Χρήση
- Κάθε φορά που ολοκληρώνεται ένα έγγραφο στο σύστημα ηλεκτρονικής καταγραφής (ταμειακή μηχανή).
Προϋποθέσεις
-
Η κλήση της συνάρτησης storeDocument πρέπει να προηγείται της κλήσης του τελικού σημείου PUT /api/v1/transactions/createDocument
- Τα δεδομένα από την απάντηση του createDocument πρέπει να ενσωματωθούν στη δομή JSON του storeDocument. Δείτε την ακόλουθη ενότητα.
Διαδικασία διαβίβασης
Όπως περιγράφεται, η κλήση της συνάρτησης `storeDocument` απαιτεί προηγούμενη κλήση της συνάρτησης `createDocument`. Η απόκριση `fiscalResponse` της συνάρτησης `createDocument` περιέχει τα ακόλουθα πεδία:
"fiscalisationDocumentNumber": 0,
"fiscalisationDocumentRevision": 0,
"fiscalDocumentStartTime": 0,
Οι πληροφορίες σε αυτά τα πεδία πρέπει να περιλαμβάνονται στη δομή JSON που μεταδίδεται με το storeDocument. Αυτά τα πεδία περιέχουν τιμές που δημιουργούνται από το απαιτούμενο φορολογικό υλικό (τεχνική συσκευή ασφαλείας «TSE» στη Γερμανία) και χρησιμοποιούνται για την αλυσιδωτή σύνδεση των συναλλαγών.
Προσοχή: Παρακαλούμε λάβετε υπόψη τα ακόλουθα ειδικά χαρακτηριστικά:
Το fiscalResponse της createDocument επιστρέφει τα πεδία fiscalisationDocumentNumber και fiscalisationDocumentRevision. Στην storeDocument, ωστόσο, αυτά τα πεδία πρέπει να μεταβιβάζονται με
"fiscalDocumentNumber": 24,
"fiscalDocumentRevision": 1,
χωρίς το «isation»! Σημειώστε επίσης: Η συγκεκριμένη συναλλαγή δεν έχει ξεκινήσει
Παράδειγμα:
Το παρακάτω παράδειγμα παρουσιάζει μια απλή απόδειξη για τη Γερμανία (documentType = [0] = απόδειξη), η οποία αποστέλλεται στο τελικό σημείο POST /api/v1/transactions/storeDocument.
{
"uniqueClientId": "c1062c55-57c4-4ed2-9c53-aff1762326a4",
"documentGuid": "7d4a7761-e9e9-4759-8591-ed147a581da4",
"documentId": "HAM01-00010329",
"documentNumber": "00010329",
"createDate": "2023-04-18T21:34:45",
"bookDate": "2023-04-18T21:34:46",
"cancellationDocument": false,
"isTraining": false,
"documentType": 0,
"user": {
"id": "1234",
"caption": "1234"
},
"fiscalDocumentNumber": 2853,
"fiscalDocumentStartTime": 1681803100,
"fiscalDocumentRevision": 1,
"Positions": [
{
"positionNumber": 0,
"netValue": 10.66,
"grossvalue": 12.90,
"taxValue": 2.24,
"quantity": 1,
"itemId": "1101202930050",
"itemCaption": "Pizza Margherita",
"cancellationPosition": "false",
"type": "0",
"businessTransactionType": 0,
"vatPercent": 19,
"vatIdentification": 1,
}
],
"Payments": [
{
"Amount": 12.90,
"paymentType": "cash",
"uniqueReadablePaymentIdentifier": "Cash",
"caption": "Bar+Euro",
"currencyIsoCode": "EUR"
}
]
}
fiscalResponse
Η fiscalResponse για ένα storeDocument πρέπει να αποθηκεύεται στη βάση δεδομένων του POS για λόγους αναφοράς.
Το fiscalResponse περιέχει:
- γενικές πληροφορίες
- πληροφορίες ειδικές για κάθε χώρα
Παράδειγμα fiscalResponse:
{
"fiscalCountry": "[0] = Germany",
"fiscalisationDocumentNumber": 52,
"fiscalisationDocumentRevision": 2,
"fiscalDocumentStartTime": 1674819139,
"processStartTime": 0,
"errorDescription": null,
"cashRegisterId": "00345-00345",
"signature": "pCeGi98gNNhshcGJkbw0DwtSzuJkaawON8l5QwsFDEaDHOyYK2aNVO4ZAlpkYYnub7oxM/2R1/KB36UzmOQwew==",
"userMessage": null,
"printMessage": "***Test***",
"requestTime": "2023-01-27T12:34:21.3088836+01:00",
"requestCompletionTime": "2023-01-27T12:34:22.4379009+01:00",
"AdditionalFields": {
"QrCodeDataString": "V0;00345-00345;Kassenbeleg-V1;Beleg^13.90_0.00_0.00_0.00_0.00^13.90:Unbar;52;197;2023-01-27T11:32:19.000Z;2023-01-27T11:34:20.000Z;ecdsa-plain-SHA256;unixTime;pCeGi98gNNhshcGJkbw0DwtSzuJkaawON8l5QwsFDEaDHOyYK2aNVO4ZAlpkYYnub7oxM/2R1/KB36UzmOQwew==;BNHckCuXF2fEktIp8qwtnMLLgvpJDX6wEOqFENlHXZpekBHxHniQh9gbigjWS9UbCwZSrOTJTMK7WiV5owAfXkk=",
"TransactionStartTime": 1674819139,
"TransactionEndTime": 1674819260,
"ProcessData": "Beleg^13.90_0.00_0.00_0.00_0.00^13.90:Unbar",
"ProcessType": "Kassenbeleg-V1",
"TseSerial": "e5f5836a57c50c526d4bed37f18823608f2f44e2c98cab73278a7676c5ea0885",
"TseTimeFormat": "unixTime",
"TseHashAlgorithm": "ecdsa-plain-SHA256",
"TsePublicKey": "BNHckCuXF2fEktIp8qwtnMLLgvpJDX6wEOqFENlHXZpekBHxHniQh9gbigjWS9UbCwZSrOTJTMK7WiV5owAfXkk=",
"TseSignatureCounter": 197,
"TseCertificate": "MIIB0jCCAVmgAwIBAgIhAOX1g2pXxQxSbUvtN/GII2CPL0TiyYyrcyeKdnbF6giFMAoGCCqGSM49BAMDMDExFTATBgNVBAoTDGZpc2thbHkgR21iSDEYMBYGA1UEAxMPZmlza2FseSBUZXN0IENBMB4XDTIyMTAzMDEyMjgzMloXDTIzMTAzMDEyMjgzMlowMjEVMBMGA1UEChMMZmlza2FseSBHbWJIMRkwFwYDVQQDExBmaXNrYWx5IFRlc3QgVFNFMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0dyQK5cXZ8SS0inyrC2cwsuC+kkNfrAQ6oUQ2Uddml6QEfEeeJCH2BuKCNZL1RsLBlKs5MlMwrtaJXmjAB9eSaNBMD8wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUlllBymQBup6ldKGojZVpZtWG5tQwCgYIKoZIzj0EAwMDZwAwZAIwEFsoSON9cIBqA5d9vsGI2jSjDlZxHokDvJ4yBmayvigrDbdhMYe3hw3HyQbO2B/FAjBXSVNbYR6Wg2TVzL9BhCla+tewRDGcs6vnetJ4i3VRtya1+ejt+vRjWnb/RUyo0Uw="
}
}
Γενικές πληροφορίες
Αυτές βρίσκονται στην περιοχή της header του fiscalResponse.
Σημείωση:
- Το περιεχόμενο του πεδίου «fiscalisationDocumentNumber» πρέπει να αναγράφεται στο έγγραφο (DE).
- Το περιεχόμενο του πεδίου «PrintMessage» πρέπει να αναγράφεται στην απόδειξη.
Πληροφορίες ανά χώρα
Οι πληροφορίες για κάθε χώρα παρέχονται στην περιοχή «AdditionalFields» και περιλαμβάνουν στοιχεία που πρέπει να αναγράφονται στην απόδειξη (π.χ. κωδικός QR ή, εναλλακτικά, δεδομένα TSE στη Γερμανία).
Ανατρέξτε στα παραδείγματα εγγράφων της εκάστοτε χώρας.
Σημείωση: Εάν η τιμή «-1» επιστρέφεται στο fiscalResponse του storeDocument στο πεδίο
"fiscalDocumentNumber": -1,
ο πελάτης έχει αναγνωρίσει το αντίστοιχο έγγραφο ως μη φορολογικό.
Απόκριση
Πιθανές απαντήσεις:
| Κωδικός | Περιγραφή | Παράδειγμα |
| 200 |
Το έγγραφο μεταδόθηκε με επιτυχία και χωρίς σφάλματα και αποθηκεύτηκε στο documentStore. |
fiscalResponse |
| 404 |
Γερμανία: δεν ήταν δυνατή η εύρεση του καθορισμένου fiscalDocumentNumber. Η συναλλαγή με τον καθορισμένο fiscalDocumentNumber δεν έχει ακόμη δημιουργηθεί (ξεκινήσει). Αντιμετώπιση προβλημάτων:
|
- |
| 406 |
Ο τύπος του εγγράφου που μεταδόθηκε δεν υποστηρίζεται Αντιμετώπιση προβλημάτων:
|
- |
| 422 |
Το περιεχόμενο του εγγράφου είναι κενό ή λανθασμένο Αντιμετώπιση προβλημάτων:
|
- |
Αυτό το άρθρο μεταφράστηκε αυτόματα.
Σχόλια
0 σχόλια
Πραγματοποιήστε είσοδο για να αφήσετε ένα σχόλιο.