Recon Specification
Outlines the specification used for the default CSV payment reconciliation file
Table of Contents
PatientPay supports a number of methods for submitting payments and refunds for reconciliation with the system of record including API, CSV, JSON and EDI-835. The default CSV Recon file generated for credit/debit, ACH, Cash Register payments, insurance payments, and subscription payments is typically a pipe-delimited text file with carriage-return/linefeed (CR/LF) separating each row. The Recon filename specification is as follows:
ReconReport-Tx{TransCount}-Dpt{$$$$.CC}-{reconDate}-{ClientID}-{MID}.txt
where:
{TransCount} | total number of transactions in the file. This includes refunds and transactions which can be in there twice for the same transaction |
{$$$$.CC} | Funding total for deposit date to two decimal places |
{reconDate} | date of the recon file generation in format YYYYMMDD |
{ClientID} | Client ID that uniquely identifies the practice and is the same clientID specified in the statement JSON |
{MID} | Merchant ID for the practice |
Recon for Lockbox / Cash Register
Given that Lockbox payments and Cash Register payments are not recorded against a MID, their filenames will use a MID of LOCKBOX or CASH. For example:
ReconReport-Tx-3-Dpt-255.00-20250413-EST2019-LOCKBOX.tx
For example:
ReconReport-Tx-1-Dpt31.06-20250924-XYZ-123456789.txt
is the recon for 09/24/2025 for practice with clientID XYZ with MID 123456789.
The following outlines each field in the 64-position CSV file and its purpose:
Position | Column Name | Description |
1 | RecordID | Hard coded to IMPDF10 |
2 | MerchantID | {MID} - The merchant ID |
3 | StoreID | Hard coded to 0001 |
4 | TerminalID | <intentionally left blank> |
5 | Deposit ACH Trace | {TransactionFundingID} - Unique ID for transaction funding for traceability |
6 | Deposit Effective Date | {TransactionFundingDate} - The deposit date in the format YYMMDDHHMMSS |
7 | Payment Transaction Type | {TransactionType} - Will contain a value of “CreditCard” for credit card payments, “DebitCard” for debit card payments, “ACH” for ACH, and “ACH Return” for ACH rejects. |
8 | Payment Transaction Action | {TransactionAction} - For debit card transactions only, will be populated with "AuthCapt" or "Credit" depending on whether the payment is a positive or negative amount, respectively. |
9 | Amount | {TransactionAmount} - The dollar amount of the transaction. ACH rejects will be a negative value. |
10 | Card Type |
{TransactionCardType} – Indicates the type of card used for transaction: Visa Amex MasterCard Discover |
11 | Transaction ID | {TransactionUUID} - The unique transaction UUID (Universal Unique Identifier) |
12 | Authorization Number | {TransactionConfirmationNumber} – The confirmation number provided by payment processor |
13 | Transaction Date | {TransactionDate} - The date of the transaction in the format YYYYMMDDHHMMSS |
14 | Transaction Status Code | {TransactionStatusCode} – Hard coded to S |
15 | Consumer LastName | {PatientLastName} - Guarantor Last Name |
16 | Consumer FirstName | {PatientFirstName} - Guarantor First Name |
17 | Consumer Middle | {PatientMiddleName} – Guarantor Middle Name |
18 | Consumer Account Number | {PatientID} - Patient Account Number |
19 | Consumer Address 1 | {PatientAddressLine1} – Guarantor address line 1 |
20 | Consumer Address 2 | {PatientAddressLine2} – Guarantor address line 2 |
21 | Consumer City | {PatientAddressCity} – Guarantor address city |
22 | Consumer State | {PatientAddressState} – Guarantor address state |
23 | Consumer Zip | {PatientAddressZipcode} – Guarantor address zipcode |
24 | VisitID | {VisitID} - Uniquely identifies the visit to which payment is applied |
25 | StatementID | {StatementID} – Uniquely identifies statement/bill Statement Id or Now payment Invoice Number |
26 | AddInfo3 | {ACHRejectReason} - If ACH reject, this is populated with the response code and message in the format Code: Message |
27 | AddInfo4 | Intentionally left blank |
28 | AddInfo5 |
{Currency} - Identifies the currency used for transaction. Supported values: USD = US Dollar |
29 | AddInfo6 |
{BillStatus} - Indicates bill status: CANCELLED COLLECTIONS DUE EXPIRED PAID SUSPENDED VOID |
30 | User | {AdminUser} – Indicates admin user that submitted transaction, if applicable |
31 | Transaction Code |
{SettlementStatus} - One-character indicator of settlement status: A = Accepted D = Declined S = Settled V = Voided null = <blank> |
32 | Market Segment | Intentionally left blank |
33 | Is Swiped | Intentionally left blank |
34 | ConsumerServiceBeginDate | {ServiceStartDate} - Either the bill or NOW payment service start date in format YYYY-MM-DD |
35 | ConsumerServiceEndDate | {ServiceEndDate} - Either the bill or NOW payment service end date in format YYYY-MM-DD |
36 | Consumer Medical Record | {NOWInvoiceNumber} - Now payment invoice number |
37 | Consumer DOB | {PatientDOB} – Guarantor DOB in format YYYY-MM-DD |
38 | Consumer Country | Intentionally left blank |
39 | Consumer Phone Number | Intentionally left blank |
40 | Account/Card Holder Address 1 | Intentionally left blank |
41 | Account/Card Holder Address 2 | Intentionally left blank |
42 | Account/Card Holder City | Intentionally left blank |
43 | Account/Card Holder State | Intentionally left blank |
44 | Account/Card Holder Zipcode | {PatientAddressZipcode} - Guarantor address zipcode |
45 | Account/Card Holder Country | Intentionally left blank |
46 | Account/Card Holder Phone Number | Intentionally left blank |
47 | Account/Card Holder Email Address | Intentionally left blank |
48 | Estimated Amount | Intentionally left blank |
49 | Reason Code | Intentionally left blank |
50 | Check Number | Intentionally left blank |
51 | Check Account Type | Intentionally left blank |
52 | Taken at Merchant ID | Intentionally left blank |
53 | Taken at Store ID | {PlanSetupFee} - optional setup fee for payment plan, if applicable |
54 | Taken at Terminal ID | {PlanInterest} - optional interest for payment plan installment, if applicable |
55 | AdditionalCode 1 | {BillID} - Unique identifier for the bill |
56 | AdditionalCode 2 |
{BillEnrolledPaymentPlan} - Indicates whether bill is actively enrolled in payment plan: 1 = Yes 0 = No |
57 | AdditionalCode 3 | {PaymentPlanInstallmentCount} - Total number of installments for the payment plan |
58 | AdditionalCode 4 | Intentionally left blank |
59 | Due Amount | {BillCurrentAmountDue} - The bill’s current amount due after the transaction |
60 | AdditionalCode 6 | {NOWDescription} - Now payment description |
61 | Field61 |
{TransactionSource} - Contains the type of transaction and will be one of the following values: ADMIN_BILL_PAYMENT PATIENT_BILL_PAYMENT BILL_PPLAN_PAYMENT SCHEDULED_PAYMENT NOW_PATIENT NOW_INSURANCE IVR REFUND VOID LOCKBOX ACH_REJECT |
62 | Field62 | {TransactionCardLastFour} - Contains last four digits of credit card used |
63 | Field63 | {TechnologyFee} - Contains any technology service fee amount, if applicable |
64 | Field64 | {TransactionAmountPlusFee} - Contains the transaction amount + technology service fees, if applicable |
Example ReconReport-Tx-13-Dpt-1797.00-20250413-EST2019-800000000266.txt with 8 Credit/Debit transactions totaling $1,797:
RecordID|MerchantID|StoreID|TerminalID|Deposit AcH TRACE|Deposit Effective Date|Payment Transaction Type|Payment Transaction Action|Amount|Card Type|Transaction ID|Authorization Number|Transaction Date|Transaction Status Code|Consumer LastName|Consumer FirstName|Consumer Middle|Consumer Account Number|Consumer Address 1|Consumer Address 2|Consumer City|Consumer State|Consumer Zip|VisitID|StatementID|AddInfo3|AddInfo4|Currency|AddInfo6|User|Transaction Code|Market Segment|Is Swiped|ConsumerServiceBeginDate|ConsumerServiceEndDate|Consumer Medical Record|Consumer DOB|Consumer Country|Consumer Phone Number|Account/Card Holder Address 1|Account/Card Holder Address 2|Account/Card Holder City|Account/Card Holder State|Account/Card Holder ZipCode|Account/Card Holder Country|Account/Card Holder Phone Number|Account/Card Holder Email Address|Estimated Amount|Reason Code|Check Number|Check Account Type|Taken aT Merchant ID|PlanSetupFee|PlanInterest|AdditionalCode 1|BillEnrolledPaymentPlan|AdditionalCode 3|AdditionalCode 4|DueAmount|NOW payment description|Transaction Source|Card Last Four|TechnologyFee|TransactionAmountPlusFees
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|200.25|Visa|5e537498-d675-4bef-aafb-f9e0300aed9b|102573843268|20250412120108|S|herbvalidiveittry|herbvalidiveittry||herbvalidiveittry|555 green street||Anchorage|VA|99518||202411041250_herbvalidiveittry|||USD|DUE|||||2022-02-03|2024-08-13||1980-01-01|||||||99518|||||||||0|0|8314480|1|4||400.50||BILL_PPLAN_PAYMENT|1111|401|204.26
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|463.56|Visa|36043933-b3e1-4f9e-8623-c647984fac23|101331843283|20250411120124|S|Irra|IrraTest||IrraaTest45|1005 Slater Road|1029|New York|USA|10001||23456789|||USD|||||||2025-03-12||2011-12-13|||||||10001|||||||||0|0|8317238|0|||0.00||NOW|1111|1391|477.47
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|12.24|Visa|c90153b6-cbbc-4bd0-8feb-7ba63f377d76|102577843271|20250412120111|S|Lastt|TestTT||PG152|Add||city|AL|13132||21321321|||USD|DUE||||||||2002-01-01|||||||13132|||||||||0|0|8316582|1|51||500.40||NOW|1111|37|12.61
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|125.38|Visa|d38c5870-cea2-438d-8ed6-a2cfb9eb4024|102578843272|20250412120112|S|uyiyuij|tiyutiu||PG172|dd||city|AZ|87697||3243242|||USD|DUE|||||2025-02-21|2025-02-21||2001-01-01|||||||87697|||||||||0|0|8316614|1|10||0.46||NOW|1111|376|129.14
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|20.00|Visa|c5743aee-9f24-4eb3-86d6-d21a3af90b0a|102579843274|20250412120114|S|New|Test||TESTNEW|Add||City|CA|345364346||null|||USD|DUE||||||||2001-02-06|||||||345364346|||||||||0|0|8313705|1|0||92233720368547218.07||NOW|4242|60|20.60
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|300.00|Visa|99ea30f5-f3b2-4e10-968a-43bd2971b26e|102584843280|20250412120120|S|ProgTwo|TestTwo||PROG102|B/10029|TIME SQUARE|SAN JOSE|AK|90253||null|||USD|DUE|||||2025-02-11|2025-02-11||1997-05-05|||||||90253|||||||||0|0|8316222|1|0||92233720368546858.07||NOW|1111|900|309.00
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|55.13|Visa|f2ba4f63-04ad-433d-be97-fc8ea7332e6b|102588843282|20250412120123|S|uyiyuij|tiyutiu||PG172|dd||city|AZ|87697||3243242|||USD|DUE|||||2025-02-21|2025-02-21||2001-01-01|||||||87697|||||||||0|46|8316614|1|10||0.46||NOW|1111|167|57.26
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|60.00|Visa|28c7871d-43ef-4e49-84e0-aef81626e17d|102580843274|20250412120115|S|tiwari|siya||TEST_ACH_RECEIPT|1005 Slater Road|1029|Durham|NC|67000||null|||USD|DUE|||||2024-11-29|2024-11-29||1999-02-05|||||||67000|||||||||0|0|8315035|1|0||92233720368546558.07||NOW|1111|0|60.00
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|83.01|Visa|292aa1be-5374-40d0-a5eb-ae4f44d06343|102590843283|20250412120123|S|TESTProcedure|CheckTEST||TESTProcedure67|B/1029|TIME SQUARE|SAN JOSE|NY|55986||4322|||USD||||||2025-03-21|||1996-03-05|||||||55986|||||||||0|0|8317545|0|||0.00||NOW|1111|0|83.01
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|250.00|Visa|83adb936-c41a-4328-b58b-89dd49773abd|102572843267|20250412120107|S|TESTOPTOUTTWO|TESTOPTOUTTWO||TESTOPTOUTTWO_01|B/1029|TIME SQUARE|SAN JOSE|NY|55986||null|||USD||||||2025-02-05|2025-02-05||1999-02-05|||||||55986|||||||||0|0|8316113|0|||0.00||NOW|1111|125|251.25
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|121.43|Visa|fab1414a-4a48-427a-be52-e65081c4b4c4|102582843275|20250412120115|S|TESTOPTOUTTWO|TESTOPTOUTTWO||TESTOPTOUTTWO_01|B/1029|TIME SQUARE|SAN JOSE|NY|55986||null|||USD||||||2025-02-05|2025-02-05||1999-02-05|||||||55986|||||||||0|0|8316113|0|||0.00||NOW|1111|61|122.04
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|25.00|Visa|90c77f41-f205-4f29-a891-c1574406a233|102583843278|20250412120119|S|Progkedbceff|Newdsvedcbrfc||test110220250003|B/1029|TIME SQUARE|SAN JOSE|NY|55986||null|||USD|DUE|||||2025-02-11|2025-02-11||1990-05-05|||||||55986|||||||||0|0|8316213|1|||92233720368547683.07||NOW|1111|13|25.13
IMPDF10|800000000266|0001||||CreditCard|AuthCapt|45.00|Amex|43fc58d9-35b0-4df3-9570-e81e5fff0220|102589843283|20250412120123|S|Propff|Newdso||PKL971910110|B/1029|TIME SQUARE|SAN JOSE|NY|55986||null|||USD|DUE|||||2025-03-21|||1990-01-01|||||||55986|||||||||0|0|8317392|1|10||270.00||NOW|8431|23|45.23
Recon Field Mapping
When configuring the Recon settings in Admin Configuration, you choose from a preset list of formats. This format determines which fields are included in the file, the order and the data mapping. We have system-default formats/mappings for the 64-column CSV (documented above) and the JSON formats. Your PatientPay implementation consultant can help you with adding any additional, custom formats that are required to integrate with your system.
Below is a table representing all the available fields that can be mapped to a Recon file and their respective description:
Field | Description |
{AdminUser} | Admin User (if applicable) |
{ACHRejectReason} | If ACH Reject, this contains the response code explaining the reason for failure |
{BillCurrentAmountDue} | The bill’s current amount due after the transaction |
{BillEnrolledPaymentPlan} |
Indicates whether bill is actively enrolled in payment plan: 1 = Yes 0 = No |
{BillID} | Unique identifier for the bill |
{BillStatus} |
Indicates bill status PAID DUE CANCELLED SUSPENDED VOID COLLECTIONS |
{ClientID} | Unique identifier for the organization |
{Currency} |
Identifies the currency used for transaction USD = US Dollar |
{MID} | Merchant ID |
{NOWDescription} | NOW payment description |
{NOWInvoiceNumber} | NOW payment invoice number |
{PatientDOB} | Guarantor/Patient Date of Birth (format YYYY-MM-DD) |
{PatientID} | Patient Account Number |
{PatientFirstName} | First name of guarantor/patient |
{PatientLastName} | Last name of guarantor/patient |
{PatientMiddleName} | Middle name of guarantor/patient |
{PatientAddressLine1} | Address Line 1 for guarantor/patient |
{PatientAddressLine2} | Address Line 2 for guarantor/patient |
{PatientAddressCity} | City for guarantor/patient |
{PatientAddressState} | State for guarantor/patient |
{PatientAddressZipcode} | Zipcode for guarantor/patient |
{PaymentPlanInstallmentCount} | Total number of installments for the payment plan |
{SettlementStatus} |
One-character indicator of settlement status: A = Accepted D = Declined S = Settled V = Voided null = <blank> |
{ServiceStartDate} | Either the bill or NOW payment service start date in format (YYYY-MM-DD) |
{ServiceEndDate} | Either the bill or NOW payment service end date in format (YYYY-MM-DD) |
{StatementID} | Uniquely identifies statement/bill |
{TechnologyFee} | Service fee applicable on credit card payments, if applicable |
{TransactionUUID} | Unique UUID for transaction |
{TransactionID} | Unique ID for transaction |
{TransactionBillAmountDue} | Bill’s amount due before transaction |
{TransactionConfirmationNumber} | Confirmation provided by payment processor |
{TransactionFundingID} | Unique ID for transaction funding for traceability |
{TransactionDate} | The date of the transaction in the format YYYYMMDDHHMMSS |
{TransactionFundingDate} | Transaction funding date in format YYYY-MM-DD |
{TransactionType} |
Transaction type DebitCard (transaction_type = ‘DEBIT') ACH (transaction_type = 'ACH') ACH Return (transaction_type = 'ACH_REJECT') LockBox (transaction_type = 'LOCKBOX') Other |
{TransactionAction} | For debit card transactions only, will be populated with "AuthCapt" or "Credit" depending on whether the payment is a positive or negative amount, respectively. Lockbox transactions will use “Lockbox”. |
{TransactionAmount} | The dollar amount of the transaction. ACH rejects will be a negative value. |
{TransactionAmountPlusFees} | The dollar amount of the transaction including technology fees, if applicable. |
{TransactionCardType} |
Indicates the type of card used for transaction: Visa Amex MasterCard Discover |
{TransactionCardLastFour} | Last four digits of credit card used for transaction |
{TransactionSource} |
Transaction source – this will be one of the following values:
ACH_REJECT ADMIN_BILL_PAYMENT PATIENT_BILL_PAYMENT BILL_PPLAN_PAYMENT LOCKBOX SCHEDULED_PAYMENT NOW_PATIENT (if payee_type = ‘Patient’ or ‘Other’) NOW_INSURANCE (if payee_type = ‘Insurance’) IVR REFUND VOID |
{VisitID} | Uniquely identifies the visit to which payment is applied |