Denne artikel beskriver, hvordan man bruger filgrænsefladen til den skattemæssige tjeneste.
Forudsætninger
- FiskalClient fra og med version 1.2.11
- FiscalClient som en tjeneste (nuget-implementeringer understøttes ikke)
Understøttede lande
I øjeblikket understøttes kun nedenstående lande via filgrænsefladen:
- Østrig
- Danmark (fra version 1.3)
Yderligere oplysninger
Filgrænsefladen understøtter kun en meget begrænset del af skatteklientens funktionalitet til at overføre de nødvendige data til skattebehandling. Hvis der ønskes mere specifikke kommandoer, kan tjenesten stadig integreres med værktøjer som CURL via REST-grænsefladen. Dette forklares dog ikke i denne artikel.
Aktivering
Filsystemgrænsefladen kan aktiveres på følgende måde:
- Indstil stien til overvågningen i appsettings.json.
- Opret et bibliotek under C:\ProgramData\RetailForce\Fiscal web service med navnet "fileSystemInterface".
Bemærk: For at aktivere systemet skal tjenesten genstartes efter disse indstillinger.
appsettings.json
"AppSettings": {
...,
"FileSystemInterfacePath": "c:/temp/filesysteminterface",
...
}
Indtastningerne før og efter er ikke medtaget i eksemplet. "c:\temp\filesysteminterface" er den overvågede sti.
Sådan fungerer det
Fiskaltjenestens filgrænseflade overvåger et bibliotek for nye filer med en bestemt navnestruktur. Så snart der oprettes en ny fil i dette bibliotek, der overholder navngivningskonventionerne, behandles den.
OBS: Ved større filer anbefales det først at gemme filen i mappen som en midlertidig fil og derefter omdøbe den til det korrekte filnavn ved hjælp af RENAME.
Fremgangsmåde
Fremgangsmåden er som følger:
- Filen overføres til mappen og genkendes (*.request)
- Filen behandles
- *.response- eller *.error-filen gemmes i mappen "response" (undermappe til importmappen) (samme filnavn før filtypen).
Eksempel
- 20220308135010236.document.request overføres
- Filen behandles
- Filen response/20220308135010236.document.response gemmes.
eller i tilfælde af fejl
- 20220308135010236.document.request overføres
- Filen behandles
- Filen response/20220308135010236.document.error er gemt.
Ansvar
De behandlede anmodningsfiler flyttes til undermappen "processed" af filgrænsefladen.
Filgrænsefladen sletter aldrig nogen filer. Det anbefales dog at arkivere ældre filer (genkendelige på deres dato) efter en vis periode.
Sikring af den korrekte rækkefølge
Rækkefølgen i behandlingen sikres ved hjælp af et unikt, sorterbart filnavn.
Filenavnets struktur
ÅÅÅÅMMDDHHNNSSZZZ.{type}.request
ÅÅÅÅ = År (2022), værdiinterval: 2022-3000
MM = Måned (03 for marts), værdiinterval: 01-12
DD = Dag (02 for den 2. i måneden), værdiinterval: 01-31
HH = Time i 24-timersformat, værdiinterval: 00-23
NN = Minutter (04 for 4 minutter), værdiinterval: 00-59
SS = Sekunder (05 for 5 sekunder), værdiinterval: 00-59
ZZZ = Millisekunder (010 for 10 millisekunder), værdiinterval: 000-999
Type
{type} angiver anmodningens type; der findes følgende typer:
- document – til at overføre en kvittering
- validateDocument – til validering af en kvittering
- command – til at udføre en kommando
Dokumentation om type/model
For yderligere oplysninger om dokumentmodellen og de tilhørende svar henvises til dokumentationen om objektmodellen og swagger-dokumentationen for Fiscal Client (http://localhost:7678/swagger/index.html).
Fejlreturneringen er den samme for alle typer: Den undtagelse, der blev kastet, returneres i returfilen (*.error).
Type "document" – overførsel af kvitteringer
Filindholdet er i dette tilfælde et dokument i RetailForce-dokumentformatet (Document).
Dokumentformatet kan læses i dokumentationen til objektmodellen eller i swagger-dokumentationen på den skattemæssige tjeneste (http://localhost:7678/swagger/index.html).
Retur
Det pågældende lands fiscalResponse overføres i returfilen.
Type "validateDocument" – validering af en kvittering
Filindholdet er i dette tilfælde, ligesom ved typen "document", et dokument i RetailForce-dokumentformatet.
Retur
I returfilen returneres en eventuel liste over fejl (og advarsler) fra valideringen.
Type "createClient" – oprettelse af en FiscalClient
Filindholdet er i dette tilfælde en FiscalClient som JSON (se dokumentation).
Retur
"OK", når anmodningen er blevet behandlet korrekt.
Type "createClientByCloud" – oprettelse af en FiscalClient med data fra Clouden
Filindholdet er et JSON-dokument med følgende struktur:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Retur
UniqueClientId for den oprettede client.
Type "restoreClientByCloud" – gendannelse af en FiscalClient med data fra Clouden
Filindholdet er et JSON-dokument med følgende struktur:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Retur
Den gendannede clients uniqueClientId.
Type "getClientId" – Søg efter client og hent ID
Tilgængelig fra: V1.2.12
Filindholdet er et JSON-dokument med følgende struktur:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01"
}
Retur
Den oprettede clients uniqueClientId.
Type "InitializeClient" – initialisering af FiscalClient
Filindholdet er et JSON-dokument med følgende struktur:
{
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"BookDate": "2022-03-10T08:52:33.3556282Z",
"User":
{
"Id": "1",
"Caption": "Test",
"LastName": "Test",
"FirstName": "Test",
"DateOfEntry": "2022-03-10T08:52:33.3556282Z"
}
}
De angivne data er testdata og skal erstattes af de korrekte data.
Retur
Enten tom eller et fiscalResponse-objekt for det pågældende land.
Type "CloudConnect" – initialisering af Cloud Connection
Filindholdet er et JSON-dokument med følgende struktur:
{
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}",
"PersistDays": {days} // optional, days until credentials are stored
}
Retur
"OK", når anmodningen er blevet behandlet korrekt.
Type "AuditLog" – overførsel af auditlog-post
Filindholdet er et JSON-objekt med følgende struktur:
{
"RecordDateTime": "2022-03-11T15:17:57.9859527",
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"LogEntryType": 200,
"Message": "OpenDrawer",
"DocumentGuid": null,
"User": null
}
Retur
Enten tom eller et fiscalResponse-objekt for det pågældende land (hvis det kræves der).
Type "digitalReceipt" – Overførsel af digital kvittering
Denne filtype kan bruges til at indsende en digital kvittering.
Filindholdet er et JSON-objekt med følgende struktur:
{
"UniqueClientId": "d5ecc344-e37a-40c6-bed4-a6b1e60e68c8",
"ReceiptMetaData": {
"DocumentType": 0,
"CustomDocumentType": null,
"DocumentGuid": "2394fef4-2339-459a-817e-e4cd86ce23f6",
"DocumentNumber": "1",
"DocumentId": "CS_01_01_1",
"BookDate": "2021-11-17T06:45:03.8203317",
"Amount": 141.0,
"Partner": null,
"Users": null,
"ProcessId": null,
"CancelledDocumentGuid": null,
"ItemIdArray": [
"1231",
"SW4471"
],
"ItemCodeArray": null
},
"PdfDataBase64": "JVBERi0xLjcKJeLjz9MKMSAwIG9iaiAKPDwKL0NvbG9yU3Bh..."
}
Egenskaben "ReceiptMetaData" er det ReceiptMetaData-objekt, der også skal overføres ved opkald via REST-grænsefladen.
I eksemplet er PDF-streamen forkortet med ...
Retur
I returfilen returneres et QrCode-link (som string) til visning for kunden.
Konfiguration
Filsystemgrænsefladen kan aktiveres i clientkonfigurationen ved hjælp af en værdi i feltet FiscalClient.FileSystemInterfacePath. Hvis dette felt er tomt (standard), er filgrænsefladen ikke aktiv.
Denne artikel er oversat automatisk.
Kommentarer
0 kommentarer
Log ind for at kommentere.