Smart Invoice Hack
Hackathorn idea to build a chatbot for invoice assistance
As a business, product inventory is optional, providing a service is optional. But almost by definition, you need to pay, or get paid. Without payments, there’s no business.
Unlike consumer payment, majority of small businesses are still writing paper checks. Therefore making it easier for millions of business to use systems such as QuickBook Online or other payment systems. This will help the very fundamental part of this economic engine.
Invoices capture all the necessary information about a payment. However, in countries like the United States, there’s no unified format for invoices. It poses a great challenge to extract relevant information for making electronic payments. In the enterprise world, the finance department can request vendor to have a PO number on their invoice. In doing so, the system can search for a particular string pattern and then perform a database lookup. Later on, people used template-based approach to extract information from predefined areas on an invoice. Some approaches also require CRM integration effort, such as performing vendor lookup. All of these are not suitable for millions of small businesses.
Even with the current improvements in technology, we are still not there yet. Google Vision API is the state-of-art OCR field. It only extracts text strings out of an image without assigning business meanings, such as which number represents the total amount of an invoice. Good computer vision services, like Clarifai, has yet to provide the type of API needed to reach the level for invoice processing.
The solution is to extract relevant information from an invoice. A white-labeled app will guide users through record creation process, mostly just through verification and approval. The end results are digital records in QBO that will be created for payment services.
U - User
C - Chatbot
U: Upload a document via chatbot or a website.
C: popup, ‘I see you upload a document, do you want me to help you creating a bill?’
U: ‘Yes, please.’
C: calling MLReader, extracting information
C: ‘Is this for <vendor_name>’?
C: ‘I see you spent <amount> on <invoice_date>.’
U: ‘Yes, we had a good time there.’
C: ‘It is due on <due_date>, do you want me to schedule the payment?’
U: ‘Hmm, no rush. Let’s see if we can win anything here.’
C: ‘Alright, I’ll put a Net 30 on the it. Good luck.’
C: ‘The vendor <vendor_name> is not in your vendor list, do you want me to create one for you? I see its address is at <vendor_address>. We will send a payment to that address. Is that right?’
U: ‘Yes. Let’s do that.’
C: ‘I have created the vendor, and scheduled the payment in 30 days’.
C: ‘Of course. Say hi to all judges, and tell them you need to win to pay this bill… Good luck’
If you need help building a project like this, please let us know.