DoubleAgent Blog

I thought it would be interesting to estimate how much time DoubleAgent has saved its customers so far.

The first step is to find out how many actions it has taken on their behalf.

Action Count
Bank transaction explanations created 518,000
Invoices created 26,000
Attachments uploaded 4,300
Receipt photos uploaded 3,100
Receipt emails uploaded 2,500

Looking specifically at the Stripe reconciliations:

Action Count
Stripe payouts explained 6,700
Value explained £5,900,000
Invoices created 24,100
Explanations created 91,300
Average (mean) number of explanations per payout 14

And now the GoCardless reconciliations:

Action Count
GoCardless payouts explained 1,200
Value explained £432,000
Invoices created 1,400
Explanations created 5,400
Average (mean) number of explanations per payout 4

Overall DoubleAgent has put 577,000 updates into FreeAgent on behalf of its customers. If we say that each update would have taken someone a minute to perform, that's 9,600 hours saved – a significant amount of time! Not to mention all the typos avoided.

If you'd like to spend less time updating FreeAgent, why not try DoubleAgent yourself?

If you subscribe to any kind of service, e.g. web hosting, you'll get an email every month with your latest receipt or invoice.

DoubleAgent can automatically upload these receipts to FreeAgent for you, saving a lot of time. This is our Receipt Emails feature.

How does DoubleAgent know which bank explanation a receipt should be attached to? Via simple rules that you set up.

Over the past few days I have made some changes so the rules are even easier to use.

  • Receipt emails can be to/from anyone @ your domain, or your verified senders. (Previously DoubleAgent only accepted emails to/from your verified senders). This lets you use plus-addressing with your receipt emails.

  • You now have the option to keep emails which don't match any of your rules. This means you can start forwarding emails to DoubleAgent before you have rules for handling them.

  • In addition to the subject, you can now specify text to match in the body of an email. This helps distinguish emails with similar, rather generic subjects ("Here is your invoice!").

  • Each rule now has a "Preview matching emails" button. This helps you fine-tune which emails your rule matches.

  • If you use GMail, when you set up forwarding, GMail sends an email requesting confirmation to the destination address. DoubleAgent now confirms these requests automatically.

  • Every time DoubleAgent receives an email, it uploads it immediately (if a rule matches). Previously emails weren't uploaded until DoubleAgent next synced with FreeAgent, which could have been up to half an hour later. This makes it much easier to see your rules working.

  • You now have a button to run all your rules immediately, saving you from having to wait for the next sync.

  • You can delete receipt emails from DoubleAgent. This is handy if you've sent any test emails into DoubleAgent.

Just over 6 months ago, in response to popular demand, DoubleAgent gained the ability to upload TransferWise statements into FreeAgent. It quickly proved a valuable feature!

Now I'm not saying that over at FreeAgent HQ they study our every move for inspiration...but a few weeks ago they switched on a bank feed from Transferwise. I'm sure it's just coincidence :)

Anyway, it's great news for people with TransferWise accounts. And since the feature is no longer needed in DoubleAgent, I removed it. It always feels good to delete 719 lines of code.

DoubleAgent now has a third way to explain Stripe payouts, and this is the most efficient way yet. What do we mean by efficient? No matter how many charges or refunds are in a payout, whether 42 or 153 or 500, you'll end up with at most 5 explanations.

So how does it work?

When you explain payouts with invoices or sales transactions, DoubleAgent looks at every charge and refund in a payout and explains each and every one with an invoice or sales transaction. If your payout comprises 300 charges, you'll get 300 invoices or sales transactions. And 300 payment explanations for the Stripe fees (and 300 for the Stripe application fees, if any).

With the new method – rolled-up sales transactions – DoubleAgent looks at all the charges and refunds in a payout and groups them into three buckets: UK customers, EU customers, and everybody else. It then creates one sales transaction for the aggregate total in each bucket with the appropriate VAT and EC status. And then a payment explanation for the aggregated Stripe fees (and one for the aggregated Stripe application fees, if any). So you end up with between 2 and 5 explanations for a payout.

When your payouts contain a lot of charges and you're only interested in the overall total, rolled-up sales transactions are the neatest way to explain them in FreeAgent.

You can read more in our Stripe reconciliation docs or just sign up and try it out yourself.

TransferWise is a popular money transfer service which many FreeAgent customers use.

FreeAgent doesn't have a bank feed for TransferWise. If you have TransferWise bank accounts set up in FreeAgent, you have to add their transactions yourself. You can either do this one transaction at a time, which is unrealistic; or you can upload a statement file.

However if you download a CSV statement from TransferWise and try to upload it to FreeAgent, you'll find that FreeAgent doesn't accept it.

But here's the good news: DoubleAgent can do it for you. Upload your TransferWise CSV statements to DoubleAgent and DoubleAgent will submit them to FreeAgent in a format which FreeAgent accepts.

As you can see from our documentation, it's a one-step process. Unless you have multiple matching bank accounts, in which case it's a two-step process :)

This is the simplest and quickest way I know of to get TransferWise statements into FreeAgent. If you're a TransferWise customer, please try it out!

DoubleAgent has been reconciling Stripe payouts for over a year – but until now all payouts were explained via invoice receipts in FreeAgent.

This is ideal if your customers need invoices, or you need to keep track of your customers inside FreeAgent, perhaps to see each one's lifetime value.

However if you are simply making sales, perhaps in a shop, and you don't need to keep track of individual customers, explaining the payouts via sales transactions would be much better.

Good news: you can now explain payouts via sales transactions! DoubleAgent creates a sales explanation in FreeAgent for each charge in Stripe, along with payment explanations for the fees.

There's also a flexible way to embed useful information in each sales explanation's description in FreeAgent, so you can see at a glance any metadata from the original charge, or the customer's email, et cetera.

If you had been holding off from explaining Stripe payouts automatically because you didn't want to use invoice receipts, now is the time to get stuck in!

You can do more with DoubleAgent's bank transaction rules now.

Matching transactions

To help you match exactly the right transactions, DoubleAgent now has a bank account filter. This allows you to restrict a rule to one particular account, or leave it running against all your accounts.

Previously your options for filtering on a transaction's amount were limited to: any amount; greater than X; less than X. Now you can also specify an exact amount to match; or an amount between two values. This is useful for distinguishing, say, expense payments to a user from salary payments.

Explanation types

You can now also explain debits as Other Money Out, with all the relevant categories. Handy for Pension Creditor payments!

Split explanations

Previously you could only split an explanation once, i.e. explain a transaction with at most two explanations. That limit is gone and now you can explain a transaction with as many explanations as you need.

DoubleAgent also allows more types of explanations to be split than previously. For example, you can split Refund explanations now.

Finally, you can now leave a transaction partly explained. Until recently the transaction rules were set up to fully explain the transactions to which they applied. Now you can choose to explain the known part of a transaction, such as a fee, and leave the remainder unexplained.

That's it for now! Most of these improvements were suggested by DoubleAgent's users, so please do get in touch with your own ideas.

DoubleAgent's Stripe and GoCardless integrations use invoices in FreeAgent to explain all your customers' Stripe charges or GoCardless payments.

If an invoice already exists for a given charge or payment, perhaps thanks to a recurring invoice, DoubleAgent will use it. But if no such invoice exists, DoubleAgent will create a suitable one.

When it comes to numbering the invoices, FreeAgent supports global invoice sequences, per-contact invoice sequences, and per-project invoice sequences.

DoubleAgent offers you another alternative: your invoices can use a custom sequence specifically for your Stripe or GoCardless integration(s). This is particularly useful when your customers are paying you for a product or service – all your invoices for that product or service can use the same invoice sequence. You can't achieve this with FreeeAgent alone.

For example, let's say you offer a product called My Super Product and your customers pay for it via Stripe or GoCardless. You can have all the invoices generated by DoubleAgent automatically number themselves MySuperProduct001, MySuperProduct002, MySuperProduct003, and so on.

Here are DoubleAgent's docs for Stripe invoice sequences and GoCardless invoice sequences. It's easy to set up.

The idea for this came from one of our customers – thank you!

DoubleAgent can integrate with Stripe and GoCardless to figure out all the charges and payments and refunds and fees in each payout and book them correctly in FreeAgent.

Each charge or payment is booked against a corresponding invoice in FreeAgent. If an invoice for a given charge or payment already exists in FreeAgent, DoubleAgent uses it. If no such invoice exists DoubleAgent creates one.

When you create an invoice in FreeAgent you can have it emailed to your contact.

Now you can also have invoices created by DoubleAgent emailed in the same way to your contact. Invoices emailed like this show the payment received – which makes them useful for automatically sending invoices as (VAT) receipts. In fact I use this for sending out automatic payment receipts for DoubleAgent itself.

Here are the docs for emailing invoices via the GoCardless integration and the Stripe integration.

Whether you are out and about and have just paid for something, or have a folder of old receipts gathering dust, DoubleAgent can get your receipts into FreeAgent for you faster than using FreeAgent itself.

It works for all four kinds of receipt situation:

  • Out-of-pocket expenses
  • Pending transactions (where it hasn't hit your bank feed yet in FreeAgent)
  • Explained transactions
  • Unexplained transactions

The process is the same in each case: upload a receipt photo, type the receipt's amount, then either click a button (for an explained transaction) or fill in a few details and then click a button (for every other kind).

It works great on a phone. It's quicker than using FreeAgent directly. And if you want to upload a receipt for a pending transaction (i.e. where you have just paid for something from your business account), you just can't do it with FreeAgent – but you can with DoubleAgent.

I upload all my receipts now through DoubleAgent. Give it a try – I hope you'll like it.

You can read all the details in the docs for receipt photos.

If you are lucky enough to receive payouts from Stripe, you will know how much time it takes to account for them in FreeAgent.

Each payout is the net result of your customers' recent charges via Stripe, fees deducted by Stripe, refunds, and so on. To explain a payout in FreeAgent you need to log into Stripe, look at the balance transactions comprising the payout, see which Stripe customer each charge or refund was from, find or create matching contacts in FreeAgent, find or create invoices for those charges or refunds, settle the invoices with the correct amounts, and book the fees as bank payments. Phew!

DoubleAgent can now do all that for you. Simply connect DoubleAgent to your Stripe account(s) and, er, that's it. DoubleAgent takes care of the rest.

You can read more about this feature in the docs.

It's easy to try out: you just need to click two buttons. If you don't like it, click another button. Simple.

If you receive payouts from GoCardless, DoubleAgent can reconcile those automatically too.

If you are lucky enough to receive payouts from GoCardless, you will know how much time it takes to account for them in FreeAgent.

Each payout is the net result of your customers' recent payments via GoCardless, fees deducted by GoCardless, and so on. To explain a payout in FreeAgent you need to log into GoCardless, look at the payments comprising the payout, see which GoCardless customer each payment was from, find or create matching contacts in FreeAgent, find or create invoices for those payments, settle the invoices with the correct amounts, and book the fees as bank payments. Phew!

DoubleAgent can now do all that for you. Simply connect DoubleAgent to your GoCardless account(s) and, er, that's it. DoubleAgent takes care of the rest.

We use this feature to automatically reconcile DoubleAgent's own customers' payments, which arrive as GoCardless payouts, in FreeAgent. It's a big timesaver.

You can read more about this feature in the docs.

It's easy to try out: you just need to click two buttons. If you don't like it, click another button. Simple.

Next will be automatic reconciliation of Stripe payouts.

When setting up rules to explain your bank transactions, you can now filter by the transaction's amount – if you want to.

For example, let's say you have an employee called Joe Bloggs.

You could have one rule to match his salary payments as debits with Joe Bloggs in the description, which are greater than, say, £500.

And you could have another rule to match his expenses reimbursements as debits with Joe Bloggs in the description, which are less than, say, £500.

If the amount isn't relevant to your rule, just leave it as the default: any amount.

Hope this helps!

DoubleAgent now supports FreeAgent's Universal accounts. Overall, then, DoubleAgent supports all these types of FreeAgent accounts:

  • UK Limited Company
  • UK Limited Liability Partnership
  • UK Partnership
  • UK Sole Trader
  • Universal

Now that DoubleAgent has explained over 5,000 bank transactions automatically, it's time to introduce the next time-saving feature: uploading receipt emails to FreeAgent.

We all regularly get invoices or receipts by email, e.g. for web hosting or subscription software. DoubleAgent can now upload the attached receipt PDFs directly to the appropriate bank transaction explanation in FreeAgent. And if the email doesn't have a PDF, DoubleAgent will convert the email itself to a PDF and upload that.

The result is all your regular receipts are in FreeAgent, attached to the right transactions.

Then at year end when your accountant asks you to dig out the receipt for a specific month's web hosting, you've got it right there in FreeAgent – that's a time-saver there and then.

And should HMRC ever spring a surprise audit, which it seems they increasingly wont to do, you have all your recurring receipts and invoices filed correctly. Which is definitely what you want.

For over a year now, I have been explaining my bank transactions in FreeAgent with a single keystroke (which runs some code I wrote). Instead of clicking around in FreeAgent categorising the same payments the exact same way month after month, the code does it all for me.

This has saved me huge amounts of time. It is especially satisfying when you have fallen behind and accumulated hundreds of unexplained transactions – in just a few seconds you are up to date again.

The obvious improvement at this stage was to change things so my explanations would stay up to date without even having to press a key. That meant moving the code from my laptop to a server. And if I was going to do that, I might as well put it on the web so other people could benefit too.

DoubleAgent is the result. I want it to be simple, lovable, and complete – and I think it is.

Its first feature is rules to explain your bank transactions automatically. I have others up my sleeve but bank transactions are first. Give it a try and let me know how you get on!