Every company we work with has a way of doing things that no software vendor designed.
Every company we work with has a way of doing things that no software vendor designed. A production company thinks in episodes. A property manager thinks in buildings and floors. A fleet operator thinks in vehicles and trips. For too long, finance tools have asked all of them to translate that reality into the same four boxes: project, cost centre, department, location.
We decided to build the other way round. The releases we have shipped over the past months have one thread running through them: the platform should adapt to the business, not the business to the platform. Here is what that looks like in practice, and why it matters for the companies and partners we serve.
Cost codes: dimensions you define
Cost codes in Cardlay are now fully flexible cost dimensions. You are not limited to project, cost centre, location and department. You create the attributes your business runs on, in whatever hierarchy you need: Vehicle, Trip, Production, Season, Episode, Property, Floor, Unit, or anything else your vertical calls for. Each one becomes a structured field on every expense.
They are also live. Cost codes can be created and updated in the user interface or through our API, and kept in sync with the ERP in real time. Some of our customers run close to 200,000 cost codes this way. Employees pick from an always-current list on their phone, and finance receives transactions already coded the way the ledger expects.
The result is less rework at month-end, and reporting that finally describes the business as it is.
Spend policies: approve the routine, flag the exception
Most expenses are fine. The cost of reviewing every one of them by hand is that the ones that matter get the same ten seconds as the ones that don't. Spend policies change that.

Companies now define their policy rules once, and the platform checks every expense against them as it arrives. Compliant expenses are auto-approved. Non-compliant ones are automatically flagged, so approvers spend their attention where it earns something. Policy becomes something the system enforces rather than something a handbook describes.
And we are in the midst of public launch of native mobile approval. Managers will be able to approve expenses on the go, directly in the app, so the exceptions that do need a human decision don't wait for someone to get back to a desk.
Intelligent cards: transactions that code themselves
A card used for one purpose should not need a human to explain each transaction. Intelligent cards carry their coding with them. When a transaction arrives, it is automatically coded based on how the card was set up, with the right cost dimensions and category already applied.
That turns three use cases that used to be messy into a breeze for both expense and invoice handling:
Procurement cards for recurring purchasing by a team or function
Subscription cards for software and services billed every month
Cards on file with suppliers, where the same merchant charges again and again
Nobody has to chase the cardholder for details they already gave when the card was issued.
Your ledger, your way
We have replaced fixed category lists with fully flexible categories. Whatever your general ledger looks like, ten accounts or ten thousand, one entity or thirty, the platform adopts it as it is. You keep the ledger that suits your business instead of mapping it into someone else's predefined boxes.
We also know that many of our users are not accountants. If you run a small company or work for yourself and "GL code" means nothing to you, you have two options. Pick one of our standard templates and start. Or let Spencer, our AI, set it up for you: take a screenshot of your existing accounting setup, and it reads your GL codes and builds the structure automatically.
For everyone, GL codes are translated into plain, friendly names throughout the interface. Employees choose "Client lunch", not "6410-02". Finance still gets 6410-02.
Spencer: AI that takes the admin off your plate
Behind much of the automation above is Spencer, our AI. When an employee submits an expense, Spencer reads the receipt, pulls out the merchant, the amount and the other details, and fills in the expense before anyone types a thing. It places the expense in the right category, so the employee confirms rather than fills in.
Spencer stays on duty through approval. It checks that the image is actually a receipt, and that what was entered lines up with what the receipt says. When something is off, the approver sees exactly what to check, right next to any flag raised by the company's spend policy. Exceptions arrive with the reason attached, instead of having to be hunted for.

It is also what reads your existing GL setup from a screenshot during onboarding. Our aim is simple: an employee's job is to spend wisely, not to do data entry, and an approver's job is to decide, not to audit. The more Spencer and the intelligent cards handle in the background, the closer we get.
Behind the lines: administration built for the administrator
Not every release is visible to the employee snapping a receipt. Some of the most requested work this year sits in the administration experience, where finance teams spend their day.
Tables across the platform can now be fully customised: add and remove columns, resize them, and arrange the view you want. We have added new filters across all tables. Layouts can be changed on both web and mobile, so an approver on the move and a controller at a desk each see what they need and nothing else.
Small things, individually. Together they are the difference between a tool you tolerate and one you prefer.
Built with our partners
Many of our customers reach us through partners: banks, issuers and fintechs who put our platform inside their own apps. Our job is to give them functionality that makes their app special, not just functional.
Two recent examples. Bonus programmes: partners can bring their own bonus and loyalty programmes into the app, so the card the employee already carries works harder for them. Member codes: companies can make special discount offers or preferential rates available to their employees directly in the app, and manage it themselves through the administration interface. No ticket, no project.
Our fleet solution is maturing along the same lines, with the flexibility described above applied to vehicles, drivers and trips.
10 languages, 12 markets, one integration layer
Today Cardlay runs in 10 languages across 12 markets, and both numbers keep growing. As we enter new markets with partners, we add the languages and the local integrations each market needs.
Underneath it all sits the part of the platform most customers never see: the unifying layer that connects us to card processors and issuers. We have significantly increased the number of processor and issuer integrations we hold this year, and we believe no other provider in our space has integrated with as many across the globe. When it comes to connecting to processors and issuers, we would put our expertise up against anyone's.
For a bank or issuer, that means a modern commercial card and expense experience on the infrastructure they already run. For their customers, it means the flexibility described above arrives without a migration.
What drives us
None of this started as a feature list. It started with customers telling us how they actually work and asking why their software could not keep up. Flexibility, automation and reach are our answers so far, and there is a great deal more on the way.
To our customers: thank you for pushing us. To our partners: thank you for trusting us inside your products. The best way to shape what we build next is to keep telling us what you need.





