payment_receiptPayment or bank transfer receipt
Do the amount, destination IBAN and registration reference match?
- Category
- Payments and finance
- Country
- International
- Extracted fields
- 9 fields
- Cost
- 1 credit
Review
Receipts arrive as PDFs, screenshots or photos. Constaia extracts amount, date, payer, beneficiary, IBAN and description, validates the IBAN and checks it matches what you expected.
- A receipt does not prove the money arrived: always reconcile with your bank statement.
- The edited_suspected and screen_photo_suspected warnings are signals, not proof.
What it checks
- IBAN. ISO 13616 check digits and length per country.
- Expected values. Amount, reference or IBAN match the ones you provide.
- Holder. Name, number or date of birth match what you expect.
Extracted fields
- Amount
amount - Currency
currency - Date
date - Payer
payer_name - Payer IBAN
payer_iban - Beneficiary
beneficiary_name - Beneficiary IBAN
beneficiary_iban - Payment description
concept - Reference
reference
Where it is used
Sample request
curl https://api.constaia.com/v1/analyze \
-H "Authorization: Bearer $CONSTAIA_API_KEY" \
-F "file=@document.pdf" \
-F 'options={
"expect": "payment_receipt",
"checks": {
"expected_amount": 45,
"expected_iban": "ES9121000418450200051332",
"expected_reference": "INS-2026-0183"
},
"storage": "none"
}'Sample response
Fictitious data. Shortened response.
200 OK · application/json
{
"id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
"object": "analysis",
"status": "completed",
"livemode": false,
"document": {
"type": "payment_receipt",
"label": "Payment or bank transfer receipt",
"confidence": 0.97
},
"verdict": {
"expected": [
"payment_receipt"
],
"match": true,
"status": "valid",
"reasons": [
{
"code": "type_match",
"severity": "info",
"message": "The document is: Payment or bank transfer receipt."
}
]
},
"fields": {
"amount": {
"value": 45,
"confidence": 0.99,
"validated": true
},
"currency": {
"value": "EUR",
"confidence": 0.98,
"validated": null
},
"date": {
"value": "2026-09-27",
"confidence": 0.97,
"validated": null
},
"payer_name": {
"value": "LAURA MARTIN RUIZ",
"confidence": 0.96,
"validated": null
},
"beneficiary_name": {
"value": "CLUB DEPORTIVO EJEMPLO",
"confidence": 0.99,
"validated": null
},
"beneficiary_iban": {
"value": "ES9121000418450200051332",
"confidence": 0.98,
"validated": null
},
"concept": {
"value": "INS-2026-0183 Trail",
"confidence": 0.97,
"validated": null
},
"reference": {
"value": "INS-2026-0183",
"confidence": 0.96,
"validated": null
}
},
"checks": [
{
"code": "iban_check_digits",
"passed": true,
"message": "The IBAN check digits are correct."
},
{
"code": "expected_amount",
"passed": true,
"message": "The amount matches the expected one."
},
{
"code": "expected_reference",
"passed": true,
"message": "The reference matches the expected one."
}
],
"warnings": [],
"storage": {
"mode": "none",
"file_deleted_at": "2026-09-29T10:00:02Z",
"expires_at": null
},
"usage": {
"credits": 1,
"pages": 1
}
}FAQ
Does Constaia prove the document is authentic?
No. It checks the type, data consistency and your rules, and flags signals such as a possible edit or a screen photo. That does not prove authenticity.
Is a copy of the document kept?
No, unless you ask for it. With storage "none" (the default) the file is deleted when the analysis ends.
Other documents
And for the record…
Create your account, copy the test key and validate your first document in five minutes.