\n \n\nTLDR; We create virtual bank accounts for every customer and add that to the invoice. When a payment is received to the virtual account, we match the amount with the invoice and create the accounting entries.\n\nBusiness owners and controllers spend considerable time and effort on invoicing. Creating invoices, sending them, following up on payments, reconciling payments is a major time sink. We have started by fixing the hardest problem, reconciliation.\n\nWith Cycle, since we combine banking and accounting together, we can automate most of the tasks. You create an invoice and send it to your customer. The customer pays the amount to the bank details in the invoice. As soon as the money lands in the account, the invoice is automatically matched with the transaction and the accounting entry is created, automating everything from start to finish.\n\nWhy reconciliation is hard\n\nReconciliation, the process of matching transactions to the invoices you sent, is the hardest part of invoicing.\n\nYou start by receiving a list of transactions loaded into your accounting system. You have to match each transaction to the invoice it belongs to. You have five pieces of information to work with:\n\n \nReceiver’s name, not useful to us \n \nReceiver’s bank account, not useful to us \n \nSender’s name, limited usefulness \n \nBank description, might be useful if the customer adds the invoice ID when paying \n \nThe amount: the most useful piece of information. \n\n\nSo the only two pieces of information we can reliably use for reconciliation are the bank description and the amount.\n\nThe number of customers who reliably enter the invoice ID, when they are paying us money for our sole convenience, is so low that the only reliable workaround is to add a discount line item that tweaks the last two digits of an amount and use that to match the invoice. Instead of the total being $1,000, it becomes $999.98, and you use that to identify the invoice.\n\nThis also fails at scale as fees get deducted in transit, the bank might take a cut changing the amount by a couple of cents. It completely falls apart for international transactions.\n\nNo amount of AI can solve reconciliation when even humans can’t reliably match a payment by just looking at the invoice and the amount.\n\nThe solution: one virtual bank account number per customer\n\nWhen you create a new customer for an invoice, we assign a virtual bank account number for the customer and populate the invoice with that bank account’s details. The virtual bank account maps to the bank account of your choice.\n\nWhen a payment is received to the virtual account number, we now have one more piece of information: which customer sent it. We take the list of open invoices for that customer, match the amount to the closest one, and mark it as paid.\n\nMatching works by sorting open invoices by how close they are to the transaction amount, and auto-confirming the match if the difference is within a small threshold. If two invoices are equally close, we match the older one first.\n\nThis also improves security. Since only the virtual account number appears on the invoice, the actual bank account is never exposed publicly.\n\nWhy not one bank account per invoice?\n\nWe cannot control what our customers use for payments. They might have systems that store the last known account number and send the payment to that account number.\n\nAlso, the number of invoices a customer has is smaller and much more predictable, so we decided to scope it per customer.\n\nWhat about accounting?\n\nSince Cycle has accounting built-in, we allow the user to define the receivable and income account for the customer. When the invoice is created, we record the income from the customer to the receivable account.\n\nWhen reconciliation is done, we record the payment, balancing the account, without any manual intervention.\n\n \n\n\nThe setup is simple, but the only reason we can automate all of this is because we combine business banking and accounting in one place. That is what lets us create virtual bank accounts per customer, match payments to invoices, and automatically create the accounting entries.\n\nWe are just getting started, and we are not public yet. You can sign up for the waitlist here.\n","tags":["cycle","invoicing","zero-reconciliation"],"draft":false,"header_img":"images/home/blog/zero-reconcilation-for-invoices/screenshot.png"},"flash":{}},"clearHistory":false,"encryptHistory":false}">