Verify a domestic invoice
Verify one domestic invoice from its invoice type and the required verification fields.
Compatibility rules
- The request body remains flat; do not use a batch array or a nested
verify_paramsobject. type_keyis optional. If omitted, the request is handled asvat_electronic_invoice_new.fpNumberandfpDateare common to every invoice type. Other fields are conditionally required bytype_key.- Send codes, numbers, dates, amounts, and check codes as JSON strings to preserve leading zeros and numeric precision.
- Do not infer an invoice type from its field combination. Pass
type_keyfor every non-default invoice type.
Required fields by invoice type
| type_key | Invoice type | Required fields |
|---|---|---|
vat_special_invoice | VAT special invoice | fpCode, fpNumber, fpDate, fpNoTaxAmount |
vat_electronic_special_invoice | VAT electronic special invoice | fpCode, fpNumber, fpDate, fpNoTaxAmount |
vat_common_invoice | VAT common invoice | fpCode, fpNumber, fpDate, fpCRC |
vat_electronic_invoice | VAT electronic common invoice | fpCode, fpNumber, fpDate, fpCRC |
vat_roll_invoice | VAT roll invoice | fpCode, fpNumber, fpDate, fpCRC |
vat_electronic_special_invoice_new | Fully digitalized electronic special invoice | fpNumber, fpDate, fpAmount |
vat_electronic_invoice_new | Fully digitalized electronic common invoice | fpNumber, fpDate, fpAmount |
motor_vehicle_sale_invoice | Motor vehicle sales invoice | fpCode, fpNumber, fpDate, fpNoTaxAmount |
used_car_purchase_invoice | Used-car sales invoice | fpCode, fpNumber, fpDate, fpAmount |
electronic_air_transport | Electronic air transport itinerary invoice | fpNumber, fpDate, fpAmount |
electronic_train_ticket | Electronic railway ticket invoice | fpNumber, fpDate, fpAmount |
Interpreting the result
HTTP 200 with code=success means that the API processed the request. It does not mean that the invoice passed verification. Read data.result.fpVerification for the verification conclusion. Missing conditional fields and downstream verification failures can still return HTTP 200, with details in fpVerification and fpVerificationMsg.
Billing metadata
attempt_verify_page_count is the number of invoices with complete fields submitted to the verification service. For this single-invoice API, it is 0 or 1. actual_consume_page_count is the number of invoices that reached a billable state and is also 0 or 1. A feature package can still cover the actual credit consumption.
Authorizations
ADP API Key.
Path Parameters
Tenant name. This path parameter must be provided explicitly.
Body
Fields for verifying one invoice. Examples show request structure only; replace them with values from the invoice.
- Compatibility mode: omit type_key
- VAT special invoice
- VAT electronic special invoice
- VAT common invoice
- VAT electronic common invoice
- VAT roll invoice
- Fully digitalized electronic special invoice
- Fully digitalized electronic common invoice
- Motor vehicle sales invoice
- Used-car sales invoice
- Electronic air transport itinerary invoice
- Electronic railway ticket invoice
Select a request model by invoice type. After choosing type_key, the API reference shows only the verification fields for that type. Existing callers can use compatibility mode and omit type_key.
Response
The request result. code=success means processing completed; use data.result.fpVerification for the invoice verification conclusion.
API response envelope.
API processing code. It is success after entering the verification flow; success does not mean that the invoice passed verification.
API-level message.
Optional information.
Verification data when the request enters the business flow. It can be null or omitted for framework-level business errors.