Skip to content

Prana API (1.0)

API Definition to interact with Prana platform

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

Warehouse Accumulate

Manage your warehouse accumulates

Operations
Operations

Request

Get a specific collection.

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

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
accountobject(ApiChartAccountListReadDto)
conceptobject(ApiConceptListReadDto)
orderNumberinteger

Order number

Example: 1001
collectionDatestring(date)

Collection date

Example: "2024-01-15"
accountedboolean

Flag indicating if the collection is accounted

Example: true
observationsstring

Observations about the collection

Example: "Payment received"
extensionstring

File extension

Example: "pdf"
collectedAmountTotalnumber

Total collected amount

Example: 1500
collectedAmountTotalCompanyCurrencynumber

Total collected amount in company currency

Example: 1500
pendingAmountTotalnumber

Total pending amount

Example: 0
pendingAmountTotalCompanyCurrencynumber

Total pending amount in company currency

Example: 0
receiptAmountTotalnumber

Total receipt amount

Example: 1500
receiptAmountTotalCompanyCurrencynumber

Total receipt amount in company currency

Example: 1500
receiptsNumberinteger(int32)

Number of receipts

Example: 3
currencyobject(ApiCurrencyListReadDto)
bankobject(ApiBankListReadDto)
amountReconciliationnumber

Amount for reconciliation

Example: 0
amountReconciliationCompanyCurrencynumber

Amount for reconciliation in company currency

Example: 0
linesobject(ApiReceiptCollectionLineReadDto)
customerobject(ApiCustomerAutocompleteDto)
quoteNumberinteger

Quote number related to this receipt collection.

Example: 1001
quoteIdinteger(int32)
Response
application/json
{ "id": 1, "account": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "concept": { "id": 1, "code": "CON001", "description": "Sales revenue" }, "orderNumber": 1001, "collectionDate": "2024-01-15", "accounted": true, "observations": "Payment received", "extension": "pdf", "collectedAmountTotal": 1500, "collectedAmountTotalCompanyCurrency": 1500, "pendingAmountTotal": 0, "pendingAmountTotalCompanyCurrency": 0, "receiptAmountTotal": 1500, "receiptAmountTotalCompanyCurrency": 1500, "receiptsNumber": 3, "currency": { "id": 1, "code": "strin", "description": "string", "nomenclature": "strin", "isoCode": "USD", "changeValue": 0, "significantDecimalsDocuments": 0, "intermediateDecimalsDocuments": 0, "decimalsCalculatePrices": 0, "decimalsCalculateCosts": 0 }, "bank": { "id": 1, "code": "ES1234", "name": "CLAVEI BANK", "iban": "ES9820385778983000760236", "swift": "BSABESBBXXX", "inactive": false, "riskGranted": 25000, "riskConsumed": 13000.55, "accountingAccount": 5720001234, "policyAccount": 5720009999, "picture": "bank_logo.png", "pictureToken": "1f8e3ac9d89d", "defaultBank": true, "balance": 15400.8, "income": 9671.22, "expenses": 5400.13, "synchronizable": false, "showSummary": true, "token": "token-885b" }, "amountReconciliation": 0, "amountReconciliationCompanyCurrency": 0, "lines": { "id": 1, "receiptId": 8954, "billingSeriesCode": "A", "invoiceNumber": 10025, "receiptNumber": "RC-2024-0054", "invoiceDate": "2024-08-07", "expirationDate": "2024-09-15", "total": 351.77, "totalCompanyCurrency": 351.77, "collectedAmount": 100, "collectedAmountCompanyCurrency": 100, "pendingAmount": 251.77, "pendingAmountCompanyCurrency": 251.77, "collectionAmount": 251.77, "ignorePending": false, "selected": false, "situation": "PE" }, "customer": { "id": 1, "code": 10001, "name": "Acme S.A.", "commercialName": "Acme España", "isActive": true, "inactiveDate": "2024-08-07", "currencyIdDelegationZero": 1 }, "quoteNumber": 1001, "quoteId": 0 }

Request

Update a specific collection.

Path
idinteger(int32)required
Bodyapplication/jsonrequired
currencyinteger(int32)

Currency identifier, refer to the invoice currency.

Example: 1
periodIdinteger(int32)

Unique identifier of the accounting period. If not set, system will determine based on document date.

Example: 1
accountinteger(int32)

Account identifier associated with the collection. [Pending removal]

Example: 3
conceptinteger(int32)

Concept identifier for the collection. [Pending removal]

Example: 5
collectionDatestring(date)

Date on which the collection is performed.

Example: "2024-03-15"
countrystring

Country of the payment origin.

Example: "Spain"
accountCodestring

Account code of the collection.

Example: 572000003
observationsstring

Observations or notes for the receipt collection.

Example: "Advance payment by bank transfer."
amountnumber

Total amount of the collection.

Example: 1500.75
accountedboolean

Indicates if the collection is already accounted.

Example: false
bankNamestring

Name of the bank where the receipt is collected.

Example: "Bank of Spain"
documentNumberstring

Document number associated with the receipt.

Example: "RCPT-20240001"
ibanstring

IBAN associated with the bank account for the receipt.

Example: "ES9121000418450200051332"
bicSwiftstring

SWIFT/BIC code of the bank.

Example: "CAIXESBBXXX"
accountingDatestring(date)

Reference date for accounting the collection.

Example: "2024-03-16"
changenumber

Exchange rate used for currency conversion.

Example: 1.05
companyCurrencyinteger(int32)

Company currency identifier.

Example: 2
companyAmountnumber

Collected amount in company currency.

Example: 1575.79
invoiceReferenceinteger

Reference to the associated invoice.

Example: 10001
orderNumberinteger
extensionstring
bankinteger(int32)
invoiceinteger(int32)
collectedAmountTotalnumber
linesobject(ApiReceiptCollectionLineWriteDto)
customerinteger(int32)

Customer identifier associated with the receipt collection, refer to the invoice customer.

Example: 101
quoteinteger(int32)
curl -i -X PUT \
  'https://api.prana.software/api/v1/collection/{id}' \
  -H 'Content-Type: application/json' \
  -d '{
    "currency": 1,
    "periodId": 1,
    "account": 3,
    "concept": 5,
    "collectionDate": "2024-03-15",
    "country": "Spain",
    "accountCode": 572000003,
    "observations": "Advance payment by bank transfer.",
    "amount": 1500.75,
    "accounted": false,
    "bankName": "Bank of Spain",
    "documentNumber": "RCPT-20240001",
    "iban": "ES9121000418450200051332",
    "bicSwift": "CAIXESBBXXX",
    "accountingDate": "2024-03-16",
    "change": 1.05,
    "companyCurrency": 2,
    "companyAmount": 1575.79,
    "invoiceReference": 10001,
    "orderNumber": 0,
    "extension": "string",
    "bank": 0,
    "invoice": 0,
    "collectedAmountTotal": 0,
    "lines": {
      "id": 1,
      "header": 10,
      "receipt": 100,
      "ignorePending": false,
      "collectionAmount": 250.75
    },
    "customer": 101,
    "quote": 0
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
accountobject(ApiChartAccountListReadDto)
conceptobject(ApiConceptListReadDto)
orderNumberinteger

Order number

Example: 1001
collectionDatestring(date)

Collection date

Example: "2024-01-15"
accountedboolean

Flag indicating if the collection is accounted

Example: true
observationsstring

Observations about the collection

Example: "Payment received"
extensionstring

File extension

Example: "pdf"
collectedAmountTotalnumber

Total collected amount

Example: 1500
collectedAmountTotalCompanyCurrencynumber

Total collected amount in company currency

Example: 1500
pendingAmountTotalnumber

Total pending amount

Example: 0
pendingAmountTotalCompanyCurrencynumber

Total pending amount in company currency

Example: 0
receiptAmountTotalnumber

Total receipt amount

Example: 1500
receiptAmountTotalCompanyCurrencynumber

Total receipt amount in company currency

Example: 1500
receiptsNumberinteger(int32)

Number of receipts

Example: 3
currencyobject(ApiCurrencyListReadDto)
bankobject(ApiBankListReadDto)
amountReconciliationnumber

Amount for reconciliation

Example: 0
amountReconciliationCompanyCurrencynumber

Amount for reconciliation in company currency

Example: 0
linesobject(ApiReceiptCollectionLineReadDto)
customerobject(ApiCustomerAutocompleteDto)
quoteNumberinteger

Quote number related to this receipt collection.

Example: 1001
quoteIdinteger(int32)
Response
application/json
{ "id": 1, "account": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "concept": { "id": 1, "code": "CON001", "description": "Sales revenue" }, "orderNumber": 1001, "collectionDate": "2024-01-15", "accounted": true, "observations": "Payment received", "extension": "pdf", "collectedAmountTotal": 1500, "collectedAmountTotalCompanyCurrency": 1500, "pendingAmountTotal": 0, "pendingAmountTotalCompanyCurrency": 0, "receiptAmountTotal": 1500, "receiptAmountTotalCompanyCurrency": 1500, "receiptsNumber": 3, "currency": { "id": 1, "code": "strin", "description": "string", "nomenclature": "strin", "isoCode": "USD", "changeValue": 0, "significantDecimalsDocuments": 0, "intermediateDecimalsDocuments": 0, "decimalsCalculatePrices": 0, "decimalsCalculateCosts": 0 }, "bank": { "id": 1, "code": "ES1234", "name": "CLAVEI BANK", "iban": "ES9820385778983000760236", "swift": "BSABESBBXXX", "inactive": false, "riskGranted": 25000, "riskConsumed": 13000.55, "accountingAccount": 5720001234, "policyAccount": 5720009999, "picture": "bank_logo.png", "pictureToken": "1f8e3ac9d89d", "defaultBank": true, "balance": 15400.8, "income": 9671.22, "expenses": 5400.13, "synchronizable": false, "showSummary": true, "token": "token-885b" }, "amountReconciliation": 0, "amountReconciliationCompanyCurrency": 0, "lines": { "id": 1, "receiptId": 8954, "billingSeriesCode": "A", "invoiceNumber": 10025, "receiptNumber": "RC-2024-0054", "invoiceDate": "2024-08-07", "expirationDate": "2024-09-15", "total": 351.77, "totalCompanyCurrency": 351.77, "collectedAmount": 100, "collectedAmountCompanyCurrency": 100, "pendingAmount": 251.77, "pendingAmountCompanyCurrency": 251.77, "collectionAmount": 251.77, "ignorePending": false, "selected": false, "situation": "PE" }, "customer": { "id": 1, "code": 10001, "name": "Acme S.A.", "commercialName": "Acme España", "isActive": true, "inactiveDate": "2024-08-07", "currencyIdDelegationZero": 1 }, "quoteNumber": 1001, "quoteId": 0 }

Request

Delete specific collection.

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

Responses

OK

Request

Create a new collection.

Bodyapplication/jsonrequired
currencyinteger(int32)

Currency identifier, refer to the invoice currency.

Example: 1
periodIdinteger(int32)

Unique identifier of the accounting period. If not set, system will determine based on document date.

Example: 1
accountinteger(int32)

Account identifier associated with the collection. [Pending removal]

Example: 3
conceptinteger(int32)

Concept identifier for the collection. [Pending removal]

Example: 5
collectionDatestring(date)

Date on which the collection is performed.

Example: "2024-03-15"
countrystring

Country of the payment origin.

Example: "Spain"
accountCodestring

Account code of the collection.

Example: 572000003
observationsstring

Observations or notes for the receipt collection.

Example: "Advance payment by bank transfer."
amountnumber

Total amount of the collection.

Example: 1500.75
accountedboolean

Indicates if the collection is already accounted.

Example: false
bankNamestring

Name of the bank where the receipt is collected.

Example: "Bank of Spain"
documentNumberstring

Document number associated with the receipt.

Example: "RCPT-20240001"
ibanstring

IBAN associated with the bank account for the receipt.

Example: "ES9121000418450200051332"
bicSwiftstring

SWIFT/BIC code of the bank.

Example: "CAIXESBBXXX"
accountingDatestring(date)

Reference date for accounting the collection.

Example: "2024-03-16"
changenumber

Exchange rate used for currency conversion.

Example: 1.05
companyCurrencyinteger(int32)

Company currency identifier.

Example: 2
companyAmountnumber

Collected amount in company currency.

Example: 1575.79
invoiceReferenceinteger

Reference to the associated invoice.

Example: 10001
orderNumberinteger
extensionstring
bankinteger(int32)
invoiceinteger(int32)
collectedAmountTotalnumber
linesobject(ApiReceiptCollectionLineWriteDto)
customerinteger(int32)

Customer identifier associated with the receipt collection, refer to the invoice customer.

Example: 101
quoteinteger(int32)
curl -i -X POST \
  https://api.prana.software/api/v1/collection \
  -H 'Content-Type: application/json' \
  -d '{
    "currency": 1,
    "periodId": 1,
    "account": 3,
    "concept": 5,
    "collectionDate": "2024-03-15",
    "country": "Spain",
    "accountCode": 572000003,
    "observations": "Advance payment by bank transfer.",
    "amount": 1500.75,
    "accounted": false,
    "bankName": "Bank of Spain",
    "documentNumber": "RCPT-20240001",
    "iban": "ES9121000418450200051332",
    "bicSwift": "CAIXESBBXXX",
    "accountingDate": "2024-03-16",
    "change": 1.05,
    "companyCurrency": 2,
    "companyAmount": 1575.79,
    "invoiceReference": 10001,
    "orderNumber": 0,
    "extension": "string",
    "bank": 0,
    "invoice": 0,
    "collectedAmountTotal": 0,
    "lines": {
      "id": 1,
      "header": 10,
      "receipt": 100,
      "ignorePending": false,
      "collectionAmount": 250.75
    },
    "customer": 101,
    "quote": 0
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
accountobject(ApiChartAccountListReadDto)
conceptobject(ApiConceptListReadDto)
orderNumberinteger

Order number

Example: 1001
collectionDatestring(date)

Collection date

Example: "2024-01-15"
accountedboolean

Flag indicating if the collection is accounted

Example: true
observationsstring

Observations about the collection

Example: "Payment received"
extensionstring

File extension

Example: "pdf"
collectedAmountTotalnumber

Total collected amount

Example: 1500
collectedAmountTotalCompanyCurrencynumber

Total collected amount in company currency

Example: 1500
pendingAmountTotalnumber

Total pending amount

Example: 0
pendingAmountTotalCompanyCurrencynumber

Total pending amount in company currency

Example: 0
receiptAmountTotalnumber

Total receipt amount

Example: 1500
receiptAmountTotalCompanyCurrencynumber

Total receipt amount in company currency

Example: 1500
receiptsNumberinteger(int32)

Number of receipts

Example: 3
currencyobject(ApiCurrencyListReadDto)
bankobject(ApiBankListReadDto)
amountReconciliationnumber

Amount for reconciliation

Example: 0
amountReconciliationCompanyCurrencynumber

Amount for reconciliation in company currency

Example: 0
linesobject(ApiReceiptCollectionLineReadDto)
customerobject(ApiCustomerAutocompleteDto)
quoteNumberinteger

Quote number related to this receipt collection.

Example: 1001
quoteIdinteger(int32)
Response
application/json
{ "id": 1, "account": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "concept": { "id": 1, "code": "CON001", "description": "Sales revenue" }, "orderNumber": 1001, "collectionDate": "2024-01-15", "accounted": true, "observations": "Payment received", "extension": "pdf", "collectedAmountTotal": 1500, "collectedAmountTotalCompanyCurrency": 1500, "pendingAmountTotal": 0, "pendingAmountTotalCompanyCurrency": 0, "receiptAmountTotal": 1500, "receiptAmountTotalCompanyCurrency": 1500, "receiptsNumber": 3, "currency": { "id": 1, "code": "strin", "description": "string", "nomenclature": "strin", "isoCode": "USD", "changeValue": 0, "significantDecimalsDocuments": 0, "intermediateDecimalsDocuments": 0, "decimalsCalculatePrices": 0, "decimalsCalculateCosts": 0 }, "bank": { "id": 1, "code": "ES1234", "name": "CLAVEI BANK", "iban": "ES9820385778983000760236", "swift": "BSABESBBXXX", "inactive": false, "riskGranted": 25000, "riskConsumed": 13000.55, "accountingAccount": 5720001234, "policyAccount": 5720009999, "picture": "bank_logo.png", "pictureToken": "1f8e3ac9d89d", "defaultBank": true, "balance": 15400.8, "income": 9671.22, "expenses": 5400.13, "synchronizable": false, "showSummary": true, "token": "token-885b" }, "amountReconciliation": 0, "amountReconciliationCompanyCurrency": 0, "lines": { "id": 1, "receiptId": 8954, "billingSeriesCode": "A", "invoiceNumber": 10025, "receiptNumber": "RC-2024-0054", "invoiceDate": "2024-08-07", "expirationDate": "2024-09-15", "total": 351.77, "totalCompanyCurrency": 351.77, "collectedAmount": 100, "collectedAmountCompanyCurrency": 100, "pendingAmount": 251.77, "pendingAmountCompanyCurrency": 251.77, "collectionAmount": 251.77, "ignorePending": false, "selected": false, "situation": "PE" }, "customer": { "id": 1, "code": 10001, "name": "Acme S.A.", "commercialName": "Acme España", "isActive": true, "inactiveDate": "2024-08-07", "currencyIdDelegationZero": 1 }, "quoteNumber": 1001, "quoteId": 0 }

Request

Get all your collections.

Bodyapplication/jsonrequired
conditionobject(ApiCondition)
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/collection/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(ApiReceiptCollectionListReadDto)required

List of data items for the current page

data[].​idinteger(int32)required

Unique identifier of the entity

Example: 1
data[].​orderNumberinteger(int32)

Order number of the collection line.

Example: 1
data[].​collectionDatestring(date)

Date of the collection.

Example: "2024-03-15"
data[].​countrystring

Country associated with the collection.

Example: "Spain"
data[].​accountCodestring

Account code associated with the collection.

Example: 572000003
data[].​observationsstring

Observations or notes for the collection.

Example: "First payment received via bank transfer."
data[].​amountnumber

Amount collected.

Example: 1000.5
data[].​accountedboolean

Indicates if the amount is already accounted.

Example: true
data[].​bankNamestring

Name of the bank where the collection was processed.

Example: "Bank of Spain"
data[].​customerCodestring

Unique customer code.

Example: "CUST001"
data[].​customerBusinessNamestring

Business name of the customer.

Example: "Clavei S.A."
data[].​customerNamestring

Contact name of the customer.

Example: "Ana Martínez"
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 }
Operations
Operations
Operations

Purchase Invoice

Manage your Purchase Invoices

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