📜 ⬆️ ⬇️

Rise of the Machines: How robots captured accounting

Button wars are in full swing, robots continue to advance, machines are trained many times faster than people, but Andrei, the owner of a Moscow coffee house, is becoming more and more happy ... On this Friday the day before we decided to share with you the story of Button, which last year created a robot to rescue accountants from routine work, and is now engaged in the development of artificial accounting intelligence.



Button - back office for entrepreneurs. We keep accounts, solve legal issues and take away the routine.

In 2016, the Button developers created many robots, 42 of them in total. They are our assistants, they take over the routine of the accountant: one recognizes documents, the second sorts them, the third holds a bank statement. Each robot has a name: Razukozhka, Sorting, Explorer, there is even a robot Alarmist. We tell why we need helpers with artificial intelligence and how they work.
')

Technical introductory


Our clients communicate with us through a web application or in a mobile application on iPhone or Android. The web application is developed on the .NET platform. First there was Java, but now it is almost gone. Recently moved applications to Azure .

Accountants keep records of thousands of client bases in the 1C system. To store the databases, we use the technology of the cloud system 1cFresh, and numerous robots who live where - part in Azure, part on our servers.

So we are sure that all documents, customer databases and other data are safe.

Tells the developer Buttons. Why switched from Java to .NET :

1. Our application at that moment is a legacy that we received after 5 years of development. It was created without the use of any engineering practices. The structure of the code and the lack of testing created enormous difficulties in writing new features. To make at least some small change, we spent a lot of time and effort. In addition, the application was designed in such a way that any tests had to be very long and inconvenient to write. Unit testing did not exist. There were only integration tests that used a live base. As a result, all the tests took place for hours.

2. Due to the fact that there was one Enterprise in the application and he drove another Enterprise, our application took a very long time to unfold and assemble. Long is up to 40 minutes. It took a lot of time to build and deploy the application after the slightest change, or just to look at how some feature looks on the form in the layout. Appeared build hobby. :)

3. It became obvious that we should write new features in a separate application from the side. Our competences in .NET at that moment became much more - we changed the team. The team unanimously recognized that the C # language is much nicer than Java. In addition, in .NET there are such technologies as Linq, which allow you to deal not with a real base, but with its full InMemory implementation.

4. Most of our application works with 1C. And we do it in a very controversial way through the COM API, COM - works only in the Windows environment and. NET has native support for COM. That is, we still had a lot of code on .NET, and the team saw that this code was nicer.

As it was before the robots


1C is able to prepare any reporting, but for this it is necessary to constantly maintain the current state of the accounting base. Someone must enter primary documents into the system, import and post a bank statement, create and post accounting documents. And fix errors that occurred during operation. These are important tasks, but they take a lot of time.

For example, in order to process a bank statement, for each payment you need to determine what type of transaction it relates to: payment to the supplier, return to the buyer, cash withdrawal, loan issuance to the counterparty, and so on. The accountant, knowing the features of the client, will accurately determine the type of operation and correctly conduct the payment in 1C.

But each payment processed by an accountant means that as the client base grows, we will have to increase the number of accountants. We considered that we would not have a future with such an approach.

We decided to develop machine learning and create an artificial accounting intelligence in order to automate bookkeeping with it. The system will perform 90% of all accounting operations itself, and only 10% will require human involvement.

As it is now


Andrey is the owner of a small coffee shop in Moscow. Every day he buys food from suppliers, feeds Muscovites with excellent pastries and treats coffee.

Accounting leads to iiko , and Button trusts the accounting department . Primary documents are carefully collected and brought to our Moscow office once a week. We work with the primary organization: we scan, sort and send to counterparties. Documents are available to the client in the cloud, the originals are stored in fireproof cabinets, and the scans immediately go to the document conveyor.

First of all, we begin to scan the primary Andrei and receive pdf with all the documents in one file. To divide the documents, the robot Razukozhka enters the work. He turns pdfku 150 dzipegov.

Then the robot sorter looks at each scan and understands which of the documents is the act, which is the DFC, and which is the waybill. He carefully sorts them and puts them in the right folder.



Scans are different. If the document is upside down or lying on its side, Sorter turns them over so that the person is comfortable reading.

Inside the Sorter, there are two convolutional neural networks - one for turning, the other for document classification. It took 40 thousand hand-marked scans to train the networks.

Then all the text in the document is recognized by another robot. It determines the name of the client, counterparty, date, number and the entire textured part. For recognition, we use the solution from our partners, who, in turn, use ABBYY software.

And only after that the scan gets to the accountant:



The accountant checks and clicks the "Save" button.

Further the robot Explorer turns on in work, it saves each document in 1C and carries it out.

After that, the accountant checks all receipts and debits from the company's current account. For this you need a statement from the client’s bank account. Previously, we had to request it from all customers.

Now everything is easier. In order to receive an extract without a client, we integrated with Alpha, Point and Tinkoff Bank. Clients do not need to log into the Internet bank, download an extract and send it to an accountant. And in 1C is always up to date information on payments. Also, an extract from these banks is displayed in client applications. The remaining banks are still serviced manually.

But just copying the payment from the bank to 1C is not enough. Each payment must be properly carried out - and this also makes a special robot. For training used hundreds of thousands of payments made by hand.

But before that, we had to agree with all the accountants of the company in order to carry out an extract in the same way. It turned out that there is creativity in accounting. :)

As a result, 97% accuracy of discharge was obtained - this is comparable with the accuracy of a person.
When everything is done and verified, the accountant Irina sends Andrey a ready report and a preliminary tax amount. Andrey is happy, he knows in advance the preliminary tax amount and can correct it. As - the accountant will prompt.



What does all of this mean?


The use of machine learning algorithms allows us to increase our customer base and at the same time not to hire new employees.

For Accountants Buttons, the workflow is simplified and allows you to verify the correctness of the operations performed in a short time and correct something if necessary. The algorithm is self-learning, every correction of the accountant improves the process and improves the algorithm.

Not so long ago, the Ministry of Finance predicted the replacement of accountants with artificial intelligence and the gradual disappearance of the accountant profession. Do not worry, we will not be left entirely without accountants, but obviously the best will be selected. They will control the robots.

We think this is not bad - why do we need 5 million accountants for a population of 145 million? For comparison, in the United States with a population of 300 million, there are just over a million accountants.

We believe that in the near future due to artificial intelligence the quality of accounting and tax accounting will increase significantly.

Thank you for the movemind article by Maxim Akhmadinurov .

Source: https://habr.com/ru/post/327554/


All Articles