Skip to content

Prana API (1.0)

API Prana

Welcome !!! In our developer portal you will find everything you need to interact with our platform.

Our API works with the REST interface through the HTTPS protocol and using the JSON format for processing calls.

All requests are validated against an API Key that can be obtained manually from the Configuration section of the PRANA app.

Our goal is to offer the clearest possible documentation here.

Any suggestions can be sent to: info@prana.software

API Key

To use your API key, you need only call the api with your key in the header as follow:

X-Api-Key

Download OpenAPI description
Languages
Servers
https://api.prana.software

Stock Regularization

Manage your Stock Regularizations

Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Stock Transfer

Manage your Stock Transfers

Operations
Operations

Warehouse Movement

Manage your warehouse movements

Operations
Operations
Operations

DeliveryNote

Manage your DeliveryNotes

Operations

Request

Get a specific deliveryNote.

Path
idinteger(int32)required
curl -i -X GET \
  'https://api.prana.software/api/v1/deliveryNote/{id}'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
numberintegerrequired

Unique serial number of the document header.

Example: 1001
documentDatestring(date)required

Date of the document in ISO format (yyyy-MM-dd).

Example: "2024-08-07"
quantityTotalnumber

Total quantity for all document lines.

Example: 200.5
observationsstring

Free text field for any observations related to the document.

Example: "Customer requested urgent delivery"
linesArray of objects(ApiDeliveryNoteLineReadDto)

List of detail lines for the document. For structure see: ApiBaseLineReadDto.java

changenumber

Change applied to the invoice or document

Example: 0.5
discount1number

First discount percentage

Example: 5
discount2number

Second discount percentage

Example: 2
discountAmountTotalnumber

Total discount amount

Example: 100
discountAmountTotalCompanyCurrencynumber

Total discount amount in company currency

Example: 95
discountPpnumber

Prompt payment discount percentage

Example: 3
discountPpAmountTotalnumber

Total prompt payment discount amount

Example: 15
discountPpAmountTotalCompanyCurrencynumber

Total prompt payment discount amount in company currency

Example: 14
grossAmountTotalnumber

Gross total amount

Example: 1200
grossAmountTotalCompanyCurrencynumber

Gross total amount in company currency

Example: 1150
netAmountTotalnumber

Net total amount

Example: 1100
netAmountTotalCompanyCurrencynumber

Net total amount in company currency

Example: 1080
vatAmountTotalnumber

Total VAT amount

Example: 230
vatAmountTotalCompanyCurrencynumber

Total VAT amount in company currency

Example: 225
surchargeAmountTotalnumber

Total surcharge amount

Example: 20
surchargeAmountTotalCompanyCurrencynumber

Total surcharge amount in company currency

Example: 18
withholdingnumber

Withholding percentage

Example: 2
withholdingAmountTotalnumber

Total withholding amount

Example: 22
withholdingAmountTotalCompanyCurrencynumber

Total withholding amount in company currency

Example: 21
totalnumber

Total document amount

Example: 1300
totalCompanyCurrencynumber

Total document amount in company currency

Example: 1280
disbursementAmountTotalnumber

Total disbursement amount

Example: 50
disbursementAmountTotalCompanyCurrencynumber

Total disbursement amount in company currency

Example: 48
billingSeriesobject(ApiBillingSeriesListReadDto)required

Billing series information

billingSeries.​idinteger(int32)required

Unique identifier of the entity

Example: 1
billingSeries.​typestring(ApiBillingSeriesDocumentTypeEnum)required

Type of the billing series. See ApiBillingSeriesTypeEnum for possible values.

Enum"PURCHASE""PURCHASE_TICKET""SALE""SALE_TICKET""INVOICE_DRAFT"
Example: "INVOICE"
billingSeries.​codestringrequired

Billing series code.

Example: "SER2025"
billingSeries.​descriptionstring

Description of the billing series.

Example: "Main invoice series"
billingSeries.​depositboolean

Indicates if this is the default series.

Example: true
billingSeries.​correctiveboolean

Indicates if this is a corrective series.

Example: false
billingSeries.​otherSIFboolean

Indicates if this series is for other SIF.

Example: false
valueDatestring(date)

Value date

Example: "2024-01-20"
customerAddressobject(ApiCustomerAddressViewReadDto)

Customer address information

warehouseobject(ApiWarehouseListReadDto)required

Warehouse information

warehouse.​idinteger(int32)required

Unique identifier of the entity

Example: 1
warehouse.​codestringrequired

Warehouse code (unique per warehouse).

Example: "ALM01"
warehouse.​descriptionstringrequired

Warehouse description.

Example: "Central warehouse"
warehouse.​populationstring

Population or city where the warehouse is located.

Example: "Madrid"
warehouse.​activeboolean

Indicates if the warehouse is active.

Example: true
referencestring

Reference number

Example: "ALB-2024-001"
rateCodeobject(ApiRateCodeListReadDto)

Exchange rate code information

agencyobject(ApiAgencyListReadDto)

Agency information

lockedboolean

Flag indicating if the document is locked

Example: false
paymentMethodobject(ApiPaymentMethodListReadDto)required

DTO para listar los métodos de pago disponibles

paymentMethod.​idinteger(int32)required

Unique identifier of the entity

Example: 1
paymentMethod.​codeinteger(int32)required

Código único del método de pago

Example: 1
paymentMethod.​descriptionstringrequired

Descripción del método de pago

Example: "Transferencia bancaria"
paymentMethod.​documentstring

Documento asociado al método de pago

Example: "Contrato"
paymentMethod.​firstTerminteger(int32)

Primer plazo de pago en días

Example: 30
paymentMethod.​termsinteger(int32)

Número total de plazos

Example: 3
paymentMethod.​daysTermsinteger(int32)

Días entre plazos

Example: 30
paymentMethod.​remittanceboolean

Indica si es una remesa

Example: true
paymentMethod.​addToCustomerBaseboolean

Indica si se debe añadir a la base de clientes

Example: true
paymentMethod.​serveFullPrePaidboolean

Indica si sirve como pago anticipado completo

Example: false
paymentMethod.​observationsstring

Observaciones adicionales

Example: "Requiere verificación bancaria"
paymentMethod.​iconstring

Icono representativo del método de pago

Example: "fa-credit-card"
paymentMethod.​facturaECodestring(ApiFacturaECodeEnum)

Código de factura electrónica asociado

Enum"NOT_SPECIFIED""CASH""DOMICILED_RECEIPT""RECEIPT""TRANSFER""ACCEPTED_LETTER""LETTER_OF_CREDIT""CONTRACT_AWARD""BILL_OF_EXCHANGE""PROMISORY_NOTE_IN_ORDER"
firstTerminteger(int32)

First payment term in days

Example: 30
daysTerminteger(int32)

Payment term in days

Example: 30
termsinteger(int32)

Number of payment terms

Example: 3
proximityTypestring(ApiProximityTypeEnum)

Type of proximity

Enum"NEARBY""PREVIOUS""LATER"
Example: "LOCAL"
discount3number

Third discount percentage

Example: 3
discount4number

Fourth discount percentage

Example: 2
currencyobject(ApiCurrencyListReadDto)required

Currency information

currency.​idinteger(int32)required

Unique identifier of the entity

Example: 1
currency.​codestring[ 0 .. 5 ] charactersrequired
currency.​descriptionstring[ 0 .. 50 ] charactersrequired
currency.​nomenclaturestring[ 0 .. 5 ] characters
currency.​isoCodestring(ApiCurrencyISOEnum)

Defines the ISO currency codes.

Enum"AED""AFA""ALL""AMD""ANG""AOA""ARS""AUD""AWG""AZM"
currency.​changeValuenumber
currency.​significantDecimalsDocumentsinteger(int32)
currency.​intermediateDecimalsDocumentsinteger(int32)
currency.​decimalsCalculatePricesinteger(int32)
currency.​decimalsCalculateCostsinteger(int32)
ibanstring

IBAN for payments

Example: "ES9121000418450200051332"
customerVatTypeobject(ApiCustomerVatTypeListReadDto)required

Customer VAT type information

customerVatType.​idinteger(int32)required

Unique identifier of the entity

Example: 1
customerVatType.​codestringrequired

VAT type code. Example: GENERAL, REDUCED, EXEMPT, etc.

Example: "GENERAL"
customerVatType.​descriptionstring

Description of the VAT type.

Example: "General VAT type"
phytosanitaryAuthorizedPersonobject(ApiPhytosanitaryAuthorizedPersonListReadDto)

Phytosanitary authorized person information

representative1object(ApiRepresentativeListReadDto)

Primary representative information

commissionType1string(ApiCommissionTypeEnum)

Type of commission for primary representative

Enum"PERCENTAGE""AMOUNT_PER_UNIT""FIXED"
Example: "PERCENTAGE"
commission1number

Commission amount for primary representative

Example: 5
representative2object(ApiRepresentativeListReadDto)

Secondary representative information

commissionType2string(ApiCommissionTypeEnum)

Type of commission for secondary representative

Enum"PERCENTAGE""AMOUNT_PER_UNIT""FIXED"
Example: "FIXED"
commission2number

Commission amount for secondary representative

Example: 100
representative3object(ApiRepresentativeListReadDto)

Tertiary representative information

commissionType3string(ApiCommissionTypeEnum)

Type of commission for tertiary representative

Enum"PERCENTAGE""AMOUNT_PER_UNIT""FIXED"
Example: "PERCENTAGE"
commission3number

Commission amount for tertiary representative

Example: 2.5
noAccumulateRiskboolean

Flag indicating no accumulation risk

Example: false
packagesinteger(int32)

Number of packages

Example: 5
grossWeightnumber

Gross weight in kilograms

Example: 25.5
netWeightnumber

Net weight in kilograms

Example: 23
volumenumber

Volume in cubic meters

Example: 0.5
billingObservationsstring

Billing observations

Example: "Handle with care"
shippingTermobject(ApiShippingTermListReadDto)

Shipping terms information

shippingAmountnumber

Shipping amount

Example: 25.5
shippingVatTypestring(ApiArticleVatTypeEnum)

VAT type for shipping

Enum"SUPER_REDUCED""REDUCED""GENERAL""EXEMPT"
Example: "GENERAL"
shippingVatPercentagenumber

VAT percentage for shipping

Example: 21
shippingSurchargePercentagenumber

Surcharge percentage for shipping

Example: 5
tagsArray of strings

Tags associated with the delivery note

Example: ["urgent","fragile"]
invoiceEditObservationsstring

Observations for invoice editing

Example: "Special handling required"
collectedAmountnumber

Collected amount

Example: 1500
collectedAmountCompanyCurrencynumber

Collected amount in company currency

Example: 1500
Response
application/json
{ "id": 1, "number": 1001, "documentDate": "2024-08-07", "quantityTotal": 200.5, "observations": "Customer requested urgent delivery", "lines": [ { … } ], "change": 0.5, "discount1": 5, "discount2": 2, "discountAmountTotal": 100, "discountAmountTotalCompanyCurrency": 95, "discountPp": 3, "discountPpAmountTotal": 15, "discountPpAmountTotalCompanyCurrency": 14, "grossAmountTotal": 1200, "grossAmountTotalCompanyCurrency": 1150, "netAmountTotal": 1100, "netAmountTotalCompanyCurrency": 1080, "vatAmountTotal": 230, "vatAmountTotalCompanyCurrency": 225, "surchargeAmountTotal": 20, "surchargeAmountTotalCompanyCurrency": 18, "withholding": 2, "withholdingAmountTotal": 22, "withholdingAmountTotalCompanyCurrency": 21, "total": 1300, "totalCompanyCurrency": 1280, "disbursementAmountTotal": 50, "disbursementAmountTotalCompanyCurrency": 48, "billingSeries": { "id": 1, "type": "SALE", "code": "SER2025", "description": "Main invoice series", "deposit": true, "corrective": false, "otherSIF": false }, "valueDate": "2024-01-20", "customerAddress": { "id": 1, "code": 101, "customerCode": "C10001", "customerName": "Acme S.A.", "customerPostalCode": "03001", "customerAddress": "Avenida de la Estación, 5", "customerCity": "Alicante", "customerState": "A", "customerStateDescription": "Alicante", "customerCountry": "ES", "customerCountryDescription": "Spain", "customerFirstPhoneNumber": "+34965123456", "customerSecondPhoneNumber": "+34965111111", "customerEmail": "cliente@acme.es", "customerCif": "B12345678", "customerId": 10001, "customerCommercialName": "Acme España", "name": "Warehourse", "city": "Alicante", "state": "A", "stateDescription": "Alicante", "postalCode": "03001", "country": "ES", "countryDescription": "Spain", "address": "Street Example, 14", "firstPhoneNumber": "+34965123456", "secondPhoneNumber": "+34965111111", "email": "direccion@acme.es", "cif": "B12345678", "activity": "Wholesale", "brand": "Acme Main Brand", "brandId": 5010, "customerIsActive": true, "isActive": true }, "warehouse": { "id": 1, "code": "ALM01", "description": "Central warehouse", "population": "Madrid", "active": true }, "reference": "ALB-2024-001", "rateCode": { "id": 1, "code": "string", "taxesIncluded": true }, "agency": { "id": 1, "code": "AG001", "name": "Fast Transport Agency" }, "locked": false, "paymentMethod": { "id": 1, "code": 1, "description": "Transferencia bancaria", "document": "Contrato", "firstTerm": 30, "terms": 3, "daysTerms": 30, "remittance": true, "addToCustomerBase": true, "serveFullPrePaid": false, "observations": "Requiere verificación bancaria", "icon": "fa-credit-card", "facturaECode": "01" }, "firstTerm": 30, "daysTerm": 30, "terms": 3, "proximityType": "NEARBY", "discount3": 3, "discount4": 2, "currency": { "id": 1, "code": "strin", "description": "string", "nomenclature": "strin", "isoCode": "USD", "changeValue": 0, "significantDecimalsDocuments": 0, "intermediateDecimalsDocuments": 0, "decimalsCalculatePrices": 0, "decimalsCalculateCosts": 0 }, "iban": "ES9121000418450200051332", "customerVatType": { "id": 1, "code": "GENERAL", "description": "General VAT type" }, "phytosanitaryAuthorizedPerson": { "id": 1, "identificationNumber": "12345678A", "name": "John Doe", "certificateExpirationDate": "2025-12-31", "ropoCode": "string" }, "representative1": { "id": 1, "code": 0, "name": "string", "cif": "string", "population": "string", "country": "string", "state": "string", "phone1": "string", "phone2": "string", "email": "string", "commission": 0, "commissionType": "PERCENTAGE", "irpfPercentage": 0, "vatPercentage": 0, "subAgentOf": "string", "userB2bMobility": "string", "enableB2bMobility": true }, "commissionType1": "PERCENTAGE", "commission1": 5, "representative2": { "id": 1, "code": 0, "name": "string", "cif": "string", "population": "string", "country": "string", "state": "string", "phone1": "string", "phone2": "string", "email": "string", "commission": 0, "commissionType": "PERCENTAGE", "irpfPercentage": 0, "vatPercentage": 0, "subAgentOf": "string", "userB2bMobility": "string", "enableB2bMobility": true }, "commissionType2": "PERCENTAGE", "commission2": 100, "representative3": { "id": 1, "code": 0, "name": "string", "cif": "string", "population": "string", "country": "string", "state": "string", "phone1": "string", "phone2": "string", "email": "string", "commission": 0, "commissionType": "PERCENTAGE", "irpfPercentage": 0, "vatPercentage": 0, "subAgentOf": "string", "userB2bMobility": "string", "enableB2bMobility": true }, "commissionType3": "PERCENTAGE", "commission3": 2.5, "noAccumulateRisk": false, "packages": 5, "grossWeight": 25.5, "netWeight": 23, "volume": 0.5, "billingObservations": "Handle with care", "shippingTerm": { "id": 1, "code": "string", "customerPays": true, "intrastatCode": "string" }, "shippingAmount": 25.5, "shippingVatType": "STANDARD", "shippingVatPercentage": 21, "shippingSurchargePercentage": 5, "tags": [ "urgent", "fragile" ], "invoiceEditObservations": "Special handling required", "collectedAmount": 1500, "collectedAmountCompanyCurrency": 1500 }

Request

Update a specific deliveryNote.

Path
idinteger(int32)required
Bodyapplication/jsonrequired
numberinteger

Unique serial number of the document header.

Example: 1050
documentDatestring(date)

Date of the document in ISO format (yyyy-MM-dd).

Example: "2025-08-07"
quantityTotalnumber

Total quantity of all document lines.

Example: 120.5
observationsstring

Free text for header observations.

Example: "Deliver to warehouse B"
linesArray of objects(ApiDeliveryNoteLineWriteDto)

List of document lines. For structure, see ApiBaseLineWriteDto.java

idinteger(int32)

Unique identifier of the delivery note

Example: 1001
billingSeriesinteger(int32)

Billing series identifier

Example: 5
valueDatestring(date)

Value date for the delivery note

Example: "2024-08-08"
customerAddressinteger(int32)

Customer address identifier

Example: 15
warehouseinteger(int32)

Warehouse identifier

Example: 3
referencestring[ 0 .. 50 ] characters

Reference number for the delivery note

Example: "DN-2024-001"
rateCodeinteger(int32)

Rate code identifier

Example: 101
agencyinteger(int32)

Agency identifier for shipping

Example: 10
lockedboolean

Indicates if the delivery note is locked for modifications

Example: false
paymentMethodinteger(int32)

Payment method identifier

Example: 3
firstTerminteger(int32)

First payment term in days

Example: 30
daysTerminteger(int32)

Subsequent payment term in days

Example: 30
termsinteger(int32)

Number of payment terms

Example: 3
proximityTypestring(ApiProximityTypeEnum)

Type of proximity for the delivery

Enum"NEARBY""PREVIOUS""LATER"
Example: "LOCAL"
discount1number

First discount percentage

Example: 10
discount2number

Second discount percentage

Example: 5
discount3number

Third discount percentage

Example: 2
discount4number

Fourth discount percentage

Example: 1
discountPpnumber

Prompt payment discount percentage

Example: 3
withholdingnumber

Withholding percentage

Example: 15
currencyinteger(int32)

Currency identifier

Example: 1
changenumber

Exchange rate for currency conversion

Example: 1
ibanstring[ 0 .. 50 ] characters

International Bank Account Number

Example: "ES9121000418450200051332"
customerVatTypeinteger(int32)

Customer VAT type identifier

Example: 1
representative1integer(int32)

First representative identifier

Example: 2
commissionType1string

First commission type

Example: "PERCENTAGE"
commission1number

First commission value

Example: 5
representative2integer(int32)

Second representative identifier

Example: 3
commissionType2string

Second commission type

Example: "PERCENTAGE"
commission2number

Second commission value

Example: 3
representative3integer(int32)

Third representative identifier

Example: 4
commissionType3string

Third commission type

Example: "FIXED"
commission3number

Third commission value

Example: 25
noAccumulateRiskboolean

Indicates if risk accumulation is disabled

Example: false
packagesinteger(int32)

Total number of packages

Example: 5
grossWeightnumber

Total gross weight

Example: 125.5
netWeightnumber

Total net weight

Example: 120
volumenumber

Total volume

Example: 2.35
billingObservationsstring

Billing observations

Example: "Handle with care"
shippingTerminteger(int32)

Shipping term identifier

Example: 2
shippingAmountnumber

Shipping amount

Example: 25.5
shippingVatTypestring(ApiArticleVatTypeEnum)

VAT type for shipping costs

Enum"SUPER_REDUCED""REDUCED""GENERAL""EXEMPT"
Example: "GENERAL"
shippingVatPercentagenumber

VAT percentage applied to shipping

Example: 21
shippingSurchargePercentagenumber

Surcharge percentage applied to shipping

Example: 5.2
phytosanitaryAuthorizedPersoninteger(int32)

Phytosanitary authorized person identifier

Example: 1
tagsArray of strings

Tags associated with the delivery note

Example: ["urgent","fragile"]
invoiceEditObservationsstring

Invoice editing observations

Example: "Delivery note reviewed and approved"
salesAccountinteger(int32)

Sales account identifier

Example: 7001
curl -i -X PUT \
  'https://api.prana.software/api/v1/deliveryNote/{id}' \
  -H 'Content-Type: application/json' \
  -d '{
    "number": 1050,
    "documentDate": "2025-08-07",
    "quantityTotal": 120.5,
    "observations": "Deliver to warehouse B",
    "lines": [
      {
        "id": 1001,
        "articleCombination": 200,
        "sizeRange": 15,
        "assortment": 8,
        "lineNumber": 1,
        "articleDescription": "Cotton T-shirt - Blue",
        "packages": 3,
        "quantityPerPackage": 12,
        "price": 19.99,
        "lineObservations": "Special discount applied.",
        "details": [
          {
            "id": 200,
            "sizeRangeDetail": 15,
            "width": 12,
            "quantityPerPackage": 9.3
          }
        ],
        "packaging": 1001,
        "assortedPackages": true,
        "discount": 10.5,
        "rsp": 25.99,
        "reference": "REF-2024-001",
        "picture": "product_image_001.jpg",
        "warehouse": 3,
        "noAccumulateWarehouse": false,
        "brand": 5,
        "returnReason": 1,
        "received": true,
        "accepted": true,
        "freeDescription1": "Special handling required",
        "freeDescription2": "Custom packaging",
        "freeDescription3": "Priority delivery",
        "freeDescription4": "Gift wrap",
        "freeDescription5": "Express shipping",
        "customCommission": false,
        "representative1": 2,
        "commissionType1": "PERCENTAGE",
        "commission1": 5,
        "representative2": 3,
        "commissionType2": "PERCENTAGE",
        "commission2": 3,
        "representative3": 4,
        "commissionType3": "FIXED",
        "commission3": 25,
        "articleVatType": "STANDARD",
        "vatPercentage": 21,
        "surchargePercentage": 5.2,
        "grossAmount": 1000,
        "grossAmountCompanyCurrency": 1000,
        "netAmount": 900,
        "netAmountCompanyCurrency": 900,
        "totalLine": 1089,
        "totalLineCompanyCurrency": 1089,
        "batches": [
          {
            "id": 21,
            "batch": 102,
            "quantity": 40,
            "packages": 3
          }
        ],
        "serialNumbers": [
          {
            "id": 8,
            "serialNumber": 202
          }
        ],
        "concept": "Product delivery",
        "disbursement": false
      }
    ],
    "id": 1001,
    "billingSeries": 5,
    "valueDate": "2024-08-08",
    "customerAddress": 15,
    "warehouse": 3,
    "reference": "DN-2024-001",
    "rateCode": 101,
    "agency": 10,
    "locked": false,
    "paymentMethod": 3,
    "firstTerm": 30,
    "daysTerm": 30,
    "terms": 3,
    "proximityType": "NEARBY",
    "discount1": 10,
    "discount2": 5,
    "discount3": 2,
    "discount4": 1,
    "discountPp": 3,
    "withholding": 15,
    "currency": 1,
    "change": 1,
    "iban": "ES9121000418450200051332",
    "customerVatType": 1,
    "representative1": 2,
    "commissionType1": "PERCENTAGE",
    "commission1": 5,
    "representative2": 3,
    "commissionType2": "PERCENTAGE",
    "commission2": 3,
    "representative3": 4,
    "commissionType3": "FIXED",
    "commission3": 25,
    "noAccumulateRisk": false,
    "packages": 5,
    "grossWeight": 125.5,
    "netWeight": 120,
    "volume": 2.35,
    "billingObservations": "Handle with care",
    "shippingTerm": 2,
    "shippingAmount": 25.5,
    "shippingVatType": "STANDARD",
    "shippingVatPercentage": 21,
    "shippingSurchargePercentage": 5.2,
    "phytosanitaryAuthorizedPerson": 1,
    "tags": [
      "urgent",
      "fragile"
    ],
    "invoiceEditObservations": "Delivery note reviewed and approved",
    "salesAccount": 7001
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
numberintegerrequired

Unique serial number of the document header.

Example: 1001
documentDatestring(date)required

Date of the document in ISO format (yyyy-MM-dd).

Example: "2024-08-07"
quantityTotalnumber

Total quantity for all document lines.

Example: 200.5
observationsstring

Free text field for any observations related to the document.

Example: "Customer requested urgent delivery"
linesArray of objects(ApiDeliveryNoteLineReadDto)

List of detail lines for the document. For structure see: ApiBaseLineReadDto.java

changenumber

Change applied to the invoice or document

Example: 0.5
discount1number

First discount percentage

Example: 5
discount2number

Second discount percentage

Example: 2
discountAmountTotalnumber

Total discount amount

Example: 100
discountAmountTotalCompanyCurrencynumber

Total discount amount in company currency

Example: 95
discountPpnumber

Prompt payment discount percentage

Example: 3
discountPpAmountTotalnumber

Total prompt payment discount amount

Example: 15
discountPpAmountTotalCompanyCurrencynumber

Total prompt payment discount amount in company currency

Example: 14
grossAmountTotalnumber

Gross total amount

Example: 1200
grossAmountTotalCompanyCurrencynumber

Gross total amount in company currency

Example: 1150
netAmountTotalnumber

Net total amount

Example: 1100
netAmountTotalCompanyCurrencynumber

Net total amount in company currency

Example: 1080
vatAmountTotalnumber

Total VAT amount

Example: 230
vatAmountTotalCompanyCurrencynumber

Total VAT amount in company currency

Example: 225
surchargeAmountTotalnumber

Total surcharge amount

Example: 20
surchargeAmountTotalCompanyCurrencynumber

Total surcharge amount in company currency

Example: 18
withholdingnumber

Withholding percentage

Example: 2
withholdingAmountTotalnumber

Total withholding amount

Example: 22
withholdingAmountTotalCompanyCurrencynumber

Total withholding amount in company currency

Example: 21
totalnumber

Total document amount

Example: 1300
totalCompanyCurrencynumber

Total document amount in company currency

Example: 1280
disbursementAmountTotalnumber

Total disbursement amount

Example: 50
disbursementAmountTotalCompanyCurrencynumber

Total disbursement amount in company currency

Example: 48
billingSeriesobject(ApiBillingSeriesListReadDto)required

Billing series information

billingSeries.​idinteger(int32)required

Unique identifier of the entity

Example: 1
billingSeries.​typestring(ApiBillingSeriesDocumentTypeEnum)required

Type of the billing series. See ApiBillingSeriesTypeEnum for possible values.

Enum"PURCHASE""PURCHASE_TICKET""SALE""SALE_TICKET""INVOICE_DRAFT"
Example: "INVOICE"
billingSeries.​codestringrequired

Billing series code.

Example: "SER2025"
billingSeries.​descriptionstring

Description of the billing series.

Example: "Main invoice series"
billingSeries.​depositboolean

Indicates if this is the default series.

Example: true
billingSeries.​correctiveboolean

Indicates if this is a corrective series.

Example: false
billingSeries.​otherSIFboolean

Indicates if this series is for other SIF.

Example: false
valueDatestring(date)

Value date

Example: "2024-01-20"
customerAddressobject(ApiCustomerAddressViewReadDto)

Customer address information

warehouseobject(ApiWarehouseListReadDto)required

Warehouse information

warehouse.​idinteger(int32)required

Unique identifier of the entity

Example: 1
warehouse.​codestringrequired

Warehouse code (unique per warehouse).

Example: "ALM01"
warehouse.​descriptionstringrequired

Warehouse description.

Example: "Central warehouse"
warehouse.​populationstring

Population or city where the warehouse is located.

Example: "Madrid"
warehouse.​activeboolean

Indicates if the warehouse is active.

Example: true
referencestring

Reference number

Example: "ALB-2024-001"
rateCodeobject(ApiRateCodeListReadDto)

Exchange rate code information

agencyobject(ApiAgencyListReadDto)

Agency information

lockedboolean

Flag indicating if the document is locked

Example: false
paymentMethodobject(ApiPaymentMethodListReadDto)required

DTO para listar los métodos de pago disponibles

paymentMethod.​idinteger(int32)required

Unique identifier of the entity

Example: 1
paymentMethod.​codeinteger(int32)required

Código único del método de pago

Example: 1
paymentMethod.​descriptionstringrequired

Descripción del método de pago

Example: "Transferencia bancaria"
paymentMethod.​documentstring

Documento asociado al método de pago

Example: "Contrato"
paymentMethod.​firstTerminteger(int32)

Primer plazo de pago en días

Example: 30
paymentMethod.​termsinteger(int32)

Número total de plazos

Example: 3
paymentMethod.​daysTermsinteger(int32)

Días entre plazos

Example: 30
paymentMethod.​remittanceboolean

Indica si es una remesa

Example: true
paymentMethod.​addToCustomerBaseboolean

Indica si se debe añadir a la base de clientes

Example: true
paymentMethod.​serveFullPrePaidboolean

Indica si sirve como pago anticipado completo

Example: false
paymentMethod.​observationsstring

Observaciones adicionales

Example: "Requiere verificación bancaria"
paymentMethod.​iconstring

Icono representativo del método de pago

Example: "fa-credit-card"
paymentMethod.​facturaECodestring(ApiFacturaECodeEnum)

Código de factura electrónica asociado

Enum"NOT_SPECIFIED""CASH""DOMICILED_RECEIPT""RECEIPT""TRANSFER""ACCEPTED_LETTER""LETTER_OF_CREDIT""CONTRACT_AWARD""BILL_OF_EXCHANGE""PROMISORY_NOTE_IN_ORDER"
firstTerminteger(int32)

First payment term in days

Example: 30
daysTerminteger(int32)

Payment term in days

Example: 30
termsinteger(int32)

Number of payment terms

Example: 3
proximityTypestring(ApiProximityTypeEnum)

Type of proximity

Enum"NEARBY""PREVIOUS""LATER"
Example: "LOCAL"
discount3number

Third discount percentage

Example: 3
discount4number

Fourth discount percentage

Example: 2
currencyobject(ApiCurrencyListReadDto)required

Currency information

currency.​idinteger(int32)required

Unique identifier of the entity

Example: 1
currency.​codestring[ 0 .. 5 ] charactersrequired
currency.​descriptionstring[ 0 .. 50 ] charactersrequired
currency.​nomenclaturestring[ 0 .. 5 ] characters
currency.​isoCodestring(ApiCurrencyISOEnum)

Defines the ISO currency codes.

Enum"AED""AFA""ALL""AMD""ANG""AOA""ARS""AUD""AWG""AZM"
currency.​changeValuenumber
currency.​significantDecimalsDocumentsinteger(int32)
currency.​intermediateDecimalsDocumentsinteger(int32)
currency.​decimalsCalculatePricesinteger(int32)
currency.​decimalsCalculateCostsinteger(int32)
ibanstring

IBAN for payments

Example: "ES9121000418450200051332"
customerVatTypeobject(ApiCustomerVatTypeListReadDto)required

Customer VAT type information

customerVatType.​idinteger(int32)required

Unique identifier of the entity

Example: 1
customerVatType.​codestringrequired

VAT type code. Example: GENERAL, REDUCED, EXEMPT, etc.

Example: "GENERAL"
customerVatType.​descriptionstring

Description of the VAT type.

Example: "General VAT type"
phytosanitaryAuthorizedPersonobject(ApiPhytosanitaryAuthorizedPersonListReadDto)

Phytosanitary authorized person information

representative1object(ApiRepresentativeListReadDto)

Primary representative information

commissionType1string(ApiCommissionTypeEnum)

Type of commission for primary representative

Enum"PERCENTAGE""AMOUNT_PER_UNIT""FIXED"
Example: "PERCENTAGE"
commission1number

Commission amount for primary representative

Example: 5
representative2object(ApiRepresentativeListReadDto)

Secondary representative information

commissionType2string(ApiCommissionTypeEnum)

Type of commission for secondary representative

Enum"PERCENTAGE""AMOUNT_PER_UNIT""FIXED"
Example: "FIXED"
commission2number

Commission amount for secondary representative

Example: 100
representative3object(ApiRepresentativeListReadDto)

Tertiary representative information

commissionType3string(ApiCommissionTypeEnum)

Type of commission for tertiary representative

Enum"PERCENTAGE""AMOUNT_PER_UNIT""FIXED"
Example: "PERCENTAGE"
commission3number

Commission amount for tertiary representative

Example: 2.5
noAccumulateRiskboolean

Flag indicating no accumulation risk

Example: false
packagesinteger(int32)

Number of packages

Example: 5
grossWeightnumber

Gross weight in kilograms

Example: 25.5
netWeightnumber

Net weight in kilograms

Example: 23
volumenumber

Volume in cubic meters

Example: 0.5
billingObservationsstring

Billing observations

Example: "Handle with care"
shippingTermobject(ApiShippingTermListReadDto)

Shipping terms information

shippingAmountnumber

Shipping amount

Example: 25.5
shippingVatTypestring(ApiArticleVatTypeEnum)

VAT type for shipping

Enum"SUPER_REDUCED""REDUCED""GENERAL""EXEMPT"
Example: "GENERAL"
shippingVatPercentagenumber

VAT percentage for shipping

Example: 21
shippingSurchargePercentagenumber

Surcharge percentage for shipping

Example: 5
tagsArray of strings

Tags associated with the delivery note

Example: ["urgent","fragile"]
invoiceEditObservationsstring

Observations for invoice editing

Example: "Special handling required"
collectedAmountnumber

Collected amount

Example: 1500
collectedAmountCompanyCurrencynumber

Collected amount in company currency

Example: 1500
Response
application/json
{ "id": 1, "number": 1001, "documentDate": "2024-08-07", "quantityTotal": 200.5, "observations": "Customer requested urgent delivery", "lines": [ { … } ], "change": 0.5, "discount1": 5, "discount2": 2, "discountAmountTotal": 100, "discountAmountTotalCompanyCurrency": 95, "discountPp": 3, "discountPpAmountTotal": 15, "discountPpAmountTotalCompanyCurrency": 14, "grossAmountTotal": 1200, "grossAmountTotalCompanyCurrency": 1150, "netAmountTotal": 1100, "netAmountTotalCompanyCurrency": 1080, "vatAmountTotal": 230, "vatAmountTotalCompanyCurrency": 225, "surchargeAmountTotal": 20, "surchargeAmountTotalCompanyCurrency": 18, "withholding": 2, "withholdingAmountTotal": 22, "withholdingAmountTotalCompanyCurrency": 21, "total": 1300, "totalCompanyCurrency": 1280, "disbursementAmountTotal": 50, "disbursementAmountTotalCompanyCurrency": 48, "billingSeries": { "id": 1, "type": "SALE", "code": "SER2025", "description": "Main invoice series", "deposit": true, "corrective": false, "otherSIF": false }, "valueDate": "2024-01-20", "customerAddress": { "id": 1, "code": 101, "customerCode": "C10001", "customerName": "Acme S.A.", "customerPostalCode": "03001", "customerAddress": "Avenida de la Estación, 5", "customerCity": "Alicante", "customerState": "A", "customerStateDescription": "Alicante", "customerCountry": "ES", "customerCountryDescription": "Spain", "customerFirstPhoneNumber": "+34965123456", "customerSecondPhoneNumber": "+34965111111", "customerEmail": "cliente@acme.es", "customerCif": "B12345678", "customerId": 10001, "customerCommercialName": "Acme España", "name": "Warehourse", "city": "Alicante", "state": "A", "stateDescription": "Alicante", "postalCode": "03001", "country": "ES", "countryDescription": "Spain", "address": "Street Example, 14", "firstPhoneNumber": "+34965123456", "secondPhoneNumber": "+34965111111", "email": "direccion@acme.es", "cif": "B12345678", "activity": "Wholesale", "brand": "Acme Main Brand", "brandId": 5010, "customerIsActive": true, "isActive": true }, "warehouse": { "id": 1, "code": "ALM01", "description": "Central warehouse", "population": "Madrid", "active": true }, "reference": "ALB-2024-001", "rateCode": { "id": 1, "code": "string", "taxesIncluded": true }, "agency": { "id": 1, "code": "AG001", "name": "Fast Transport Agency" }, "locked": false, "paymentMethod": { "id": 1, "code": 1, "description": "Transferencia bancaria", "document": "Contrato", "firstTerm": 30, "terms": 3, "daysTerms": 30, "remittance": true, "addToCustomerBase": true, "serveFullPrePaid": false, "observations": "Requiere verificación bancaria", "icon": "fa-credit-card", "facturaECode": "01" }, "firstTerm": 30, "daysTerm": 30, "terms": 3, "proximityType": "NEARBY", "discount3": 3, "discount4": 2, "currency": { "id": 1, "code": "strin", "description": "string", "nomenclature": "strin", "isoCode": "USD", "changeValue": 0, "significantDecimalsDocuments": 0, "intermediateDecimalsDocuments": 0, "decimalsCalculatePrices": 0, "decimalsCalculateCosts": 0 }, "iban": "ES9121000418450200051332", "customerVatType": { "id": 1, "code": "GENERAL", "description": "General VAT type" }, "phytosanitaryAuthorizedPerson": { "id": 1, "identificationNumber": "12345678A", "name": "John Doe", "certificateExpirationDate": "2025-12-31", "ropoCode": "string" }, "representative1": { "id": 1, "code": 0, "name": "string", "cif": "string", "population": "string", "country": "string", "state": "string", "phone1": "string", "phone2": "string", "email": "string", "commission": 0, "commissionType": "PERCENTAGE", "irpfPercentage": 0, "vatPercentage": 0, "subAgentOf": "string", "userB2bMobility": "string", "enableB2bMobility": true }, "commissionType1": "PERCENTAGE", "commission1": 5, "representative2": { "id": 1, "code": 0, "name": "string", "cif": "string", "population": "string", "country": "string", "state": "string", "phone1": "string", "phone2": "string", "email": "string", "commission": 0, "commissionType": "PERCENTAGE", "irpfPercentage": 0, "vatPercentage": 0, "subAgentOf": "string", "userB2bMobility": "string", "enableB2bMobility": true }, "commissionType2": "PERCENTAGE", "commission2": 100, "representative3": { "id": 1, "code": 0, "name": "string", "cif": "string", "population": "string", "country": "string", "state": "string", "phone1": "string", "phone2": "string", "email": "string", "commission": 0, "commissionType": "PERCENTAGE", "irpfPercentage": 0, "vatPercentage": 0, "subAgentOf": "string", "userB2bMobility": "string", "enableB2bMobility": true }, "commissionType3": "PERCENTAGE", "commission3": 2.5, "noAccumulateRisk": false, "packages": 5, "grossWeight": 25.5, "netWeight": 23, "volume": 0.5, "billingObservations": "Handle with care", "shippingTerm": { "id": 1, "code": "string", "customerPays": true, "intrastatCode": "string" }, "shippingAmount": 25.5, "shippingVatType": "STANDARD", "shippingVatPercentage": 21, "shippingSurchargePercentage": 5, "tags": [ "urgent", "fragile" ], "invoiceEditObservations": "Special handling required", "collectedAmount": 1500, "collectedAmountCompanyCurrency": 1500 }

Request

Delete specific deliveryNote.

Path
idinteger(int32)required
curl -i -X DELETE \
  'https://api.prana.software/api/v1/deliveryNote/{id}'

Responses

OK

Request

Create a new deliveryNote.

Bodyapplication/jsonrequired
numberinteger

Unique serial number of the document header.

Example: 1050
documentDatestring(date)

Date of the document in ISO format (yyyy-MM-dd).

Example: "2025-08-07"
quantityTotalnumber

Total quantity of all document lines.

Example: 120.5
observationsstring

Free text for header observations.

Example: "Deliver to warehouse B"
linesArray of objects(ApiDeliveryNoteLineWriteDto)

List of document lines. For structure, see ApiBaseLineWriteDto.java

idinteger(int32)

Unique identifier of the delivery note

Example: 1001
billingSeriesinteger(int32)

Billing series identifier

Example: 5
valueDatestring(date)

Value date for the delivery note

Example: "2024-08-08"
customerAddressinteger(int32)

Customer address identifier

Example: 15
warehouseinteger(int32)

Warehouse identifier

Example: 3
referencestring[ 0 .. 50 ] characters

Reference number for the delivery note

Example: "DN-2024-001"
rateCodeinteger(int32)

Rate code identifier

Example: 101
agencyinteger(int32)

Agency identifier for shipping

Example: 10
lockedboolean

Indicates if the delivery note is locked for modifications

Example: false
paymentMethodinteger(int32)

Payment method identifier

Example: 3
firstTerminteger(int32)

First payment term in days

Example: 30
daysTerminteger(int32)

Subsequent payment term in days

Example: 30
termsinteger(int32)

Number of payment terms

Example: 3
proximityTypestring(ApiProximityTypeEnum)

Type of proximity for the delivery

Enum"NEARBY""PREVIOUS""LATER"
Example: "LOCAL"
discount1number

First discount percentage

Example: 10
discount2number

Second discount percentage

Example: 5
discount3number

Third discount percentage

Example: 2
discount4number

Fourth discount percentage

Example: 1
discountPpnumber

Prompt payment discount percentage

Example: 3
withholdingnumber

Withholding percentage

Example: 15
currencyinteger(int32)

Currency identifier

Example: 1
changenumber

Exchange rate for currency conversion

Example: 1
ibanstring[ 0 .. 50 ] characters

International Bank Account Number

Example: "ES9121000418450200051332"
customerVatTypeinteger(int32)

Customer VAT type identifier

Example: 1
representative1integer(int32)

First representative identifier

Example: 2
commissionType1string

First commission type

Example: "PERCENTAGE"
commission1number

First commission value

Example: 5
representative2integer(int32)

Second representative identifier

Example: 3
commissionType2string

Second commission type

Example: "PERCENTAGE"
commission2number

Second commission value

Example: 3
representative3integer(int32)

Third representative identifier

Example: 4
commissionType3string

Third commission type

Example: "FIXED"
commission3number

Third commission value

Example: 25
noAccumulateRiskboolean

Indicates if risk accumulation is disabled

Example: false
packagesinteger(int32)

Total number of packages

Example: 5
grossWeightnumber

Total gross weight

Example: 125.5
netWeightnumber

Total net weight

Example: 120
volumenumber

Total volume

Example: 2.35
billingObservationsstring

Billing observations

Example: "Handle with care"
shippingTerminteger(int32)

Shipping term identifier

Example: 2
shippingAmountnumber

Shipping amount

Example: 25.5
shippingVatTypestring(ApiArticleVatTypeEnum)

VAT type for shipping costs

Enum"SUPER_REDUCED""REDUCED""GENERAL""EXEMPT"
Example: "GENERAL"
shippingVatPercentagenumber

VAT percentage applied to shipping

Example: 21
shippingSurchargePercentagenumber

Surcharge percentage applied to shipping

Example: 5.2
phytosanitaryAuthorizedPersoninteger(int32)

Phytosanitary authorized person identifier

Example: 1
tagsArray of strings

Tags associated with the delivery note

Example: ["urgent","fragile"]
invoiceEditObservationsstring

Invoice editing observations

Example: "Delivery note reviewed and approved"
salesAccountinteger(int32)

Sales account identifier

Example: 7001
curl -i -X POST \
  https://api.prana.software/api/v1/deliveryNote \
  -H 'Content-Type: application/json' \
  -d '{
    "number": 1050,
    "documentDate": "2025-08-07",
    "quantityTotal": 120.5,
    "observations": "Deliver to warehouse B",
    "lines": [
      {
        "id": 1001,
        "articleCombination": 200,
        "sizeRange": 15,
        "assortment": 8,
        "lineNumber": 1,
        "articleDescription": "Cotton T-shirt - Blue",
        "packages": 3,
        "quantityPerPackage": 12,
        "price": 19.99,
        "lineObservations": "Special discount applied.",
        "details": [
          {
            "id": 200,
            "sizeRangeDetail": 15,
            "width": 12,
            "quantityPerPackage": 9.3
          }
        ],
        "packaging": 1001,
        "assortedPackages": true,
        "discount": 10.5,
        "rsp": 25.99,
        "reference": "REF-2024-001",
        "picture": "product_image_001.jpg",
        "warehouse": 3,
        "noAccumulateWarehouse": false,
        "brand": 5,
        "returnReason": 1,
        "received": true,
        "accepted": true,
        "freeDescription1": "Special handling required",
        "freeDescription2": "Custom packaging",
        "freeDescription3": "Priority delivery",
        "freeDescription4": "Gift wrap",
        "freeDescription5": "Express shipping",
        "customCommission": false,
        "representative1": 2,
        "commissionType1": "PERCENTAGE",
        "commission1": 5,
        "representative2": 3,
        "commissionType2": "PERCENTAGE",
        "commission2": 3,
        "representative3": 4,
        "commissionType3": "FIXED",
        "commission3": 25,
        "articleVatType": "STANDARD",
        "vatPercentage": 21,
        "surchargePercentage": 5.2,
        "grossAmount": 1000,
        "grossAmountCompanyCurrency": 1000,
        "netAmount": 900,
        "netAmountCompanyCurrency": 900,
        "totalLine": 1089,
        "totalLineCompanyCurrency": 1089,
        "batches": [
          {
            "id": 21,
            "batch": 102,
            "quantity": 40,
            "packages": 3
          }
        ],
        "serialNumbers": [
          {
            "id": 8,
            "serialNumber": 202
          }
        ],
        "concept": "Product delivery",
        "disbursement": false
      }
    ],
    "id": 1001,
    "billingSeries": 5,
    "valueDate": "2024-08-08",
    "customerAddress": 15,
    "warehouse": 3,
    "reference": "DN-2024-001",
    "rateCode": 101,
    "agency": 10,
    "locked": false,
    "paymentMethod": 3,
    "firstTerm": 30,
    "daysTerm": 30,
    "terms": 3,
    "proximityType": "NEARBY",
    "discount1": 10,
    "discount2": 5,
    "discount3": 2,
    "discount4": 1,
    "discountPp": 3,
    "withholding": 15,
    "currency": 1,
    "change": 1,
    "iban": "ES9121000418450200051332",
    "customerVatType": 1,
    "representative1": 2,
    "commissionType1": "PERCENTAGE",
    "commission1": 5,
    "representative2": 3,
    "commissionType2": "PERCENTAGE",
    "commission2": 3,
    "representative3": 4,
    "commissionType3": "FIXED",
    "commission3": 25,
    "noAccumulateRisk": false,
    "packages": 5,
    "grossWeight": 125.5,
    "netWeight": 120,
    "volume": 2.35,
    "billingObservations": "Handle with care",
    "shippingTerm": 2,
    "shippingAmount": 25.5,
    "shippingVatType": "STANDARD",
    "shippingVatPercentage": 21,
    "shippingSurchargePercentage": 5.2,
    "phytosanitaryAuthorizedPerson": 1,
    "tags": [
      "urgent",
      "fragile"
    ],
    "invoiceEditObservations": "Delivery note reviewed and approved",
    "salesAccount": 7001
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
numberintegerrequired

Unique serial number of the document header.

Example: 1001
documentDatestring(date)required

Date of the document in ISO format (yyyy-MM-dd).

Example: "2024-08-07"
quantityTotalnumber

Total quantity for all document lines.

Example: 200.5
observationsstring

Free text field for any observations related to the document.

Example: "Customer requested urgent delivery"
linesArray of objects(ApiDeliveryNoteLineReadDto)

List of detail lines for the document. For structure see: ApiBaseLineReadDto.java

changenumber

Change applied to the invoice or document

Example: 0.5
discount1number

First discount percentage

Example: 5
discount2number

Second discount percentage

Example: 2
discountAmountTotalnumber

Total discount amount

Example: 100
discountAmountTotalCompanyCurrencynumber

Total discount amount in company currency

Example: 95
discountPpnumber

Prompt payment discount percentage

Example: 3
discountPpAmountTotalnumber

Total prompt payment discount amount

Example: 15
discountPpAmountTotalCompanyCurrencynumber

Total prompt payment discount amount in company currency

Example: 14
grossAmountTotalnumber

Gross total amount

Example: 1200
grossAmountTotalCompanyCurrencynumber

Gross total amount in company currency

Example: 1150
netAmountTotalnumber

Net total amount

Example: 1100
netAmountTotalCompanyCurrencynumber

Net total amount in company currency

Example: 1080
vatAmountTotalnumber

Total VAT amount

Example: 230
vatAmountTotalCompanyCurrencynumber

Total VAT amount in company currency

Example: 225
surchargeAmountTotalnumber

Total surcharge amount

Example: 20
surchargeAmountTotalCompanyCurrencynumber

Total surcharge amount in company currency

Example: 18
withholdingnumber

Withholding percentage

Example: 2
withholdingAmountTotalnumber

Total withholding amount

Example: 22
withholdingAmountTotalCompanyCurrencynumber

Total withholding amount in company currency

Example: 21
totalnumber

Total document amount

Example: 1300
totalCompanyCurrencynumber

Total document amount in company currency

Example: 1280
disbursementAmountTotalnumber

Total disbursement amount

Example: 50
disbursementAmountTotalCompanyCurrencynumber

Total disbursement amount in company currency

Example: 48
billingSeriesobject(ApiBillingSeriesListReadDto)required

Billing series information

billingSeries.​idinteger(int32)required

Unique identifier of the entity

Example: 1
billingSeries.​typestring(ApiBillingSeriesDocumentTypeEnum)required

Type of the billing series. See ApiBillingSeriesTypeEnum for possible values.

Enum"PURCHASE""PURCHASE_TICKET""SALE""SALE_TICKET""INVOICE_DRAFT"
Example: "INVOICE"
billingSeries.​codestringrequired

Billing series code.

Example: "SER2025"
billingSeries.​descriptionstring

Description of the billing series.

Example: "Main invoice series"
billingSeries.​depositboolean

Indicates if this is the default series.

Example: true
billingSeries.​correctiveboolean

Indicates if this is a corrective series.

Example: false
billingSeries.​otherSIFboolean

Indicates if this series is for other SIF.

Example: false
valueDatestring(date)

Value date

Example: "2024-01-20"
customerAddressobject(ApiCustomerAddressViewReadDto)

Customer address information

warehouseobject(ApiWarehouseListReadDto)required

Warehouse information

warehouse.​idinteger(int32)required

Unique identifier of the entity

Example: 1
warehouse.​codestringrequired

Warehouse code (unique per warehouse).

Example: "ALM01"
warehouse.​descriptionstringrequired

Warehouse description.

Example: "Central warehouse"
warehouse.​populationstring

Population or city where the warehouse is located.

Example: "Madrid"
warehouse.​activeboolean

Indicates if the warehouse is active.

Example: true
referencestring

Reference number

Example: "ALB-2024-001"
rateCodeobject(ApiRateCodeListReadDto)

Exchange rate code information

agencyobject(ApiAgencyListReadDto)

Agency information

lockedboolean

Flag indicating if the document is locked

Example: false
paymentMethodobject(ApiPaymentMethodListReadDto)required

DTO para listar los métodos de pago disponibles

paymentMethod.​idinteger(int32)required

Unique identifier of the entity

Example: 1
paymentMethod.​codeinteger(int32)required

Código único del método de pago

Example: 1
paymentMethod.​descriptionstringrequired

Descripción del método de pago

Example: "Transferencia bancaria"
paymentMethod.​documentstring

Documento asociado al método de pago

Example: "Contrato"
paymentMethod.​firstTerminteger(int32)

Primer plazo de pago en días

Example: 30
paymentMethod.​termsinteger(int32)

Número total de plazos

Example: 3
paymentMethod.​daysTermsinteger(int32)

Días entre plazos

Example: 30
paymentMethod.​remittanceboolean

Indica si es una remesa

Example: true
paymentMethod.​addToCustomerBaseboolean

Indica si se debe añadir a la base de clientes

Example: true
paymentMethod.​serveFullPrePaidboolean

Indica si sirve como pago anticipado completo

Example: false
paymentMethod.​observationsstring

Observaciones adicionales

Example: "Requiere verificación bancaria"
paymentMethod.​iconstring

Icono representativo del método de pago

Example: "fa-credit-card"
paymentMethod.​facturaECodestring(ApiFacturaECodeEnum)

Código de factura electrónica asociado

Enum"NOT_SPECIFIED""CASH""DOMICILED_RECEIPT""RECEIPT""TRANSFER""ACCEPTED_LETTER""LETTER_OF_CREDIT""CONTRACT_AWARD""BILL_OF_EXCHANGE""PROMISORY_NOTE_IN_ORDER"
firstTerminteger(int32)

First payment term in days

Example: 30
daysTerminteger(int32)

Payment term in days

Example: 30
termsinteger(int32)

Number of payment terms

Example: 3
proximityTypestring(ApiProximityTypeEnum)

Type of proximity

Enum"NEARBY""PREVIOUS""LATER"
Example: "LOCAL"
discount3number

Third discount percentage

Example: 3
discount4number

Fourth discount percentage

Example: 2
currencyobject(ApiCurrencyListReadDto)required

Currency information

currency.​idinteger(int32)required

Unique identifier of the entity

Example: 1
currency.​codestring[ 0 .. 5 ] charactersrequired
currency.​descriptionstring[ 0 .. 50 ] charactersrequired
currency.​nomenclaturestring[ 0 .. 5 ] characters
currency.​isoCodestring(ApiCurrencyISOEnum)

Defines the ISO currency codes.

Enum"AED""AFA""ALL""AMD""ANG""AOA""ARS""AUD""AWG""AZM"
currency.​changeValuenumber
currency.​significantDecimalsDocumentsinteger(int32)
currency.​intermediateDecimalsDocumentsinteger(int32)
currency.​decimalsCalculatePricesinteger(int32)
currency.​decimalsCalculateCostsinteger(int32)
ibanstring

IBAN for payments

Example: "ES9121000418450200051332"
customerVatTypeobject(ApiCustomerVatTypeListReadDto)required

Customer VAT type information

customerVatType.​idinteger(int32)required

Unique identifier of the entity

Example: 1
customerVatType.​codestringrequired

VAT type code. Example: GENERAL, REDUCED, EXEMPT, etc.

Example: "GENERAL"
customerVatType.​descriptionstring

Description of the VAT type.

Example: "General VAT type"
phytosanitaryAuthorizedPersonobject(ApiPhytosanitaryAuthorizedPersonListReadDto)

Phytosanitary authorized person information

representative1object(ApiRepresentativeListReadDto)

Primary representative information

commissionType1string(ApiCommissionTypeEnum)

Type of commission for primary representative

Enum"PERCENTAGE""AMOUNT_PER_UNIT""FIXED"
Example: "PERCENTAGE"
commission1number

Commission amount for primary representative

Example: 5
representative2object(ApiRepresentativeListReadDto)

Secondary representative information

commissionType2string(ApiCommissionTypeEnum)

Type of commission for secondary representative

Enum"PERCENTAGE""AMOUNT_PER_UNIT""FIXED"
Example: "FIXED"
commission2number

Commission amount for secondary representative

Example: 100
representative3object(ApiRepresentativeListReadDto)

Tertiary representative information

commissionType3string(ApiCommissionTypeEnum)

Type of commission for tertiary representative

Enum"PERCENTAGE""AMOUNT_PER_UNIT""FIXED"
Example: "PERCENTAGE"
commission3number

Commission amount for tertiary representative

Example: 2.5
noAccumulateRiskboolean

Flag indicating no accumulation risk

Example: false
packagesinteger(int32)

Number of packages

Example: 5
grossWeightnumber

Gross weight in kilograms

Example: 25.5
netWeightnumber

Net weight in kilograms

Example: 23
volumenumber

Volume in cubic meters

Example: 0.5
billingObservationsstring

Billing observations

Example: "Handle with care"
shippingTermobject(ApiShippingTermListReadDto)

Shipping terms information

shippingAmountnumber

Shipping amount

Example: 25.5
shippingVatTypestring(ApiArticleVatTypeEnum)

VAT type for shipping

Enum"SUPER_REDUCED""REDUCED""GENERAL""EXEMPT"
Example: "GENERAL"
shippingVatPercentagenumber

VAT percentage for shipping

Example: 21
shippingSurchargePercentagenumber

Surcharge percentage for shipping

Example: 5
tagsArray of strings

Tags associated with the delivery note

Example: ["urgent","fragile"]
invoiceEditObservationsstring

Observations for invoice editing

Example: "Special handling required"
collectedAmountnumber

Collected amount

Example: 1500
collectedAmountCompanyCurrencynumber

Collected amount in company currency

Example: 1500
Response
application/json
{ "id": 1, "number": 1001, "documentDate": "2024-08-07", "quantityTotal": 200.5, "observations": "Customer requested urgent delivery", "lines": [ { … } ], "change": 0.5, "discount1": 5, "discount2": 2, "discountAmountTotal": 100, "discountAmountTotalCompanyCurrency": 95, "discountPp": 3, "discountPpAmountTotal": 15, "discountPpAmountTotalCompanyCurrency": 14, "grossAmountTotal": 1200, "grossAmountTotalCompanyCurrency": 1150, "netAmountTotal": 1100, "netAmountTotalCompanyCurrency": 1080, "vatAmountTotal": 230, "vatAmountTotalCompanyCurrency": 225, "surchargeAmountTotal": 20, "surchargeAmountTotalCompanyCurrency": 18, "withholding": 2, "withholdingAmountTotal": 22, "withholdingAmountTotalCompanyCurrency": 21, "total": 1300, "totalCompanyCurrency": 1280, "disbursementAmountTotal": 50, "disbursementAmountTotalCompanyCurrency": 48, "billingSeries": { "id": 1, "type": "SALE", "code": "SER2025", "description": "Main invoice series", "deposit": true, "corrective": false, "otherSIF": false }, "valueDate": "2024-01-20", "customerAddress": { "id": 1, "code": 101, "customerCode": "C10001", "customerName": "Acme S.A.", "customerPostalCode": "03001", "customerAddress": "Avenida de la Estación, 5", "customerCity": "Alicante", "customerState": "A", "customerStateDescription": "Alicante", "customerCountry": "ES", "customerCountryDescription": "Spain", "customerFirstPhoneNumber": "+34965123456", "customerSecondPhoneNumber": "+34965111111", "customerEmail": "cliente@acme.es", "customerCif": "B12345678", "customerId": 10001, "customerCommercialName": "Acme España", "name": "Warehourse", "city": "Alicante", "state": "A", "stateDescription": "Alicante", "postalCode": "03001", "country": "ES", "countryDescription": "Spain", "address": "Street Example, 14", "firstPhoneNumber": "+34965123456", "secondPhoneNumber": "+34965111111", "email": "direccion@acme.es", "cif": "B12345678", "activity": "Wholesale", "brand": "Acme Main Brand", "brandId": 5010, "customerIsActive": true, "isActive": true }, "warehouse": { "id": 1, "code": "ALM01", "description": "Central warehouse", "population": "Madrid", "active": true }, "reference": "ALB-2024-001", "rateCode": { "id": 1, "code": "string", "taxesIncluded": true }, "agency": { "id": 1, "code": "AG001", "name": "Fast Transport Agency" }, "locked": false, "paymentMethod": { "id": 1, "code": 1, "description": "Transferencia bancaria", "document": "Contrato", "firstTerm": 30, "terms": 3, "daysTerms": 30, "remittance": true, "addToCustomerBase": true, "serveFullPrePaid": false, "observations": "Requiere verificación bancaria", "icon": "fa-credit-card", "facturaECode": "01" }, "firstTerm": 30, "daysTerm": 30, "terms": 3, "proximityType": "NEARBY", "discount3": 3, "discount4": 2, "currency": { "id": 1, "code": "strin", "description": "string", "nomenclature": "strin", "isoCode": "USD", "changeValue": 0, "significantDecimalsDocuments": 0, "intermediateDecimalsDocuments": 0, "decimalsCalculatePrices": 0, "decimalsCalculateCosts": 0 }, "iban": "ES9121000418450200051332", "customerVatType": { "id": 1, "code": "GENERAL", "description": "General VAT type" }, "phytosanitaryAuthorizedPerson": { "id": 1, "identificationNumber": "12345678A", "name": "John Doe", "certificateExpirationDate": "2025-12-31", "ropoCode": "string" }, "representative1": { "id": 1, "code": 0, "name": "string", "cif": "string", "population": "string", "country": "string", "state": "string", "phone1": "string", "phone2": "string", "email": "string", "commission": 0, "commissionType": "PERCENTAGE", "irpfPercentage": 0, "vatPercentage": 0, "subAgentOf": "string", "userB2bMobility": "string", "enableB2bMobility": true }, "commissionType1": "PERCENTAGE", "commission1": 5, "representative2": { "id": 1, "code": 0, "name": "string", "cif": "string", "population": "string", "country": "string", "state": "string", "phone1": "string", "phone2": "string", "email": "string", "commission": 0, "commissionType": "PERCENTAGE", "irpfPercentage": 0, "vatPercentage": 0, "subAgentOf": "string", "userB2bMobility": "string", "enableB2bMobility": true }, "commissionType2": "PERCENTAGE", "commission2": 100, "representative3": { "id": 1, "code": 0, "name": "string", "cif": "string", "population": "string", "country": "string", "state": "string", "phone1": "string", "phone2": "string", "email": "string", "commission": 0, "commissionType": "PERCENTAGE", "irpfPercentage": 0, "vatPercentage": 0, "subAgentOf": "string", "userB2bMobility": "string", "enableB2bMobility": true }, "commissionType3": "PERCENTAGE", "commission3": 2.5, "noAccumulateRisk": false, "packages": 5, "grossWeight": 25.5, "netWeight": 23, "volume": 0.5, "billingObservations": "Handle with care", "shippingTerm": { "id": 1, "code": "string", "customerPays": true, "intrastatCode": "string" }, "shippingAmount": 25.5, "shippingVatType": "STANDARD", "shippingVatPercentage": 21, "shippingSurchargePercentage": 5, "tags": [ "urgent", "fragile" ], "invoiceEditObservations": "Special handling required", "collectedAmount": 1500, "collectedAmountCompanyCurrency": 1500 }

Request

Get all your deliveryNotes.

Bodyapplication/jsonrequired
conditionobject(ApiCondition)

Condition to filter results

sortCriteriaArray of objects(ApiSortDto)

List of sorting criteria to apply

pageNumberinteger(int32)required

Page number to retrieve (0-based)

Example: 0
pageSizeinteger(int32)required

Number of items per page

Example: 20
curl -i -X POST \
  https://api.prana.software/api/v1/deliveryNote/search \
  -H 'Content-Type: application/json' \
  -d '{
    "condition": {
      "field": "name",
      "value": "Example Value",
      "type": "EQ",
      "endValue": 100,
      "innerConditions": [
        {}
      ],
      "conditionType": "AND",
      "empty": false,
      "compareFields": false
    },
    "sortCriteria": [
      {
        "sortField": "name",
        "sortDirection": "ASC"
      }
    ],
    "pageNumber": 0,
    "pageSize": 20
  }'

Responses

OK

Bodyapplication/json
dataArray of objects(ApiDeliveryNoteListReadDto)required

List of data items for the current page

data[].​idinteger(int32)required

Unique identifier of the entity

Example: 1
data[].​billingSeriesstringrequired

Billing series code

Example: "A"
data[].​numberinteger(int32)required

Delivery note number

Example: 1001
data[].​documentDatestring(date)required

Document date

Example: "2024-08-07"
data[].​valueDatestring(date)

Value date

Example: "2024-08-08"
data[].​customerCodestringrequired

Customer code

Example: "CUST001"
data[].​customerNamestring

Customer name

Example: "ABC Company S.A."
data[].​customerEmailstring

Customer email address

Example: "contact@abccompany.com"
data[].​customerAddressCodestringrequired

Customer address code

Example: "ADDR001"
data[].​customerAddressNamestring

Customer address name

Example: "Main Office"
data[].​addressstring

Street address

Example: 123
data[].​citystring

City

Example: "Madrid"
data[].​countrystring

Country

Example: "Spain"
data[].​statestring

State or province

Example: "Madrid"
data[].​quantityTotalnumber

Total quantity of items

Example: 25.5
data[].​grossAmountTotalnumber

Total gross amount

Example: 1000
data[].​discountsAmountTotalnumber

Total discount amount

Example: 100
data[].​netAmountTotalnumber

Total net amount

Example: 900
data[].​taxesAmountTotalnumber

Total tax amount

Example: 189
data[].​disbursementAmountTotalnumber

Total disbursement amount

Example: 25.5
data[].​totalnumber

Total delivery note amount

Example: 1114.5
data[].​agencystring

Shipping agency

Example: "Express Logistics"
data[].​shippingTermstring

Shipping terms

Example: "FOB destination"
data[].​representative1Namestring

Primary representative name

Example: "John Smith"
data[].​ordersstring

Related order numbers

Example: "ORD-2024-001, ORD-2024-002"
data[].​paymentMethodCodestring

Payment method code

Example: "BANK_TRANSFER"
data[].​paymentMethodDescriptionstring

Payment method description

Example: "Bank Transfer"
data[].​currencyCodestringrequired

Currency code

Example: "EUR"
data[].​currencyNomenclaturestring

Currency nomenclature

Example: "Euro"
data[].​changenumberrequired

Exchange rate

Example: 1
data[].​customerVatTypeDescriptionstring

Customer VAT type description

Example: "General VAT"
data[].​warehouseDescriptionstringrequired

Warehouse description

Example: "Main Warehouse"
data[].​grossWeightnumber

Total gross weight

Example: 125.5
data[].​netWeightnumber

Total net weight

Example: 120
data[].​volumenumber

Total volume

Example: 2.35
data[].​lineIdsArray of integers(int32)

List of line identifiers

Example: [1,2,3]
data[].​invoicesstring

Related invoice numbers

Example: "INV-2024-001, INV-2024-002"
data[].​orderNumbersstring

Related order numbers

Example: "ORD-2024-001, ORD-2024-002"
data[].​tagsArray of strings

Tags associated with the delivery note

Example: ["urgent","fragile"]
data[].​invoicedboolean

Indicates if the delivery note has been invoiced

Example: false
data[].​collectedAmountnumber

Amount collected

Example: 500
data[].​collectedAmountCompanyCurrencynumber

Amount collected in company currency

Example: 500
data[].​valuedboolean

Indicates if the delivery note is valued

Example: true
data[].​referencestring

Reference number

Example: "DN-2024-001"
data[].​salesAccountCodestring

Sales account code

Example: 7000001
pageinteger(int32)required

Current page number (0-based)

Example: 0
totalinteger(int32)required

Total number of items across all pages

Example: 150
pagesinteger(int64)required

Last page number (0-based)

Example: 14
sizeinteger(int32)required

Number of items per page

Example: 10
Response
application/json
{ "data": [ { … } ], "page": 0, "total": 150, "pages": 14, "size": 10 }

Warehouse Accumulate

Manage your warehouse accumulates

Operations
Operations
Operations

Entity Last Update

Manage the last-updated timestamps for entities

Operations

Period

Retrieves the available accounting periods in the app

Operations
Operations
Operations

Purchase Invoice

Manage your Purchase Invoices

Operations
Operations
Operations

Payment Method

Manage your Payment Methods

Operations
Operations

Recurring Billing Templates

Manage your recurring billing templates

Operations
Operations

Billing Series

Manage your Billing Series

Operations
Operations
Operations

PurchaseDeliveryNote

Manage your PurchaseDeliveryNotes

Operations
Operations
Operations