Skip to main content

Reporting

Exact's Reporting APIs enable our partners and customers (merchants) to access all Account (Merchant Onboarding), Transaction, Settlement, Chargeback, Fee and Payout data for their account or portfolio of accounts. Queries are defined by Date/Time range and can be for a single or multiple accounts. Report data is returned either in Json or comma delimited file format. Reports include a expiration date set through the API.

Reporting Lifecycle

Reports are created through the UI or API. The backend then asynchronously runs the queries and returns the data. The UI will reflect when the report is available, or the API can be queried to determine the status and availability. Webhooks are also available to check for status programmatically.

Finished reports can be viewed through the UI and downloaded in CSV or JSON formats through the UI or API.

Creating Reports

To create a report, submit a JSON request as follows:

Create Report
     --url https://api.exactpaysandbox.com/report/transaction \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"parameters": {
"accounts": [
"Merchant Store 35 in Arizona"
],
"start": "2022-01-01T00:00:00.000Z",
"end": "2022-11-15T23:59:59.999Z",
"user": "61a78fe82c3156b0945ef135"
},
"expiresAt": "2030-01-01T00:00:00.000Z"
}
'

Download Reports

Download the report with a JSON request as follows:

Download Report
     --url 'https://api.exactpaysandbox.com/report/61a91d429bf82a2d8e95738f?format=csv' \
--header 'accept: application/json'

More details can be found in the API documentation Reporting section

Report Format

Each report's data fields are listed below. In the downloaded JSON or CSV reports, optional columns without data might not appear.

Settlement Report

Report data includes all transactions that have been settled through a Payment Network (Visa, Mastercard, AMEX, Discover, NACHA) and approved for funding. Funding timelines are defined in the terms of services but generally range 1 - 2 days for credit and debit card and 3 - 4 days for ACH.

Display NameField NameTypeDescription
Transaction DatecreatedAtDateCreation date of the transaction
Settlement AmountamountNumberSettlement Amount
Account NameaccountStringMerchant Legal Name
Merchant DBA NamedbaNameStringDoing Business As Name
Merchant MIDmerchantMIDStringAcquirer Merchant ID
Transaction TypetypeString'Card', 'ACH', or 'void'; 'payment' in JSON means Card, 'void' can be either card or ACH (To be improved in the future)
ApprovedapprovedBooleanIf Transaction is approved or not
RefundedrefundedBooleanIf Transaction is refunded or not
SettledsettledBooleanIf Transaction is settled or not
Settled AtsettledAtDateDate when Transaction is settled
Payment IDpaymentIdStringUnique Internal Payment Identifier created by Exact Payments
Authorization CodeauthorizationStringAlphanumeric Code - ACH begins with letter; Credit/Debit begins with number
Surcharge AmountsurchargeAmountNumberSurcharge Amount for Transaction
Currency CodecurrencyCodeString3 Character Currency Code (USD)
Bank Response CodebankResponse.codeStringIn case of a card transaction it will always be blank; in case of an error with ACH it will be a 3-digit code
Bank Response MessagebankResponse.messageStringIn case of a card it will always be blank; in case of error with ACH it will be populated
Card HolderpaymentMethodDetails.cardHolderStringName of Card Holder
Card NumberpaymentMethodDetails.last4StringLast 4 digits of card
Expiry MonthpaymentMethodDetails.expiryMonthStringCard expiry month
Expiry YearpaymentMethodDetails.expiryYearStringCard expiry year
Card TypepaymentMethodDetails.cardBrandStringCard Brand Name (Visa, Mastercard, etc)
AVS Response CodeavsCheck.codeStringAddress Verification Service response code
AVS Response MessageavsCheck.descriptionStringText description of AVS check code
CVC Response CodecvcCheck.codeStringCredit Card Verification Code
CVC Response MessagecvcCheck.descriptionStringText description of CVC check code
Customer ReferencecustomerRefstringReference number provided by Merchant
Reference numberreferenceNostringoptional - Reference number found in chargeback/transaction/settlement report
E-commerce IndicatoreCommerceIndicatorStringeg. 5, 6, or 7

Disbursement Report

Report data includes Daily Fees and Payouts for given accounts (Merchants) during the specified period. This data is valuable for partner and merchant reconciliation where bank deposits are matched to settlement (payouts) data and fees assessed.

Display NameField NameTypeDescription
Transaction DatecreatedAtDateCreation date of the transaction
Funding IDfundingIdStringMaps to Dwolla Transfer ID
Exact AccountIDaccountStringExact Internal Account ID
Funding TypefundingTypeStringACH or CARD - The payment method against to which the payout is been made
Funding AmountamountNumberFunding Amount (in Cents)
CurrencycurrencyCodeStringCurrency of payout
StatusstatusStringPENDING or SUCCESS or FAILED - Mass payout will always be a batch, and the entire batch will never fail; each record within the batch will have its status. If something changes, the status will remain PENDING, and after a couple of days, it will return as SUCCESS or FAILED. - If a Batch fails, the system will continue to keep trying

Account Report

Report data includes the current status of all submitted Account Onboarding Applications for a given user during the specified report range. Status includes Approved, Declined, Closed, Terminated, or Pending.

Display NameField NameTypeDescription
StatusstatusstringWorflow status (new; pendingChecks; checking; errored; autoDeclined; withdrawn; inProgress; pended; autoApproved; manuallyApproved; bankBoarding; bankBoardingError; Approved; declined; autoClosed; reviewNeeded; inRiskReview; terminated; webhooks; finished)
Status Change ReasonstatusChangeReasonstringReason for the workflow status change
Status Change Reason NotestatusChangeReasonNotesstringNotes for the workflow status change
OrganizationnamestringName of the partner organization who created this merchant
KYC Results StatuskrcResults.statusstring"Know Your Customer" status - e.g. "Passed"
Merchant Namemerchant.namestringMerchant's name
Registration #merchant.businessRegistrationNumberstringMerchant's Business Registration Number
DBA Namemerchant.dbaNamestringMerchant's Doing Business As name
Established Datemerchant.establishedDatedateMerchant's company establishment date
# of Employeesmerchant.numberOfEmployeesnumberNumber of employees in Merchant's company
Phonemerchant.telephonestringMerchant's Telephone number
Emailmerchant.emailstringMerchant's Email
Web Sitemerchant.onlinePresencestringMerchant's online web site address
Facebookmerchant.facebookstringMerchant's Facebook profile URL
Twittermerchant.twitterstringMerchant's Twitter profile URL
LinkedInmerchant.linkedInstringMerchant's LinkedIn profile URL
Entity Typemerchant.entityTypestringLLC Or Corp Or Sole prop Or Non - Profit Or Public Corp
Average Ticketmerchant.anticipatedTransAmounts.averageTicketSizenumberAverage Payment amount per transaction
Max Ticketmerchant.anticipatedTransAmounts.maxTicketSizenumberMaximum Payment amount per transaction
Anticipated Monthly Volumemerchant.anticipatedTransAmounts.anticipatedMonthlyVolumenumberAnticipated Monthly total Payment amount
MCCmerchant.mccstringMerchant Category Code
Merchant Address Line 1merchant.address.line1stringMerchant company's address line 1
Merchant Address Line 2merchant.address.line2stringMerchant company' address line 2
Merchant Address Citymerchant.address.citystringMerchant company's city
Merchant Address Postal Codemerchant.address.postalCodestringMerchant company's postal code
Merchant Address Countrymerchant.address.countrystringMerchant company's country code (three characters)
Merchant Address Country Subdivisionmerchant.address.countrySubdivisionstringMerchant company's state code (two characters)
Merchant Bank Namemerchant.bankingDetails.bankNamestringMerchant's bank name
Merchant Routing Numbermerchant.bankingDetails.routingNumberstringRouting number for US/Bank Transit number for Canada
Merchant DDA Numbermerchant.bankingDetails.DDANumberstringMerchant's bank account number
Merchant Bank Numbermerchant.bankingDetails.bankNumberstringBank Institution number for Canada
Merchant Service Descriptionmerchant.businessProfile.serviceDescriptionstringThe service or product description rendered by the merchant
Merchant Currently Accepting Paymentsmerchant.businessProfile.currentlyAcceptingPaymentsstringWhether the merchant is currently accepting the payments or not (Y or N)
Merchant Acceptance Method Motomerchant.businessProfile.acceptanceMethods.motonumberPercentage of Payments via Acceptance Method of Mail/phone
Merchant Acceptance Method Internetmerchant.businessProfile.acceptanceMethods.internetnumberPercentage of Payments via Acceptance Method of internet/online
Merchant Acceptance Method Swipemerchant.businessProfile.acceptanceMethods.swipenumberPercentage of Payments via Acceptance Method of swipe/pos
Merchant Acceptance Method Keyedmerchant.businessProfile.acceptanceMethods.keyednumberPercentage of Payments via Acceptance Method of keyed
Merchant Recurring Servicemerchant.businessProfile.recurringServicestringWhether the merchant is currently offering any recurring services or not (Y or N)
Merchant Recurring Service Descriptionmerchant.businessProfile.recurringServiceDescriptionstringRecurring service description
Merchant Refund Policy Descriptionmerchant.businessProfile.refundPolicyDescriptionstringRefund policy of the merchant
Merchant Payment Timemerchant.businessProfile.paymentTimestringPayment time
Merchant Delivery Time Framemerchant.businessProfile.deliveryTimeFramestringProduct delivery timeline
Merchant Principal First Namemerchant.principal.firstNamestringOwner's/Authorized person's first name
Merchant Principal Last Namemerchant.principal.lastNamestringOwner's/Authorized person's second name
Merchant Principal Titlemerchant.principal.titlestringCEO/President Or Owner/Founder Or VP/Director Or Manager Or Administrator Or Other
Merchant Principal Telephonemerchant.principal.telephonestringOwner's/Authorized person's telephone
Merchant Principal Emailmerchant.principal.emailstringOwner's/Authorized person's email
Merchant Principal Date of Birthmerchant.principal.dateOfBirthdateOwner's/Authorized person's Date of Birth
Merchant Principal Drivers Licensemerchant.principal.driversLicensestringOwner's/Authorized person's Driving License number
Merchant Principal Drivers License Statemerchant.principal.driversLicenseStatestringDL issue state
Merchant Principal Drivers License Countrymerchant.principal.driversLicenseCountrystringDL issue country
Merchant Principal SSNmerchant.principal.ssnstringOwner's/Authorized person's Social Security Number or Social Insurance Number(SIN) (last 4)
Merchant Principal SSN Statemerchant.principal.ssnStatestringSSN issue state
Merchant Principal SSN Countrymerchant.principal.ssnCountrystringSSN issue country
Merchant Principal SSN Country Subdivisionmerchant.principal.ssnCountrySubdivisionstringSSN issue country subdivision
Merchant Principal Nationalitymerchant.principal.nationaliitystringOwner's/Authorized person's Nationality
Merchant Principal Percent of Ownershipmerchant.principal.percentOfOwnershipnumberOwner's/Authorized person's % of ownership in the businessl
Merchant Principal Line 1merchant.principal.address.line1stringOwner's/Authorized person's address line 1
Merchant Principal Line 2merchant.principal.address.line2stringOwner's/Authorized person's address line 2
Merchant Principal Address Citymerchant.principal.address.citystringOwner's/Authorized person's city
Merchant Principal Address Postal Codemerchant.principal.address.postalCodestringOwner's/Authorized person's postal code
Merchant Principal Address Countrymerchant.principal.address.countrystringOwner's/Authorized person's country (Three Character Code)
Merchant Principal Address Country Subdivisionmerchant.principal.address.countrySubdivisionstringOwner's/Authorized person's State/Province (Two character code)
Created AtcreatedAtdateOnboarding created time

Transaction Report

Report data includes all transactions (Payments API) or events processed by a given user during the specified report range whether approved or declined.

Display NameField NameValue TypeDescription
Created AtcreatedAtstringTransaction creation date
Payment IDpaymentIdstringUnique Internal Payment Identifier created by Exact Payments
Transaction Typetypestring"Card", "ACH", or "void" - void can apply to either type
Transaction StatestatestringTransaction processing status
Account NameaccountstringAccount Name
Merchant DBA NamedbaNamestringDoing Business As Name
Merchant MIDmerchantMIDstringAcquirer Merchant ID
Soft Descriptor DBA NamesoftDescriptor:dbaNamestringAppears on the cardholder statement
Soft Descriptor StatesoftDescriptor:statestringAppears on the cardholder statement
Soft Descriptor PhonesoftDescriptor:phonestringAppears on the cardholder statement
ApprovedapprovedBooleanIf Transaction is approved or not
CapturedcapturedBooleanTrue If hold has been paid, It means the funds were captured at the time of processing; i.e., not just an authorization
Capture DetailscaptureDetailsObject {array[string]; remaining(int))Contains a list of captured Payment IDs (or the Object in JSON)
RefundedrefundedBooleanIf transaction is refunded or not
Refund DetailsrefundDetailsObject {array[string]; remaining(int))Contains a list of refunded Payment IDs (or the Object in JSON)
VoidedvoidedBooleanTrue if Transaction was voided, False if not
SettledsettledBooleanTrue if Transaction has been settled, False if not
Settled AtsettledAtStringWhen the transaction was settled
AuthorizationauthorizationStringAlphanumeric Code - ACH begins with letter; Credit/Debit begins with number
AmountamountNumber (2 decimal)Settlement Amount (eg. 28.00)
Surcharge AmountsurchargeAmountNumber (2 decimal)Surcharge Amount (eg. 28.00)
Currency CodecurrencyCodestring3 Character Currency Code (eg. USD)
Bank Response CodebankResponse:codestringIn case of a card transaction it will always be blank; in case of an error with ACH it will be a 3-digit code
Bank Response MessagebankResponse:messagestringIn case of a card it will always be blank; in case of error with ACH it will be populated
Exact Response CodeexactResponse:codestringResponse Code generated by Exact
Exact Response MessageexactResponse:messagestringResponse Message related to Exact Response Code
Card HolderpaymentMethodDetails.cardholderstringName of Card Holder
Card NumberpaymentMethodDetails.last4stringLast 4 digits of Card Number
Expiry MonthpaymentMethodDetails.expiryMonthstringCard Expiration Month
Expiry YearpaymentMethodDetails.expiryYearstringCard Expiration Year
Card TypepaymentMethodDetails.cardBrandstringCard Brand Name (Visa, Mastercard, etc)
AVS Response CodepaymentMethodDetails.avsCheck.codestringAddress Verification service check
AVS Response MessagepaymentMethodDetails.avsCheck.descriptionstringText description of AVS check code
CVC Response CodepaymentMethodDetails.cvdCheck.codestringCredit Card Verification Code
CVC Response MessagepaymentMethodDetails.cvdCheck.descriptionstringAny CVC description if provided
E-commerce Indicatoroptions.ecommerceFlagstringPassed by the merchant with initial transaction eg. 5, 6, 7 or another number
Customer ReferencecustomerReferencestringCustomer supplied reference
Reference NumberReferenceNumstringCustomer supplied reference

Chargeback Report

Report data includes any Chargeback (credit/debit card) posted during the specified report range.

Display NameField NameTypeDescription
Account NameaccountstringMerchant Legal Name
Merchant DBA NamedbaNamestringDoing Business As Name
Merchant MIDmerchantMIDstringAcquirer Merchant ID
Payment IDpaymentIdstringUnique internal payment identifier created by Exact
Chargeback DatepaymentDatestringDate when the chargeback was deducted from our receivables
AmountamountNumber (2 decimal)Transaction Amount (eg. 28.00)
Surcharge AmountsurchgAmountNumber (2 decimal)Part of the original transaction - see Settlement Report
Convenience Fee AmtconvnceAmtNumber (2 decimal)Part of the original transaction
Card PlancardPlanstringType of Credit Plan
Card NumbercardNostringMasked 15 digit card number
Transaction DatetransactionDatestringDate of the Transaction
Settlement DatesettlementDatestringDate of Transaction Settlement
Exact Payment IDroctextstringUnique Internal Payment Identifier created by Exact Payments
Currency CodecurrencyCodestring3 character currency code
ChargeBack Reason DescchgbkRsnDescstringReason for the chargeback
Created AtcreatedAtDateChargeback record creation date
Updated AtupdatedAtDateChargeback record updated date

ACH Credit Report

Report data includes current status or reject code and both the unique Payment ID and the associated original debit transaction ID if applicable.

Display NameField NameTypeDescription
Created AtcreatedAtDateChargeback record creation date
Payment IDpaymentIdstringUnique internal payment identifier created by Exact
Transaction Typetypestring"ach-credit"
Account NameaccountstringMerchant Legal Name
AuthorizationauthorizationStringAlphanumeric Code - ACH begins with letter; Credit/Debit begins with number
AmountamountNumber (2 decimal)Settlement Amount (eg. 28.00)
Bank Response CodebankResponse:codestringIn case of an error with ACH it will be a 3-digit code
Bank Response MessagebankResponse:messagestringIn case of an error with ACH it will be populated
Failure Reason CodefailureReason:codestringIn case of anerror with ACH it will be populated
Failure Reason DescriptionfailureReason:descriptionstringA brief description for the failure
Failure Reason ExplanationfailureReason:explanationstringA detailed explanation for the failure
ACH Debit Payment IDachDebitPaymentIdstringUnique internal payment identifier for the original transaction
Customer ReferencecustomerReferencestringCustomer supplied reference

Merchant Funding Report

Report data allows merchants to determine which transactions are included in amounts we fund (deposit) into their bank account. This report allows merchants to review and validate that approved sale transactions, as well as refunds and chargebacks, are funded correctly into their deposit account by Exact.

Display NameField NameTypeDescription
Funding IDfundingIdstringNumerical value assigned to the funding event
Funding DatefundingDatedateFunding event date
Merchant DBA NamedbaNamestringDoing Business As Name
Payment IDpaymentIdstringUnique internal payment identifier created by Exact
Card TypepaymentMethodDetails.cardBrandstringCard Brand Name (Visa, Mastercard, etc)
Card NumberpaymentMethodDetails.last4stringLast 4 digits of Card Number
Authorization CodeauthorizationCodeStringAlphanumeric Code - ACH begins with letter; Credit/Debit begins with number
RefundrefundBooleanIndicates if transaction is a refund
ChargebackchargebackBooleanIndicates if transaction is a chargeback
AmountamountNumber (2 decimal)Settlement Amount (eg. 28.00)
Transaction DatetransactionDatestringTransaction creation date
Reference NumberreferenceNumberstringCustomer supplied reference