Introduction
WooCommerce has introduced High-Performance Order Storage (HPOS) to improve how orders are stored in the database. Instead of cramming order data into the standard wp_posts
and wp_postmeta
tables, HPOS uses custom database tables. The benefit? Faster queries, more scalable reporting, and a smoother admin experience.
For merchants using FooSales as their WooCommerce POS, HPOS compatibility is essential. The good news is that FooSales is fully HPOS compatible! But before you flip the switch, you’ll want a safe HPOS migration plan to protect both your online and in-person sales flow.
Step 1: Understand HPOS and Why It Matters
- What it is: HPOS moves order data into dedicated tables.
- Why it matters: Faster performance, reduced risk of database bloat, and future-proof WooCommerce compatibility.
- Impact on FooSales: FooSales integrates directly with WooCommerce orders. Confirming HPOS compatibility means sales sync reliably between your POS and your store.
👉 WooCommerce HPOS documentation
Step 2: Audit Your Environment
Before making changes:
- Update WooCommerce. Make sure you’re on WooCommerce 8.0+ (HPOS is stable from that version onwards).
- Update FooSales. Ensure that you have the latest FooSales WordPress plugin and FooSales POS apps installed.
- Check other plugins. Some older plugins may not support HPOS yet—contact vendors or test in staging.
Step 3: Stage and Test First
Remember to never enable HPOS on a live event day or peak sales period. Test both online checkout and FooSales POS sales. HPOS migration issues often appear when orders are created via a POS.
- Clone your store. Use a staging environment that mirrors your live setup.
- Enable HPOS. Go to WooCommerce → Settings → Advanced → Features and toggle on HPOS.
- Run test transactions. Use FooSales to place POS orders in staging and confirm they sync.
- Check reports. Validate that orders appear correctly in WooCommerce reports and FooSales reports.
👉 FooSales Help Center
Step 4: Plan Your Go-Live
Once you’re 100% confident that everything is working as expected in your staging environment:
- Pick a quiet period. Avoid enabling HPOS on the day of a market or sale.
- Notify your team. Make sure all staff know testing was done and when the switch happens.
- Backup your database. Always back up before enabling HPOS on production.
Step 5: Post-Migration Validation
After enabling HPOS live:
- Run a test POS order. Confirm stock decreases, order shows in WooCommerce and email receipts send.
- Check refunds. Test refund workflows in both WooCommerce and FooSales.
- Monitor reports. Ensure that orders and payments look consistent with staging results.
Conclusion
HPOS Migrating is about future-proofing your WooCommerce store. For FooSales customers, it ensures that your POS and online orders remain in lockstep as WooCommerce evolves. With a safe checklist—update, stage, test, and validate—you can enable HPOS confidently and avoid disruptions.
👉 Start your 7-day free trial of FooSales
FAQ
Q: Do I have to switch to HPOS now?
No, not immediately but it will be the default going forward so we recommend doing it sooner rather than later as eventually classic order storage will be deprecated.
Q: Will HPOS affect my POS hardware?
No, HPOS changes data storage, not hardware. As long as FooSales is up-to-date, your hardware should work the same.
Q: What if a plugin isn’t HPOS-ready?
Contact the plugin company or developer and hold off enabling HPOS until they release an update.