Skip to main content
POST
/
credit-notes
Create credit note
curl --request POST \
  --url https://app.fintoro.sk/api/public/v1/credit-notes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "invoiceId": 301,
  "number": "20260051",
  "issueDate": "2026-03-03",
  "dueDate": "2026-03-17",
  "deliveryDate": "2026-03-03",
  "bankAccountId": 201,
  "variableSymbol": 20260051,
  "transferTaxLiability": false,
  "paymentMethodId": 1,
  "currencyId": 1,
  "currencyRate": 1,
  "languageId": 1,
  "items": [
    {
      "quantity": 2,
      "priceListItemId": 501,
      "name": "Consulting",
      "description": "Monthly consulting package",
      "unitPrice": 100,
      "unitId": 1,
      "vatRate": 20,
      "discountType": "percentage",
      "discountValue": 10,
      "discountName": "Loyalty discount",
      "warehouseAllocations": [
        {
          "warehouseId": 1,
          "quantity": 2
        }
      ]
    }
  ],
  "businessCaseId": 701,
  "numericalSeriesId": 12,
  "constantSymbol": 308,
  "specificSymbol": 55,
  "discountType": "percentage",
  "discountValue": 10,
  "note": "Credit note for the original invoice.",
  "textAboveItems": "We are crediting part of the original supply."
}
'
{
  "id": 351,
  "uuid": "6b1b8c9e-66e6-4fb5-b2db-6d7c7f0f8f19",
  "type": "credit-note",
  "number": "20260051",
  "webDokladUrl": "https://app.fintoro.sk/web-doklad/credit-note/4f3f8a95-5c4a-4c8b-9e6c-8a0c1a5df3a1",
  "pdfDownloadUrl": "https://app.fintoro.sk/api/public/v1/credit-notes/351/pdf",
  "company": {
    "name": "Fintoro s.r.o.",
    "subjectId": "12345678",
    "legalForm": "Limited liability company",
    "taxId": "2020123456",
    "vatId": "SK2020123456",
    "vatPayerTypeId": 4,
    "country": "Slovakia",
    "city": "Bratislava",
    "street": "Main Street 1",
    "zip": "81101",
    "logo": "https://cdn.fintoro.sk/company/logo.svg",
    "signature": "https://cdn.fintoro.sk/company/signature.png",
    "registrationCourt": "City Court Bratislava III",
    "registrationNumber": "12345/B",
    "email": "support@fintoro.sk",
    "phone": "+421900000000",
    "web": "https://fintoro.sk"
  },
  "clientId": 101,
  "client": {
    "name": "Acme s.r.o.",
    "type": "company",
    "subjectId": "12345678",
    "taxId": "2020123456",
    "vatId": "SK2020123456",
    "isVatPayer": true,
    "email": "billing@acme.test",
    "street": "Main Street 1",
    "city": "Bratislava",
    "zip": "81101",
    "countryId": 703,
    "country": {
      "id": 703,
      "name": "Slovakia",
      "code": "SK",
      "eu": true
    },
    "hasDeliveryAddress": true,
    "deliveryStreet": "Warehouse 9",
    "deliveryCity": "Kosice",
    "deliveryZip": "04001",
    "deliveryCountryId": 703,
    "deliveryCountry": {
      "id": 703,
      "name": "Slovakia",
      "code": "SK",
      "eu": true
    }
  },
  "bankAccount": {
    "id": 201,
    "bankId": 1,
    "bank": {
      "id": 23,
      "name": "Tatra Banka",
      "swift": "TATRSKBX"
    },
    "name": "Main account",
    "iban": "SK3111000000001234567890",
    "swift": "TATRSKBX",
    "isPrimary": true,
    "autoPaymentMatching": true
  },
  "payments": [
    {
      "id": 801,
      "documentType": "invoice",
      "documentId": 301,
      "paymentMethod": {
        "id": 1,
        "name": "Bank transfer"
      },
      "currency": {
        "id": 1,
        "symbol": "EUR",
        "name": "Euro",
        "mark": "€"
      },
      "paymentDate": "2026-03-07",
      "amount": 15.5,
      "currencyRate": 1,
      "receiptInvoice": {
        "id": 301,
        "uuid": "6b1b8c9e-66e6-4fb5-b2db-6d7c7f0f8f19",
        "type": "invoice",
        "number": "20260001",
        "clientId": 101,
        "client": {
          "name": "Acme s.r.o.",
          "type": "company",
          "subjectId": "12345678",
          "taxId": "2020123456",
          "vatId": "SK2020123456",
          "isVatPayer": true,
          "email": "billing@acme.test",
          "street": "Main Street 1",
          "city": "Bratislava",
          "zip": "81101",
          "countryId": 703,
          "country": {
            "id": 703,
            "name": "Slovakia",
            "code": "SK",
            "eu": true
          },
          "hasDeliveryAddress": true,
          "deliveryStreet": "Warehouse 9",
          "deliveryCity": "Kosice",
          "deliveryZip": "04001",
          "deliveryCountryId": 703,
          "deliveryCountry": {
            "id": 703,
            "name": "Slovakia",
            "code": "SK",
            "eu": true
          }
        },
        "issueDate": "2026-03-03",
        "dueDate": "2026-03-17",
        "deliveryDate": "2026-03-03",
        "currency": {
          "id": 1,
          "symbol": "EUR",
          "name": "Euro",
          "mark": "€"
        },
        "total": 200,
        "totalWithVat": 240,
        "toBePaid": 240,
        "status": "unpaid",
        "hasVat": true
      }
    }
  ],
  "invoiceId": 301,
  "variableSymbol": 20260051,
  "constantSymbol": 308,
  "specificSymbol": 55,
  "issueDate": "2026-03-03",
  "dueDate": "2026-03-17",
  "deliveryDate": "2026-03-03",
  "businessCaseId": 701,
  "discountType": "percentage",
  "discountValue": 10,
  "transferTaxLiability": false,
  "numericalSeriesId": 12,
  "paymentMethodId": 1,
  "currencyId": 1,
  "currencyRate": 1,
  "languageId": 1,
  "note": "Credit note for the original invoice.",
  "textAboveItems": "We are crediting the original supply.",
  "itemsTotal": -20,
  "itemsTotalWithVat": -24,
  "alreadyPaid": 0,
  "total": -20,
  "totalWithVat": -24,
  "toBePaid": -24,
  "status": "unpaid",
  "hasVat": true,
  "items": [
    {
      "id": 1,
      "uuid": "6b1b8c9e-66e6-4fb5-b2db-6d7c7f0f8f19",
      "name": "Credited consultation",
      "description": "Reversal of part of the monthly package",
      "unitPrice": -10,
      "unitId": 1,
      "quantity": 2,
      "vatRate": 20,
      "discountName": "Loyalty discount",
      "discountType": "percentage",
      "discountValue": 10,
      "priceListItemId": 501,
      "total": -20,
      "totalWithVat": -24
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer token created for a specific company in Integrations → API.

Headers

Idempotency-Key
string

Optional request identifier for safe retries. Use a unique value for each create request you want to retry safely.

Example:

"invoice-create-2026-03-03-001"

Body

application/json

Payload used to create a credit note. This is an explicit create flow without inline client resolution. You must send the complete business payload including invoiceId, all key document fields, and items. The client is derived automatically from the source invoice and the resulting credit note total must stay negative.

invoiceId
integer
required

ID of the original invoice the credit note references. The invoice must be available in the token scope.

Example:

301

number
string
required

Explicit credit-note number. It must be unique across invoices and credit notes. This flow requires number, so do not send numericalSeriesId together with it.

Required string length: 1 - 20
Example:

"20260051"

issueDate
string<date>
required

Issue date in Y-m-d format.

Example:

"2026-03-03"

dueDate
string<date>
required

Due date in Y-m-d format. It must be greater than or equal to issueDate.

Example:

"2026-03-17"

deliveryDate
string<date>
required

Delivery date in Y-m-d format. It must be less than or equal to issueDate.

Example:

"2026-03-03"

bankAccountId
integer
required

Company bank account ID used on the credit note.

Example:

201

variableSymbol
integer
required

Variable symbol with 1 to 10 digits.

Required range: 0 <= x <= 9999999999
Example:

20260051

transferTaxLiability
boolean
required

Reverse-charge tax liability flag.

Example:

false

paymentMethodId
integer
required

Payment method ID from the payment method reference table.

Example:

1

currencyId
integer
required

Currency ID from the currency reference table.

Example:

1

currencyRate
number<float>
required

Currency exchange rate against EUR. If the document currency is EUR, the backend always stores and returns 1.0.

Required range: 0.00001 <= x <= 10000000
Example:

1

languageId
integer
required

Language ID from the language reference table.

Example:

1

items
object[]
required

Credit note line items. The resulting document must have a negative total amount.

Required array length: 1 - 100 elements

Payload for a single invoice line item. Three modes are supported: a manual item, priceListItemId + quantity, or priceListItemId with sparse override fields. quantity is always required. If you omit priceListItemId, you must also send name, unitPrice, and vatRate. unitId is optional; when you omit it for a manual item, the backend defaults to unit 1 (piece / Unit::Piece). If you send priceListItemId, the backend can hydrate the name, unit, unit price, and VAT rate from the price list item, and the payload acts only as a sparse override.

businessCaseId
integer | null

Optional business case ID. When sent, it must be available in the token scope and to the client derived from the source invoice.

Example:

701

numericalSeriesId
integer | null

Numbering series ID for credit notes. In this explicit public create/update flow, do not send it together with the required number field.

Example:

12

constantSymbol
integer | null

Constant symbol with 1 to 4 digits.

Required range: 0 <= x <= 9999
Example:

308

specificSymbol
integer | null

Specific symbol with 1 to 10 digits.

Required range: 0 <= x <= 9999999999
Example:

55

discountType
enum<string> | null

Document-level discount type.

Available options:
percentage,
fixed
Example:

"percentage"

discountValue
number<float> | null

Document-level discount value.

Example:

10

note
string | null

Note shown on the document.

Maximum string length: 3000
Example:

"Credit note for the original invoice."

textAboveItems
string | null

Text shown above the line items.

Maximum string length: 3000
Example:

"We are crediting part of the original supply."

Response

Credit note created.

Credit note.

id
integer
Example:

351

uuid
string
Example:

"6b1b8c9e-66e6-4fb5-b2db-6d7c7f0f8f19"

type
string
Example:

"credit-note"

number
string
Example:

"20260051"

webDokladUrl
string<uri>

Absolute URL of the public web document for this credit note.

Example:

"https://app.fintoro.sk/web-doklad/credit-note/4f3f8a95-5c4a-4c8b-9e6c-8a0c1a5df3a1"

pdfDownloadUrl
string<uri>

Absolute URL of the Fintoro API endpoint that downloads this credit note PDF as an attachment.

Example:

"https://app.fintoro.sk/api/public/v1/credit-notes/351/pdf"

company
object

Supplier snapshot stored directly on this document.

clientId
integer

Live ID of the client linked to the credit note.

Example:

101

client
object

Historical client snapshot stored directly on this document.

bankAccount
object

Bank account linked to the credit note as a live relation, loaded even through soft delete.

payments
object[]

Payments linked to this credit note ordered from newest to oldest.

invoiceId
integer | null

ID of the original invoice the credit note references.

Example:

301

variableSymbol
integer | null
Example:

20260051

constantSymbol
integer | null
Example:

308

specificSymbol
integer | null
Example:

55

issueDate
string<date>
Example:

"2026-03-03"

dueDate
string<date>
Example:

"2026-03-17"

deliveryDate
string<date> | null
Example:

"2026-03-03"

businessCaseId
integer | null

Optional business case ID. When sent, it must belong to the client derived from the source invoice.

Example:

701

discountType
string | null
Example:

"percentage"

discountValue
number<float> | null
Example:

10

transferTaxLiability
boolean
Example:

false

numericalSeriesId
integer | null
Example:

12

paymentMethodId
integer

Payment method ID from the payment method reference table.

Example:

1

currencyId
integer

Currency ID from the currency reference table.

Example:

1

currencyRate
number<float>
Example:

1

languageId
integer

Language ID from the language reference table.

Example:

1

note
string | null
Example:

"Credit note for the original invoice."

textAboveItems
string | null
Example:

"We are crediting the original supply."

itemsTotal
number<float>
Example:

-20

itemsTotalWithVat
number<float>
Example:

-24

alreadyPaid
number<float>
Example:

0

total
number<float>
Example:

-20

totalWithVat
number<float>
Example:

-24

toBePaid
number<float>
Example:

-24

status
enum<string>
Available options:
paid,
unpaid,
partially_paid,
overdue,
will_not_be_paid
Example:

"unpaid"

hasVat
boolean
Example:

true

items
object[]