The context your cardholders keep asking you for
A card transaction reaches your app as a merchant name, an amount and a date. SyncPay attaches the rest: the itemised receipt, the real merchant identity and the fraud signals, keyed to the payment your cardholder already made. No card scheme change, no new rail, and no integration work at the terminal.
The same transaction, in the same app
The moment after the payment
After your cardholder taps their card, the moment belongs to someone else. The merchant. Their app. A receipt nobody opens.
We hand it back. Every line item, live inside your app, pulling your customers back in on every purchase. You own the moment after the payment, not just the payment.
What you receive
Itemised receipts
Line items, the GST total and the merchant's real trading details, resolved against a transaction your cardholder already sees in the app. The thing that turns "what was this charge" into an answer.
Accurate merchant identity
The trading name, the location and the category the merchant actually operates under, instead of the acquirer descriptor that reaches your feed. The same record carries both, so they never disagree.
Pre-dispute fraud signals Building
Signals raised before a formal dispute opens, so a chargeback can be headed off rather than processed. In build, and not yet carrying live traffic. What that changes.
Where it goes in your app
Start a conversation
Tell us which institution you are with, and which of these you would put in front of a customer first. A person replies, usually within one business day.
Prefer email? hello@syncpay.au
A budgeting feature is only as good as the data under it
Every bank app has a spending breakdown. Almost all of them run on the same two inputs the card rail carries: a merchant descriptor and a total. Customers can tell.
One basket becomes one category, so the breakdown shows a number the customer knows is wrong. They correct it by hand a few times, then stop opening the feature. The data is the ceiling, and no amount of design lifts it. Line items raise the ceiling, and everything built on top gets better at once.
Item-level budgeting, inside the bank app
Ask any spending feature in any banking app how much the customer spent on coffee last year and it will answer from the merchant total. Ask ours and it answers from the cup.
A small flat white and a large flat white are two different lines at the same cafe, on the same card, under the same descriptor. Every breakdown in the market collapses them into one number. The line items keep them apart, so the customer can see that the large one cost them an extra $169 over a year and decide what to do about that.
No bank app in Australia offers this today, because no bank feed has ever carried the line items to build it on. Itemised receipts in a banking app have been done here before, by Slyp with NAB in 2021. Budgeting off those line items has not.
What the basket makes possible
Budgets that hold
A weekly grocery budget is not blown by the bottle of wine and the phone charger that happened to be in the same basket. The customer sets a limit against a category that means what they think it means.
Subscriptions the customer forgot
A recurring charge is easy to spot when the merchant identity is stable and the line is the same every month. That is the single most requested feature in every banking app, and it is a data problem before it is a product one.
Spending questions that were never answerable
Which of the two sizes, which brand of nappies, how much of the weekly shop was actually alcohol, what the household spends on snacks at service stations. None of these have an answer in a merchant-total feed, and all of them are things people want to know about themselves.
Forecasts worth showing
Projecting next month from merchant totals projects noise. Projecting from what a household actually buys separates the weekly shop from the one-off appliance, which is the difference between a forecast and a guess.
Alerts that fire on the right thing
"You are over on Groceries" is ignored when the customer knows the number is wrong. Accurate line-level spend is what makes a nudge credible enough to act on.
Patterns the customer cannot see for themselves
A year of line items is a record of habits nobody keeps deliberately. Read across it and the app can tell the customer something true about their own spending that they would never work out by scrolling a list of totals.
- Price creep on the things they buy every week. The same item, same shop, quietly up 14% since March. A merchant total cannot separate that from buying more of it.
- The same item, cheaper elsewhere. They already shop at both places. One of them is charging them more for the identical product.
- A habit forming. Twice a week became five times a week over a few months. That is a line the customer would recognise instantly and never spot alone.
- Where the money actually leaks. Not "Groceries, $940". The $180 of it that was snacks bought at service stations at 6pm.
- Subscription drift. A renewal that went up, a plan they stopped using, a duplicate of something they already pay for under a different merchant name.
Every one of these is an insight the customer values and a reason to open the app, and none of them can be produced from a descriptor and an amount.
Why it keeps getting used
- Nothing to correct. Every manual re-categorisation is the feature admitting it got it wrong, and each one costs a little more trust than the last.
- It works on day one. The history is already itemised, so a customer opening the feature for the first time sees a year of accurate spend rather than an empty state that fills in slowly.
- It is yours, not a bolt-on. The breakdown lives with the money, in the app the customer already opens, rather than in a separate budgeting product they have to be sold on.
What makes all of it work is the layer underneath: categorisation and merchant data.
Categorisation is a guess until you can see the basket
A merchant category code describes the business. It does not describe what was bought. The two are treated as the same thing in almost every transaction feed in the country.
One transaction, two versions
| What the card feed carries | What the SyncPay record carries |
|---|---|
COLES 4271 $67.30Filed whole under Groceries |
Milk, bread and produce $40.30 Groceries Wine $18.00 Alcohol Phone charger $9.00 Electronics |
SP* TFB PTY LTD 0417Unrecognisable, uncategorised |
The trading name, the suburb and the category the business actually operates under, from the merchant's own record |
What accurate merchant data fixes
- The cryptic descriptor. Payment facilitator prefixes, legal entity names and terminal numbers reach your feed instead of the shop the customer walked into.
- The wrong category. A merchant's assigned category code describes the business, not the basket, so a supermarket that sells wine and electronics reports all three as groceries.
- Chain versus franchise. Two stores under one brand can settle under different entities, which splits one merchant into several in a spending breakdown.
- The stale directory. Merchant name and category tables are maintained separately from the payments they describe, so a rebrand or a move goes unnoticed for months. Here the identity is written at the sale and cannot fall behind it.
One source, not a stack of vendors
Merchant enrichment in a bank app is usually assembled: a directory vendor for the name, someone else for the logo, a third model for the category. Each refreshes on its own cycle, each infers the merchant from the descriptor rather than asking the merchant, and when they disagree your customer sees the disagreement. You are also paying three licences to reconstruct information the merchant already holds.
SyncPay is the merchant's own connection, so the identity is supplied rather than looked up. Nothing here is bought in, scraped or matched against a third-party list. It comes from the business, at the point it takes the payment.
| What travels with the payment | Where it comes from |
|---|---|
| Trading name and the name on the shopfront | The merchant's own record |
| Registered entity and ABN | Verified when the merchant connects |
| Trading address and location of the sale | The merchant's own record |
| Customer contact details for that business | The merchant's own record |
| Line items and GST per line | The point of sale, at the moment of payment |
| Category, per line | Our own classification models, over the line items |
The models read the item text, not the descriptor, which is why they can tell a bottle of wine from a loaf of bread inside the same basket at the same merchant. Nothing in that chain depends on a vendor you also have to manage.
One transaction, several categories
A single category per transaction is a modelling convenience, not a description of what happened. A supermarket basket is groceries and alcohol and household goods, and forcing it into one bucket is the reason every spending breakdown is slightly wrong.
- Categories are assigned at the line, not at the transaction. One payment carries as many categories as the basket did, each with its own share of the total.
- Roll up or leave split, from the same record. A high-level view for the spending wheel, the full breakdown when the customer taps in. You are not choosing between them or storing them twice.
- The totals still reconcile. The line categories sum to the transaction amount, so the breakdown and the statement never disagree.
- Your taxonomy, not ours. Categories map to whatever scheme your app already uses, so nothing downstream has to be rebuilt to accept them.
What it feeds
Budgeting
Budgets, forecasts, subscription detection and alerts all sit on top of the category. Get the category right and every one of them improves without further work. See the budgeting page.
Recognition
A merchant name the customer recognises is the difference between a charge they accept and a charge they ring you about. See disputes and fraud.
Search
A purchase history is only searchable if the names in it are the names people would type. Descriptors are not.
One vendor, not two
Categorisation and itemised receipts are usually bought separately: an enrichment vendor for the merchant name and category, and a different feed, if one exists at all, for what was actually in the basket. Both are trying to describe the same purchase from two licences, on two refresh cycles, at two prices.
SyncPay delivers both from the one record, for one integration. The category is built from the line items themselves rather than guessed at separately, so there is nothing left for a second vendor to supply. It is more accurate because it comes from the point of sale, not an inference, and it costs less because you are licensing one connection instead of two.
Where this sits today. The itemised receipt data is live and running in production against connected merchants. The category assignment layer over those line items, and the bank-side API that delivers it, are in build.
Receipts that reach the ledger through the feed you already provide
Your business customers already pull your bank feed into Xero, MYOB or their ERP. It arrives as a date, an amount and a descriptor, and then somebody types the rest in by hand.
The feed is the one connection a business bank already owns into its customer's accounting system. It is trusted, it is automatic, and it is carrying about a fifth of the information the customer actually needs. Everything the bookkeeper does next exists because the line items, the GST per line and the tax invoice did not travel with the payment.
What the same transaction costs to process
| Document | Estimated processing cost |
|---|---|
| Paper invoice | A$30.87 |
| Emailed PDF invoice | A$27.67 |
| Peppol electronic invoice | A$9.18 |
Industry benchmarking puts the international average at US$9.40 per invoice against US$2.78 for best-in-class performers, over an average of 9.2 days and a 22% exception rate. The gap between those numbers is almost entirely re-keying and chasing documents, which is what a shared record removes.
What changes for the customer
- The bank line arrives itemised. Line items and GST per line land against the transaction in the ledger, so the coding is already done rather than reconstructed from a shoebox at the end of the quarter.
- The tax invoice is attached, not chased. The ATO requires a valid tax invoice to claim a GST credit above A$82.50. The rail does not carry one. The record does.
- Reconciliation stops being a task. The same figure is currently re-keyed across point of sale, bank, processor, ledger and ERP because none of them share a record. One record ends that.
- It works through the connection you already have. No new integration for the customer, no new app for their bookkeeper, no change to the accounting platform they chose.
What changes for you
A feed nobody switches away from
Bank feeds are the stickiest thing in business banking and the most undifferentiated. Every institution offers the same date, amount and descriptor. An itemised feed is the first real reason to prefer one bank's connection over another's.
The accountant becomes a channel
The bookkeeper and the accountant choose the bank feed as often as the business owner does. A feed that halves their coding work is a recommendation they make on your behalf, to every client they onboard.
Lending data you can actually use
Line-level spend across a business's own purchasing tells you far more about its position than a merchant total does, and it arrives continuously rather than at the point of application.
Where this sits today. The itemised record and the accounting-platform connections are live. Delivery through a bank's own business feed is a build, and the shape of it depends on how your feed is produced. It is the first thing we would work through with you.
Sources: invoice volumes and manual processing share, Australian Treasury eInvoicing materials. Automation and manual keying rates, Institute of Finance and Management. Executive time on payment administration, small-business survey research. Australian document processing costs, ATO eInvoicing value assessment citing Deloitte Access Economics. International invoice cost, processing time and exception rate, industry-analyst benchmarking. GST tax invoice threshold, Australian Taxation Office.
Most disputes start with a charge nobody recognised
A cardholder who cannot place a line on their statement has two options: ring you, or dispute it. Both cost you, and neither one was fraud.
Australian card fraud reached A$854 million in FY2024-25, of which A$746 million was card-not-present. The disputes that fraud generates are a separate and, on international transactions, larger cost line.
First-party misuse, the dispute raised against a purchase the customer genuinely made, is expensive precisely because it is indistinguishable from the real thing at the point it arrives. You carry the investigation, the provisional credit and the merchant relationship for a transaction that was always legitimate. The cause is almost never dishonesty. It is a descriptor nobody can decode, weeks after the event.
The first two numbers describe the same mechanism: the cardholder comes to you, so an unrecognised charge becomes a dispute rather than an enquiry. The third is what happens when you can answer them. Visa reports certain subscription merchants deflecting as high as 90%, and more than US$60 million in confirmed first-party disputes deflected in total.
What it costs you now
| Issuer cost line, credit cards, FY2024-25 | Domestic | International |
|---|---|---|
| Fraud | 0.8c per transaction | 8.1c per transaction |
| Disputes, chargebacks, collections, write-offs | 0.7c per transaction | 11.3c per transaction |
On international transactions the dispute line is larger than the fraud line itself. Handling the dispute costs you more than the fraud that triggered it. From 1 October 2026 the Reserve Bank's Conclusions Paper reinstates the net cost of disputes and chargebacks as a recognised, eligible issuer cost, so for the first time the line is not only measurable but regulated.
Why it is worth attacking
What the cardholder sees instead of a dispute form
The charge that triggers a dispute is almost never a charge the customer objects to. It is a charge they cannot place. Four things break the link between the purchase they remember and the line they are looking at.
- The descriptor is not the shop. A facilitator prefix and a legal entity name look nothing like the storefront the customer remembers.
- The date is not the purchase date. Delayed capture puts the charge days after the visit, which breaks the customer's memory of it.
- The card was not theirs to remember. A partner, a child or an employee on a supplementary card made a purchase the primary cardholder never saw.
- The subscription was forgotten. A renewal the customer agreed to a year ago arrives as an unfamiliar name and an unexpected amount.
Real fraud surfaces faster too
The same detail runs in the other direction. A cardholder scanning a statement line can only ask themselves whether they were in that shop. A cardholder looking at the line items can tell you immediately whether the basket was theirs, because nobody forgets what they did not buy. Genuine unauthorised use gets reported in hours rather than at the end of a statement cycle, which is the window where recovery is still possible and the card can be stopped before the next attempt.
The layer above this is in build. Pre-dispute fraud signals, raised on the merchant side before a formal dispute opens, are the next thing we ship. Cross-merchant rather than limited to one acquirer's view. Not yet carrying live traffic, and not something to plan a case flow around yet.
Sources: cardholder behaviour, Datos Insights with Ethoca, and Chargebacks911; global vendor surveys, directional rather than Australian. Dispute deflection, Visa, Order Insight product disclosures. Issuer cost lines, RBA Issuer Cost Study (August 2025), Tables 1 and 3, collected from eleven institutions covering more than 90% of the Australian card-issuing market on a net-loss basis; the dispute line bundles disputes, chargebacks, collections and write-offs and is not a per-dispute cost. Eligible-cost change, RBA Conclusions Paper, effective 1 October 2026. Australian card fraud, AusPayNet FY2024-25 data tables.
The cheapest targeted session you will ever buy
Your cardholders already open the app. The scarce thing is not attention. It is something worth putting in front of it.
Enrichment is what moves a message from the second number to the first. It is a message about a purchase the customer made minutes ago, which is why it gets opened, and it lands them inside your app rather than on somebody else's page.
The permission is already granted
Finance apps carry the highest iOS push opt-in of any category, at roughly 51%. Your customers have already agreed to hear from you. Most of what you are currently allowed to send is not worth sending.
Around 27 chances a month
The average Australian credit card is used about 27 times a month, up from roughly 10 a decade ago. Every one of those is a moment you can meet at the transactional open rate instead of the campaign open rate.
Bought attention is the expensive kind
Finance is among the dearest verticals to advertise in, and an activated finance app user costs multiples of a general one to acquire. Enrichment runs the other way: the cost per session falls as the cardholder spends more.
Paid media buys an impression on somebody else's surface and hopes it ends in your app. Enrichment brings the customer into your app first, on a purchase they already care about, with the cross-sell already at home there. The targeting is the transaction.
Sources: push opt-in and open rates, Airship Mobile App Push Notification Benchmarks 2026. Login volumes, Commonwealth Bank FY25 results. Card usage, RBA retail payments statistics and published Australian credit card data. Advertising costs, industry benchmarks.
Why they come back
A statement line gives a cardholder nothing to return for. An itemised receipt does.
- An expense claim to file.
- A warranty to prove.
- A shared bill to split.
- A charge nobody at the table can place.
Every one of those is a reason to open your app instead of a retailer's.
A reason to open the app
People go looking for receipts constantly, and today that search ends in a shoebox, an inbox or the merchant's own app. Held against the transaction, it ends in yours, on the purchase they already made.
Your products, in front of them
Re-engagement is the hard part of any cross-sell. Sessions the cardholder opened for their own reasons are the ones where an offer, a card upgrade or a lending product is seen rather than pushed.
One place, not five
Customers drift when the account is a list of amounts they have to reconcile somewhere else. A complete, searchable purchase history that already lives with their money is not something people want to rebuild with another bank.
Four steps, and only the last one is yours
Three of them happen before the transaction ever reaches you, and none of them touch your merchants or the card rail.
- The merchant's POS emits the sale. SyncPay reads a read-only event feed from the point of sale. Nothing changes at the counter and nothing sits in the authorisation path.
- SyncPay builds the record. The events are replayed into one itemised record, stored against a permanent code and enriched with the merchant's real identity and the fraud signals raised on that payment.
- Nothing is added to the card rail. The record is held against the acquirer reference number your settlement data already carries, so there is no new message type, no new field to populate and no scheme change to negotiate.
- You resolve it over the API. Your systems call SyncPay with the merchant and that reference number, and receive the full record. That call is the only integration work on your side.
Where no connected merchant exists for a transaction, the call returns nothing and your app falls back to the descriptor it shows today. Enrichment is additive. It never removes or replaces data you already display.
One integration, not one per merchant
The work of reaching every retailer is done once, by us, and it does not land on your roadmap or theirs.
- The data sits inside the merchant's point of sale. The receipt lines and the fraud context never leave the till on their own.
- Sourcing it yourself is a build per retailer. Every merchant, every POS vendor and every format they use, negotiated and maintained separately.
- The merchant then repeats it per bank. Each institution their customers bank with asks them for the same work again.
- So it stalls before it starts. Both sides are waiting for the other to absorb a cost neither can justify alone.
Which leaves two ways to get the record.
Direct, merchant by merchant
Every retailer is its own contract, its own data format and its own maintenance job, for you and for them. The merchant carries that cost again for each institution their customers bank with, so most of that work never gets built.
Through SyncPay
The merchant connects once and the record is available to every institution their customers bank with. You add one API call. Merchants that join later appear through the same call, with no further work on your side.