API dokumentacija
Avans
Kupac plaća pre isporuke, ponekad u više rata. Propis traži Аванс Продају za svaku uplatu, Аванс Рефундацију celog avansa pri isporuci i konačni Промет Продаја račun sa referencom. BokaPOS vodi ceo lanac kao jedan slučaj; vi šaljete uplate i, na kraju, isporuku.
Tok
01
Otvorite slučaj
POST /v1/advance-casessaclientReferenceporudžbine. Slučaj ne izdaje račun; on drži lanac.02
Fiskalizujte svaku uplatu
POST /v1/advance-cases/{id}/paymentsza svaku primljenu uplatu. Prva Аванс Продаја nema referencu; svaka sledeća automatski referencira prethodnu.03
Stornirajte pogrešnu uplatu (po potrebi)
POST /v1/advance-cases/{id}/cancellationsizdaje Аванс Рефундацију koja poništava poslednju avansnu prodaju u celosti; slučaj ostaje otvoren.04
Zatvorite pri isporuci
POST /v1/advance-cases/{id}/closesa stavkama isporuke i doplatom. BokaPOS izdaje Аванс Рефундацију ukupnog avansa, pa konačni Промет Продаја račun sa referencom na nju.
Otvaranje slučaja
curl -X POST "https://api.bokapos.rs/v1/advance-cases" \
-H "Authorization: Bearer $BOKAPOS_TOKEN" \
-H "Idempotency-Key: order-5001-advance-case" \
-H "Content-Type: application/json" \
-d '{
"taxpayerId": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
"businessPremiseId": "b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22",
"clientReference": "ORDER-5001"
}'{
"id": "c4d5e6f7-a8b9-4c0d-9e1f-2a3b4c5d6e7f",
"taxpayerId": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
"businessPremiseId": "b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22",
"clientReference": "ORDER-5001",
"externalAdvance": null,
"state": "OPEN",
"advanceSales": [],
"cancellations": [],
"cancelledAdvanceSaleIds": [],
"advanceRefund": null,
"finalSale": null,
"failureCode": null,
"createdAt": "2026-09-03T09:00:00.000Z",
"updatedAt": "2026-09-03T09:00:00.000Z"
}Slučaj može da preuzme i avanse naplaćene pre eFiskalizacije (externalAdvance: ukupan iznos, oznaka, način plaćanja, broj poslednjeg pre-fiskalnog dokumenta, samo cifre, i njegov datum). Tada prva avansna prodaja referencira taj dokument, a zatvaranje refundira i stari i nove avanse zajedno.
Avansna uplata
Stavke avansne prodaje nisu roba nego propisani avansni artikli: naziv 10: Аванс (Ђ) za oznaku Ђ, 11: Аванс (Е), 12: Аванс (Г), 13: Аванс (А), tačno tako, bez jedinice mere, sa taxLabels iste oznake i unitPrice jednakim iznosu uplate za tu stopu. Ako porudžbina ima stavke po dve stope, avans se deli na dve avansne stavke. commercialFooter je obavezan: tu ide opis šta se plaća.
curl -X POST "https://api.bokapos.rs/v1/advance-cases/c4d5e6f7-a8b9-4c0d-9e1f-2a3b4c5d6e7f/payments" \
-H "Authorization: Bearer $BOKAPOS_TOKEN" \
-H "Idempotency-Key: order-5001-advance-1" \
-H "Content-Type: application/json" \
-d '{
"cashier": {
"id": "web-shop"
},
"items": [
{
"name": "10: Аванс (F)",
"quantity": 1,
"unitPrice": 3000,
"taxLabels": [
"F"
]
}
],
"payments": [
{
"type": "WIRE_TRANSFER",
"amount": 3000
}
],
"paymentOccurredAt": "2026-09-02T11:30:00+02:00",
"commercialFooter": "Avans za porudžbinu ORDER-5001. Isporuka po uplati ostatka."
}'{
"id": "d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80",
"taxpayerId": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
"businessPremiseId": "b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22",
"idempotencyKey": "order-5001-advance-1",
"clientReference": "ORDER-5001",
"invoiceType": "ADVANCE",
"transactionType": "SALE",
"cashierId": "web-shop",
"buyerId": null,
"buyerDetails": null,
"status": "FISCALIZED",
"fiscalized": true,
"failureCode": null,
"retryable": false,
"pfr": {
"invoiceNumber": "JWX4K9PL-JWX4K9PL-1049",
"sdcTime": "2026-09-01T10:15:32.483+02:00",
"requestedBy": "JWX4K9PL",
"signedBy": "JWX4K9PL",
"transactionTypeCounter": 904,
"totalCounter": 1049,
"invoiceCounterExtension": "АП",
"totalAmount": 3000,
"totalTax": 297.2973,
"verificationUrl": "https://sandbox.suf.purs.gov.rs/v/?vl=A0pXWDRLOVBMSldYNEs5UEwSBAAAEAQAAKCLPAAAAAAAAAABnAqJa1EAAAA...",
"journal": "============ ФИСКАЛНИ РАЧУН ============\n...\nПФР број рачуна: JWX4K9PL-JWX4K9PL-1049\nБројач рачуна: 904/1049АП\n========================================\n======== КРАЈ ФИСКАЛНОГ РАЧУНА ========="
},
"receipt": {
"textUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/official-text",
"jsonUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/canonical-json",
"pdfA4Url": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/pdf-a4",
"pdf80mmUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/pdf-80mm",
"pdf58mmUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/pdf-58mm",
"previewImageUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/preview-png",
"qrImageUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/qr-svg",
"verificationUrl": "https://sandbox.suf.purs.gov.rs/v/?vl=A0pXWDRLOVBMSldYNEs5UEwSBAAAEAQAAKCLPAAAAAAAAAABnAqJa1EAAAA...",
"preferredPaperFormat": "a4"
},
"createdAt": "2026-09-03T09:01:00.000Z",
"updatedAt": "2026-09-01T08:15:32.611Z"
}U produkciji naziv stavke je propisani `10: Аванс (Ђ)` (ili 11/12/13 za Е, Г, А) sa istom oznakom. Sandbox nema te oznake, pa prima `10: Аванс (X)` za bilo koju oznaku iz sveže konfiguracije.
Storno pogrešne uplate
Zvanični postupak za pogrešno izdat avans je Аванс Рефундација koja ponavlja ceo taj avansni račun, referencira ga i kao kupca nosi PIB samog prodavca (10:<PIB>). BokaPOS to radi sam: vi šaljete id poslednje avansne prodaje. Lanac se nastavlja od prethodne uplate; stornirane prodaje ostaju vidljive u advanceSales, a cancelledAdvanceSaleIds kaže koje su poništene.
curl -X POST "https://api.bokapos.rs/v1/advance-cases/c4d5e6f7-a8b9-4c0d-9e1f-2a3b4c5d6e7f/cancellations" \
-H "Authorization: Bearer $BOKAPOS_TOKEN" \
-H "Idempotency-Key: order-5001-advance-1-cancel" \
-H "Content-Type: application/json" \
-d '{
"cashier": {
"id": "web-shop"
},
"advanceSaleFiscalDocumentId": "d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80"
}'{
"id": "a9b8c7d6-e5f4-4a3b-8c2d-1e0f9a8b7c6d",
"taxpayerId": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
"businessPremiseId": "b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22",
"idempotencyKey": "order-5001-advance-1-cancel",
"clientReference": "ORDER-5001",
"invoiceType": "ADVANCE",
"transactionType": "REFUND",
"cashierId": "web-shop",
"buyerId": "10:115711881",
"buyerDetails": null,
"status": "FISCALIZED",
"fiscalized": true,
"failureCode": null,
"retryable": false,
"pfr": {
"invoiceNumber": "JWX4K9PL-JWX4K9PL-1050",
"sdcTime": "2026-09-01T10:15:32.483+02:00",
"requestedBy": "JWX4K9PL",
"signedBy": "JWX4K9PL",
"transactionTypeCounter": 905,
"totalCounter": 1050,
"invoiceCounterExtension": "АР",
"totalAmount": 3000,
"totalTax": 297.2973,
"verificationUrl": "https://sandbox.suf.purs.gov.rs/v/?vl=A0pXWDRLOVBMSldYNEs5UEwSBAAAEAQAAKCLPAAAAAAAAAABnAqJa1EAAAA...",
"journal": "============ ФИСКАЛНИ РАЧУН ============\n...\nПФР број рачуна: JWX4K9PL-JWX4K9PL-1050\nБројач рачуна: 905/1050АР\n========================================\n======== КРАЈ ФИСКАЛНОГ РАЧУНА ========="
},
"receipt": {
"textUrl": "/v1/fiscal-documents/a9b8c7d6-e5f4-4a3b-8c2d-1e0f9a8b7c6d/representations/official-text",
"jsonUrl": "/v1/fiscal-documents/a9b8c7d6-e5f4-4a3b-8c2d-1e0f9a8b7c6d/representations/canonical-json",
"pdfA4Url": "/v1/fiscal-documents/a9b8c7d6-e5f4-4a3b-8c2d-1e0f9a8b7c6d/representations/pdf-a4",
"pdf80mmUrl": "/v1/fiscal-documents/a9b8c7d6-e5f4-4a3b-8c2d-1e0f9a8b7c6d/representations/pdf-80mm",
"pdf58mmUrl": "/v1/fiscal-documents/a9b8c7d6-e5f4-4a3b-8c2d-1e0f9a8b7c6d/representations/pdf-58mm",
"previewImageUrl": "/v1/fiscal-documents/a9b8c7d6-e5f4-4a3b-8c2d-1e0f9a8b7c6d/representations/preview-png",
"qrImageUrl": "/v1/fiscal-documents/a9b8c7d6-e5f4-4a3b-8c2d-1e0f9a8b7c6d/representations/qr-svg",
"verificationUrl": "https://sandbox.suf.purs.gov.rs/v/?vl=A0pXWDRLOVBMSldYNEs5UEwSBAAAEAQAAKCLPAAAAAAAAAABnAqJa1EAAAA...",
"preferredPaperFormat": "a4"
},
"reference": {
"fiscalDocumentId": "d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80",
"pfrNumber": "JWX4K9PL-JWX4K9PL-1049",
"pfrTime": "2026-09-03T11:01:00.500+02:00"
},
"createdAt": "2026-09-01T08:15:31.902Z",
"updatedAt": "2026-09-01T08:15:32.611Z"
}Zatvaranje
finalItems su stavke isporuke sa punom vrednošću (kao da se izdaje običan račun). remainingPayments je samo doplata: konačni iznos umanjen za ukupan fiskalizovan avans. Kada doplate nema, pošaljite jedno plaćanje sa iznosom 0 (V-PFR traži bar jedan element). BokaPOS izdaje dva dokumenta redom: Аванс Рефундацију ukupnog avansa, pa Промет Продаја sa referencom na nju. Delimična isporuka iz avansa nije podržana u ovom toku.
curl -X POST "https://api.bokapos.rs/v1/advance-cases/c4d5e6f7-a8b9-4c0d-9e1f-2a3b4c5d6e7f/close" \
-H "Authorization: Bearer $BOKAPOS_TOKEN" \
-H "Idempotency-Key: order-5001-close" \
-H "Content-Type: application/json" \
-d '{
"cashier": {
"id": "web-shop"
},
"finalItems": [
{
"name": "Bluetooth slušalice",
"unitOfMeasure": "kom",
"quantity": 1,
"unitPrice": 8990,
"gtin": "8606012345678",
"taxLabels": [
"F"
]
}
],
"remainingPayments": [
{
"type": "CARD",
"amount": 5990
}
],
"commercialFooter": "Hvala na kupovini."
}'{
"case": {
"id": "c4d5e6f7-a8b9-4c0d-9e1f-2a3b4c5d6e7f",
"taxpayerId": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
"businessPremiseId": "b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22",
"clientReference": "ORDER-5001",
"externalAdvance": null,
"state": "CLOSED",
"advanceSales": [
{
"id": "d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80",
"taxpayerId": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
"businessPremiseId": "b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22",
"idempotencyKey": "order-5001-advance-1",
"clientReference": "ORDER-5001",
"invoiceType": "ADVANCE",
"transactionType": "SALE",
"cashierId": "web-shop",
"buyerId": null,
"buyerDetails": null,
"status": "FISCALIZED",
"fiscalized": true,
"failureCode": null,
"retryable": false,
"pfr": {
"invoiceNumber": "JWX4K9PL-JWX4K9PL-1049",
"sdcTime": "2026-09-01T10:15:32.483+02:00",
"requestedBy": "JWX4K9PL",
"signedBy": "JWX4K9PL",
"transactionTypeCounter": 904,
"totalCounter": 1049,
"invoiceCounterExtension": "АП",
"totalAmount": 3000,
"totalTax": 297.2973,
"verificationUrl": "https://sandbox.suf.purs.gov.rs/v/?vl=A0pXWDRLOVBMSldYNEs5UEwSBAAAEAQAAKCLPAAAAAAAAAABnAqJa1EAAAA...",
"journal": "============ ФИСКАЛНИ РАЧУН ============\n...\nПФР број рачуна: JWX4K9PL-JWX4K9PL-1049\nБројач рачуна: 904/1049АП\n========================================\n======== КРАЈ ФИСКАЛНОГ РАЧУНА ========="
},
"receipt": {
"textUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/official-text",
"jsonUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/canonical-json",
"pdfA4Url": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/pdf-a4",
"pdf80mmUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/pdf-80mm",
"pdf58mmUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/pdf-58mm",
"previewImageUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/preview-png",
"qrImageUrl": "/v1/fiscal-documents/d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80/representations/qr-svg",
"verificationUrl": "https://sandbox.suf.purs.gov.rs/v/?vl=A0pXWDRLOVBMSldYNEs5UEwSBAAAEAQAAKCLPAAAAAAAAAABnAqJa1EAAAA...",
"preferredPaperFormat": "a4"
},
"createdAt": "2026-09-01T08:15:31.902Z",
"updatedAt": "2026-09-01T08:15:32.611Z"
}
],
"cancellations": [],
"cancelledAdvanceSaleIds": [],
"advanceRefund": {
"id": "e6f7a8b9-c0d1-4e2f-9a3b-4c5d6e7f8091",
"taxpayerId": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
"businessPremiseId": "b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22",
"idempotencyKey": "order-5001-close:refund",
"clientReference": "ORDER-5001",
"invoiceType": "ADVANCE",
"transactionType": "REFUND",
"cashierId": "web-shop",
"buyerId": "10:115711881",
"buyerDetails": null,
"status": "FISCALIZED",
"fiscalized": true,
"failureCode": null,
"retryable": false,
"pfr": {
"invoiceNumber": "JWX4K9PL-JWX4K9PL-1051",
"sdcTime": "2026-09-01T10:15:32.483+02:00",
"requestedBy": "JWX4K9PL",
"signedBy": "JWX4K9PL",
"transactionTypeCounter": 906,
"totalCounter": 1051,
"invoiceCounterExtension": "АР",
"totalAmount": 3000,
"totalTax": 297.2973,
"verificationUrl": "https://sandbox.suf.purs.gov.rs/v/?vl=A0pXWDRLOVBMSldYNEs5UEwSBAAAEAQAAKCLPAAAAAAAAAABnAqJa1EAAAA...",
"journal": "============ ФИСКАЛНИ РАЧУН ============\n...\nПФР број рачуна: JWX4K9PL-JWX4K9PL-1051\nБројач рачуна: 906/1051АР\n========================================\n======== КРАЈ ФИСКАЛНОГ РАЧУНА ========="
},
"receipt": {
"textUrl": "/v1/fiscal-documents/e6f7a8b9-c0d1-4e2f-9a3b-4c5d6e7f8091/representations/official-text",
"jsonUrl": "/v1/fiscal-documents/e6f7a8b9-c0d1-4e2f-9a3b-4c5d6e7f8091/representations/canonical-json",
"pdfA4Url": "/v1/fiscal-documents/e6f7a8b9-c0d1-4e2f-9a3b-4c5d6e7f8091/representations/pdf-a4",
"pdf80mmUrl": "/v1/fiscal-documents/e6f7a8b9-c0d1-4e2f-9a3b-4c5d6e7f8091/representations/pdf-80mm",
"pdf58mmUrl": "/v1/fiscal-documents/e6f7a8b9-c0d1-4e2f-9a3b-4c5d6e7f8091/representations/pdf-58mm",
"previewImageUrl": "/v1/fiscal-documents/e6f7a8b9-c0d1-4e2f-9a3b-4c5d6e7f8091/representations/preview-png",
"qrImageUrl": "/v1/fiscal-documents/e6f7a8b9-c0d1-4e2f-9a3b-4c5d6e7f8091/representations/qr-svg",
"verificationUrl": "https://sandbox.suf.purs.gov.rs/v/?vl=A0pXWDRLOVBMSldYNEs5UEwSBAAAEAQAAKCLPAAAAAAAAAABnAqJa1EAAAA...",
"preferredPaperFormat": "a4"
},
"reference": {
"fiscalDocumentId": "d5e6f7a8-b9c0-4d1e-8f2a-3b4c5d6e7f80",
"pfrNumber": "JWX4K9PL-JWX4K9PL-1049",
"pfrTime": "2026-09-03T11:01:00.500+02:00"
},
"createdAt": "2026-09-01T08:15:31.902Z",
"updatedAt": "2026-09-01T08:15:32.611Z"
},
"finalSale": {
"id": "f7a8b9c0-d1e2-4f3a-8b4c-5d6e7f8091a2",
"taxpayerId": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
"businessPremiseId": "b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22",
"idempotencyKey": "order-5001-close:sale",
"clientReference": "ORDER-5001",
"invoiceType": "NORMAL",
"transactionType": "SALE",
"cashierId": "web-shop",
"buyerId": null,
"buyerDetails": null,
"status": "FISCALIZED",
"fiscalized": true,
"failureCode": null,
"retryable": false,
"pfr": {
"invoiceNumber": "JWX4K9PL-JWX4K9PL-1052",
"sdcTime": "2026-09-01T10:15:32.483+02:00",
"requestedBy": "JWX4K9PL",
"signedBy": "JWX4K9PL",
"transactionTypeCounter": 907,
"totalCounter": 1052,
"invoiceCounterExtension": "ПП",
"totalAmount": 8990,
"totalTax": 890.9009,
"verificationUrl": "https://sandbox.suf.purs.gov.rs/v/?vl=A0pXWDRLOVBMSldYNEs5UEwSBAAAEAQAAKCLPAAAAAAAAAABnAqJa1EAAAA...",
"journal": "============ ФИСКАЛНИ РАЧУН ============\n...\nПФР број рачуна: JWX4K9PL-JWX4K9PL-1052\nБројач рачуна: 907/1052ПП\n========================================\n======== КРАЈ ФИСКАЛНОГ РАЧУНА ========="
},
"receipt": {
"textUrl": "/v1/fiscal-documents/f7a8b9c0-d1e2-4f3a-8b4c-5d6e7f8091a2/representations/official-text",
"jsonUrl": "/v1/fiscal-documents/f7a8b9c0-d1e2-4f3a-8b4c-5d6e7f8091a2/representations/canonical-json",
"pdfA4Url": "/v1/fiscal-documents/f7a8b9c0-d1e2-4f3a-8b4c-5d6e7f8091a2/representations/pdf-a4",
"pdf80mmUrl": "/v1/fiscal-documents/f7a8b9c0-d1e2-4f3a-8b4c-5d6e7f8091a2/representations/pdf-80mm",
"pdf58mmUrl": "/v1/fiscal-documents/f7a8b9c0-d1e2-4f3a-8b4c-5d6e7f8091a2/representations/pdf-58mm",
"previewImageUrl": "/v1/fiscal-documents/f7a8b9c0-d1e2-4f3a-8b4c-5d6e7f8091a2/representations/preview-png",
"qrImageUrl": "/v1/fiscal-documents/f7a8b9c0-d1e2-4f3a-8b4c-5d6e7f8091a2/representations/qr-svg",
"verificationUrl": "https://sandbox.suf.purs.gov.rs/v/?vl=A0pXWDRLOVBMSldYNEs5UEwSBAAAEAQAAKCLPAAAAAAAAAABnAqJa1EAAAA...",
"preferredPaperFormat": "a4"
},
"reference": {
"fiscalDocumentId": "e6f7a8b9-c0d1-4e2f-9a3b-4c5d6e7f8091",
"pfrNumber": "JWX4K9PL-JWX4K9PL-1051",
"pfrTime": "2026-09-05T13:20:44.010+02:00"
},
"createdAt": "2026-09-01T08:15:31.902Z",
"updatedAt": "2026-09-01T08:15:32.611Z"
},
"failureCode": null,
"createdAt": "2026-09-03T09:00:00.000Z",
"updatedAt": "2026-09-05T11:20:45.300Z"
}
}Konačni račun nosi ukupnu vrednost isporuke (8.990) i referencu na avansnu refundaciju; `remainingPayments` je samo doplata (5.990).
Stanja slučaja
| `state` | Značenje | Dozvoljeno |
|---|---|---|
OPEN | lanac u toku | uplata, storno, zatvaranje |
ADVANCE_SALE_OUTCOME_UNKNOWN | poslednja uplata ima nepoznat ishod | čekanje; GET slučaja dok se ne razreši |
CLOSING | zatvaranje u toku | ponavljanje istim ključem |
ADVANCE_REFUND_OUTCOME_UNKNOWN | avansna refundacija zatvaranja ima nepoznat ishod | čekanje |
ADVANCE_REFUND_FISCALIZED_SALE_PENDING | refundacija prošla, konačni račun nije poslat | ponavljanje zatvaranja istim ključem |
FINAL_SALE_OUTCOME_UNKNOWN | konačni račun ima nepoznat ishod | čekanje |
CLOSED | sve fiskalizovano | ništa; čitanje |
FAILED | V-PFR odbio korak; failureCode | nov slučaj sa ispravljenim podacima |
curl -X GET "https://api.bokapos.rs/v1/advance-cases/c4d5e6f7-a8b9-4c0d-9e1f-2a3b4c5d6e7f" \
-H "Authorization: Bearer $BOKAPOS_TOKEN"curl -X GET "https://api.bokapos.rs/v1/advance-cases?businessPremiseId=b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22&state=OPEN&search=ORDER-5001" \
-H "Authorization: Bearer $BOKAPOS_TOKEN"Sandbox i produkcija
Sandbox Poreske uprave nema oznake Ђ, Е, Г, А, pa BokaPOS u sandboxu prihvata naziv 10: Аванс (X) za bilo koju oznaku iz sveže konfiguracije (u primerima F). U produkciji važe isključivo četiri propisana naziva; svaki drugi naziv se odbija. Kod se ne menja: naziv sastavite iz oznake koju ste pročitali iz GET /v1/tax-rates.
Greške kod avansa
| HTTP | Kod | Značenje | Šta uraditi | Ponavljanje |
|---|---|---|---|---|
| 403 | MODULE_NOT_LICENSED | Osnovna licenca važi, ali modul iz polja module (advance ili email) nije uključen. | Uključite modul preko BokaPOS administracije ili ne koristite tu funkciju u produkciji. | kasnije |
| 409 | ADVANCE_CASE_NOT_OPEN | Slučaj je zatvoren, neuspešan ili čeka razrešenje ishoda. | Pročitajte GET /v1/advance-cases/{id} i polje state. | nikad |
| 422 | ADVANCE_CANCELLATION_TARGET_NOT_LATEST | Može se stornirati samo poslednja fiskalizovana avansna prodaja. | Pošaljite id poslednje stavke iz advanceSales koja nije u cancelledAdvanceSaleIds. | ispravi zahtev |
| 422 | ADVANCE_CLOSE_TOTAL_MISMATCH | remainingPayments nije jednako konačnom iznosu umanjenom za ukupan avans. | Izračunajte razliku iz advanceSales i pošaljite je; kad je nula, jedan element sa iznosom 0. | ispravi zahtev |
| 422 | ADVANCE_CASE_HAS_NO_FISCALIZED_SALE | Ne može se zatvoriti slučaj bez ijedne fiskalizovane avansne prodaje (osim kad postoji externalAdvance). | Prvo fiskalizujte uplatu. | nikad |
| 409 | ADVANCE_PAYMENT_SUPERSEDED | Ponovljeni zahtev cilja uplatu koja više nije poslednja u lancu. | Pročitajte slučaj i nastavite od aktuelnog stanja. | nikad |
| 409 | ADVANCE_CASE_CLOSE_ALREADY_RESERVED | Zatvaranje je već rezervisano drugim ključem. | Ponovite zatvaranje istim Idempotency-Key ključem kojim je započeto. | isti ključ |
| 503 | ADVANCE_REFUND_NOT_FISCALIZED | Poreska uprava je odbila avansnu refundaciju pri zatvaranju: slučaj je FAILED sa šifrom odbijanja, a rezervisani konačni račun nikad nije poslat i ima ovaj failureCode, NOT_FISCALIZED, retryable: false. | Pročitajte failureCode slučaja i advanceRefund.pfrRejection, ispravite podatke i otvorite nov slučaj. Ponavljanje istog zatvaranja ne šalje ništa. | nikad |