Why we built Sync for Expenses

Boring things are usually undervalued. They also tend to be useful. People wouldn’t do them otherwise. They’re boring.

At Codat, our interest in these undervalued, useful things is why we are obsessed with accounting automation. Bookkeeping is unglamorous but essential operational work. Small businesses that do it best tend to win in the long run. They find it easier to control spending, pay the right amount of tax, operate efficiently, access finance, and manage their cash flow. 

Automating accounting processes is a challenge both for small businesses and those who build products for them. What seems like a workflow automation problem is in fact a set of distinct and deceptively hard data transformation problems. Each involves thousands of unique interactions between complex data structures in different small business systems. 

Codat’s Sync for Expenses API solves accounting automation for expense management. With Sync for Expenses, card issuers and expense management platforms can launch accounting automation in the space of a few weeks. Tapping in to Codat’s proven-at-scale infrastructure and rich feature set gives providers an easy way to deliver a feature that would otherwise take months or even years to design, build, and maintain from scratch.

The killer feature in a booming market

The importance of accounting integrations in the corporate card and expense management space can hardly be overstated.

Small businesses increasingly want to manage more of their business in one place. Accounting automation is one of the key pillars of a complete financial operating system.

Capital on Tap, a small business credit card provider with over 200,000 users, chooses Codat to build these mission-critical integrations. As Damian Brychcy, Capital on Tap’s Chief Operating Officer puts it:

“Our business is designed around making the lives of small business owners easier and having all of their Capital on Tap activity sync with their accounting platform saves them time and money running their small business.

We find that customers who integrate their Capital on Tap account with their accounting software via Codat tend to be much stickier and it has significantly helped us reduce churn.”

Introducing a new API

We built Sync for Expenses to solve the complex problem of accounting automation for expense management. With Sync for Expenses any expense management platform or corporate card issuer can give customers feature-rich and reliable integrations with accounting software.

Sync for Expenses does not just solve standardization across different accounting platforms, it also solves the translation of expense data into accounting data. In practice this means developers no longer have to “learn accounting.” Transactions can be pushed in a familiar expense format without worrying about how to represent different types of transactions in accounting.

Berlin-based Pliant, a digital credit card solution provider that recently raised $28 million to scale their product across Europe, chose Sync for Expenses to integrate their corporate card and expense management platform with Xero and QuickBooks Online.

As Fabian Terner, Pliant Co-Founder and CPO, put it:

“Sync for Expenses has transformed our ability to integrate with multiple accounting software tools quickly and efficiently, while reducing the workload of maintaining those integrations in parallel.

With Codat’s platform, we’re able to focus on delivering the best possible product to our customers without worrying about the complexities of integration.”

Why we built a new API

Accounting integrations are highly valuable but equally high in complexity, especially for developers interacting with advanced bookkeeping concepts, multiple APIs, and complex data structures.

All the leading accounting platforms provide APIs for building connected products. However, there are two main challenges:

  1. Expenses are complicated 
  2. Different accounting platforms behave differently

While accounting platform APIs are often well-documented and reliable, they serve an extremely wide variety of use cases. The platforms and their developer programs do a great job of opening up the ecosystem, letting other applications connect, and bolstering their value for their small business customers.

In expense management though, the real hard yards of integration are not so much in the connection itself as the integration features. It is relatively easy just to retrieve and send data. The hard part is knowing what to retrieve, what to send, and when.

Differences between platforms compound this challenge. It is not a case of solving the expense management business logic once and applying it across platforms. Similar data can be structured very differently. Protocols like authentication, rate limits, error messages, and so on are unique to each platform. Platforms have different feature sets, and they rarely agree on the best way to “do accounting.”

What corporate card issuers and expense management platforms need to do to build accounting integrations

Platform partnerships
Create Developer accounts for accounting platforms and fulfill partnership criteria.
Business analysisAcquire deep knowledge of the processes being automated, user requirements, and possibilities across different platforms.
Integration fundamentals
AuthenticationAuthenticate users, store authentication tokens, and refresh them when necessary. Handle deauthentication and deletion in line with the various platform policies.
Rate limitingExpense management is an integration use case that can start to hit accounting platform API rate limits relatively quickly. This means you will need to batch push expenses and build a queue system.
Error messagingDevelop across multiple APIs with generic error messages that are not specific to your use case.
Expense management features
Transaction typesDesign a comprehensive list of transaction types that is long enough to give your users flexibility without being so long as to be impractical.
Data modelsDesign and map expense transaction data models that can transform raw data from your platform into clean and useful accounting records.
User configurationLet users map their expense categories against accounts in the chart of accounts.
Chart of accountsWatch the chart of accounts for changes that could break the integration mapping. Webhooks are usually provided by the underlying platform.
Receipt attachmentsSync receipts in various file formats to accounting to give the user a full audit trail.
Quality and reliability
IdempotencyAvoid creating duplicate records with a consistent way to identify transactions and associate unique ids between the expense platform and accounting.
ScalabilityCorporate expenses can represent large datasets. Accounting integrations must be very reliable as any erroneous data can create lots more work for users.
Efficient development
API maintenanceAccounting platform partners frequently update their APIs and deprecate some features.
StandardizationDo everything all over again for every new accounting platform or package.

A step change for developers

Developers have long been able to use an iPaaS (integration platform as a service) to ease some of the pains of getting multiple different systems to talk to each other.

More recently, providers like Codat have pioneered the category of business data APIs. These APIs standardize more of the integration experience across platforms. Where iPaaS normalizes some of the bare bones of integration, Codat provides a deeper layer of standardization. They map data to common models so that information can be retrieved and written back to platforms in a standard fashion.

We realized there was more we could do to offer a comprehensive solution and accelerate speed-to-market for the start-ups building on Codat.

Fully-automated accounting in expense management

Two principles guided our development of a product that we wanted to be more than an iterative improvement on the current options:

  1. Solve the whole problem from first principles up
  2. Make zero compromises on accounting

We aimed to “solve the whole problem,” tackling every aspect of expense management, from receipt capture and categorization to sync scheduling and reconciliation. “Zero compromises on accounting” meant that accurate and compliant accounting was non-negotiable, however deep into the bookkeeping weeds we had to go.

Too often, integration solutions cut corners on accounting rigor. This leads to errors, inconsistencies, and ultimately more time-consuming work for both developers and users. In Sync for Expenses we have embedded accounting best practices within an easy-to-use, standardized, cross-platform API.

Example: credit card refunds in QuickBooks Online

When mapping expense transactions to QuickBooks Online for example, Sync for Expenses ensures that credit card purchases are shown in the expenses section, and refunds are counted as a credit card refund. Using the best representation within the accounting package like this avoids unintended consequences. For example, a bill and bill payment could be used for a credit card transaction, but this would affect business metrics like days payables outstanding.

One challenge in developing this feature against QuickBooks is that credit card credits can only be used for a credit account. Sync for Expenses, therefore, selects “deposits” as the correct place to map refunds made to debit accounts. This is because “deposits” has all the right information and is a logical place to see a refund.

This is one example of mapping a type of expense transaction in a single accounting platform. There exists a dizzying array of possible pairs, each of which can represent a complex data transformation problem.

In our work with one major corporate card issuer, we worked through 144 different transaction types. Every one of these types can be mapped against one of the eight high-level transaction types available in Sync for Expenses. Through our beta period, this logic has been tested and optimized at scale with tens of thousands of small business datasets.

The future of expense management

Sync for Expenses represents a step change in the development of expense management platforms. In the same way as providers like Marqeta, i2c, and Lithic have enabled a new generation of fintechs to issue cards, Sync for Expenses lets any issuer provide accounting automation with minimal lift.

With accounting automation solved, our clients can get on with the job of building the complete financial operating system for small businesses.

For fintechs like Pliant and Capital on Tap, Codat serves as the scalable, rich, and easy-to-use interface between the new small business financial hub and the other business-critical systems of record.