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

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

Request

Get a specific supplier.

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

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
codeinteger(int32)

Supplier numeric code. Unique per company.

Example: 20001
cifstring

Tax identification code (CIF/NIF).

Example: "B87654321"
commercialNamestring

Commercial name of the supplier.

Example: "Supplier Corp"
vatobject(ApiCustomerVatTypeListReadDto)

VAT type information.

namestring

Legal name of the supplier.

Example: "Supplier Corporation S.L."
addressstring

Postal address.

Example: "Calle Mayor, 10"
countryobject(ApiCountryListReadDto)

Country information.

stateobject(ApiStateListReadDto)

State information.

postalCodestring

Postal code.

Example: 28001
citystring

Supplier city.

Example: "Madrid"
phone1string

First phone number.

Example: "+34911222333"
phone2string

Second phone number.

Example: "+34911444555"
replacementTimenumber

Replacement time in days.

Example: 7
languageobject(ApiLanguageListReadDto)

Language information.

currencyobject(ApiCurrencyListReadDto)

Currency information.

manufacturerboolean

True if the supplier is a manufacturer.

Example: false
importerboolean

True if the supplier is an importer.

Example: true
activeboolean

True if the supplier is active.

Example: true
notCreateOrderboolean

True if orders should not be created automatically.

Example: false
observationstring

General observations about the supplier.

Example: "Premium supplier with fast delivery"
geographicalLocationstring(ApiGeographicalLocationEnum)

Geographical location type.

Enum"CEUTA_MELILLA_CANARIAS""COMMUNITY""NATIONAL""OTHERS"
Example: "NATIONAL"
creationDatestring(date)

Date of supplier creation. Format: yyyy-MM-dd

Example: "2021-03-15"
inactiveDatestring(date)

Date when supplier became inactive. Format: yyyy-MM-dd

Example: "2024-10-01"
accountingAccountobject(ApiChartAccountListReadDto)

Accounting account information.

customerobject(ApiCustomerListReadDto)

Associated customer information if supplier is also a customer.

operatorobject(ApiOperatorReadDto)

Operator information.

warehouseobject(ApiWarehouseListReadDto)

Default warehouse information.

emailstring

Contact email address.

Example: "contact@suppliercorp.com"
paymentMethodobject(ApiPaymentMethodListReadDto)

DTO para listar los métodos de pago disponibles

termsinteger(int32)

Number of payment terms.

Example: 3
daysFirstTerminteger(int32)

Days until first payment term.

Example: 30
daysBetweenTermsinteger(int32)

Days between payment terms.

Example: 30
discount1number

First discount rate (percentage).

Example: 3.5
discount2number

Second discount rate (percentage).

Example: 2
discountPpnumber

Prompt payment discount rate (percentage).

Example: 1.5
proximityTypestring(ApiProximityTypeEnum)

Proximity type for payment calculation.

Enum"NEARBY""PREVIOUS""LATER"
Example: "FOLLOWING_MONTH"
paymentDay1integer(int32)

First payment day of month.

Example: 10
paymentDay2integer(int32)

Second payment day of month.

Example: 20
paymentDay3integer(int32)

Third payment day of month.

Example: 30
weekdaystring(ApiWeekDayEnum)

Preferred payment weekday.

Enum"MONDAY""TUESDAY""WEDNESDAY""THURSDAY""FRIDAY""SATURDAY""SUNDAY"
Example: "FRIDAY"
paymentMethodObservationobject(ApiObservationListReadDto)

Payment method observation.

paymentMethodObservationDescriptionstring[ 0 .. 255 ] characters

Payment method observation description.

Example: "Bank transfer preferred"
accountstring[ 0 .. 50 ] characters

Bank account number.

Example: "ES7921000813610123456789"
swiftstring[ 0 .. 20 ] characters

SWIFT code.

Example: "BBVAESMM"
bicstring[ 0 .. 20 ] characters

BIC code.

Example: "BBVAESMMXXX"
agencyobject(ApiAgencyListReadDto)

Bank agency information.

shippingTermobject(ApiShippingTermListReadDto)

Shipping term information.

ropoCodestring

ROPO registration code.

Example: "ES-12345-ROPO"
ropoExpireDatestring(date)

ROPO expiration date. Format: yyyy-MM-dd

Example: "2025-12-31"
tagsArray of strings

List of supplier tags.

Example: ["PREMIUM","INTERNATIONAL"]
irpfTypestring(ApiIRPFTypeEnum)

IRPF type for withholding tax.

Enum"LEASES""PROFESIONAL_ACTIVITIES""AGRO"
Example: "IRPF_15"
bankNamestring

Bank name for the supplier.

Example: "BBVA"
contactPersonstring

Contact person name.

Example: "Juan García"
picturestring

Picture or logo for the supplier.

Example: "https://www.suppliercorp.com/logo.png"
pictureTokenstring

Token for accessing the picture.

Example: "a1b2c3d4e5f6"
incomeTaxRatenumber

Income tax rate (percentage).

Example: 15
webstring

Supplier web site.

Example: "https://www.suppliercorp.com"
modifiedOnstring(date-time)

Last modification date and time. Format: yyyy-MM-dd'T'HH:mm:ssXXX

Example: "2024-12-10T14:30:00+01:00"
observationsArray of objects(ApiCustomerObservationListReadDto)

List of observations.

filesArray of objects(ApiCustomerFileListReadDto)

List of attached files.

Response
application/json
{ "id": 1, "code": 20001, "cif": "B87654321", "commercialName": "Supplier Corp", "vat": { "id": 1, "code": "GENERAL", "description": "General VAT type" }, "name": "Supplier Corporation S.L.", "address": "Calle Mayor, 10", "country": { "id": 1, "code": 724, "description": "Spain", "isoCode": "US", "customerVatType": "GENERAL", "geographicalLocation": "NATIONAL" }, "state": { "id": 1, "code": "string", "description": "string", "country": { … }, "isoCode": "string" }, "postalCode": 28001, "city": "Madrid", "phone1": "+34911222333", "phone2": "+34911444555", "replacementTime": 7, "language": { "id": 1, "code": "ES", "description": "Spanish", "isoCode": "EN" }, "currency": { "id": 1, "code": "strin", "description": "string", "nomenclature": "strin", "isoCode": "USD", "changeValue": 0, "significantDecimalsDocuments": 0, "intermediateDecimalsDocuments": 0, "decimalsCalculatePrices": 0, "decimalsCalculateCosts": 0 }, "manufacturer": false, "importer": true, "active": true, "notCreateOrder": false, "observation": "Premium supplier with fast delivery", "geographicalLocation": "NATIONAL", "creationDate": "2021-03-15", "inactiveDate": "2024-10-01", "accountingAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "customer": { "id": 10001, "code": 10001, "name": "Acme S.A.", "commercialName": "Acme España", "cif": "B12345678", "address": "Av. de la Estación, 5", "firstPhoneNumber": "+34600111222", "secondPhoneNumber": "+34600333444", "postalCode": "03001", "countryDescription": "Spain", "stateDescription": "Alicante", "email": "info@acme.es", "city": "Alicante", "activity": "Wholesale Trade", "brand": "Acme", "brandId": 100, "creationDate": "2020-01-01", "isActive": true, "inactiveDate": "2023-08-07", "paymentMethodId": 1, "paymentMethod": "Bank Transfer", "paymentMethodServeFullPrePaid": false, "rateCode": "RATE-001", "account": "ES9820385778983000760236", "vatDescription": "General", "discount1": 5, "currencyCode": "EUR", "currencyDescription": "Euro", "modifiedOn": "2024-08-07T12:30:00", "bankName": "Santander", "contactPerson": "Juan Pérez", "web": "https://www.acme.es", "picture": "https://www.acme.es/logo.png", "pictureToken": "xyz-token-241235", "tags": [ … ] }, "operator": { "id": 1, "code": 0, "name": "string" }, "warehouse": { "id": 1, "code": "ALM01", "description": "Central warehouse", "population": "Madrid", "active": true }, "email": "contact@suppliercorp.com", "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" }, "terms": 3, "daysFirstTerm": 30, "daysBetweenTerms": 30, "discount1": 3.5, "discount2": 2, "discountPp": 1.5, "proximityType": "NEARBY", "paymentDay1": 10, "paymentDay2": 20, "paymentDay3": 30, "weekday": "MONDAY", "paymentMethodObservation": { "id": 1, "code": "string", "type": "CLASSIFICATION", "description": "string", "blockOrder": true }, "paymentMethodObservationDescription": "Bank transfer preferred", "account": "ES7921000813610123456789", "swift": "BBVAESMM", "bic": "BBVAESMMXXX", "agency": { "id": 1, "code": "AG001", "name": "Fast Transport Agency" }, "shippingTerm": { "id": 1, "code": "string", "customerPays": true, "intrastatCode": "string" }, "ropoCode": "ES-12345-ROPO", "ropoExpireDate": "2025-12-31", "tags": [ "PREMIUM", "INTERNATIONAL" ], "irpfType": "LEASES", "bankName": "BBVA", "contactPerson": "Juan García", "picture": "https://www.suppliercorp.com/logo.png", "pictureToken": "a1b2c3d4e5f6", "incomeTaxRate": 15, "web": "https://www.suppliercorp.com", "modifiedOn": "2024-12-10T14:30:00+01:00", "observations": [ { … } ], "files": [ { … } ] }

Request

Update a specific supplier.

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

Supplier numeric code. Unique per company.

Example: 20001
cifstring[ 0 .. 20 ] characters

Tax identification code (CIF/NIF).

Example: "B87654321"
commercialNamestring[ 0 .. 100 ] charactersrequired

Commercial name of the supplier.

Example: "Supplier Corp"
namestring[ 0 .. 100 ] characters

Legal name of the supplier.

Example: "Supplier Corporation S.L."
addressstring[ 0 .. 100 ] characters

Postal address.

Example: "Calle Mayor, 10"
countryinteger(int32)

Country identifier.

Example: 1
vatinteger(int32)

VAT type identifier.

Example: 2
stateinteger(int32)

State identifier.

Example: 28
postalCodestring[ 0 .. 10 ] characters

Postal code.

Example: 28001
citystring[ 0 .. 100 ] characters

Supplier city.

Example: "Madrid"
phone1string[ 0 .. 20 ] characters

First phone number.

Example: "+34911222333"
phone2string[ 0 .. 20 ] characters

Second phone number.

Example: "+34911444555"
replacementTimenumber

Replacement time in days.

Example: 7
languageinteger(int32)

Language identifier.

Example: 1
currencyinteger(int32)

Currency identifier.

Example: 1
manufacturerboolean

True if the supplier is a manufacturer.

Example: false
importerboolean

True if the supplier is an importer.

Example: true
activeboolean

True if the supplier is active.

Example: true
notCreateOrderboolean

True if orders should not be created automatically.

Example: false
observationstring

General observations about the supplier.

Example: "Premium supplier with fast delivery"
geographicalLocationstring(ApiGeographicalLocationEnum)

Geographical location type.

Enum"CEUTA_MELILLA_CANARIAS""COMMUNITY""NATIONAL""OTHERS"
Example: "NATIONAL"
creationDatestring(date)

Date of supplier creation. Format: yyyy-MM-dd

Example: "2021-03-15"
inactiveDatestring(date)

Date when supplier became inactive. Format: yyyy-MM-dd

Example: "2024-10-01"
accountingAccountinteger(int32)

Accounting account identifier.

Example: 5
customerinteger(int32)

Associated customer identifier if supplier is also a customer.

Example: 100
operatorinteger(int32)

Operator identifier.

Example: 3
warehouseinteger(int32)

Default warehouse identifier.

Example: 1
emailstring[ 0 .. 250 ] characters

Contact email address.

Example: "contact@suppliercorp.com"
paymentMethodinteger(int32)required

Payment method identifier.

Example: 2
termsinteger(int32)

Number of payment terms.

Example: 3
daysFirstTerminteger(int32)

Days until first payment term.

Example: 30
daysBetweenTermsinteger(int32)

Days between payment terms.

Example: 30
discount1number

First discount rate (percentage).

Example: 3.5
discount2number

Second discount rate (percentage).

Example: 2
discountPpnumber

Prompt payment discount rate (percentage).

Example: 1.5
proximityTypestring(ApiProximityTypeEnum)

Proximity type for payment calculation.

Enum"NEARBY""PREVIOUS""LATER"
Example: "FOLLOWING_MONTH"
paymentDay1integer(int32)

First payment day of month.

Example: 10
paymentDay2integer(int32)

Second payment day of month.

Example: 20
paymentDay3integer(int32)

Third payment day of month.

Example: 30
weekdaystring(ApiWeekDayEnum)

Preferred payment weekday.

Enum"MONDAY""TUESDAY""WEDNESDAY""THURSDAY""FRIDAY""SATURDAY""SUNDAY"
Example: "FRIDAY"
paymentMethodObservationinteger(int32)

Payment method observation identifier.

Example: 1
paymentMethodObservationDescriptionstring

Payment method observation description.

Example: "Bank transfer preferred"
accountstring[ 0 .. 50 ] characters

Bank account number.

Example: "ES7921000813610123456789"
swiftstring[ 0 .. 20 ] characters

SWIFT code.

Example: "BBVAESMM"
bicstring[ 0 .. 20 ] characters

BIC code.

Example: "BBVAESMMXXX"
agencyinteger(int32)

Bank agency identifier.

Example: 2
shippingTerminteger(int32)

Shipping term identifier.

Example: 1
ropoCodestring

ROPO registration code.

Example: "ES-12345-ROPO"
ropoExpireDatestring(date)

ROPO expiration date. Format: yyyy-MM-dd

Example: "2025-12-31"
irpfTypestring(ApiIRPFTypeEnum)

IRPF type for withholding tax.

Enum"LEASES""PROFESIONAL_ACTIVITIES""AGRO"
Example: "IRPF_15"
picturestring

Picture or logo for the supplier.

Example: "https://www.suppliercorp.com/logo.png"
bankNamestring

Bank name for the supplier.

Example: "BBVA"
contactPersonstring

Contact person name.

Example: "Juan García"
incomeTaxRatenumber

Income tax rate (percentage).

Example: 15
webstring

Supplier web site.

Example: "https://www.suppliercorp.com"
tagsArray of strings

List of supplier tags.

Example: ["PREMIUM","INTERNATIONAL"]
observationsArray of objects(ApiSupplierObservationWriteDto)

List of observations.

filesArray of objects(ApiSupplierFileWriteDto)

List of attached files.

purchasingAccountinteger(int32)

Purchasing account identifier.

Example: 7
vatOperationTypeinteger(int32)

VAT operation type identifier.

Example: 1
reportLanguagestring(AllowedLanguagesEnum)

Report language.

Enum"EN""ES""CA"
Example: "ES"
curl -i -X PUT \
  'https://api.prana.software/api/v1/supplier/{id}' \
  -H 'Content-Type: application/json' \
  -d '{
    "code": 20001,
    "cif": "B87654321",
    "commercialName": "Supplier Corp",
    "name": "Supplier Corporation S.L.",
    "address": "Calle Mayor, 10",
    "country": 1,
    "vat": 2,
    "state": 28,
    "postalCode": 28001,
    "city": "Madrid",
    "phone1": "+34911222333",
    "phone2": "+34911444555",
    "replacementTime": 7,
    "language": 1,
    "currency": 1,
    "manufacturer": false,
    "importer": true,
    "active": true,
    "notCreateOrder": false,
    "observation": "Premium supplier with fast delivery",
    "geographicalLocation": "NATIONAL",
    "creationDate": "2021-03-15",
    "inactiveDate": "2024-10-01",
    "accountingAccount": 5,
    "customer": 100,
    "operator": 3,
    "warehouse": 1,
    "email": "contact@suppliercorp.com",
    "paymentMethod": 2,
    "terms": 3,
    "daysFirstTerm": 30,
    "daysBetweenTerms": 30,
    "discount1": 3.5,
    "discount2": 2,
    "discountPp": 1.5,
    "proximityType": "NEARBY",
    "paymentDay1": 10,
    "paymentDay2": 20,
    "paymentDay3": 30,
    "weekday": "MONDAY",
    "paymentMethodObservation": 1,
    "paymentMethodObservationDescription": "Bank transfer preferred",
    "account": "ES7921000813610123456789",
    "swift": "BBVAESMM",
    "bic": "BBVAESMMXXX",
    "agency": 2,
    "shippingTerm": 1,
    "ropoCode": "ES-12345-ROPO",
    "ropoExpireDate": "2025-12-31",
    "irpfType": "LEASES",
    "picture": "https://www.suppliercorp.com/logo.png",
    "bankName": "BBVA",
    "contactPerson": "Juan García",
    "incomeTaxRate": 15,
    "web": "https://www.suppliercorp.com",
    "tags": [
      "PREMIUM",
      "INTERNATIONAL"
    ],
    "observations": [
      {
        "id": 0,
        "title": "string",
        "description": "string"
      }
    ],
    "files": [
      {
        "id": 0,
        "token": "string",
        "fileName": "string",
        "fileExtension": "string",
        "fileSize": 0
      }
    ],
    "purchasingAccount": 7,
    "vatOperationType": 1,
    "reportLanguage": "EN"
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
codeinteger(int32)

Supplier numeric code. Unique per company.

Example: 20001
cifstring

Tax identification code (CIF/NIF).

Example: "B87654321"
commercialNamestring

Commercial name of the supplier.

Example: "Supplier Corp"
vatobject(ApiCustomerVatTypeListReadDto)

VAT type information.

namestring

Legal name of the supplier.

Example: "Supplier Corporation S.L."
addressstring

Postal address.

Example: "Calle Mayor, 10"
countryobject(ApiCountryListReadDto)

Country information.

stateobject(ApiStateListReadDto)

State information.

postalCodestring

Postal code.

Example: 28001
citystring

Supplier city.

Example: "Madrid"
phone1string

First phone number.

Example: "+34911222333"
phone2string

Second phone number.

Example: "+34911444555"
replacementTimenumber

Replacement time in days.

Example: 7
languageobject(ApiLanguageListReadDto)

Language information.

currencyobject(ApiCurrencyListReadDto)

Currency information.

manufacturerboolean

True if the supplier is a manufacturer.

Example: false
importerboolean

True if the supplier is an importer.

Example: true
activeboolean

True if the supplier is active.

Example: true
notCreateOrderboolean

True if orders should not be created automatically.

Example: false
observationstring

General observations about the supplier.

Example: "Premium supplier with fast delivery"
geographicalLocationstring(ApiGeographicalLocationEnum)

Geographical location type.

Enum"CEUTA_MELILLA_CANARIAS""COMMUNITY""NATIONAL""OTHERS"
Example: "NATIONAL"
creationDatestring(date)

Date of supplier creation. Format: yyyy-MM-dd

Example: "2021-03-15"
inactiveDatestring(date)

Date when supplier became inactive. Format: yyyy-MM-dd

Example: "2024-10-01"
accountingAccountobject(ApiChartAccountListReadDto)

Accounting account information.

customerobject(ApiCustomerListReadDto)

Associated customer information if supplier is also a customer.

operatorobject(ApiOperatorReadDto)

Operator information.

warehouseobject(ApiWarehouseListReadDto)

Default warehouse information.

emailstring

Contact email address.

Example: "contact@suppliercorp.com"
paymentMethodobject(ApiPaymentMethodListReadDto)

DTO para listar los métodos de pago disponibles

termsinteger(int32)

Number of payment terms.

Example: 3
daysFirstTerminteger(int32)

Days until first payment term.

Example: 30
daysBetweenTermsinteger(int32)

Days between payment terms.

Example: 30
discount1number

First discount rate (percentage).

Example: 3.5
discount2number

Second discount rate (percentage).

Example: 2
discountPpnumber

Prompt payment discount rate (percentage).

Example: 1.5
proximityTypestring(ApiProximityTypeEnum)

Proximity type for payment calculation.

Enum"NEARBY""PREVIOUS""LATER"
Example: "FOLLOWING_MONTH"
paymentDay1integer(int32)

First payment day of month.

Example: 10
paymentDay2integer(int32)

Second payment day of month.

Example: 20
paymentDay3integer(int32)

Third payment day of month.

Example: 30
weekdaystring(ApiWeekDayEnum)

Preferred payment weekday.

Enum"MONDAY""TUESDAY""WEDNESDAY""THURSDAY""FRIDAY""SATURDAY""SUNDAY"
Example: "FRIDAY"
paymentMethodObservationobject(ApiObservationListReadDto)

Payment method observation.

paymentMethodObservationDescriptionstring[ 0 .. 255 ] characters

Payment method observation description.

Example: "Bank transfer preferred"
accountstring[ 0 .. 50 ] characters

Bank account number.

Example: "ES7921000813610123456789"
swiftstring[ 0 .. 20 ] characters

SWIFT code.

Example: "BBVAESMM"
bicstring[ 0 .. 20 ] characters

BIC code.

Example: "BBVAESMMXXX"
agencyobject(ApiAgencyListReadDto)

Bank agency information.

shippingTermobject(ApiShippingTermListReadDto)

Shipping term information.

ropoCodestring

ROPO registration code.

Example: "ES-12345-ROPO"
ropoExpireDatestring(date)

ROPO expiration date. Format: yyyy-MM-dd

Example: "2025-12-31"
tagsArray of strings

List of supplier tags.

Example: ["PREMIUM","INTERNATIONAL"]
irpfTypestring(ApiIRPFTypeEnum)

IRPF type for withholding tax.

Enum"LEASES""PROFESIONAL_ACTIVITIES""AGRO"
Example: "IRPF_15"
bankNamestring

Bank name for the supplier.

Example: "BBVA"
contactPersonstring

Contact person name.

Example: "Juan García"
picturestring

Picture or logo for the supplier.

Example: "https://www.suppliercorp.com/logo.png"
pictureTokenstring

Token for accessing the picture.

Example: "a1b2c3d4e5f6"
incomeTaxRatenumber

Income tax rate (percentage).

Example: 15
webstring

Supplier web site.

Example: "https://www.suppliercorp.com"
modifiedOnstring(date-time)

Last modification date and time. Format: yyyy-MM-dd'T'HH:mm:ssXXX

Example: "2024-12-10T14:30:00+01:00"
observationsArray of objects(ApiCustomerObservationListReadDto)

List of observations.

filesArray of objects(ApiCustomerFileListReadDto)

List of attached files.

Response
application/json
{ "id": 1, "code": 20001, "cif": "B87654321", "commercialName": "Supplier Corp", "vat": { "id": 1, "code": "GENERAL", "description": "General VAT type" }, "name": "Supplier Corporation S.L.", "address": "Calle Mayor, 10", "country": { "id": 1, "code": 724, "description": "Spain", "isoCode": "US", "customerVatType": "GENERAL", "geographicalLocation": "NATIONAL" }, "state": { "id": 1, "code": "string", "description": "string", "country": { … }, "isoCode": "string" }, "postalCode": 28001, "city": "Madrid", "phone1": "+34911222333", "phone2": "+34911444555", "replacementTime": 7, "language": { "id": 1, "code": "ES", "description": "Spanish", "isoCode": "EN" }, "currency": { "id": 1, "code": "strin", "description": "string", "nomenclature": "strin", "isoCode": "USD", "changeValue": 0, "significantDecimalsDocuments": 0, "intermediateDecimalsDocuments": 0, "decimalsCalculatePrices": 0, "decimalsCalculateCosts": 0 }, "manufacturer": false, "importer": true, "active": true, "notCreateOrder": false, "observation": "Premium supplier with fast delivery", "geographicalLocation": "NATIONAL", "creationDate": "2021-03-15", "inactiveDate": "2024-10-01", "accountingAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "customer": { "id": 10001, "code": 10001, "name": "Acme S.A.", "commercialName": "Acme España", "cif": "B12345678", "address": "Av. de la Estación, 5", "firstPhoneNumber": "+34600111222", "secondPhoneNumber": "+34600333444", "postalCode": "03001", "countryDescription": "Spain", "stateDescription": "Alicante", "email": "info@acme.es", "city": "Alicante", "activity": "Wholesale Trade", "brand": "Acme", "brandId": 100, "creationDate": "2020-01-01", "isActive": true, "inactiveDate": "2023-08-07", "paymentMethodId": 1, "paymentMethod": "Bank Transfer", "paymentMethodServeFullPrePaid": false, "rateCode": "RATE-001", "account": "ES9820385778983000760236", "vatDescription": "General", "discount1": 5, "currencyCode": "EUR", "currencyDescription": "Euro", "modifiedOn": "2024-08-07T12:30:00", "bankName": "Santander", "contactPerson": "Juan Pérez", "web": "https://www.acme.es", "picture": "https://www.acme.es/logo.png", "pictureToken": "xyz-token-241235", "tags": [ … ] }, "operator": { "id": 1, "code": 0, "name": "string" }, "warehouse": { "id": 1, "code": "ALM01", "description": "Central warehouse", "population": "Madrid", "active": true }, "email": "contact@suppliercorp.com", "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" }, "terms": 3, "daysFirstTerm": 30, "daysBetweenTerms": 30, "discount1": 3.5, "discount2": 2, "discountPp": 1.5, "proximityType": "NEARBY", "paymentDay1": 10, "paymentDay2": 20, "paymentDay3": 30, "weekday": "MONDAY", "paymentMethodObservation": { "id": 1, "code": "string", "type": "CLASSIFICATION", "description": "string", "blockOrder": true }, "paymentMethodObservationDescription": "Bank transfer preferred", "account": "ES7921000813610123456789", "swift": "BBVAESMM", "bic": "BBVAESMMXXX", "agency": { "id": 1, "code": "AG001", "name": "Fast Transport Agency" }, "shippingTerm": { "id": 1, "code": "string", "customerPays": true, "intrastatCode": "string" }, "ropoCode": "ES-12345-ROPO", "ropoExpireDate": "2025-12-31", "tags": [ "PREMIUM", "INTERNATIONAL" ], "irpfType": "LEASES", "bankName": "BBVA", "contactPerson": "Juan García", "picture": "https://www.suppliercorp.com/logo.png", "pictureToken": "a1b2c3d4e5f6", "incomeTaxRate": 15, "web": "https://www.suppliercorp.com", "modifiedOn": "2024-12-10T14:30:00+01:00", "observations": [ { … } ], "files": [ { … } ] }

Request

Delete specific supplier.

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

Responses

OK

Request

Patch specific Supplier.

Path
idinteger(int32)required
Bodyapplication/jsonrequired
property name*objectadditional property
curl -i -X PATCH \
  'https://api.prana.software/api/v1/supplier/{id}' \
  -H 'Content-Type: application/json' \
  -d '{
    "property1": {},
    "property2": {}
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
codeinteger(int32)

Supplier numeric code. Unique per company.

Example: 20001
cifstring

Tax identification code (CIF/NIF).

Example: "B87654321"
commercialNamestring

Commercial name of the supplier.

Example: "Supplier Corp"
vatobject(ApiCustomerVatTypeListReadDto)

VAT type information.

namestring

Legal name of the supplier.

Example: "Supplier Corporation S.L."
addressstring

Postal address.

Example: "Calle Mayor, 10"
countryobject(ApiCountryListReadDto)

Country information.

stateobject(ApiStateListReadDto)

State information.

postalCodestring

Postal code.

Example: 28001
citystring

Supplier city.

Example: "Madrid"
phone1string

First phone number.

Example: "+34911222333"
phone2string

Second phone number.

Example: "+34911444555"
replacementTimenumber

Replacement time in days.

Example: 7
languageobject(ApiLanguageListReadDto)

Language information.

currencyobject(ApiCurrencyListReadDto)

Currency information.

manufacturerboolean

True if the supplier is a manufacturer.

Example: false
importerboolean

True if the supplier is an importer.

Example: true
activeboolean

True if the supplier is active.

Example: true
notCreateOrderboolean

True if orders should not be created automatically.

Example: false
observationstring

General observations about the supplier.

Example: "Premium supplier with fast delivery"
geographicalLocationstring(ApiGeographicalLocationEnum)

Geographical location type.

Enum"CEUTA_MELILLA_CANARIAS""COMMUNITY""NATIONAL""OTHERS"
Example: "NATIONAL"
creationDatestring(date)

Date of supplier creation. Format: yyyy-MM-dd

Example: "2021-03-15"
inactiveDatestring(date)

Date when supplier became inactive. Format: yyyy-MM-dd

Example: "2024-10-01"
accountingAccountobject(ApiChartAccountListReadDto)

Accounting account information.

customerobject(ApiCustomerListReadDto)

Associated customer information if supplier is also a customer.

operatorobject(ApiOperatorReadDto)

Operator information.

warehouseobject(ApiWarehouseListReadDto)

Default warehouse information.

emailstring

Contact email address.

Example: "contact@suppliercorp.com"
paymentMethodobject(ApiPaymentMethodListReadDto)

DTO para listar los métodos de pago disponibles

termsinteger(int32)

Number of payment terms.

Example: 3
daysFirstTerminteger(int32)

Days until first payment term.

Example: 30
daysBetweenTermsinteger(int32)

Days between payment terms.

Example: 30
discount1number

First discount rate (percentage).

Example: 3.5
discount2number

Second discount rate (percentage).

Example: 2
discountPpnumber

Prompt payment discount rate (percentage).

Example: 1.5
proximityTypestring(ApiProximityTypeEnum)

Proximity type for payment calculation.

Enum"NEARBY""PREVIOUS""LATER"
Example: "FOLLOWING_MONTH"
paymentDay1integer(int32)

First payment day of month.

Example: 10
paymentDay2integer(int32)

Second payment day of month.

Example: 20
paymentDay3integer(int32)

Third payment day of month.

Example: 30
weekdaystring(ApiWeekDayEnum)

Preferred payment weekday.

Enum"MONDAY""TUESDAY""WEDNESDAY""THURSDAY""FRIDAY""SATURDAY""SUNDAY"
Example: "FRIDAY"
paymentMethodObservationobject(ApiObservationListReadDto)

Payment method observation.

paymentMethodObservationDescriptionstring[ 0 .. 255 ] characters

Payment method observation description.

Example: "Bank transfer preferred"
accountstring[ 0 .. 50 ] characters

Bank account number.

Example: "ES7921000813610123456789"
swiftstring[ 0 .. 20 ] characters

SWIFT code.

Example: "BBVAESMM"
bicstring[ 0 .. 20 ] characters

BIC code.

Example: "BBVAESMMXXX"
agencyobject(ApiAgencyListReadDto)

Bank agency information.

shippingTermobject(ApiShippingTermListReadDto)

Shipping term information.

ropoCodestring

ROPO registration code.

Example: "ES-12345-ROPO"
ropoExpireDatestring(date)

ROPO expiration date. Format: yyyy-MM-dd

Example: "2025-12-31"
tagsArray of strings

List of supplier tags.

Example: ["PREMIUM","INTERNATIONAL"]
irpfTypestring(ApiIRPFTypeEnum)

IRPF type for withholding tax.

Enum"LEASES""PROFESIONAL_ACTIVITIES""AGRO"
Example: "IRPF_15"
bankNamestring

Bank name for the supplier.

Example: "BBVA"
contactPersonstring

Contact person name.

Example: "Juan García"
picturestring

Picture or logo for the supplier.

Example: "https://www.suppliercorp.com/logo.png"
pictureTokenstring

Token for accessing the picture.

Example: "a1b2c3d4e5f6"
incomeTaxRatenumber

Income tax rate (percentage).

Example: 15
webstring

Supplier web site.

Example: "https://www.suppliercorp.com"
modifiedOnstring(date-time)

Last modification date and time. Format: yyyy-MM-dd'T'HH:mm:ssXXX

Example: "2024-12-10T14:30:00+01:00"
observationsArray of objects(ApiCustomerObservationListReadDto)

List of observations.

filesArray of objects(ApiCustomerFileListReadDto)

List of attached files.

Response
application/json
{ "id": 1, "code": 20001, "cif": "B87654321", "commercialName": "Supplier Corp", "vat": { "id": 1, "code": "GENERAL", "description": "General VAT type" }, "name": "Supplier Corporation S.L.", "address": "Calle Mayor, 10", "country": { "id": 1, "code": 724, "description": "Spain", "isoCode": "US", "customerVatType": "GENERAL", "geographicalLocation": "NATIONAL" }, "state": { "id": 1, "code": "string", "description": "string", "country": { … }, "isoCode": "string" }, "postalCode": 28001, "city": "Madrid", "phone1": "+34911222333", "phone2": "+34911444555", "replacementTime": 7, "language": { "id": 1, "code": "ES", "description": "Spanish", "isoCode": "EN" }, "currency": { "id": 1, "code": "strin", "description": "string", "nomenclature": "strin", "isoCode": "USD", "changeValue": 0, "significantDecimalsDocuments": 0, "intermediateDecimalsDocuments": 0, "decimalsCalculatePrices": 0, "decimalsCalculateCosts": 0 }, "manufacturer": false, "importer": true, "active": true, "notCreateOrder": false, "observation": "Premium supplier with fast delivery", "geographicalLocation": "NATIONAL", "creationDate": "2021-03-15", "inactiveDate": "2024-10-01", "accountingAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "customer": { "id": 10001, "code": 10001, "name": "Acme S.A.", "commercialName": "Acme España", "cif": "B12345678", "address": "Av. de la Estación, 5", "firstPhoneNumber": "+34600111222", "secondPhoneNumber": "+34600333444", "postalCode": "03001", "countryDescription": "Spain", "stateDescription": "Alicante", "email": "info@acme.es", "city": "Alicante", "activity": "Wholesale Trade", "brand": "Acme", "brandId": 100, "creationDate": "2020-01-01", "isActive": true, "inactiveDate": "2023-08-07", "paymentMethodId": 1, "paymentMethod": "Bank Transfer", "paymentMethodServeFullPrePaid": false, "rateCode": "RATE-001", "account": "ES9820385778983000760236", "vatDescription": "General", "discount1": 5, "currencyCode": "EUR", "currencyDescription": "Euro", "modifiedOn": "2024-08-07T12:30:00", "bankName": "Santander", "contactPerson": "Juan Pérez", "web": "https://www.acme.es", "picture": "https://www.acme.es/logo.png", "pictureToken": "xyz-token-241235", "tags": [ … ] }, "operator": { "id": 1, "code": 0, "name": "string" }, "warehouse": { "id": 1, "code": "ALM01", "description": "Central warehouse", "population": "Madrid", "active": true }, "email": "contact@suppliercorp.com", "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" }, "terms": 3, "daysFirstTerm": 30, "daysBetweenTerms": 30, "discount1": 3.5, "discount2": 2, "discountPp": 1.5, "proximityType": "NEARBY", "paymentDay1": 10, "paymentDay2": 20, "paymentDay3": 30, "weekday": "MONDAY", "paymentMethodObservation": { "id": 1, "code": "string", "type": "CLASSIFICATION", "description": "string", "blockOrder": true }, "paymentMethodObservationDescription": "Bank transfer preferred", "account": "ES7921000813610123456789", "swift": "BBVAESMM", "bic": "BBVAESMMXXX", "agency": { "id": 1, "code": "AG001", "name": "Fast Transport Agency" }, "shippingTerm": { "id": 1, "code": "string", "customerPays": true, "intrastatCode": "string" }, "ropoCode": "ES-12345-ROPO", "ropoExpireDate": "2025-12-31", "tags": [ "PREMIUM", "INTERNATIONAL" ], "irpfType": "LEASES", "bankName": "BBVA", "contactPerson": "Juan García", "picture": "https://www.suppliercorp.com/logo.png", "pictureToken": "a1b2c3d4e5f6", "incomeTaxRate": 15, "web": "https://www.suppliercorp.com", "modifiedOn": "2024-12-10T14:30:00+01:00", "observations": [ { … } ], "files": [ { … } ] }

Request

Create a new supplier.

Bodyapplication/jsonrequired
codeinteger(int32)

Supplier numeric code. Unique per company.

Example: 20001
cifstring[ 0 .. 20 ] characters

Tax identification code (CIF/NIF).

Example: "B87654321"
commercialNamestring[ 0 .. 100 ] charactersrequired

Commercial name of the supplier.

Example: "Supplier Corp"
namestring[ 0 .. 100 ] characters

Legal name of the supplier.

Example: "Supplier Corporation S.L."
addressstring[ 0 .. 100 ] characters

Postal address.

Example: "Calle Mayor, 10"
countryinteger(int32)

Country identifier.

Example: 1
vatinteger(int32)

VAT type identifier.

Example: 2
stateinteger(int32)

State identifier.

Example: 28
postalCodestring[ 0 .. 10 ] characters

Postal code.

Example: 28001
citystring[ 0 .. 100 ] characters

Supplier city.

Example: "Madrid"
phone1string[ 0 .. 20 ] characters

First phone number.

Example: "+34911222333"
phone2string[ 0 .. 20 ] characters

Second phone number.

Example: "+34911444555"
replacementTimenumber

Replacement time in days.

Example: 7
languageinteger(int32)

Language identifier.

Example: 1
currencyinteger(int32)

Currency identifier.

Example: 1
manufacturerboolean

True if the supplier is a manufacturer.

Example: false
importerboolean

True if the supplier is an importer.

Example: true
activeboolean

True if the supplier is active.

Example: true
notCreateOrderboolean

True if orders should not be created automatically.

Example: false
observationstring

General observations about the supplier.

Example: "Premium supplier with fast delivery"
geographicalLocationstring(ApiGeographicalLocationEnum)

Geographical location type.

Enum"CEUTA_MELILLA_CANARIAS""COMMUNITY""NATIONAL""OTHERS"
Example: "NATIONAL"
creationDatestring(date)

Date of supplier creation. Format: yyyy-MM-dd

Example: "2021-03-15"
inactiveDatestring(date)

Date when supplier became inactive. Format: yyyy-MM-dd

Example: "2024-10-01"
accountingAccountinteger(int32)

Accounting account identifier.

Example: 5
customerinteger(int32)

Associated customer identifier if supplier is also a customer.

Example: 100
operatorinteger(int32)

Operator identifier.

Example: 3
warehouseinteger(int32)

Default warehouse identifier.

Example: 1
emailstring[ 0 .. 250 ] characters

Contact email address.

Example: "contact@suppliercorp.com"
paymentMethodinteger(int32)required

Payment method identifier.

Example: 2
termsinteger(int32)

Number of payment terms.

Example: 3
daysFirstTerminteger(int32)

Days until first payment term.

Example: 30
daysBetweenTermsinteger(int32)

Days between payment terms.

Example: 30
discount1number

First discount rate (percentage).

Example: 3.5
discount2number

Second discount rate (percentage).

Example: 2
discountPpnumber

Prompt payment discount rate (percentage).

Example: 1.5
proximityTypestring(ApiProximityTypeEnum)

Proximity type for payment calculation.

Enum"NEARBY""PREVIOUS""LATER"
Example: "FOLLOWING_MONTH"
paymentDay1integer(int32)

First payment day of month.

Example: 10
paymentDay2integer(int32)

Second payment day of month.

Example: 20
paymentDay3integer(int32)

Third payment day of month.

Example: 30
weekdaystring(ApiWeekDayEnum)

Preferred payment weekday.

Enum"MONDAY""TUESDAY""WEDNESDAY""THURSDAY""FRIDAY""SATURDAY""SUNDAY"
Example: "FRIDAY"
paymentMethodObservationinteger(int32)

Payment method observation identifier.

Example: 1
paymentMethodObservationDescriptionstring

Payment method observation description.

Example: "Bank transfer preferred"
accountstring[ 0 .. 50 ] characters

Bank account number.

Example: "ES7921000813610123456789"
swiftstring[ 0 .. 20 ] characters

SWIFT code.

Example: "BBVAESMM"
bicstring[ 0 .. 20 ] characters

BIC code.

Example: "BBVAESMMXXX"
agencyinteger(int32)

Bank agency identifier.

Example: 2
shippingTerminteger(int32)

Shipping term identifier.

Example: 1
ropoCodestring

ROPO registration code.

Example: "ES-12345-ROPO"
ropoExpireDatestring(date)

ROPO expiration date. Format: yyyy-MM-dd

Example: "2025-12-31"
irpfTypestring(ApiIRPFTypeEnum)

IRPF type for withholding tax.

Enum"LEASES""PROFESIONAL_ACTIVITIES""AGRO"
Example: "IRPF_15"
picturestring

Picture or logo for the supplier.

Example: "https://www.suppliercorp.com/logo.png"
bankNamestring

Bank name for the supplier.

Example: "BBVA"
contactPersonstring

Contact person name.

Example: "Juan García"
incomeTaxRatenumber

Income tax rate (percentage).

Example: 15
webstring

Supplier web site.

Example: "https://www.suppliercorp.com"
tagsArray of strings

List of supplier tags.

Example: ["PREMIUM","INTERNATIONAL"]
observationsArray of objects(ApiSupplierObservationWriteDto)

List of observations.

filesArray of objects(ApiSupplierFileWriteDto)

List of attached files.

purchasingAccountinteger(int32)

Purchasing account identifier.

Example: 7
vatOperationTypeinteger(int32)

VAT operation type identifier.

Example: 1
reportLanguagestring(AllowedLanguagesEnum)

Report language.

Enum"EN""ES""CA"
Example: "ES"
curl -i -X POST \
  https://api.prana.software/api/v1/supplier \
  -H 'Content-Type: application/json' \
  -d '{
    "code": 20001,
    "cif": "B87654321",
    "commercialName": "Supplier Corp",
    "name": "Supplier Corporation S.L.",
    "address": "Calle Mayor, 10",
    "country": 1,
    "vat": 2,
    "state": 28,
    "postalCode": 28001,
    "city": "Madrid",
    "phone1": "+34911222333",
    "phone2": "+34911444555",
    "replacementTime": 7,
    "language": 1,
    "currency": 1,
    "manufacturer": false,
    "importer": true,
    "active": true,
    "notCreateOrder": false,
    "observation": "Premium supplier with fast delivery",
    "geographicalLocation": "NATIONAL",
    "creationDate": "2021-03-15",
    "inactiveDate": "2024-10-01",
    "accountingAccount": 5,
    "customer": 100,
    "operator": 3,
    "warehouse": 1,
    "email": "contact@suppliercorp.com",
    "paymentMethod": 2,
    "terms": 3,
    "daysFirstTerm": 30,
    "daysBetweenTerms": 30,
    "discount1": 3.5,
    "discount2": 2,
    "discountPp": 1.5,
    "proximityType": "NEARBY",
    "paymentDay1": 10,
    "paymentDay2": 20,
    "paymentDay3": 30,
    "weekday": "MONDAY",
    "paymentMethodObservation": 1,
    "paymentMethodObservationDescription": "Bank transfer preferred",
    "account": "ES7921000813610123456789",
    "swift": "BBVAESMM",
    "bic": "BBVAESMMXXX",
    "agency": 2,
    "shippingTerm": 1,
    "ropoCode": "ES-12345-ROPO",
    "ropoExpireDate": "2025-12-31",
    "irpfType": "LEASES",
    "picture": "https://www.suppliercorp.com/logo.png",
    "bankName": "BBVA",
    "contactPerson": "Juan García",
    "incomeTaxRate": 15,
    "web": "https://www.suppliercorp.com",
    "tags": [
      "PREMIUM",
      "INTERNATIONAL"
    ],
    "observations": [
      {
        "id": 0,
        "title": "string",
        "description": "string"
      }
    ],
    "files": [
      {
        "id": 0,
        "token": "string",
        "fileName": "string",
        "fileExtension": "string",
        "fileSize": 0
      }
    ],
    "purchasingAccount": 7,
    "vatOperationType": 1,
    "reportLanguage": "EN"
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
codeinteger(int32)

Supplier numeric code. Unique per company.

Example: 20001
cifstring

Tax identification code (CIF/NIF).

Example: "B87654321"
commercialNamestring

Commercial name of the supplier.

Example: "Supplier Corp"
vatobject(ApiCustomerVatTypeListReadDto)

VAT type information.

namestring

Legal name of the supplier.

Example: "Supplier Corporation S.L."
addressstring

Postal address.

Example: "Calle Mayor, 10"
countryobject(ApiCountryListReadDto)

Country information.

stateobject(ApiStateListReadDto)

State information.

postalCodestring

Postal code.

Example: 28001
citystring

Supplier city.

Example: "Madrid"
phone1string

First phone number.

Example: "+34911222333"
phone2string

Second phone number.

Example: "+34911444555"
replacementTimenumber

Replacement time in days.

Example: 7
languageobject(ApiLanguageListReadDto)

Language information.

currencyobject(ApiCurrencyListReadDto)

Currency information.

manufacturerboolean

True if the supplier is a manufacturer.

Example: false
importerboolean

True if the supplier is an importer.

Example: true
activeboolean

True if the supplier is active.

Example: true
notCreateOrderboolean

True if orders should not be created automatically.

Example: false
observationstring

General observations about the supplier.

Example: "Premium supplier with fast delivery"
geographicalLocationstring(ApiGeographicalLocationEnum)

Geographical location type.

Enum"CEUTA_MELILLA_CANARIAS""COMMUNITY""NATIONAL""OTHERS"
Example: "NATIONAL"
creationDatestring(date)

Date of supplier creation. Format: yyyy-MM-dd

Example: "2021-03-15"
inactiveDatestring(date)

Date when supplier became inactive. Format: yyyy-MM-dd

Example: "2024-10-01"
accountingAccountobject(ApiChartAccountListReadDto)

Accounting account information.

customerobject(ApiCustomerListReadDto)

Associated customer information if supplier is also a customer.

operatorobject(ApiOperatorReadDto)

Operator information.

warehouseobject(ApiWarehouseListReadDto)

Default warehouse information.

emailstring

Contact email address.

Example: "contact@suppliercorp.com"
paymentMethodobject(ApiPaymentMethodListReadDto)

DTO para listar los métodos de pago disponibles

termsinteger(int32)

Number of payment terms.

Example: 3
daysFirstTerminteger(int32)

Days until first payment term.

Example: 30
daysBetweenTermsinteger(int32)

Days between payment terms.

Example: 30
discount1number

First discount rate (percentage).

Example: 3.5
discount2number

Second discount rate (percentage).

Example: 2
discountPpnumber

Prompt payment discount rate (percentage).

Example: 1.5
proximityTypestring(ApiProximityTypeEnum)

Proximity type for payment calculation.

Enum"NEARBY""PREVIOUS""LATER"
Example: "FOLLOWING_MONTH"
paymentDay1integer(int32)

First payment day of month.

Example: 10
paymentDay2integer(int32)

Second payment day of month.

Example: 20
paymentDay3integer(int32)

Third payment day of month.

Example: 30
weekdaystring(ApiWeekDayEnum)

Preferred payment weekday.

Enum"MONDAY""TUESDAY""WEDNESDAY""THURSDAY""FRIDAY""SATURDAY""SUNDAY"
Example: "FRIDAY"
paymentMethodObservationobject(ApiObservationListReadDto)

Payment method observation.

paymentMethodObservationDescriptionstring[ 0 .. 255 ] characters

Payment method observation description.

Example: "Bank transfer preferred"
accountstring[ 0 .. 50 ] characters

Bank account number.

Example: "ES7921000813610123456789"
swiftstring[ 0 .. 20 ] characters

SWIFT code.

Example: "BBVAESMM"
bicstring[ 0 .. 20 ] characters

BIC code.

Example: "BBVAESMMXXX"
agencyobject(ApiAgencyListReadDto)

Bank agency information.

shippingTermobject(ApiShippingTermListReadDto)

Shipping term information.

ropoCodestring

ROPO registration code.

Example: "ES-12345-ROPO"
ropoExpireDatestring(date)

ROPO expiration date. Format: yyyy-MM-dd

Example: "2025-12-31"
tagsArray of strings

List of supplier tags.

Example: ["PREMIUM","INTERNATIONAL"]
irpfTypestring(ApiIRPFTypeEnum)

IRPF type for withholding tax.

Enum"LEASES""PROFESIONAL_ACTIVITIES""AGRO"
Example: "IRPF_15"
bankNamestring

Bank name for the supplier.

Example: "BBVA"
contactPersonstring

Contact person name.

Example: "Juan García"
picturestring

Picture or logo for the supplier.

Example: "https://www.suppliercorp.com/logo.png"
pictureTokenstring

Token for accessing the picture.

Example: "a1b2c3d4e5f6"
incomeTaxRatenumber

Income tax rate (percentage).

Example: 15
webstring

Supplier web site.

Example: "https://www.suppliercorp.com"
modifiedOnstring(date-time)

Last modification date and time. Format: yyyy-MM-dd'T'HH:mm:ssXXX

Example: "2024-12-10T14:30:00+01:00"
observationsArray of objects(ApiCustomerObservationListReadDto)

List of observations.

filesArray of objects(ApiCustomerFileListReadDto)

List of attached files.

Response
application/json
{ "id": 1, "code": 20001, "cif": "B87654321", "commercialName": "Supplier Corp", "vat": { "id": 1, "code": "GENERAL", "description": "General VAT type" }, "name": "Supplier Corporation S.L.", "address": "Calle Mayor, 10", "country": { "id": 1, "code": 724, "description": "Spain", "isoCode": "US", "customerVatType": "GENERAL", "geographicalLocation": "NATIONAL" }, "state": { "id": 1, "code": "string", "description": "string", "country": { … }, "isoCode": "string" }, "postalCode": 28001, "city": "Madrid", "phone1": "+34911222333", "phone2": "+34911444555", "replacementTime": 7, "language": { "id": 1, "code": "ES", "description": "Spanish", "isoCode": "EN" }, "currency": { "id": 1, "code": "strin", "description": "string", "nomenclature": "strin", "isoCode": "USD", "changeValue": 0, "significantDecimalsDocuments": 0, "intermediateDecimalsDocuments": 0, "decimalsCalculatePrices": 0, "decimalsCalculateCosts": 0 }, "manufacturer": false, "importer": true, "active": true, "notCreateOrder": false, "observation": "Premium supplier with fast delivery", "geographicalLocation": "NATIONAL", "creationDate": "2021-03-15", "inactiveDate": "2024-10-01", "accountingAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "customer": { "id": 10001, "code": 10001, "name": "Acme S.A.", "commercialName": "Acme España", "cif": "B12345678", "address": "Av. de la Estación, 5", "firstPhoneNumber": "+34600111222", "secondPhoneNumber": "+34600333444", "postalCode": "03001", "countryDescription": "Spain", "stateDescription": "Alicante", "email": "info@acme.es", "city": "Alicante", "activity": "Wholesale Trade", "brand": "Acme", "brandId": 100, "creationDate": "2020-01-01", "isActive": true, "inactiveDate": "2023-08-07", "paymentMethodId": 1, "paymentMethod": "Bank Transfer", "paymentMethodServeFullPrePaid": false, "rateCode": "RATE-001", "account": "ES9820385778983000760236", "vatDescription": "General", "discount1": 5, "currencyCode": "EUR", "currencyDescription": "Euro", "modifiedOn": "2024-08-07T12:30:00", "bankName": "Santander", "contactPerson": "Juan Pérez", "web": "https://www.acme.es", "picture": "https://www.acme.es/logo.png", "pictureToken": "xyz-token-241235", "tags": [ … ] }, "operator": { "id": 1, "code": 0, "name": "string" }, "warehouse": { "id": 1, "code": "ALM01", "description": "Central warehouse", "population": "Madrid", "active": true }, "email": "contact@suppliercorp.com", "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" }, "terms": 3, "daysFirstTerm": 30, "daysBetweenTerms": 30, "discount1": 3.5, "discount2": 2, "discountPp": 1.5, "proximityType": "NEARBY", "paymentDay1": 10, "paymentDay2": 20, "paymentDay3": 30, "weekday": "MONDAY", "paymentMethodObservation": { "id": 1, "code": "string", "type": "CLASSIFICATION", "description": "string", "blockOrder": true }, "paymentMethodObservationDescription": "Bank transfer preferred", "account": "ES7921000813610123456789", "swift": "BBVAESMM", "bic": "BBVAESMMXXX", "agency": { "id": 1, "code": "AG001", "name": "Fast Transport Agency" }, "shippingTerm": { "id": 1, "code": "string", "customerPays": true, "intrastatCode": "string" }, "ropoCode": "ES-12345-ROPO", "ropoExpireDate": "2025-12-31", "tags": [ "PREMIUM", "INTERNATIONAL" ], "irpfType": "LEASES", "bankName": "BBVA", "contactPerson": "Juan García", "picture": "https://www.suppliercorp.com/logo.png", "pictureToken": "a1b2c3d4e5f6", "incomeTaxRate": 15, "web": "https://www.suppliercorp.com", "modifiedOn": "2024-12-10T14:30:00+01:00", "observations": [ { … } ], "files": [ { … } ] }

Request

Get all your suppliers.

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/supplier/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(ApiSupplierListReadDto)required

List of data items for the current page

data[].​idinteger(int32)required

Unique identifier of the entity

Example: 1
data[].​codeinteger(int32)required

Supplier numeric code. Unique per company.

Example: 20001
data[].​cifstringrequired

Tax identification code (CIF/NIF).

Example: "B87654321"
data[].​commercialNamestringrequired

Commercial name of the supplier.

Example: "Supplier Corp"
data[].​namestring

Legal name of the supplier.

Example: "Supplier Corporation S.L."
data[].​addressstring

Postal address.

Example: "Calle Mayor, 10"
data[].​countrystring

Country code.

Example: "ES"
data[].​statestring

State code.

Example: "MAD"
data[].​postalCodestring

Postal code.

Example: 28001
data[].​citystring

Supplier city.

Example: "Madrid"
data[].​phone1string

First phone number.

Example: "+34911222333"
data[].​phone2string

Second phone number.

Example: "+34911444555"
data[].​currencystring

Currency code.

Example: "EUR"
data[].​currencyNomenclaturestring

Currency nomenclature.

Example: "Euro"
data[].​currencyChangeValuenumber

Currency exchange rate value.

Example: 1
data[].​activeboolean

True if the supplier is active.

Example: true
data[].​emailstring

Contact email address.

Example: "contact@suppliercorp.com"
data[].​shippingTerminteger(int32)

Shipping term in days.

Example: 15
data[].​tagsArray of strings

List of supplier tags.

Example: ["PREMIUM","INTERNATIONAL"]
data[].​vatDescriptionstring

VAT type description.

Example: "IVA General 21%"
data[].​discount1number

First discount rate (percentage).

Example: 3.5
data[].​paymentMethodIdinteger(int32)

Payment method identifier.

Example: 3
data[].​paymentMethodstring

Payment method description.

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

ISO currency code.

Example: "EUR"
data[].​creationDatestring(date)

Date of supplier creation. Format: yyyy-MM-dd

Example: "2021-03-15"
data[].​inactiveDatestring(date)

Date when supplier became inactive. Format: yyyy-MM-dd

Example: "2024-10-01"
data[].​countryDescriptionstring

Country full description.

Example: "España"
data[].​stateDescriptionstring

State full description.

Example: "Madrid"
data[].​bankNamestring

Bank name for the supplier.

Example: "BBVA"
data[].​accountstring

Bank account number.

Example: "ES7921000813610123456789"
data[].​picturestring

Picture or logo for the supplier.

Example: "https://www.suppliercorp.com/logo.png"
data[].​pictureTokenstring

Token for accessing the picture.

Example: "a1b2c3d4e5f6"
data[].​modifiedOnstring(date-time)

Last modification date and time. Format: yyyy-MM-dd'T'HH:mm:ssXXX

Example: "2024-12-10T14:30:00+01:00"
data[].​webstring

Supplier web site.

Example: "https://www.suppliercorp.com"
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

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