WP Inventory

Google Sheets vs a WordPress Inventory Plugin: Which Should You Use?

Nearly every business that tracks inventory in WordPress started the same way: with a spreadsheet. And that was the right call. Google Sheets is free, familiar and faster to set up than any plugin. The question is not whether Sheets works. It is when it stops working, and what you actually get when you graduate to a dedicated inventory plugin.

This comparison lays out where each option wins, where each breaks and how the two can work together instead of against each other.

Where Google Sheets wins

Credit where due. For certain situations, a spreadsheet is the correct tool:

  • Cost. Free, forever, no license renewals.
  • Zero learning curve. Everyone on your team has used a spreadsheet.
  • Total flexibility. Any column you can imagine, any formula you can write.
  • Fast start. A working stock list exists ten minutes after you open a blank sheet.

If you are one person tracking fifty items that never appear on your website, stay in Sheets. Sincerely. You do not have a problem a plugin needs to solve yet.

Where Google Sheets breaks

The trouble starts when the business grows past the sheet. The failure points are predictable.

It is not connected to your website

If your catalog, availability list or rental gear lives on a WordPress site, every spreadsheet edit is double entry. You update the sheet, then you update the site, and the day you forget one of them, they disagree. We wrote about the result in our out-of-sync inventory guide: nobody knows which number is right.

History gets overwritten

A cell holds one value. Type over a quantity and yesterday’s number is gone, along with who changed it and why. Version history in Sheets technically exists, but reconstructing stock movements from revision snapshots is nobody’s idea of a workflow.

Everyone edits everything

Sheets sharing is all or nothing. Anyone with edit access can change any cell, delete any row and break any formula. There are no roles, no per-person limits and no record of responsibility.

No alerts

A spreadsheet never emails you that stock ran low. You find out when a customer asks for something you do not have.

What a WordPress inventory plugin does differently

WP Inventory Manager keeps your inventory inside WordPress itself, which changes four things immediately:

  • One source of truth. The list your team edits in the admin is the same list your website displays. Update once and both are current.
  • Front-end display built in. A shortcode publishes your catalog to any page, filterable and searchable, with no copy-paste step.
  • Accountability. WordPress roles control who can edit inventory. Pro adds quantity change tracking and the Ledger add-on keeps a full transaction history.
  • Alerts. Low-stock email notifications fire when quantity drops below your threshold, before the shelf is empty.

The trade-off is real: a plugin costs money past the free tier and asks you to learn a new screen. That is the honest price of moving from a private list to a system your team and website share.

Side-by-side comparison

Google Sheets WP Inventory Manager
Price Free Free core; Pro $79/yr; all add-ons $199/yr
Setup speed Wins the first ten minutes Wins every week after
Shows on your website No (embeds are clumsy, read-only) Yes, natively via shortcode
Multi-user control All or nothing WordPress roles + Advanced User Control
Stock history Overwritten Change tracking (Pro), full ledger with costs and invoices (Ledger add-on)
Low-stock alerts None Built in
Flexibility Unlimited formulas Custom fields cover most needs

The answer most businesses actually want: both

This is not a divorce. The Import/Export add-on connects the two worlds through CSV, which Google Sheets speaks natively.

  • Build in Sheets, run in WordPress. Download your sheet as CSV and import it. Fields map automatically, categories are created on the fly and image URLs in your sheet are fetched remotely.
  • Report in Sheets. Export all inventory, or just items matching a search, back to CSV whenever your accountant or board wants a snapshot.
  • Undo button included. Imports can be rolled back, so a bad CSV does not wreck your catalog.
Example: A parts supplier with 900 SKUs built its master list in Google Sheets over three years. Moving to WordPress took one afternoon: export to CSV, import via WP Inventory → Import/Export, review the automatic field mapping and publish the catalog with a shortcode. The old sheet still gets a fresh export before every quarterly stock count.

Step-by-step instructions live in our import tutorial and the Import/Export documentation.

Frequently asked questions

Can WordPress pull inventory directly from Google Sheets?
Not live. WP Inventory Manager exchanges data with Sheets through CSV files using the Import/Export add-on: download your sheet as CSV and import it, or export inventory back out for reporting. There is no real-time sync, which for most catalogs is a feature: your website is not one accidental cell edit away from being wrong.
When should I move from a spreadsheet to an inventory plugin?
Three reliable signals: more than one person edits stock, your inventory needs to appear on your website, or you have been burned by a quantity nobody can explain. Any one of them means the spreadsheet is costing more than the plugin would.
Will I lose my spreadsheet data when I switch?
No. Export your sheet as CSV and the Import/Export add-on maps your columns to inventory fields automatically, creates categories as needed and can even fetch images from URLs in your sheet. Imports are also reversible via rollback.
Is a free spreadsheet not enough for a small business?
Sometimes it is. One person, a small catalog and no website display is a fine fit for Sheets. The free version of WP Inventory Manager exists precisely so you can test the switch without spending anything.
Can my team keep using spreadsheets for reports?
Yes. Export all inventory or a filtered subset to CSV at any time and open it straight in Google Sheets or Excel. Many businesses run WordPress as the source of truth and Sheets as the reporting layer.

Keep the spreadsheet. Add the system.

Start with the free plugin, import your existing sheet in an afternoon and see the difference a connected inventory makes. Your spreadsheet is one CSV export away whenever you want it.

Compare Plans and Pricing →

Why Your WordPress Inventory Keeps Going Out of Sync (And How to Fix It)

Wrong stock numbers are one of the most damaging problems a product-based business can have. You sell something you no longer have. A customer buys the last unit twice. Your purchase orders are based on counts that are days old. By the time you catch it, you’re already dealing with the fallout.

If your WordPress inventory keeps showing numbers that don’t match reality, the problem is almost always one of five things. Here is what each one looks like and how to fix it.

1. Stock Management Is Not Actually Turned On

This sounds obvious, but it’s the most common cause of inventory not tracking at all.

WordPress inventory plugins need stock management enabled at two levels: the global plugin setting, and the individual item level. If you turned it on globally but forgot to enable it on specific products, those products will never track quantity changes.

Fix: Go through your product list and confirm that stock management is active on each item. In WP Inventory Manager, this is a per-item setting in the inventory record. In WooCommerce, it’s under each product’s Inventory tab. A single unchecked box silently breaks tracking for that entire SKU.

2. Caching Is Showing Old Numbers

Your website uses caching to serve pages faster. That is normally good. But caching can hold onto old stock counts and show visitors a number that is hours out of date.

A customer sees “3 in stock.” They buy one. Your cache still shows “3 in stock.” Another customer buys one. You now have oversold.

Fix: Exclude product pages, cart, and checkout from your caching plugin’s rules. Most caching plugins (WP Rocket, W3 Total Cache, LiteSpeed) have an option to exclude specific page types or URLs. Set that up, then clear your cache manually any time you do a bulk stock update.

3. WP-Cron Is Stalling

WordPress uses a background task system called WP-Cron to run scheduled updates, including inventory syncs with third-party tools or automatic stock recalculations. The problem: WP-Cron only fires when someone visits your site. On a low-traffic site, those scheduled tasks can sit in a queue for hours before they run.

If your inventory numbers lag by one to four hours after a sale or stock update, this is almost certainly the cause.

Fix: Replace WP-Cron with a real server cron job. Your hosting provider can usually set this up in a few minutes. You schedule wp-cron.php to run every 5 minutes via your server’s task scheduler instead of relying on site traffic to trigger it. This alone eliminates the lag for most stores.

4. Two Plugins Are Updating the Same Field

This one is harder to spot because it does not fail loudly. Instead, stock counts drift in unpredictable directions.

When two plugins both write to the same inventory field, they overwrite each other. One plugin sets a product to 5 units. Another runs a sync and sets it to 12. The first one runs again and sets it back to 5. Your actual stock count becomes whatever ran last, not what is accurate.

This is common for stores that use a WooCommerce-centric inventory plugin alongside a separate inventory management plugin, or when a point-of-sale sync and an order management tool both update stock simultaneously.

Fix: Decide which plugin owns inventory data and disable stock management in the others. You should have exactly one source of truth for stock counts. If you are using WP Inventory Manager for physical stock tracking, turn off WooCommerce’s stock management so the two systems are not fighting each other.

5. Multi-Location Stock Is Tracked in One Bucket

If you sell from more than one location, warehouse, or channel and you are tracking all stock in a single field, your numbers will always be wrong.

Consider a retailer with a physical store and an online shop. A sale happens in the store. Nobody updates the WordPress inventory. The online store still shows the old count. The item gets sold online too. Now you have an angry customer and a hole in your inventory records.

Fix: Use a plugin that supports location-level stock tracking natively. WP Inventory Manager’s Locations Manager add-on lets you assign stock to specific locations so each site or warehouse has its own count. Fulfillment then pulls from the right bucket, not a shared pool that nobody fully controls.

How to Run a Quick Inventory Audit

Before you troubleshoot, you need a baseline. Here is a simple process:

  1. Export your current stock counts from WordPress to a spreadsheet
  2. Do a physical count (or pull counts from your POS or warehouse system)
  3. Compare the two side by side
  4. Identify which items are off and by how much
  5. Check each discrepancy against the five causes above

Once you have found the pattern, you can fix the root cause instead of chasing individual wrong numbers.

When the Problem Is the Plugin Itself

Sometimes the issue is not configuration. Some plugins are simply not built to handle inventory accurately at scale. Signs you have outgrown your current setup:

  • Stock counts change for no apparent reason
  • Bulk updates do not save consistently
  • The plugin has no audit log so you cannot trace when a count changed
  • You are manually correcting numbers more than once a week

WP Inventory Manager is built specifically for this. It works without WooCommerce, supports multi-location tracking, keeps a record of stock changes, and does not fight with your other plugins over the same database fields. You can start with the free version and add capabilities as your business grows.

Frequently Asked Questions

Why is my WordPress inventory showing the wrong stock count?

The most common causes are caching serving stale numbers, two plugins writing to the same field, or stock management not being enabled at the product level. Start by checking each of those in order.

Why does my inventory update slowly after a sale?

If there is a delay of one to several hours, the likely cause is WP-Cron stalling. WP-Cron depends on site traffic to run. Replace it with a real server cron job and the lag disappears.

Can I track inventory across multiple locations in WordPress?

Yes, but you need a plugin that supports it natively. WP Inventory Manager’s Locations Manager add-on assigns stock to individual locations so each has its own accurate count.

What happens when two inventory plugins conflict?

They overwrite each other’s data unpredictably. The result is stock counts that drift in random directions. Pick one plugin to own inventory data and disable stock management in the others.

Do I need WooCommerce to manage inventory in WordPress?

No. WP Inventory Manager works independently of WooCommerce. If you are not running an online store or want cleaner inventory tracking without WooCommerce’s overhead, it is a direct alternative.

30-day money-back guarantee

Reviews on WordPress.org

Trusted by 127,000+ businesses since 2013

★★★★★

"Created an online museum for my club. Really impressive plugin. Support was responsive and helpful."

@hackrepair

★★★★★

"Excellent, clean, simple inventory management. Well structured code — use it right away or customize it to your liking."

@techlocally

★★★★★

"We purchased the entire suite. Installation was easy, small issues were fixed immediately, and the guidance during setup was invaluable."

@design4dotcom

★★★★★

"Plugin support was helpful and rapid. Highest mark."

@drgar

★★★★★

"Great support. Very thorough when looking for a solution, and upfront with exactly how to fix it or institute a workaround."

@shoidahl

★★★★★

"I used this plugin and eventually hired the developers for all my WordPress work. Responsive, competent, and clean code. Would recommend to anyone."

@justenhong