Skip to content

🔍 Validate invoice data without creating draft

Request

Validate invoice data against EN16931 requirements without creating a draft.

Returns detailed validation results with specific error messages and suggestions. This endpoint helps identify issues before submitting invoice data.

Use this for:

  • Pre-validation before creating a draft
  • Checking data quality during form input
  • Understanding validation requirements
Security
APIKeyHeader
Headers
X-PDP-Client-Idstring(X-Pdp-Client-Id)required

ID of the PDP Client for which the operation is performed

Examples:
Sandbox client
client_abc123
Bodyapplication/jsonrequired
invoice_dataobject(InvoiceDraftModel)required

Invoice data to validate

strict_modeboolean(Strict Mode)

Whether to apply strict EN16931 validation

Default:true
curl -i -X POST \
  https://pdp.seqino.dev/api/drafts/validate-data \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -H 'X-PDP-Client-Id: client_abc123' \
  -d '{
    "invoice_data": {
      "specification_identifier": "string",
      "issue_date": "2019-08-24",
      "due_date": "2019-08-24",
      "type_code": "380",
      "currency_code": "string",
      "tax_currency_code": "string",
      "tax_point_date": "2019-08-24",
      "value_added_tax_point_date": "2019-08-24",
      "business_process_type": "B1",
      "buyer_reference": "string",
      "purchase_order_reference": "string",
      "sales_order_reference": "string",
      "receiving_advice_reference": "string",
      "despatch_advice_reference": "string",
      "tender_or_lot_reference": "string",
      "invoice_object_identifier": "string",
      "buyer_accounting_reference": "string",
      "project_reference": "string",
      "contract_reference": "string",
      "seller": {
        "name": "string",
        "postal_address": {
          "street_name": "string",
          "additional_street_name": "string",
          "city_name": "string",
          "postal_zone": "string",
          "country_subdivision": "string",
          "country_code": "string"
        },
        "electronic_address": {
          "scheme_id": "string",
          "value": "string"
        },
        "tax_registrations": [
          {
            "scheme_id": "string",
            "value": "string"
          }
        ],
        "legal_registration_name": "string",
        "trading_name": "string",
        "party_identifier": "string",
        "party_identifier_scheme": "string",
        "seller_identifier": "string",
        "seller_identifier_scheme": "string",
        "seller_vat_identifier": "string",
        "seller_tax_registration_identifier": "string",
        "seller_additional_legal_information": "string"
      },
      "buyer": {
        "name": "string",
        "postal_address": {
          "street_name": "string",
          "additional_street_name": "string",
          "city_name": "string",
          "postal_zone": "string",
          "country_subdivision": "string",
          "country_code": "string"
        },
        "electronic_address": {
          "scheme_id": "string",
          "value": "string"
        },
        "tax_registrations": [
          {
            "scheme_id": "string",
            "value": "string"
          }
        ],
        "legal_registration_name": "string",
        "trading_name": "string",
        "party_identifier": "string",
        "party_identifier_scheme": "string",
        "buyer_identifier": "string",
        "buyer_identifier_scheme": "string",
        "buyer_legal_registration_identifier": "string",
        "buyer_vat_identifier": "string"
      },
      "payee": {
        "name": "string",
        "identifier": "string",
        "identifier_scheme": "string",
        "legal_registration_id": "string",
        "legal_registration_id_scheme": "string"
      },
      "seller_tax_representative": {
        "name": "string",
        "vat_identifier": "string",
        "postal_address": {
          "street_name": "string",
          "additional_street_name": "string",
          "city_name": "string",
          "postal_zone": "string",
          "country_subdivision": "string",
          "country_code": "string"
        }
      },
      "invoice_lines": [
        {
          "line_id": "string",
          "invoiced_quantity": 0,
          "unit_of_measure": "string",
          "line_net_amount": 0,
          "item_name": "string",
          "item_description": "string",
          "item_seller_identifier": "string",
          "item_buyer_identifier": "string",
          "item_standard_identifier": "string",
          "item_standard_identifier_scheme": "string",
          "item_classification_identifiers": [
            "string"
          ],
          "item_price": 0,
          "item_price_discount": 0,
          "item_gross_price": 0,
          "item_price_base_quantity": 0,
          "item_price_base_quantity_unit": "string",
          "vat_category_code": "S",
          "vat_rate": 0,
          "allowances": [
            {
              "amount": 0,
              "base_amount": 0,
              "percentage": 0,
              "reason": "string",
              "reason_code": "string"
            }
          ],
          "charges": [
            {
              "amount": 0,
              "base_amount": 0,
              "percentage": 0,
              "reason": "string",
              "reason_code": "string"
            }
          ]
        }
      ],
      "vat_breakdowns": [
        {
          "category_code": "S",
          "rate": 0,
          "taxable_amount": 0,
          "tax_amount": 0,
          "exemption_reason": "string",
          "exemption_reason_code": "string"
        }
      ],
      "document_totals": {
        "sum_of_line_net_amounts": 0,
        "sum_of_allowances": 0,
        "sum_of_charges": 0,
        "invoice_total_without_vat": 0,
        "invoice_total_vat_amount": 0,
        "invoice_total_with_vat": 0,
        "paid_amount": 0,
        "rounding_amount": 0,
        "amount_due_for_payment": 0
      },
      "payment_terms": {
        "description": "string",
        "due_date": "2019-08-24"
      },
      "payment_means_type_code": "string",
      "payment_means_text": "string",
      "remittance_information": "string",
      "payment_account_identifier": "string",
      "payment_account_name": "string",
      "payment_service_provider_identifier": "string",
      "notes": [
        {
          "content": "string",
          "subject_code": "string"
        }
      ],
      "order_reference": "string",
      "invoice_note": "string",
      "preceding_invoice_reference": "string",
      "preceding_invoice_issue_date": "2019-08-24",
      "delivery": {
        "deliver_to_party_name": "string",
        "location_identifier": "string",
        "location_identifier_scheme": "string",
        "actual_delivery_date": "2019-08-24",
        "deliver_to_address": {
          "address_line_1": "string",
          "address_line_2": "string",
          "address_line_3": "string",
          "city_name": "string",
          "postal_zone": "string",
          "country_subdivision": "string",
          "country_code": "string"
        }
      }
    },
    "strict_mode": true
  }'

Responses

Validation completed (may contain errors)

Bodyapplication/json
is_validboolean(Is Valid)required

Whether the invoice data is valid

issuesArray of objects(Issues)required

List of validation issues found

total_errorsinteger(Total Errors)required

Total number of errors

total_warningsinteger(Total Warnings)required

Total number of warnings

en16931_compliantboolean(En16931 Compliant)required

Whether the invoice meets EN16931 requirements

summarystring(Summary)required

Human-readable validation summary

Response
{ "is_valid": true, "issues": [ {} ], "total_errors": 0, "total_warnings": 0, "en16931_compliant": true, "summary": "string" }