Pređi na sadržaj

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.

Ažurirano: 29. 8. 2026. · Verzija ugovora 1.0.0

Tok

  1. 01

    Otvorite slučaj

    POST /v1/advance-cases sa clientReference porudžbine. Slučaj ne izdaje račun; on drži lanac.

  2. 02

    Fiskalizujte svaku uplatu

    POST /v1/advance-cases/{id}/payments za svaku primljenu uplatu. Prva Аванс Продаја nema referencu; svaka sledeća automatski referencira prethodnu.

  3. 03

    Stornirajte pogrešnu uplatu (po potrebi)

    POST /v1/advance-cases/{id}/cancellations izdaje Аванс Рефундацију koja poništava poslednju avansnu prodaju u celosti; slučaj ostaje otvoren.

  4. 04

    Zatvorite pri isporuci

    POST /v1/advance-cases/{id}/close sa stavkama isporuke i doplatom. BokaPOS izdaje Аванс Рефундацију ukupnog avansa, pa konačni Промет Продаја račun sa referencom na nju.

Otvaranje slučaja

POST /v1/advance-cases
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"
}'
201 Created
{
  "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.

POST /v1/advance-cases/{advanceCaseId}/payments
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."
}'
201 Created
{
  "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.

POST /v1/advance-cases/{advanceCaseId}/cancellations
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"
}'
201 Created
{
  "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.

POST /v1/advance-cases/{advanceCaseId}/close
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."
}'
201 Created
{
  "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čenjeDozvoljeno
OPENlanac u tokuuplata, storno, zatvaranje
ADVANCE_SALE_OUTCOME_UNKNOWNposlednja uplata ima nepoznat ishodčekanje; GET slučaja dok se ne razreši
CLOSINGzatvaranje u tokuponavljanje istim ključem
ADVANCE_REFUND_OUTCOME_UNKNOWNavansna refundacija zatvaranja ima nepoznat ishodčekanje
ADVANCE_REFUND_FISCALIZED_SALE_PENDINGrefundacija prošla, konačni račun nije poslatponavljanje zatvaranja istim ključem
FINAL_SALE_OUTCOME_UNKNOWNkonačni račun ima nepoznat ishodčekanje
CLOSEDsve fiskalizovanoništa; čitanje
FAILEDV-PFR odbio korak; failureCodenov slučaj sa ispravljenim podacima
GET /v1/advance-cases/{advanceCaseId}
curl -X GET "https://api.bokapos.rs/v1/advance-cases/c4d5e6f7-a8b9-4c0d-9e1f-2a3b4c5d6e7f" \
  -H "Authorization: Bearer $BOKAPOS_TOKEN"
GET /v1/advance-cases
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

HTTPKodZnačenjeŠta uraditiPonavljanje
403MODULE_NOT_LICENSEDOsnovna 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
409ADVANCE_CASE_NOT_OPENSlučaj je zatvoren, neuspešan ili čeka razrešenje ishoda.Pročitajte GET /v1/advance-cases/{id} i polje state.nikad
422ADVANCE_CANCELLATION_TARGET_NOT_LATESTMože se stornirati samo poslednja fiskalizovana avansna prodaja.Pošaljite id poslednje stavke iz advanceSales koja nije u cancelledAdvanceSaleIds.ispravi zahtev
422ADVANCE_CLOSE_TOTAL_MISMATCHremainingPayments 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
422ADVANCE_CASE_HAS_NO_FISCALIZED_SALENe može se zatvoriti slučaj bez ijedne fiskalizovane avansne prodaje (osim kad postoji externalAdvance).Prvo fiskalizujte uplatu.nikad
409ADVANCE_PAYMENT_SUPERSEDEDPonovljeni zahtev cilja uplatu koja više nije poslednja u lancu.Pročitajte slučaj i nastavite od aktuelnog stanja.nikad
409ADVANCE_CASE_CLOSE_ALREADY_RESERVEDZatvaranje je već rezervisano drugim ključem.Ponovite zatvaranje istim Idempotency-Key ključem kojim je započeto.isti ključ
503ADVANCE_REFUND_NOT_FISCALIZEDPoreska 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