Accounting software for an online store
An online store does not break on sales — it breaks on what happens after the customer clicks “Order”. The order arrives by email, stock is crossed off in a notebook, the waybill is typed into the carrier’s website, and the money is added up in a spreadsheet at night. Somewhere along that path the stock figure stops matching reality. ERPJS brings orders, inventory, delivery and money into one database: a sale from the website immediately becomes a document that moves stock and shows what you actually earned on it.
What usually breaks in online store accounting
The problems are the same everywhere, and none of them is about weak sales.
- The website sells what is no longer there. The last unit went out over the counter, the site still lists it — and a customer orders something that is gone.
- Orders live in three places. Some in email, some in a messenger, some on a marketplace. Counting the day’s orders means doing it by hand.
- Waybills are typed separately. Each one is re-entered on the carrier’s site, with the address and phone copied across from the order.
- Profit is estimated by feel. Turnover is visible; what remains after purchase cost, delivery and returns is not.
- Nobody records returns. The goods came back and the money was refunded, but in the books the stock and the revenue still read “sold”.
How it works in ERPJS
An order from the website enters the system automatically — from there it lives as a document, not as an email.
Orders from the website
A web order creates an order in the system: customer, items, prices, delivery address. Nothing has to be retyped.
Stock in real time
A sale writes the item off immediately. The figure on the website matches the one the warehouse sees, with no evening reconciliation.
Delivery and waybills
A Nova Poshta waybill is created from the order: recipient details are already in the document, so nothing is re-entered on the carrier's site.
The order then becomes a shipment, and the shipment an invoice or a receipt. Each step moves stock and customer balances on its own, without a separate end-of-day summary.
What if you also sell on marketplaces?
A common setup: your own site plus Rozetka and Prom. Same problem — three storefronts and one warehouse that knows about only one of them.
ERPJS pulls marketplace orders into the same database as web orders, and pushes the catalogue, stock levels and prices back on a schedule. A sale on Rozetka therefore reduces the stock your own website shows. More in the article on marketplace integration.
Do you need a developer to connect the website?
No. The exchange runs over an open API, and store owners set it up themselves — we have a case where an owner connected his site to the accounting system without a developer, describing the task in plain language.
For a standard platform and a standard scenario — orders in, stock out — setup takes hours rather than weeks of implementation.
The real value is not that the system “supports integrations”. It is that the nightly re-typing of sales from one program into another disappears — and that re-typing is exactly where the discrepancies come from that stop the month from adding up.
How profit is calculated
Any storefront can show turnover. Only a system that knows cost of goods can show profit.
ERPJS tracks actual cost using FIFO, including not just the purchase price but freight, duty and other costs that landed on the batch. The report therefore shows what is left after all costs — per item and per customer — rather than what was invoiced.
A return is a document too: the goods go back into stock, revenue decreases, and the monthly total does not need manual correction.
Who this fits
- A store on any platform — off-the-shelf CMS or a custom site: the exchange runs over an open API, so the platform itself does not matter.
- Marketplace sellers — when Rozetka or Prom bring more orders than your own website.
- Stores holding their own stock — real quantities, batches and cost of goods, rather than dropshipping.
- Businesses selling both online and offline — a physical shop and the website share one warehouse instead of separate spreadsheets.
You can start with stock accounting and add the website integration once manual transfer starts getting in the way.
Frequently asked questions
What software suits an online store?
Software that handles stock and money, not just orders. At minimum: real-time stock, cost of goods including delivery, customer balances, and exchange with the website and the carrier. ERPJS covers that in one database — from order to profit.
Does an online store need an ERP system, or is a CRM enough?
If you hold your own stock, you need the accounting side. A CRM tracks the customer and the order but knows nothing about stock levels, cost of goods or real profit. Selling physical goods needs both halves, and it is easier when they share one system.
How do website orders reach the accounting system?
Through an API exchange: a web order creates an order in the system with the customer, items and delivery address. From there it follows the usual path — shipment, invoice or receipt — and each step moves stock on its own.
Can Rozetka and Prom run alongside my own website?
Yes. Marketplace orders arrive in the same database as web orders, while the catalogue, stock and prices are pushed back on a schedule. One warehouse serves every storefront at once.
Do I need a developer for the website integration?
In a standard scenario, no. The exchange is configured over an open API and store owners do it themselves. In our case study, the owner connected his site to the accounting system without a developer.
How does the system calculate profit per product?
By actual cost using FIFO: purchase price plus freight, duty and other costs assigned to the batch. The report therefore shows what remains after all costs, not turnover.
What does accounting for an online store cost?
The free plan gives one user and 512 MB with no time limit, and functionality is not stripped down. Beyond that it is €30 per month for a team of up to three users. Website and marketplace integrations are not charged separately.