Challenge
To set up a new product in the BAS accounting system, the producer needs data from five departments: product management, ecommerce, quality, shipping and accounting. After that, the CFO must approve the card, and only then does accounting enter the product into BAS.
Previously, everything relied on an Excel template. The file was passed from person to person, which caused familiar problems:
- it was unclear who had already completed their part and who had not;
- one department could accidentally change another department's data;
- some fields are needed only under certain conditions, but the template did not account for that;
- approvals and requests for revisions got lost in email threads;
- accounting had to manually transfer data into the BAS technical format.
Reference data was a separate challenge. 1C has 168 categories across four nesting levels and dozens of reference values, and the technical sheet for importing into BAS has 65 columns. An error in any of them means a manual fix inside the accounting system.
The client needed a clear process with well-defined responsibility for each department and an output that could be loaded into BAS right away.
What we did
We built the tool in 6 days (18 commits, September 16-21, 2026) on Next.js 16, React 19, Tailwind CSS v4 and Supabase, deployed on Vercel.
How the workflow runs
- The initiator creates a request for a new product.
- Five departments fill in their sections in parallel: product, ecommerce, quality, shipping and accounting.
- The CFO approves the card or sends it back for revision with a comment.
- Accounting enters the product into BAS and records the assigned code in the tool.
What is inside
- 9 screens and 11 database tables;
- 168 1C categories across 4 levels and 72 reference values that users select rather than type in manually;
- a 65-column BAS technical sheet exported with one click.
Protection and field logic
The ban on editing another department's section is enforced at the database level through RLS, not just in the interface. Even if someone tries to bypass the screen, the database will not let them change another department's data.
Field visibility and required status depend on other departments' answers: if one answer makes a field unnecessary, it disappears, and if it makes the field required, the card cannot move forward without it.
Notifications arrive in the channel each user chooses: email, Telegram or Bitrix24.
Results
The Excel template was replaced by a web tool with a clear route for each product card. Each department sees its part of the work, the CFO approves in one place, and accounting gets a ready file for BAS instead of manually transferring 65 columns.
What changed:
- the status of every card and every section is visible;
- departments work in parallel rather than one after another;
- reference data is selected from a list, so there are fewer discrepancies with 1C;
- requests for revisions are recorded in the system instead of getting lost in email threads;
- everyone gets notifications wherever is most convenient for them.
We did not measure the time savings in numbers, so we do not cite them. The project facts are: 6 days of development, 9 screens, 11 tables and full coverage of the 1C reference data needed to set up a product.
What makes this project special
Tasks like this are often handled with a shared spreadsheet or a generic form. The problem is that a spreadsheet does not protect sections from one another and does not know which fields are needed in a given situation. Here, the process rules are built into the database itself: a department physically cannot change another department's section, and the set of fields adapts to colleagues' answers.
The second important point is that the output is ready in BAS format. The tool does more than collect data; it produces a file that accounting loads into the accounting system without reworking it.
Published: · Updated: