Bookkeeping spotlight

Dan Murphy, Posted on February 11, 2014

Old School Accounting

We typically think of sales & marketing as the “beginning” of the sales funnel and the payment as the “end”. But if you look at things from the perspective of the back-office, payment/payout transactions are actually where the work begins. This post hopes to shine a little light on the bookkeeping and financial reporting part of the back-office.

What is bookkeeping?

Financial transactions have to be accounted for in the merchant’s ERP system (aka: accounting system or general ledger) in order to produce financial reports for business management and audit purposes.

Bookkeeping is the process of:

a) structuring raw transaction data (e.g. payment gateway Excel dump) in accounting format and

b) recording it in the ERP.

Here’s an example of a very simple transaction and it’s associated accounting entry.

Transaction: $100 purchase, where the seller takes 80% of transaction value and 20% goes to the marketplace.

Accounting entry:



As you can see it’s not a simple copy/paste job and therein lies the art of bookkeeping. As the transaction volume increases it becomes an unwieldy task to close the books every month. Typically these three areas become real pain points at scale:

Finance team time burn

Bookkeeping and financial reporting is a labor intensive monthly process for the finance team that scales with payment volume. The stopgap solution is to add more people to the finance department.

Audit risk

With a semi-manual process like bookkeeping there is inherent human error risk. To mitigate this risk a lot of finance team time is spent re-checking financials to ensure that they are ready for external audit.

Engineering time burn

At scale accounting for in-application transactions become unwieldy and the solution is typically:

a) start building some sort of automated subledger internally to automate the process or

b) implement an enterprise style ‘all in one’ billing solution like Zuora

Both options require significant engineering effort and distract from the business from it’s core competency.

We think the day has come where you can mash-up your payment API and Subledger to automate the payments and bookkeeping part of your back-office. #ProgrammableCommerce

Cryptocurrency Accounting

Dan Murphy, Posted on January 31, 2014


A bitcoin can be divided down to 8 decimal places. Therefore, 0.00000001 BTC is the smallest amount that can be handled in a transaction. If necessary, the protocol and related software can be modified to handle even smaller amounts. ~

We are excited to announce that we have the capability to account for cryptocurrency transactions!

Cryptocurrency which includes the likes of Bitcoin, LitecoinRipple and Dogecoin are democratizing money transmission. Cryptocurrencies have been gaining popularity since 2009 as a way to implement a decentralized and secure information economy.

Because of their use of 8 decimal places traditional accounting solutions can’t handle cryptocurrency. With Subledger, we’re able to handle up to 12 decimal places, meaning we are fully equipped for any Bitcoin, LitecoinRipple and Dogecoin transactions, and prepared for any of the new and emerging crypto currencies on the market.

If you’re building or operating crypto-currency services (gateways, market-makers etc) and you need to track fiat-currency and crypto-currency balances your your customers while getting real-time audit ready financial reporting, ping us at and we’ll get you set up!

Programmable Commerce and the High Velocity Back Office

Dan Murphy, Posted on December 18, 2013

The high velocity business model is becoming more and more common, with e-commerce platforms like Uber processing over 1M transactions per week. High velocity businesses are driven by super scalable customer acquisition and product delivery channels, but the back office often relies on homegrown software, spreadsheets and boring data entry work (seriously this still happens today!).

A new wave of companies are making the high velocity back office possible by providing core back office functions via API. A few key players include:

1. Balanced, Braintree, and Stripe handle payments

2. Coinbase for accepting Bitcoin payments.

3. Standard Treasury, COREFXBancbox, and more manage banking

4. Subledger (us!) takes care of accounting

5. Companies like Lob do printing and posting

6. Ripple is excellent for currency exchange

7. Card Flight enables card present payments

Independently, these companies handle specific pieces of the back office, but still don’t create a holistic, automated solution. However, by combining these APIs together using preconfigured commerce logic we can create a completely automated high velocity back office for the commerce application. We are calling this open, modular approach programmable commerce.

An Example: How Programmable Commerce Works

Take an example from an Uber or Lyft style application. There are several events required to process a transaction, and each have commerce logic associated with them:

Event 1: Ride Complete

Step 1: Calculate ride_charge

Step 2: Get relevant sales tax sales from sales tax API.

Step 3: Add sales tax to ride_charge

Step 4: Account for ride_charge receivable from customer and earnings payable to driver.

Event 2: Charge Customer Card

Step 1: Charge customer’s card for ride_charge with payment API

Step 2: If the customer’s card is successfully processed, account for ride_charge received

Event 3: Pay Driver (end of month)

Step 1: Payout driver for earnings during month with payment API

Step 2: Account for earnings payout made to driver

In this simple example the payments, accounting, and sales tax APIs are all working seamlessly together throughout the process.

What’s Next for Programmable Commerce?

Here at Subledger, we’re working on making programmable commerce easily accessible. Our newest application, Plug N’ Play, is a simple rails app you can send transaction data to and it will account for the transaction automatically using pre-configured accounting-logic.

When Plug N’ Play is ready early next year, we believe it can be tweaked to incorporate other core commerce functions such as banking, payments, and more. Our hope is this will enable developers to copy/paste an entire back-office into their application.

We’re at the beginning of a new era of programmable commerce, and there are so many great startups making it possible. We are looking forward to working with everyone to build an open and modular financial ecosystem.

Please leave your thoughts on #ProgrammableCommerce in the comments below or ping me an email on

If #programmablecommerce excites you, please share with everyone  😉

Here’s a tweet: “How do you create a high-velocity back office? Welcome to #programmablecommerce

We Love the Money Teams

Dan Murphy, Posted on November 21, 2013


(Above) The Scripted team rocking our Money Team t-shirts

“The term “Money Team” was introduced to me while staying at an Airbnb in Santa Cruz. One of the guests was working at Uber, and she told me that they have a group called the “Money Team” that is a combination of finance and engineering folks. Between them, they handle things like payments/payouts, currency exchanges, accounting and financial reporting.” – @dantmurphy

Here at Subledger, we LOVE the Money Teams!

Just like the Growth Teams at companies like Twitter and Facebook are tasked with increasing user growth and scaling, Money Teams are responsible for building the systems to handle money flowing through the application at scale.

Subledger enables Money Teams to automate the accounting and financial reporting part of their commerce application, which is pretty handy when you’re doing thousands of transactions a day.

We think that the Money Team in every company are Rock Stars! So we hit up Eric at Camputee Press in San Francisco to print some sweet Money Team t-shirts with just the right amount of gold bling, and we’re thrilled to give them out to Subledger’s closest friends and customers.


Announcing Rent My Bikes Demo with Balanced

boocx, Posted on November 7, 2013

Today we’re excited to announce a neat demonstration marketplace using Balanced and Subledger.

Balanced is a seamless payments API for marketplace businesses to charge buyers, hold funds in escrow, and pay-out sellers with ease. We think Balanced is a great product and we are thrilled to see our APIs working together.

Balanced released a demonstration marketplace called Rent My Bikes, an Airbnb-like platform for bicycles using the Balanced API. We noticed that while Balanced enabled the money to move through the marketplace, generating accounting/financial reports still required the use of spreadsheets and/or custom development.

That’s where Subledger stepped in. We added the Subledger API to the Rent My Bikes marketplace, adding these accounting features to the marketplace:

  • ‘One-click’ accounting reports, enabling the finance department to instantly generate audit-ready reports like trial balance sheets and sales reports for the marketplace.
  • Showing buyers and sellers on Rent My Bikes their account balance and transaction history
  • Quickly showing the Rent My Bikes management team where they are financially, answering questions like:
    • Do we have enough funds in escrow to service our Account Payable to sellers?
    • Are we making a profit?
    • Who are the most profitable sellers?

Check out the the live demo here.

You can check out the code behind this version of Rent My Bikes on Github.

Here are some of the key features:

1. Financial Health Check

Screen Shot 2013-11-07 at 10.54.58 PM

Running a successful marketplace business always involves holding money on behalf of other people, including sellers and customers. You might have $400,000 in your marketplace’s escrow account, but $350,000 is payable to sellers, $10,000 is tax and $40,000 is your revenue. This sort of breakdown is critical to understanding the health of the marketplace and ensuring you have funds available for payouts.

In the Rent My Bikes demo, you can see how this breakdown works in the reporting section of the Subledger application. Click ‘GO!’ and watch Subledger generate the Balance Sheet in seconds.

2. Audit Ready Accounting


Your CFO is in charge of the financial health of your business, but they also have to produce ‘audit ready’ financial reports that tie-out to transactions in the marketplace. Subledger records every transaction in double-entry accounting format with a reference URL to a document proving that the transaction occurred (ready for the even the pickiest of auditors).

In the Rent My Bikes demo, you can see every transaction posting as a double-entry journal entry in the Activity Stream.

3. Seller/Buyer Transparency

Screen Shot 2013-11-07 at 10.57.23 PM

Having a clear statement of user financials is critical for reducing billing related support tickets, particularly as the amount of buyers and sellers your company has to support, begins to grow.

With Subledger, both buyers and sellers have easy access to their current balance, transaction history, and a link back to a reference document (receipt or invoice) proving that the transaction occurred. This also allows for easy refunds, as they show up immediately on the customers account. Rent a bike and check out the “My Account” section in Rent My Bikes to see how this works.

We hope you like the addition of Subledger to Rent My Bikes and that it gives you a taste of the power of both services combined.

We will be adding to Rent My Bikes (sales tax, currency exchange etc) over the coming months, so please let us know if you would like to see anything in particular.

Have questions about how it all works or you just want to say hi, ping me an email

Challenges with building your own in-app accounting system

Dan Murphy, Posted on March 5, 2013

Interview with Nick Giancola, Partner at


Dan: Tell us a little about your background and what you do?

Nick: I’m a partner at philosophie. We’re a software consultancy specializing in designing and developing web applications for clients, ranging from early-stage startups to large enterprises. Personally, I’ve been building web software for the past decade.


Dan: What sorts of clients typically require ‘in-app accounting’ functionality?

Nick: Any company dealing with a large number of transactions. In my experience, mostly e-commerce companies.


Dan: What is the main reason they build ‘in-app accounting’?

Nick: Businesses tend to manage their accounting manually for as long as possible, pulling CSV data to run reports and manage accounts offline. However, as a business scales, whether it be more transactions between users or more partners becoming involved, really any substantial increase in volume, you’re faced with the decision to either hire more accountants to manage this higher volume or invest in automating the accounting-related tasks and build in-app accounting functionality.


Dan: What is ‘in-app accounting’? What does it do?

Nick: Essentially it manages the effect of transactions on involved accounts. For example, as an order is placed, ‘in-app accounting’ may be responsible for dividing up that order among multiple partner accounts based on a predetermined, or sometimes variable, revenue share agreement. It should also be able to generate reports on that data in ways that are useful for the accounting and business teams as well as investors.


Dan: How do you do this today? How much developer time does it take?

Nick: Most of the serious in-app accounting implementations I’ve seen and worked on have been custom built from the ground up. The time and resources required vary wildly depending on the needs of each business… I’d say on average you should be prepared to invest 2 months and 1 or 2 developers to get it done right.


Dan: What are the ongoing maintenance requirements for a DIY accounting solution like this?

Nick: Pretty much the same as any custom software: Server maintenance, constantly increasing data storage requirements, developer resources to handle bug fixes and technical debt like that…


Dan: We’ve talked about using Subledger instead of building your own solution, what do you see the benefits of this approach being?

Nick: Implementing a pre-built solution like Subledger could save your entire team a whole lot of time. Building custom solutions requires a lot of coordination and commitment from the whole team (not just the devs) to ensure the resulting system performs as needed. With a service like Subledger that could meet the needs of the accounting team and handle the financial subtleties of the business, you can build, launch, and iterate your product faster—saving your resources to focus on what really matters: the user.