Enterprise and Payment Partner Billing Report

Machine-processable reporting for companies that prefer automation to ingest and process transaction data

Overview

The Enterprise and Payment Partner Billing Report provides a tool for both enterprise groups and payment partners to perform reconciliation against completed transactions relating to a payment flow both in-store and online.

This report covers successful payments that are captured as well as partial and full refunds.

This report should be used to aid an enterprise group or payment partner in reconciling successful cash flow impacting transactions, reconciling against invoice amounts and bank account payments.


Change History

Report VersionDateChanges
1.023 Mar 2024Initial release of enterprise and payment partner reporting
1.117 Jun 2024Introduction of new Partner Merchant ID field to support partners needing to passthrough sub-merchant identifiers for reconciliation


Onboarding

In order to make use of Enterprise and Partner Reporting, you need to be onboarded to our reporting service.

The following information is needed in order to do this:

Information Required

  1. Private-Public Key Credentials - these will operate either by:
    1. ShopBack generates an RSA public-private key pair, both of which are supplied to the partner in secure zip form (password supplied separately) OR
    2. The partner providing us with an RSA public key to register
      1. Key setup must meet one of the schemes supported here if the partner is providing the public key
  2. A list of IP addresses from which the partner will access the Secure File Transfer Protocol folder
  3. Optionally: The list of merchants for which the partner wishes to receive consolidated reporting.
    1. Per country, ShopBack supports grouping reporting for multiple billing entities where a partner is handling settlement for multiple merchants.
    2. Note, if a merchant is available in multiple countries, reporting will be isolated by country e.g. one report for SG, another report for MY

Actions

The partner’s account manager will verify the mapping of billing entities to reporting group as required for the engineering operational team to finalise setup.

Once the above information is provided, ShopBack will provision setup for accessing the reporting service and supply

The partner may then test access to the sFTP folder using their chosen sFTP client by:

  • Connecting to the server sftp.shopback.com using the private key per the information required in point 1 above
  • Accessing the relevant folder provided by ShopBack

Report Format

Comma Separate Values (CSV) File Format in UTF-8 encoding

Content Type: text/csv; charset=UTF-8

📘

How to handle quotes

Strings will be quoted in double quotes "" per the CSV standard RFC 4180


Event Records in this Report

The following events will generate records in the report:

  • A successful in-store dynamic QR POS payment initiated from a payment channel e.g. a payment terminal
  • A successful in-store static QR payment that results in a payment channel notification
  • A successful online payment initiated from an online integration
  • A successful partial or full refund attempt from a payment channel

Report Delivery

Reports will be provided in a specific folder on ShopBack’s sFTP server sftp.shopback.com in the relevant Group ID folder

Individual reports will be delivered for each country in which the enterprise group or payment partner operates.


Report Frequency

Daily on ShopBack billing business days being generally Monday to Friday.


File Name Structure

📘

File Name Format

EPR_{Group ID}_{Report ID}_{Report Version}.{Major Version}.{Minor Version}.{format}

EPR_000001928_20220826_0001.01.01.csv

File Name PartDescription
EPRA 3-letter indicator for the type of report - in this case the enterprise and partner reconciliation report.
Group IDThe identifier used to indicate which group of billing entities to include in reporting.
Report IDUsing intended generation date format of yyyymmdd matching the value in the header of the file
Report VersionSequence number for the report, starting at 1, to allow for file regeneration in the event of problems or need to regenerate in the format nnnn
Format Major VersionThe major version number for the report format in the format nn
Format Minor VersionThe minor version number for the report format in the format nn
FormatThe file format - in this case csv

File Report Structure

Row Type CodeDescription
HHHeader Headings - usually just the first row if needed - maps to the column labels in the header layout itemised below
HRHeader Row - usually just the first or second row - provides some initial information relating to the file - refer to the expected values in the header layout itemised below
BHBody Headings - maps to the column labels in the body layout itemised below
BRBody Row - the main content of the file - refer to the expected values in the body layout itemised below
FHFooter Headings - usually the second to last row if needed - provides headings for the footer content section - maps to the column labels in the footer layout itemised below
FRFooter Row - usually just the last row - provides some footer information relating to the file if needed - refer to the expected values in the header layout itemised below

Header Layout

Column NameColumn LabelColumn PositionDescriptionExpected FormatExample Values
Row Typerow_type1The identifier for this row of dataHH - for the header row
HR - for the data
HR
Group IDgroup_id2The identifier used to indicate which group of billing entities to include in reportingA grouping identifier, may be in an 18 character format5003000000D8cuIQAA
Report IDreport_id3An identifier for the report generated based on timestampyyyymmdd20220802
Report Generation Timestampreport_timestamp4The timestamp for the report generationISO 8601 - yyyy-mm-dd Thh:mm:ssz2022-08-02T02:23:01Z
Report Start Timestampreport_start5The starting timestamp for transactions relevant to the reportISO 8601 - yyyy-mm-dd Thh:mm:ssz2022-08-01T00:00:00Z
Report End Timestampreport_end6The ending timestamp for transactions relevant to the reportISO 8601 - yyyy-mm-dd Thh:mm:ssz2022-08-01T23:59:59Z
Major Versionmajor_version7The major version number for the report formatnn01
Minor Versionminor_version8The minor version number for the report formatnn00
Report Versionreport_version9Sequence number for the report, starting at 1, to allow for file regeneration in the event of problems or need to regeneratennnn, starting at 00010001

Body Layout

Records will be sorted by timestamp in ascending chronological order.

Column NameColumn LabelColumn PositionDescriptionExpected FormatExample Values
Row Typerow_type1The identifier for this row of dataBH - for the header row
BR - for the data
BR
Record IDrecord_id2This is a record identifier mapping to the event taking place[billingId]e533da1a-e16c-4de3-bb04-f369e7d42034
Billing Code Typebilling_code3The type of the transaction recordSee Billing Code TypesCAPTURE
Billing Code Sub Typebilling_sub_code4A sub-type for the transaction record - only used in itemised reportsSee Billing Code Sub TypesCAPTURE
Transaction Timestamptransaction_timestamp5A timestamp for the transaction at the point of capture or point of refund depending on transaction type in ISO-8601 formatISO 8601 - yyyy-mm-ddT hh:mm:ssz2022-08-01T14:29:33Z
Payment Reference IDpayment_reference_id6The payment reference ID provided in the request, where applicable (only successful payments will show here)If POS - the referenceId, if Online - Merchant Order Ref or Order ID if provided during API call, otherwise Order UUIDOrder-Ref-1011
External Order Numberexternal_order_number7The brand or merchant’s external order number identifier related to this transactionCurrently always blank - for future use
ShopBack Order IDcustomer_order_id8The customer-facing ShopBack Order ID shown to the customer in the ShopBack appyyyymmdd-nnnn-AAAA220801-0679-YVUY
Product Codeproduct_code9The product to which the particular transaction relates such as PAY or PAYIN3.String mapping according to product codes shown for all relevant records except tax recordsPAY
Countrycountry10The two letter country code in uppercase lettersISO-3166-1 alpha-2SG
Payment Channelpayment_channel11The payment channel through which the transaction took place - for the POS API, this would simply be POSCUSTOMER - for in-store Static QR
POS - for POS API
ONLINE - for online API
BILLING - for specific system adjustments such as resolution of tax rounding end of month
PORTAL - for portal refunds
ADMIN - for SB initiated refunds
ADJUSTMENT - for adjustments
POS
Payment Channel IDpayment_channel_id12The payment channel ID through which the transaction took place - for the POS API, this would be the posId that was used to execute the transaction. For adjustments, this will show the reason for the adjustment.CUSTOMER - the POS terminal ID
If POS - the POS terminal ID
If ONLINE - the e-outlet ID
If PORTAL - the user ID
If ADMIN - blank
If ADJUSTMENT - the text reason for an adjustment
a1w2x000001ZGs6AAG
Transaction Currencytransaction_currency13The currency of the transaction in uppercase lettersISO-4217 3-letterSGD
Raterate14A rate relevant to the amount calculation. This will depend on the different types of billing records that are generated and helps to understand how the amount is derivedA percentage value expressed as a floating point up to 2 decimal places4.5
Net Amountnet_amount15The net value of the record after relevant calculation using an applicable rate with decimal and decimal places included after any fee credits or debits applied but before any settlement adjustmentsZero, positive (if payment) or negative (if refund) amount with decimal places
SGD - up to 2 decimals
MYR - up to 2 decimals
AUD - up to 2 decimals
217.32
Settlement Currencysettlement_currency16The currency of the settlement in uppercase lettersISO-4217 3-letterSGD
Settlement FX Ratesettlement_fx_rate17This is the FX rate applied on the settlement amount applicable to 4 decimal placesFloating point value up to 4 decimal places1.0000
Settlement Adjustmentsettlement_adjustment18This is the amount of any adjustments that should be deducted from the net transaction amountThis will be a zero or positive value to indicate any deduction from the net transaction amount
Zero, negative (if offsetting) or positive (if adding back) amount with decimal places
SGD - up to 2 decimals
MYR - up to 2 decimals
AUD - up to 2 decimals
0
Settlement Amountsettlement_amount19The net settlement value of the transaction (signed if negative) with decimal and decimal places included after any fee credits or debits applied but before any settlement adjustmentsZero, positive (if payment) or negative (if refund) amount with decimal places217.32
Billing Entitybilling_entity20The billing entity (also referred to as invoicing unit or bank account) to which the settlement will be specifically allocatedAn alphanumeric string, no spaces00001928
Partner Merchant ID

❗️ New with version 1.1
partner_merchant_id21The partner’s merchant ID, passed to ShopBack during an API call as the merchant ID in the partner objectAn alphanumeric string, can contain spaces1928112
Narrationnarration22Field to cover any narration or comments relating to a recordCurrently always blank - for future use

Billing Record Code Type Fields

Billing Code TypeBilling Code Sub TypeDescriptionNotes
CAPTURESALEAmount captured for an order/payment with a customerTransaction has been authorised and charge completed for capture
FEEMDRMerchant Discount Rate - Merchant Fee AppliedFees will only be reported where settlement takes place with the partner or group
FEETRANSACTIONTransaction Processing Fee - for applying a captureFees will only be reported where settlement takes place with the partner or group
FEECASHBACK_RETURNReturn cashback fee - for cashback to be charged depending on the cashback modelFees will only be reported where settlement takes place with the partner or group
FEECASHBACK_OFFSETReturn cashback discount - for cashback to be charged depending on the cashback modelFees will only be reported where settlement takes place with the partner or group
FEEPLATFORMPlatform Fee - for the provision and access to the ShopBack platform and servicesFees will only be reported where settlement takes place with the partner or group
FEEPROMOPromo Fee - Fee for applying ShopBack merchant-funded promosFees will only be reported where settlement takes place with the partner or group
FEEPROMO_OFFSETPromo Fee - Discount for applying ShopBack merchant-funded promos where ShopBack or another partner funds the promoFees will only be reported where settlement takes place with the partner or group
TAXSALESales tax as applicable to any feesTaxes will only be reported where settlement takes place with the partner or group
REFUNDSALEAmount refunded for an order/payment with a customerTransaction has been refunded partially or in full
FEEREFUNDRefund Processing Fee - for applying a refundFees will only be reported where settlement takes place with the partner or group
FEE_REVERSALMDRReversal of Merchant Discount Rate - Merchant Fee AppliedFees will not initially be reported until cash flow settlement is direct with the payment partner
FEE_REVERSALCASHBACK_RETURNReversal of Return cashback fee - for cashback to be charged depending on the cashback modelFees will only be reported where settlement takes place with the partner or group
FEE_REVERSALCASHBACK_OFFSETReversal of Return cashback discount - for cashback to be charged depending on the cashback modelFees will only be reported where settlement takes place with the partner or group
FEE_REVERSALPLATFORMReversal of Platform Fee - for the provision and access to the ShopBack platform and servicesFees will only be reported where settlement takes place with the partner or group
FEE_REVERSALPROMOReversal of Promo Fee - Fee for applying ShopBack merchant-funded promosFees will only be reported where settlement takes place with the partner or group
FEE_REVERSALPROMO_OFFSETReversal of Promo Fee - Discount for applying ShopBack merchant-funded promos where ShopBack or another partner funds the promoFees will only be reported where settlement takes place with the partner or group
TAX_REVERSALSALEReversal of Sales tax as applicable to any feesTaxes will only be reported where settlement takes place with the partner or group
REVERSALSALEAdjustment as required to total settlementReversal of any principal amounts due to an adjustment
TAX_ADJUSTMENTSALEEnd of month tax adjustments to deal with rounding at transaction level vs rounding end of monthHolding of sales tax amount due to rounding under holding tax
TAX_ADJUSTMENT_REVERSALSALEEnd of month tax adjustments to deal with rounding at transaction level vs rounding end of monthReversal of sales tax due to rounding over holding tax

Products in Scope

Product CodeDescription
PAYCovers ShopBack Pay
PAYIN3Covers ShopBack PayLater with 3 instalments
VOUCHERCovers ShopBack vouchers billed under consignment and redemption models
CASHBACKCovers manual cashback that is billable
LOYALTYCovers bonus cashback that is billable under payments loyalty
BILLINGCovers billing specific events

Footer Layout

Column NameColumn LabelColumn PositionDescriptionExpected FormatExample Values
Row Typerow_type1The identifier for this row of dataFH - for the header row
FR - for the data
FR
Record Countrecord_count2The number of billing records in the reportUnsigned integer23
Settlement Currencysettlement_currency3The currency of the settlement in uppercase lettersISO-4217 3-letterSGD
Settlement Credits Amountsettlement_credits4The credits value of all credit transactions (signed if negative) with decimal and decimal placesOptional negative sign, amount with decimal places, SGD - 2 decimals, MYR - 2 decimals, AUD - 2 decimals1023.21
Settlement Debits Amountsettlement_debits5The debits value of all debit transactions (signed if negative) with decimal and decimal placesOptional negative sign, amount with decimal places, SGD - 2 decimals, MYR - 2 decimals, AUD - 2 decimals23.10
Settlement Net Amountsettlement_net_amount6The net settlement value of all transactions (signed if negative) with decimal and decimal placesOptional negative sign, amount with decimal places, SGD - 2 decimals, MYR - 2 decimals, AUD - 2 decimals1000.11
Payment Referencepayment_reference7An identifier that will be provided to the remitting bank to link a bank transfer to the transactions in this file, where payouts are performedText Reference no longer than 15 characters02-Jan-2024
Settlement Periodsettlement_period8The estimated number of business days when payment settlement will be completed or payment is expected to be received depending on the business modelUnsigned integer3

Sample Report

Sample Report