This document provides comprehensive guidance for integrating with the easyInvoice system. Two main methods are supported:
easyInvoice is an electronic invoicing system designed for B2B transactions and fiscal compliance in Albania. This guide demonstrates how to integrate with easyInvoice using either file-based integration or RESTful API calls.
http://[server-ip]:port/v1/...Content-Type: application/json
Authorization: [your-authorization-string]| Method | Endpoint | Description |
|---|---|---|
GET | /v1 | Test connection |
POST | /v1/invoices/new | Create invoice(s) |
GET | /v1/invoices | Get all invoices |
GET | /v1/invoices/:id | Get single invoice |
GET | /v1/operators | Get operators |
GET | /v1/entities | Get entities |
Postman Documentation:https://documenter.getpostman.com/view/21155107/2sB3WwpxEr
{
"status": 0,
"response": {
"nslf": "9F01C3580F765D733529ED8C2822CA81",
"nivf": "9775c78c-1363-4469-9b26-e9a19204a0a4",
"eic": "aae0770c-0e44-4a0a-b8d1-004c2a6eacf4",
"link": "https://efiskalizimi-app.tatime.gov.al/invoice-check/...",
"text": "Sukses"
},
"docId": "0384a667-ea97-4e53-9e8e-5a234162ca42"
}status: 0 = Success, 1 = Errornslf: IIC (Internal Invoice Counter) nivf: FIC (Fiscal Invoice Counter) eic: EIC (Electronic Invoice Counter) link: Invoice verification URLPlace JSON files in the watched directory. easyInvoice will process them automatically.
{
"operatorCode": "gh537ez280",
"buyer": {
"buyerIDType": "NUIS",
"buyerIDNum": "K00000000A",
"buyerName": "GENERAL DIRECTORATE OF TAXES",
"buyerAddress": "Rruga Gjin Bue Shpata",
"buyerTown": "Tirana",
"buyerCountry": "ALB"
},
"articles": [
{
"articleId": "1412134",
"vatCode": "B",
"name": "Water",
"soldIn": "cope",
"price": 150,
"units": 195
}
],
"bankDetails": {
"country": "Albania",
"countryCode": "AL",
"currency": "ALL",
"idNumber": "AL70202310040000000011237412"
}
}operatorCode - Required for all invoices buyer - Required with valid NUIS bankDetails - Required for ACCOUNT payment docId - Recommended (UUIDv4){
"app": "your-app-name",
"operatorCode": "gh537ez280",
"buyer": {
"buyerIDType": "NUIS",
"buyerIDNum": "K00000000A",
"buyerName": "GENERAL DIRECTORATE OF TAXES",
"buyerAddress": "Rruga Gjin Bue Shpata",
"buyerTown": "Tirana",
"buyerCountry": "ALB"
},
"articles": [
{
"articleId": "1412134",
"vatCode": "B",
"name": "Water",
"soldIn": "cope",
"price": 150,
"units": 195
},
{
"articleId": "2412412",
"vatCode": "B",
"name": "Cola",
"soldIn": "cope",
"price": 200,
"units": 120
}
],
"bankDetails": {
"country": "Albania",
"countryCode": "AL",
"currency": "ALL",
"idNumber": "AL70202310040000000011237412"
},
"paymentDeadline": "2025-01-28",
"supplyPeriod": {
"start": "2025-01-01",
"end": "2025-01-28"
},
"invoiceNotes": "Test note"
}"payment": [
{
"type": "FACTORING",
"amount": 23500
},
{
"type": "ACCOUNT",
"bankDetails": [{
"country": "Albania",
"countryCode": "AL",
"currency": "ALL",
"idNumber": "AL70202310040000000011237412"
}],
"amount": 35600
}
]{
"invoices": [{
"docId": "ab4f61ac-d812-4939-80f3-e964fd1a041a",
"operatorCode": "gh537ez280",
"invoiceType": "CANCEL",
"iicRef": "3A0029767862ACE2DDCB70C2E4363C09"
}]
}| Field | Type | Description |
|---|---|---|
| bankDetails | object | Seller's bank details |
| paymentDeadline | string | Payment deadline (YYYY-MM-DD) |
| supplyPeriod | object | Supply period (start, end) |
| invoiceNotes | string | Invoice notes |
| Type | Category | Description |
|---|---|---|
ACCOUNT | NONCASH | Bank transfer |
FACTORING | NONCASH | Factoring |
COMPENSATION | NONCASH | Compensation |
KIND | NONCASH | Payment in kind (clearing) |
OTHER | NONCASH | Other, non-cash |
{
"app": "your-app-name",
"invoiceType": "WTN",
"articles": [
{
"articleId": "12344412",
"name": "Water",
"soldIn": "cope",
"cost": 50.4121,
"units": 10.192
},
{
"articleId": "2341234",
"name": "Bread",
"soldIn": "cope",
"cost": 150.245,
"units": 3.142
}
],
"wtnOptions": {
"transaction": "TRANSFER",
"vehicleOwnership": "OWNER",
"vehiclePlate": "AA293BB",
"startPoint": "STORE",
"startAddress": "Lunder",
"startCity": "Tirana",
"startDate": "2025-01-12",
"startTime": "22:55",
"destinationPoint": "STORE",
"destinationCity": "Durres",
"destinationAddress": "Test Street",
"destinationDate": "2025-01-14",
"destinationTime": "21:32",
"areGoodsFlammable": true,
"isEscortRequired": false,
"packagingType": "Box",
"packagesNumber": "24",
"itemsNumber": "12"
}
}| Field | Possible Values | Description |
|---|---|---|
| transaction | TRANSFER, SALE, EXAMINATION, DISPOSAL, RETURN | Transaction type |
| vehicleOwnership | OWNER, THIRD_PARTY | Vehicle ownership |
| startPoint | STORE, WAREHOUSE, OTHER | Starting point |
| destinationPoint | STORE, WAREHOUSE, OTHER | Destination point |
| Field | Description | Example |
|---|---|---|
| country | Country name | Albania |
| countryCode | ISO 2-letter code | AL |
| currency | Currency code | ALL, EUR |
| idNumber | IBAN | AL70202310040000000011237412 |
"supplyPeriod": {
"start": "2025-01-01",
"end": "2025-01-28"
}| Code | Type | Message |
|---|---|---|
| E1000 | NOT_FOUND_ERROR | Resource not found |
| E1001 | ALREADY_EXISTS_ERROR | Resource already exists |
| E1002 | FIELDS_VALIDATION_ERROR | Field validation error |
| E1300 | INVOICE_ERROR | Could not generate invoice |
| E9800 | CIS_ERROR | Error from CIS |
To test the integration, request a demo account from support staff.
© ESDP - easyInvoice Integration Guide v2.3.0