The Precium Reconciliation Service provides automated transaction reconciliation between your payment processing activity and settlement data. This service generates daily report files that enable you to track transactions through the complete payment lifecycle, from authorization to bank settlement.
This documentation covers the structure, format, and interpretation of reconciliation report files to ensure accurate financial reporting and streamlined operations.
The reconciliation system produces three distinct report types, each serving a specific purpose in the reconciliation workflow:
| Report Type | Purpose | Settlement Required |
|---|---|---|
| Recon File | Primary reconciliation output with full settlement data | Yes |
| Markoff File | Transaction activity reconciled between gateways and providers | No |
| Exception File | Transactions that could not be reconciled within expected timeframe | Partial data |
flowchart TD
A[Transaction Processed] --> B{Reconciled with Provider?}
B -->|Yes| C[MARKOFF FILE - Transaction activity]
B -->|No| D[Not in any report yet]
C --> E{Settlement Data Available?}
E -->|Yes| F[RECON FILE - Ready for settlement]
E -->|No| G[EXCEPTION FILE - Requires investigation]
All reconciliation files follow these formatting standards:
| Attribute | Specification |
|---|---|
| Encoding | UTF-8 |
| Header Row | Always included |
| Delimiter | Comma (,) |
| Escape Character | Double quotes (") for values containing commas |
| Line Terminator | CRLF (\r\n) |
| Timezone | UTC |
| Data Type | Format | Example |
|---|---|---|
| Date | YYYY-MM-DD | 2026-01-15 |
| Datetime | YYYY-MM-DD HH:MM | 2026-01-15 14:30 |
| Decimal | #.#### (4 decimal places) | 1234.5678 |
| UUID | 36-character string | a1b2c3d4-e5f6-7890-abcd-ef1234567890 |
| Boolean | True / False | True |
| Currency | ISO 4217 | ZAR, USD, EUR |
| Country | ISO 3166-1 alpha-2 | ZA, US, GB |
Numeric Strings: Values intended to be interpreted as strings (not numbers) are prepended with a single quote (') to prevent spreadsheet applications from reformatting them.
'0012345678,Card Reference,...
Empty Values: Fields without data are represented as empty strings between delimiters:
field1,field2,,field4
Multi-Value Fields: Some fields (like bank_statement_line_item) may contain multiple values separated by commas within the quoted field:
"value1,value2,value3"
The Recon File is the primary output of the reconciliation process. It contains transaction-level data that has been successfully reconciled with settlement data and is the authoritative dataset for a given reconciliation cycle.
Key Characteristics:
Merchant & Brand Identification
| Field | Type | Format | Description |
|---|---|---|---|
merchant_id | uuid | 36-char | Unique merchant identifier |
merchant_name | string | — | Display name of merchant |
brand_id | uuid | 36-char | Identifier for merchant brand |
brand_name | string | — | Display name of merchant brand |
Transaction Identification
| Field | Type | Format | Description |
|---|---|---|---|
purchase_id | uuid | 36-char | Unique purchase record identifier |
related_to_purchase | uuid / empty | — | Related purchase ID (for refunds/disputes) |
purchase_reference | string | — | Provider or merchant reference |
status | string | — | Purchase status |
type | string | — | Transaction type |
paid_at | datetime | YYYY-MM-DD HH:MM | Transaction timestamp (UTC) |
Precium Invoicing
| Field | Type | Format | Description |
|---|---|---|---|
precium_currency_code | string | ISO 4217 | Currency used for Precium invoicing |
precium_invoiced | decimal | #.#### | Amount invoiced by Precium |
Provider & Acquirer Information
| Field | Type | Format | Description |
|---|---|---|---|
provider | string | — | Payment service provider |
acquiring_bank | string | — | Acquirer responsible for processing |
provider_reference | string | — | Provider internal identifier |
provider_transaction_id | string | — | Provider's transaction ID |
Transaction Details
| Field | Type | Format | Description |
|---|---|---|---|
currency | string | ISO 4217 | Transaction currency |
transaction_amount | decimal | #.#### | Amount of the transaction |
payment_method | string | — | Card scheme or payment method |
card_type | string | — | debit or credit |
card_country | string | ISO 3166-1 alpha-2 | Card issuing country |
is_tokenized | boolean | True/False | Whether tokenization was used |
is_3DS | boolean | True/False | Whether 3D Secure was used |
auth_code | string | — | Card authorization code |
rrn | string | — | Retrieval Reference Number |
Settlement Information
| Field | Type | Format | Description |
|---|---|---|---|
settlement_id | uuid | 36-char | Settlement batch identifier |
settlement_transaction_reference | string | — | Identifier in settlement file |
settlement_transaction_status | string | — | Status of the settlement line item |
settlement_currency | string | ISO 4217 | Currency used in settlement |
settlement_date | date | YYYY-MM-DD | Actual settlement date |
projected_clearance_date | date | YYYY-MM-DD | Projected date funds will clear |
Settlement Amounts
| Field | Type | Format | Description |
|---|---|---|---|
gross_settlement_amount | decimal | #.#### | Gross amount before deductions |
net_settlement_amount | decimal | #.#### | Net amount after all deductions |
precium_settlement_deduction_incl_vat | decimal | #.#### | Precium fee deduction (VAT inclusive) |
settlement_provider_fees | decimal | #.#### | Provider fee amount |
acquirer_settlement_deduction_incl_vat | decimal | #.#### | Acquirer fee (VAT inclusive) |
Internal Revenue Tracking
| Field | Type | Format | Description |
|---|---|---|---|
precium_revenue_incl_vat | decimal | #.#### | Internal revenue (VAT inclusive) |
precium_cost_incl_vat | decimal | #.#### | Internal cost (VAT inclusive) |
Bank Statement Reconciliation
| Field | Type | Format | Description |
|---|---|---|---|
bank_statement_reconciled | boolean | True/False | Whether statement matching occurred |
in_statement | boolean / empty | — | Whether found in bank statement |
settlement_bank_account_number | string | — | Destination settlement account |
clearance_date | date / empty | YYYY-MM-DD | Final bank clearance date |
bank_statement_file_name | string / empty | — | Statement file identifier |
bank_statement_line_item | string / CSV | — | Line item reference(s) |
bank_statement_description | string / CSV | — | Statement description line(s) |
bank_statement_reference | string / empty | — | Reference extracted from statement |
running_balance | decimal / empty | #.#### | Post-transaction account balance |
The Markoff File contains transaction data that has been reconciled between Precium's gateways and payment providers. This file represents all transaction actions within the reporting timeframe, regardless of settlement status.
Key Characteristics:
The Markoff File shares the same field structure as the Recon File across Merchant & Brand Identification, Transaction Identification, Precium Invoicing, Provider & Acquirer Information, Transaction Details, Settlement Information, Settlement Amounts, and Internal Revenue Tracking sections.
Note: The Markoff File does not include Bank Statement Reconciliation fields.
The Exception File contains transaction records that could not be reconciled successfully within the normal or expected reconciliation timeframe.
Key Characteristics:
The Exception File includes all standard fields plus extended Precium Invoicing fields:
| Field | Type | Format | Description |
|---|---|---|---|
precium_invoiced_vat | decimal | #.#### | VAT portion of invoiced amount |
precium_invoiced_incl_vat | decimal | #.#### | Total invoiced including VAT |
It also uses service_type instead of card_type and projected_settlement_date instead of projected_clearance_date.
Reconciliation files follow a consistent naming pattern:
{report_type}_{merchant_id}_{date}.csv
Examples:
recon_a1b2c3d4-e5f6-7890-abcd-ef1234567890_2026-01-15.csv
markoff_a1b2c3d4-e5f6-7890-abcd-ef1234567890_2026-01-15.csv
exception_a1b2c3d4-e5f6-7890-abcd-ef1234567890_2026-01-15.csv
When importing reconciliation files into Excel or Google Sheets:
merchant_id,merchant_name,brand_id,brand_name,purchase_id,related_to_purchase,purchase_reference,status,type,paid_at,...
a1b2c3d4-e5f6-7890-abcd-ef1234567890,Acme Corp,b2c3d4e5-f6a7-8901-bcde-f12345678901,Acme Online,...
flowchart LR
subgraph T0["T+0 Morning"]
A1[Transactions processed]
A2[Data captured]
end
subgraph Night["T+0 to T+1 Overnight"]
B1[Gateway-provider recon]
B2[Settlement processing]
B3[Bank statement matching]
end
subgraph T1["T+1 Morning"]
C1[Recon File]
C2[Markoff File]
C3[Exception File]
end
subgraph Ongoing["Ongoing"]
D1[Investigation]
D2[Manual recon]
D3[Resolution]
end
T0 --> Night --> T1 --> Ongoing
D3 -.->|Resolved| C1
Refunds and disputes are linked to their original transactions via the related_to_purchase field:
purchase_id,related_to_purchase,type,transaction_amount
original-purchase-uuid,,purchase,1000.0000
refund-purchase-uuid,original-purchase-uuid,refund,-500.0000
Identifying Transaction Types:
type Value | Description |
|---|---|
purchase | Original payment transaction |
refund | Full or partial refund |
dispute | Chargeback or dispute |
reversal | Transaction reversal |
Understanding the relationship between settlement fields:
gross_settlement_amount
- precium_settlement_deduction_incl_vat
- settlement_provider_fees
- acquirer_settlement_deduction_incl_vat
═════════════════════════════════════════
= net_settlement_amount
Example:
| Field | Amount |
|---|---|
gross_settlement_amount | 1,000.0000 |
precium_settlement_deduction_incl_vat | -25.0000 |
settlement_provider_fees | -15.0000 |
acquirer_settlement_deduction_incl_vat | -10.0000 |
net_settlement_amount | 950.0000 |
Possible Causes:
Resolution:
Possible Causes:
Resolution:
related_to_purchase for linked refunds
Possible Causes:
Resolution:
When processing reconciliation files, validate:
YYYY-MM-DD formatYYYY-MM-DD HH:MM formatTrue or False
Reconciliation files can be retrieved programmatically via the Precium API.
BASH
curl -X GET "https://gate.reviopay.com/api/v1/reconciliation/reports/" \
-H "Authorization: Bearer YOUR_API_KEY"
Response:
JSON
{
"reports": [
{
"id": "rpt_abc123",
"type": "recon",
"date": "2026-01-15",
"merchant_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"file_name": "recon_a1b2c3d4_2026-01-15.csv",
"download_url": "https://...",
"created_at": "2026-01-16T06:00:00Z"
}
]
}
BASH
curl -X GET "https://gate.reviopay.com/api/v1/reconciliation/reports/{report_id}/download/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o report.csv
BASH
curl -X GET "https://gate.reviopay.com/api/v1/reconciliation/reports/?start_date=2026-01-01&end_date=2026-01-15&type=recon" \
-H "Authorization: Bearer YOUR_API_KEY"
For questions about reconciliation reports or to report discrepancies:
[Recon] {Merchant Name} - {Issue Description}