Skip to main content
Shopify

Inventory in Excel: the signs your spreadsheet has stopped working

A stock spreadsheet works while it holds one number the whole team reads the same way. It stops working when that number no longer tells you whether a unit can be sold: orders waiting to be packed, goods on their way, damaged items, or a second channel selling at the same time. From then on you need an inventory that keeps those states apart and updates every shop on its own.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 4 November 2026

Key facts

Module
Shopify
Versions
Odoo 17, 18, 19 and 20
Checked
in the connector's source code, version 17.0, 18.0, 19.0 and 20.0 · against the sources linked at the end
Reading time
4 min

One number for five questions

A stock spreadsheet has one column per product. Shopify tracks five inventory states for that same product:

  • Available: what you can sell.
  • Committed: units set aside that can no longer be sold, such as those in an order you have not packed yet or reserved in a draft order.
  • Unavailable: units in the warehouse but not for sale, because they are damaged, in quality control or kept as safety stock.
  • Incoming: goods on their way that cannot be sold until they are received.
  • On hand: everything at a location, the sum of committed, unavailable and available.
Diagram of Shopify inventory states: incoming, available, committed and on hand
One SKU can be incoming, available, committed or unavailable, and on hand adds up three of those states. Diagram built from Shopify's API documentation on inventory states.

When someone types a number into the spreadsheet, which of those is it? If it is what sits on the shelf, it includes units already sold and not yet shipped. If it is what is available, someone has had to subtract every open order and every broken item, and add back every delivery.

Inside Shopify, committed units are moved by the shop itself when orders are created and fulfilled or stock is reserved on a draft order. The spreadsheet knows none of that: someone has to do the subtraction separately, and for every channel.

How to stop copy-pasting between apps (Odoo)
Video: How to stop copy-pasting between apps (Odoo)

When it still holds up

With one channel, one warehouse and the same person recording every sale and every delivery as it happens, the spreadsheet stays close to what is really available. Each condition you lose opens a gap: another shop selling while nobody looks at the sheet, a supplier delivering when the person in charge is out, a return that comes back broken.

Signs your spreadsheet has had enough

  • Before confirming an order you ask someone whether the unit is really there.
  • You subtract each channel's sales by hand, at the end of the day or whenever there is time.
  • Supplier deliveries get added when someone remembers, not when they arrive.
  • Damaged or set-aside items sit in the same column as the ones you sell.
  • You sell on more than one channel and each one keeps its own figure.
  • You have had to cancel or delay an order because the unit was not there.
  • There is more than one copy of the spreadsheet and nobody knows which one is right.
  • Your year-end inventory comes from counting the shelves, because the spreadsheet does not add up.

If several of these sound familiar, the time you spend watching the spreadsheet already outweighs the time it saves you.

What the Spanish Commercial Code asks for at year end

In Spain, the Commercial Code requires every business owner to keep, besides the journal, a book of inventories and annual accounts (article 25). That book records the opening balance sheet, trial balances at least every quarter and, at the close, the year-end inventory together with the annual accounts (article 28).

The last box on the list matters most here: if the spreadsheet does not match the shelves, that year-end inventory comes from a manual count, and someone has to explain the difference.

What replaces it

According to Eurostat, a company's departments can share data without manual work in two ways: several applications hooked to a common database, or one modular ERP. Odoo is an ERP of that second type. With the Shopify connector, stock goes back and forth between Odoo and the store:

  • Odoo publishes its stock to Shopify every 20 minutes. Every 6 hours, the «Shopify Pull Stock (Shopify → Odoo)» task goes the other way: it sets Odoo's on-hand stock to Shopify's available quantity, with no stock move, over whatever was there.
  • The published figure leaves out what is reserved. Confirming an order in Odoo sets the unit aside, and Shopify stops selling it before the parcel ships.
  • The connector's dashboard flags the products you need to reorder, the stock that is not selling and the syncs that failed in the last day.
Shopify connector dashboard in Odoo with reorder, dead stock and failed sync alerts
The Shopify connector dashboard in Odoo: sales and orders for the period, plus alerts for products to reorder, stock with no sales and failed syncs. Odoo screenshot with a test store.

Day to day, the system does the subtraction: every confirmed sale reserves its unit and every channel gets the new quantity on the next run.

How we set it up

At FlexigoTech we implement Odoo 17, 18, 19 or 20 and connect your Shopify store and your other channels with our connectors. Odoo Online does not accept third-party modules, so we work on Odoo.sh or on your own server. Each connector can be tried for 14 days from Odoo, free and without a card, and the Connector plan starts at €49 a month, VAT excluded. If the way you work needs something that does not exist yet, we build it to measure: we analyse the case for free and give you a closed price before we write any code.

Write to comercial@flexigobe.com, leave your details on our contact page or book a call and we will go through it with your spreadsheet in front of us.

Keep reading

You use ChannelEngine, but your stock lives in Excel: what nobody tells youIf you use ChannelEngine but your stock and orders live in spreadsheets, this is what breaks and what changes with Odoo and the FlexigoTech connector.Shopify alone or Shopify with Odoo: what changes in your day-to-dayComparison for Shopify stores without an ERP: orders, stock, shipping, returns, invoices and payouts, before and after running the store inside Odoo.Do you need an ERP to sell on ManoMano? The signsA checklist to tell whether your ManoMano business already needs an ERP, and what Odoo does with the connector: orders, offers, stock, carriers and translations.
Checked in the connector's source code (version 17.0, 18.0, 19.0 and 20.0) and the linked sources

Sources