{
  "info": {
    "_postman_id": "d3c602e0-f50d-4fc9-9e95-e58eeae72ef3",
    "name": "easyPos Cloud Fiscalization API",
    "description": "Complete collection for the easyPos Cloud Fiscalization API. Start with the development environment. Set accessToken and replace the integrationApp placeholder with the stable identifier assigned to your integration. Keep that integrationApp value unchanged across requests. Assign a unique stable docId variable before each new business document and keep that docId with the exact body for retries. Normal invoices are complete when fic is present; electronic invoices require both fic and eic. On timeout, 502/503, connection loss or an incomplete response, call Invoice Status with the same docId. If status reports not found, replay the original request with the same docId and body. Never send concurrent requests for one docId. vatCode depends on the business VAT status and fiscal configuration: A is 0% for a business not subject to VAT, B is 20%, C is an exempt 0% supply, D is 10%, E is 6%, and J is 0% export. Do not use other A–L codes without confirmed configuration.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{accessToken}}",
        "type": "string"
      }
    ]
  },
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "type": "text/javascript",
        "exec": [
          "if (!pm.collectionVariables.get('accessToken')) {",
          "  console.warn('Set the accessToken collection variable before sending requests.')",
          "}"
        ]
      }
    }
  ],
  "item": [
    {
      "name": "Invoices — normal and special documents",
      "description": "Normal fiscal invoices complete when fic is present. Every mutating request has its own docId variable; preserve it for retries.",
      "item": [
        {
          "name": "Register — normal cash invoice",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json", "type": "text" },
              { "key": "integration-app", "value": "{{integrationApp}}", "type": "text" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{normalDocId}}\",\n  \"articles\": [\n    {\n      \"articleId\": \"ART-COFFEE\",\n      \"name\": \"Kafe ekspres\",\n      \"vatCode\": \"B\",\n      \"price\": 120,\n      \"units\": 2,\n      \"soldIn\": \"XPP\"\n    }\n  ],\n  \"payment\": [\n    { \"type\": \"CASH\", \"amount\": 240 }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "Minimal normal cash invoice for a VAT-registered business using the standard 20% vatCode B. A business not subject to VAT would use A for the same article. soldIn uses a UN/CEFACT unit code. A completed response contains fic. Reuse normalDocId and this exact body for recovery."
          },
          "response": []
        },
        {
          "name": "Register — mixed articles and payments",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json", "type": "text" },
              { "key": "integration-app", "value": "{{integrationApp}}", "type": "text" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{mixedDocId}}\",\n  \"invoiceRebate\": { \"inPercentage\": 5 },\n  \"buyer\": {\n    \"buyerIDType\": \"ID\",\n    \"buyerIDNum\": \"J12345678A\",\n    \"buyerName\": \"Klient demonstrues\",\n    \"buyerAddress\": \"Rruga e Kavajës\",\n    \"buyerTown\": \"Tiranë\",\n    \"buyerCountry\": \"ALB\"\n  },\n  \"articles\": [\n    { \"articleId\": \"ART-1\", \"name\": \"Kafe\", \"vatCode\": \"B\", \"price\": 120, \"units\": 2, \"soldIn\": \"XPP\" },\n    { \"articleId\": \"ART-2\", \"name\": \"Ujë natyral\", \"vatCode\": \"B\", \"price\": 100, \"units\": 1, \"soldIn\": \"XPP\", \"rebate\": { \"inValue\": 20 } }\n  ],\n  \"payment\": [\n    { \"type\": \"CASH\", \"amount\": 200 },\n    { \"type\": \"CARD\", \"amount\": 104 }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "Mixed lines, line rebate, invoice rebate, buyer and split payment. Recalculate payment amounts if the configured VAT or rounding rules differ. Payment sum must equal the final calculated total."
          },
          "response": []
        },
        {
          "name": "Register — ORDER 1",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{orderDocId1}}\",\n  \"documentType\": \"ORDER\",\n  \"articles\": [\n    { \"articleId\": \"ORD-1\", \"name\": \"Drekë biznesi\", \"vatCode\": \"B\", \"price\": 1200, \"units\": 1, \"soldIn\": \"XPP\" }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "ORDER omits payment. Copy the returned iic into orderIic1 before creating a SUMMARY."
          },
          "response": []
        },
        {
          "name": "Register — ORDER 2",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{orderDocId2}}\",\n  \"documentType\": \"ORDER\",\n  \"articles\": [\n    { \"articleId\": \"ORD-2\", \"name\": \"Pije freskuese\", \"vatCode\": \"B\", \"price\": 300, \"units\": 2, \"soldIn\": \"XPP\" }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "Second ORDER for the summary flow. Copy returned iic into orderIic2."
          },
          "response": []
        },
        {
          "name": "Register — SUMMARY from orders",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{summaryDocId}}\",\n  \"documentType\": \"SUMMARY\",\n  \"summaryInvoices\": [\"{{orderIic1}}\", \"{{orderIic2}}\"],\n  \"total\": 1800,\n  \"payment\": [\n    { \"type\": \"CASH\", \"amount\": 1800 }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "SUMMARY omits articles and consumes unused ORDER iic values. total and payment must equal the exact sum of those orders."
          },
          "response": []
        },
        {
          "name": "Register — SELFISSUE",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{selfIssueDocId}}\",\n  \"documentType\": \"SELFISSUE\",\n  \"selfIssueType\": \"DOMESTIC\",\n  \"reverseCharge\": true,\n  \"buyer\": {\n    \"buyerIDType\": \"NUIS\",\n    \"buyerIDNum\": \"{{supplierNipt}}\",\n    \"buyerName\": \"Furnitor demonstrues\",\n    \"buyerAddress\": \"Tiranë\",\n    \"buyerTown\": \"Tiranë\",\n    \"buyerCountry\": \"ALB\"\n  },\n  \"articles\": [\n    { \"articleId\": \"SVC-1\", \"name\": \"Shërbim profesional\", \"vatCode\": \"B\", \"price\": 10000, \"units\": 1, \"soldIn\": \"HUR\" }\n  ],\n  \"payment\": [\n    { \"type\": \"CASH\", \"amount\": 10000 }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "SELFISSUE requires selfIssueType and supplier data in buyer. Confirm the configured VAT treatment and final total for the authenticated business before sending."
          },
          "response": []
        },
        {
          "name": "Register — EXPORT",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{exportDocId}}\",\n  \"documentType\": \"EXPORT\",\n  \"supplyPeriod\": { \"start\": \"2026-08-01\", \"end\": \"2026-08-28\" },\n  \"buyer\": {\n    \"buyerIDType\": \"VAT\",\n    \"buyerIDNum\": \"IT12345678901\",\n    \"buyerName\": \"Acquirente Demo SRL\",\n    \"buyerAddress\": \"Via Roma 1\",\n    \"buyerTown\": \"Bari\",\n    \"buyerCountry\": \"ITA\",\n    \"buyerCountryCode\": \"IT\"\n  },\n  \"articles\": [\n    { \"articleId\": \"EXP-1\", \"name\": \"Mall për eksport\", \"vatCode\": \"J\", \"price\": 25000, \"units\": 4, \"soldIn\": \"XPP\" }\n  ],\n  \"payment\": [\n    { \"type\": \"TRANSFER\", \"amount\": 100000 }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "EXPORT requires a non-NUIS foreign buyer. This collection uses VAT code J as the known export configuration example; use the export VAT code configured for the authenticated business."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Invoices — electronic",
      "description": "Electronic invoices require a NUIS buyer, non-cash payment and selectedProcess P1–P11. They are complete only when both fic and eic are present. Keep the same docId while waiting or recovering.",
      "item": [
        {
          "name": "Register — eInvoice P1",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{electronicDocId}}\",\n  \"isEinvoice\": true,\n  \"selectedProcess\": \"P1\",\n  \"payDeadline\": \"2026-09-30\",\n  \"buyer\": {\n    \"buyerIDType\": \"NUIS\",\n    \"buyerIDNum\": \"{{buyerNipt}}\",\n    \"buyerName\": \"Blerës demonstrues SHPK\",\n    \"buyerAddress\": \"Tiranë\",\n    \"buyerTown\": \"Tiranë\",\n    \"buyerCountry\": \"ALB\",\n    \"buyerCountryCode\": \"AL\"\n  },\n  \"articles\": [\n    { \"articleId\": \"SVC-CLOUD\", \"name\": \"Shërbim cloud\", \"vatCode\": \"B\", \"price\": 10000, \"units\": 1, \"soldIn\": \"HUR\" }\n  ],\n  \"payment\": [\n    {\n      \"type\": \"ACCOUNT\",\n      \"amount\": 10000,\n      \"details\": [\n        {\n          \"idNumber\": \"{{sellerIban}}\",\n          \"name\": \"Shitësi SHPK\",\n          \"bankName\": \"Banka XYZ\",\n          \"swift_code\": \"ABCDEFGH\",\n          \"country\": \"Shqipëri\",\n          \"countryCode\": \"AL\",\n          \"currency\": \"ALL\"\n        }\n      ]\n    }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "Standard P1 electronic invoice. Update buyerNipt and account variables. A 200 response with only orderId/error is incomplete; use Invoice Status with electronicDocId until both fic and eic exist."
          },
          "response": []
        },
        {
          "name": "Register — eInvoice P4 prepayment",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{p4DocId}}\",\n  \"isEinvoice\": true,\n  \"selectedProcess\": \"P4\",\n  \"prepaidAmount\": 5000,\n  \"buyer\": {\n    \"buyerIDType\": \"NUIS\",\n    \"buyerIDNum\": \"{{buyerNipt}}\",\n    \"buyerName\": \"Blerës demonstrues SHPK\",\n    \"buyerAddress\": \"Tiranë\",\n    \"buyerTown\": \"Tiranë\",\n    \"buyerCountry\": \"ALB\"\n  },\n  \"articles\": [\n    { \"articleId\": \"ADV-1\", \"name\": \"Parapagim shërbimi\", \"vatCode\": \"B\", \"price\": 10000, \"units\": 1, \"soldIn\": \"XPP\" }\n  ],\n  \"payment\": [\n    { \"type\": \"TRANSFER\", \"amount\": 10000 }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "P4 maps to invoice type 386. prepaidAmount must be greater than zero and no greater than the total."
          },
          "response": []
        },
        {
          "name": "Register — eInvoice P9 credit note",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{p9DocId}}\",\n  \"isEinvoice\": true,\n  \"selectedProcess\": \"P9\",\n  \"correctiveInvoice\": { \"iicRef\": \"{{electronicIic}}\" },\n  \"buyer\": {\n    \"buyerIDType\": \"NUIS\",\n    \"buyerIDNum\": \"{{buyerNipt}}\",\n    \"buyerName\": \"Blerës demonstrues SHPK\",\n    \"buyerAddress\": \"Tiranë\",\n    \"buyerTown\": \"Tiranë\",\n    \"buyerCountry\": \"ALB\"\n  },\n  \"articles\": [\n    { \"articleId\": \"CORR-1\", \"name\": \"Korrigjim shërbimi\", \"vatCode\": \"B\", \"price\": -1000, \"units\": 1, \"soldIn\": \"XPP\" }\n  ],\n  \"payment\": [\n    { \"type\": \"TRANSFER\", \"amount\": -1000 }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "P9 requires correctiveInvoice.iicRef referencing an electronic invoice that has eic. Confirm sign conventions against the business correction scenario."
          },
          "response": []
        },
        {
          "name": "Register — eInvoice P11 partial",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{p11DocId}}\",\n  \"isEinvoice\": true,\n  \"selectedProcess\": \"P11\",\n  \"buyer\": {\n    \"buyerIDType\": \"NUIS\",\n    \"buyerIDNum\": \"{{buyerNipt}}\",\n    \"buyerName\": \"Blerës demonstrues SHPK\",\n    \"buyerAddress\": \"Tiranë\",\n    \"buyerTown\": \"Tiranë\",\n    \"buyerCountry\": \"ALB\"\n  },\n  \"articles\": [\n    { \"articleId\": \"PART-1\", \"name\": \"Faturim i pjesshëm\", \"vatCode\": \"B\", \"price\": 25000, \"units\": 1, \"soldIn\": \"XPP\" }\n  ],\n  \"payment\": [\n    { \"type\": \"TRANSFER\", \"amount\": 25000 }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/register",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "register"]
            },
            "description": "P11 partial invoicing maps to invoice type 326 unless a compatible direct type is supplied."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Invoice lifecycle",
      "item": [
        {
          "name": "Invoice Status — normal",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{normalDocId}}\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/status",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "status"]
            },
            "description": "Use after an ambiguous normal invoice request. Keep the same docId."
          },
          "response": []
        },
        {
          "name": "Invoice Status — electronic",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{electronicDocId}}\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/status",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "status"]
            },
            "description": "Electronic processing is complete only when fic and eic are both present. Back off and repeat status with the same docId while incomplete."
          },
          "response": []
        },
        {
          "name": "Cancel invoice",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{cancellationDocId}}\",\n  \"correctiveInvoice\": {\n    \"iicRef\": \"{{invoiceIic}}\"\n  },\n  \"invoiceNotes\": \"Anulim me kërkesë të klientit\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/cancel",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "cancel"]
            },
            "description": "Cancellation is a new fiscal document and needs a new cancellationDocId. Do not send articles or payments. Reuse cancellationDocId for cancellation retries."
          },
          "response": []
        },
        {
          "name": "Cancel electronic invoice — P10",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{electronicCancellationDocId}}\",\n  \"isEinvoice\": true,\n  \"selectedProcess\": \"P10\",\n  \"correctiveInvoice\": {\n    \"iicRef\": \"{{electronicIic}}\"\n  },\n  \"invoiceNotes\": \"Anulim i faturës elektronike\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/cancel",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "cancel"]
            },
            "description": "Electronic cancellation is a new fiscal document. The original invoice must have eic. Completion requires both fic and eic. Reuse electronicCancellationDocId for every retry of this cancellation."
          },
          "response": []
        },
        {
          "name": "PDF — A4",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"iic\": \"{{invoiceIic}}\",\n  \"pdfType\": \"A4\",\n  \"lang\": \"sq\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/pdf",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "pdf"]
            }
          },
          "response": []
        },
        {
          "name": "PDF — receipt 80mm",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"iic\": \"{{invoiceIic}}\",\n  \"pdfType\": \"receipt\",\n  \"paperWidth\": 80\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/pdf",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "pdf"]
            }
          },
          "response": []
        },
        {
          "name": "PDF — official eInvoice",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"iic\": \"{{electronicIic}}\",\n  \"pdfType\": \"eInvoice\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/invoice/pdf",
              "host": ["{{baseUrl}}"],
              "path": ["invoice", "pdf"]
            },
            "description": "The source invoice must be electronically complete and have eic."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Cash balance",
      "description": "Amounts are in ALL. Send the opening balance once at the start of each workday for the relevant fiscal device, before its first cash invoice—not before every invoice or every shift. Use deposit and withdraw when a shift change physically changes the till amount. There is no shift-close endpoint. Each transaction gets a unique docId with no required semantic format; retries of the same operation reuse it.",
      "item": [
        {
          "name": "Initiate opening balance",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{balanceOpenDocId}}\",\n  \"amount\": 10000\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/balance/initiate",
              "host": ["{{baseUrl}}"],
              "path": ["balance", "initiate"]
            },
            "description": "Report once at the start of each workday for this fiscal device, before its first cash invoice. A missing opening balance can cause a cash invoice to be rejected."
          },
          "response": []
        },
        {
          "name": "Deposit cash",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{balanceDepositDocId}}\",\n  \"amount\": 5000,\n  \"notes\": \"Shtim në arkë\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/balance/deposit",
              "host": ["{{baseUrl}}"],
              "path": ["balance", "deposit"]
            }
          },
          "response": []
        },
        {
          "name": "Withdraw cash",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"docId\": \"{{balanceWithdrawDocId}}\",\n  \"amount\": 2500,\n  \"notes\": \"Derdhje në bankë\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/balance/withdraw",
              "host": ["{{baseUrl}}"],
              "path": ["balance", "withdraw"]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Utilities",
      "item": [
        {
          "name": "Search taxpayers",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"searchTerm\": \"Vodafone\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": {
              "raw": "{{baseUrl}}/utilities/get-taxpayers",
              "host": ["{{baseUrl}}"],
              "path": ["utilities", "get-taxpayers"]
            },
            "description": "searchTerm accepts a NIPT or business name, 3–200 characters. Country is ISO 3166-1 alpha-3, such as ALB. The response has no active, inactive or deregistered status; use it for search and buyer-data completion, not final tax-status verification. No numeric rate limit is published; debounce input and do not request on every keystroke."
          },
          "response": [
            {
              "name": "Success response",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/utilities/get-taxpayers",
                  "host": ["{{baseUrl}}"],
                  "path": ["utilities", "get-taxpayers"]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [{ "key": "Content-Type", "value": "application/json" }],
              "cookie": [],
              "body": "[\n  {\n    \"Address\": \"Rruga Pavaresia, kodi postal 1050, Kashar 61\",\n    \"Country\": \"ALB\",\n    \"Name\": \"FONDACIONI VODAFONE ALBANIA\",\n    \"Tin\": \"K72118452F\",\n    \"Town\": \"Tirane\"\n  },\n  {\n    \"Address\": \"Autostrada Tirane-Durres, Rruga Pavaresia, Nr.61, Kashar\",\n    \"Country\": \"ALB\",\n    \"Name\": \"VODAFONE ALBANIA\",\n    \"Tin\": \"K11715005L\",\n    \"Town\": \"Kashar\"\n  }\n]"
            }
          ]
        },
        {
          "name": "List operators",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "integration-app", "value": "{{integrationApp}}" }
            ],
            "body": { "mode": "raw", "raw": "{}", "options": { "raw": { "language": "json" } } },
            "url": {
              "raw": "{{baseUrl}}/utilities/get-operators",
              "host": ["{{baseUrl}}"],
              "path": ["utilities", "get-operators"]
            },
            "description": "Use opCode as operatorCode in fiscalization requests. The service selects an operator automatically when operatorCode is omitted."
          },
          "response": [
            {
              "name": "Success response",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/utilities/get-operators",
                  "host": ["{{baseUrl}}"],
                  "path": ["utilities", "get-operators"]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [{ "key": "Content-Type", "value": "application/json" }],
              "cookie": [],
              "body": "[\n  {\n    \"name\": \"test3\",\n    \"opCode\": \"gh537ez280\"\n  },\n  {\n    \"name\": \"User A\",\n    \"opCode\": \"aa111aa222\"\n  }\n]"
            }
          ]
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.dev.easypos.al/fiscalisation-service/v1",
      "type": "string"
    },
    {
      "key": "developmentBaseUrl",
      "value": "https://api.dev.easypos.al/fiscalisation-service/v1",
      "type": "string"
    },
    {
      "key": "productionBaseUrl",
      "value": "https://api.easypos.al/fiscalisation-service/v1",
      "type": "string"
    },
    { "key": "accessToken", "value": "", "type": "string" },
    {
      "key": "integrationApp",
      "value": "REPLACE_WITH_INTEGRATION_APP",
      "type": "string"
    },
    { "key": "buyerNipt", "value": "REPLACE_WITH_BUYER_NIPT", "type": "string" },
    { "key": "supplierNipt", "value": "REPLACE_WITH_SUPPLIER_NIPT", "type": "string" },
    { "key": "sellerIban", "value": "AL47212110090000000235698741", "type": "string" },
    { "key": "normalDocId", "value": "DEMO-NORMAL-2026-0001", "type": "string" },
    { "key": "mixedDocId", "value": "DEMO-MIXED-2026-0001", "type": "string" },
    { "key": "orderDocId1", "value": "DEMO-ORDER-2026-0001", "type": "string" },
    { "key": "orderDocId2", "value": "DEMO-ORDER-2026-0002", "type": "string" },
    { "key": "orderIic1", "value": "REPLACE_AFTER_ORDER_1", "type": "string" },
    { "key": "orderIic2", "value": "REPLACE_AFTER_ORDER_2", "type": "string" },
    { "key": "summaryDocId", "value": "DEMO-SUMMARY-2026-0001", "type": "string" },
    { "key": "selfIssueDocId", "value": "DEMO-SELFISSUE-2026-0001", "type": "string" },
    { "key": "exportDocId", "value": "DEMO-EXPORT-2026-0001", "type": "string" },
    { "key": "electronicDocId", "value": "DEMO-EINVOICE-P1-2026-0001", "type": "string" },
    { "key": "p4DocId", "value": "DEMO-EINVOICE-P4-2026-0001", "type": "string" },
    { "key": "p9DocId", "value": "DEMO-EINVOICE-P9-2026-0001", "type": "string" },
    { "key": "p11DocId", "value": "DEMO-EINVOICE-P11-2026-0001", "type": "string" },
    { "key": "invoiceIic", "value": "REPLACE_AFTER_NORMAL_INVOICE", "type": "string" },
    { "key": "electronicIic", "value": "REPLACE_AFTER_EINVOICE", "type": "string" },
    { "key": "cancellationDocId", "value": "DEMO-CANCEL-2026-0001", "type": "string" },
    {
      "key": "electronicCancellationDocId",
      "value": "DEMO-CANCEL-EINVOICE-2026-0001",
      "type": "string"
    },
    { "key": "balanceOpenDocId", "value": "DEMO-BALANCE-OPEN-2026-0001", "type": "string" },
    { "key": "balanceDepositDocId", "value": "DEMO-BALANCE-IN-2026-0001", "type": "string" },
    { "key": "balanceWithdrawDocId", "value": "DEMO-BALANCE-OUT-2026-0001", "type": "string" }
  ]
}
