
Historically, we have always paid considerable attention to automating business processes in Audiomania (Habré has already published a story about our stock:
one ,
two ).
As you know, starting to automate something, it is very difficult to stop, so the changes affected other areas of the company’s activities.
Today we will talk about how and why we created our own accounting automation system.
')
Reasons for switching to your accounting system
Why do we think about creating your own software? First, accounting in many companies is just a “closed box” where documents are “poured” - it is weakly connected with the business in terms of providing it with information useful for making further decisions.
Standard systems used to automate accounting do not have the required flexibility and are inconvenient for those who run a business. For example, before creating its own software, Audiomania created a large number of reports: on sales, shipments, receiving money, marketing expenses, and interaction with suppliers, while there was no possibility of building complex reports. For example, we could not give ourselves the quickest and most accurate answer to the questions about how much, we spend on the salary of storekeepers, how much a particular store is profitable: it’s easy to calculate revenue, but profitability, based on expenses and income, is in no way.
In addition, in real life, payments do not have the attributes that are “crammed” into existing accounting software - because of this, the accounting data are not always convenient for further use in making management decisions. All this prompted us to create our own financial accounting system, which would solve all the problems of “Audiomania” and could be deployed without any extra effort and serious additional costs: it’s no secret that many companies spend large sums on introducing new products, the benefits of which are not always covers their cost.
Preparatory stage
We decided to build on international reporting systems (they are more in line with business needs than Russian accounting rules) - reports by large companies created under such systems can be found
here (US Securities and Exchange Commission portal). The portal allows you to get ready-made financial reports of public companies, in addition, companies can be filtered by activity profile, which is especially useful in selecting references.
So, we started our work by selecting a number of similar companies among the firms represented and analyzing the structure of their reporting: this structure was of interest because, in international practice, reporting requirements are less strict: there are a number of mandatory requirements and a number of areas in which companies can take the initiative - for example, add a number of articles at their discretion. The experience of companies that have been working on similar systems for many years turned out to be very useful: we learned some insights from there, although we still had to refine some things, based on our own needs.
The main task that we set for ourselves when designing a new system was the need to build a variety of reports on revenues and expenses - for example, reports on the costs of a specific department for logistics / communications / equipment, furniture, or summary reports on specific types of costs for the entire company etc. with the possibility of analyzing the state of the company for individual articles and grouping the results for a variety of indicators. We needed to be able to quickly show the exact picture of the current state of affairs in the right plane. In essence, we needed a system that would facilitate management decisions, be as automated as possible (without additional staffing and support costs) and include data from previous reporting periods so that immediately after its deployment, you can use its decision-making capabilities. .
Know how
Accordingly, we went our own way and in the course of the project implementation implemented a number of solutions that are not usually found in the systems sold on the market.
A “template engine” was created, with the help of which a significant part of manual work was carried out on entering information on payments and expenses into the system. Now the new system “associates” expenses with payments to counterparties for automatic control over expenses.
At the same time, expenses are accounted for by months, and payment for goods may be partial, upfront, “spread out” over several periods. Not always, the company pays money synchronously with the receipt of goods or services - in such a situation, “Audio-Mania” happens, for example, when working with the same “Yandex.Market” (Market expenses are recorded monthly, but we make periodic payments, replenishing the personal account by as necessary, moreover, in this case there is also a deferment of payment): in such a situation, such an association avoids confusion and links actual expenses and services rendered.
Accordingly, taking into account which money came to which transaction belongs is a non-trivial task that accountants usually perform almost entirely manually (sometimes on a regular basis) - thanks to our system of “linking” incomes and expenses, it has become possible to perform these operations for the most part automatically. For example, after downloading a fresh bank statement to our software, it can, based on the purpose of the payment and the counterparty specified in the statement, determine the type of expenses and enter them into the appropriate section (taking into account the period specified in the contract with a specific counterparty - previous / current / future ).
Such a combination of payments and documents in general allows you to avoid the appearance of unpaid expenses, or payments that are not associated with any expenses. The responsible officer is notified of “strange” situations near the end of the period (month) in order to restore order before it closes or to make sure that everything is correct.
The system can link the payment and the corresponding expense (some of the information in the screenshot is hidden)
In addition, such a system allows to take into account various "non-standard" situations: for example, cases when one employee is responsible for related tasks related to two departments - his salary can be reflected as an expense, divided in appropriate proportions between different divisions (this subsequently allows to form a clearer idea of the costs of each of the departments of the company.). We also consider freelancers for each department separately, which is also useful, since they, de facto, do not enter the staff - for example, temporary couriers belonging to the logistics department, or copywriters working for the marketing department.
Previously, department heads kept records of the expenses of their departments in Excel files, but now they simply control the correctness of attribution of expenses based on payments. They also plan future non-recurring expenses, which gave the financial department staff new tools for planning cash flow.
Implementation difficulties
We try to automate all routine tasks, while designing interfaces that do not need to be trained for a long time — all processes that an employee performed in the “pre-computer” era should be the same when working with software. We rarely fundamentally change business processes, rather we try to adapt the system for people. In the case of accounting, the solution of such a task becomes more complicated, since, objectively, special people work there who are not so close to information technology. Because of this, there were situations when employees had a desire to recheck the documents generated by the system, so that they "definitely did not have errors" (which eliminates the whole point of process automation). There was even a situation when an accountant checked the sum of several operations on a calculator for our system. However, we have passed this stage relatively painlessly.
Perhaps the most important problem was the need to download data from previous periods to the new system. Previously, many of our operations had an additional “arbitrary” text commentary, which conditionally described the internal expenditure item - now it was necessary to distribute them to the “correct” expenditure items in the new system.
Thanks to the new system, it is no longer necessary to register comments to the operation manually
The docking of the context of payment for past transactions with a specific item and period of expenses took the most time, but, nevertheless, the result was worth the effort. “For everything about everything” from the idea to the implementation took 5 months, of which most of the time was spent studying and processing information. The code was written by a single programmer who, on the whole, spent less than 30 days on work.
No, this is not black bookkeeping
It is important to emphasize that we are not trying to “conceal” income or expenses. Although our system does not meet the requirements for accounting, it is not. We optimize analytics capabilities so that the information recorded during the business can be used for management decisions. Basic accounting is carried out in accordance with the law. Our system functions parallel to it, periodically exchanging data with it. Now we can build a real P & L in accordance with IFRS for three years in just 10 seconds, using real-time data.
Next time we will talk about how we have automated our own service for collecting and analyzing statistics on customers of the online store - stay tuned to our blog!