Name has been added to your Follow page.

My Follow Page

Name has been removed from your Follow page.

My Follow Page


The E-Commerce ERP: Purchasing, Inventory, Accounting, BOM, Fulfillment, Track and Trace, Sales Analysis

4.8 Avg. Rating
300 Installs
Tested with WordPress 5.8.2

by Unity Business Technology Pty Ltd.

ERP for WooCommerce: Purchase Orders, Stock Control, General Ledger, Product Levels, Packing Lists, Serial/Lot Tracking, Margin Reporting and more.

Profitori extends WooCommerce to cater for additional business functions. (The types of features typically provided by Enterprise Resource Planning systems such as MYOB, SAP, Microsoft Dynamics and others).

NOTE: You can try the PRO version free for 90 days. No credit card required. Links to PRO download and discount coupon are inside the free version.

  • Purchase Order Entry
  • Supplier Maintenance
  • Print Purchase Order PDF
  • Manage PO life-cycle
  • PO CSV export
  • Draft Purchase Orders
  • View sales history, margins etc while entering products on to Purchase Orders
  • Track unpaid Purchase Orders
  • Manage Supplier Payments including multiple planned and actual payments per Purchase Order (Accounts Payable)
  • Stock mirroring: Auto-import stock levels from Suppliers for ease of ordering
  • Stock Level Analysis
  • View Short Stock
  • Forward Cover Report
  • Automatic Min-Max Ordering
  • Monitor Incoming Purchase Orders – View Overdue POs – Receive Purchases on PO Receipts (with barcode scanning)
  • Partial and Full PO Receipts – Print Labels after receiving
  • (PRO) Serial / Lot Number Track and Trace
  • Review profit margin and update Retail Pricing in PO Entry and PO Receipt Entry
  • (PRO) Simple Accounts Receivable
  • (PRO) Accounting – General Ledger module – Built in Chart of Accounts – Automatic posting of Sales, Inventory and other journals – Enter GL Journals
  • (PRO) Financial Statements – Profit and Loss (Income Statement) – Balance Sheet – Tailor to your needs
  • Delivery Note PDF
  • Goods Received Report (Intrastat)
  • Purchase Price Changes report – Purchase Order Returns
  • Average Costing – Automatically adjusted as stock received
  • (PRO) Cost roll-ups on Bill of Materials (Bundles / Product Levels)
  • WooCommerce stock levels available for sale automatically updated when PO stock received
  • (PRO) Define and sell Bundles (BOM / Product Levels) – Store stock for parent product automatically reflects component availability
  • Track Sales with the Profitori Sales and Invoices report
  • (PRO) Fulfillment – View Unfulfilled Sales Orders – Manage and Print Packing Lists
  • (PRO) Fulfillment of assembled stock sales – See Quantities to Make – Stock levels of components automatically adjusted – Assemble bundles directly from Packing Lists
  • (PRO) Fulfillment – Rationing of limited stock across multiple customers to deal with supply chain shortages
  • (PRO) Sales Order partial Shipments
  • (PRO) Show shipment status in the customer’s My Account page
  • (PRO) Show AR balance and credit limit in the customer’s My Account page
  • Review unpaid Sales Invoices – Sales Invoice PDF
  • Sales Analysis – drill down on sales by product and customer
  • Analyze Profits – Profits by Supplier – Profits by Category
  • (PRO) View Consolidated Profits across multiple sites
  • Profit charts – by Supplier – by Category – by Week
  • Easily adjust PO, Invoice and other PDF formats
  • WooCommerce stock management, tracking and auditing
  • View Inventory balances and values, with customizable columns, sorting and search – Track total inventory value – Exclude Consignment stock
  • Manual Stock Adjustments – Dated and annotated for audit purposes
  • Adjustment Note PDF
  • Adjustment Report
  • Multiple Warehouses / Locations – View Quantities on Hand and Stock Valuation by Location
  • Perform Stock takes – Stocktake Variance Report
  • Generate compartmentalized stocktake from filtered product list
  • Multi-Currency
  • Multiple Units of Measure on purchasing
  • Inventory History (stock movement transactions) – Audit Inventory Movement
  • Bulk Product Trash based on multiple attributes specified by you
  • User Defined Filters on all Lists and Reports
  • (PRO) Super-flexible, auto-refreshing live Dashboard
  • Graphical Charts showing Key Performance Indicators
  • Global search facility – find any document based on almost any data field
  • Simple CRM Customer List
  • Customizable with low-code Javascript – Modify any standard Profitori page – Add your own pages
  • Tax Reporting on Purchases (e.g. for VAT)
  • Extract data to Excel
  • Import data from Excel
  • Print product labels when receiving goods (or at any other time), with configurable layout to match any stationery
  • Print barcodes on labels: CODE128 CODE128A CODE128B CODE128C EAN13 UPC EAN8 CODE39 ITF14 MSI MSI10 MSI11 MSI1010 MSI1110 pharmacode codabar
  • Store attachments on Purchase Orders, Suppliers and all other main document and entity types
  • Easy migration from ATUM
  • Supports WordPress Multi-site
  • Supports Polylang
  • Page-level Security: restrict usage of individual pages to certain users

Languages Supported: Chinese, Spanish, Indonesian, English

For full details, download the User Manual (PDF).

All of these capabilities are added directly to your WordPress admin console. No additional software, service or hosting is required. All data is stored securely in the same database that holds your WooCommerce data. No data is stored off-site.

Profitori is intuitive and easy to use, with clean uncluttered screens and a consistent experience throughout the plugin.

Profitori has a very small footprint on your server, as most of the work is done on the client machine inside the browser. Profitori uses modern client-side technologies such as ReactJS for almost all of its functionality.

Profitori is fast due to its unique architecture. Data is cached on the client wherever possible, minimizing network traffic and load on the database.

Profitori is robust due to our “test first” philosophy. All features were developed using a Functional Test-Driven Approach. This has resulted in a solid core of features that have been, and will continue to be, tested many times, far more than can be achieved with manual testing.

Profitori has been built from the ground up with ease-of-extension in mind. Contact us via Support for enhancements – you will be surprised at how quickly and efficiently these can be delivered.

  1. Install Profitori through the ‘Plugin’ screen in WordPress.
  2. Activate the plugin.
  3. If you haven’t already, enable stock management in WooCommerce (WooCommerce > Settings > Products > Inventory > Manage Stock).

How can I load in suppliers for all my products?

See the manual ( – Appendix B “Importing Product Suppliers”.

How can I load in initial Average Costs of products from data already stored in custom attributes?

You can do this via Settings > Utilities > Import Unit Costs

What are the minimum requirements to run Profitori?

Profitori requires PHP version 5.6 or greater, and WooCommerce 3.0.9 or later (including 4.0+).

Where do I report issues and get help?

Use our Contact Us page. We will endeavour to respond within 24 hours (on business days).

  • Stock Mirroring (pull in data from suppliers about their stock levels and pricing)
  • Fix for database errors when viewing transaction history
  • Better feedback when starting up

  • Added mode to use database subselects instead of joins
  • Fixed performance issue with retrieval of config by the server
  • Default payment due date to blank in PO Maint
  • Added security on Trash links

  • Fixed bug causing reports not to be displayed under some circumstances
  • Added inventory property deepestCategory
  • Bulk download of delivery notes
  • Sort filters by name in Filters dropdown
  • Sort POReceipt labels by sku
  • Fill PO Receipt button (for when PO Receipts default to zero quantity)
  • Fixed bug with using View Profits direct from menu

  • Improvements to multi-user update confict prevention

  • Fix bug causing sales to be recalculated after cancelling a save
  • Fixed bug in average cost recalculation when deleting PO Receipt lines
  • Added high concurrency option
  • Sales Agents on customers

  • Better handling of old orders left in processing state

  • Added ability to download Sales Order as CSV
  • Fix to retail margin calculation
  • Add amount paid to Outstanding Purchase Orders report
  • Fix to View All Receipts (was sometimes showing only receipts for specific PO)
  • Fix to update of product meta fields
  • Fix to margin percentage calculations
  • Added stock level diagnostics
  • More efficient save algorithm
  • Fixed bug where bulk order status changes didn’t flow through to Profitori
  • Fixed bug causing Mods and Extensions not to work under some circumstances
  • Added average b/o sale price to View Short Stock
  • Added option to default quantities to zero on new PO Receipts
  • Added safeMode parameter to start Profitori without mods and extensions

  • Simple CRM customer list
  • Global search capability
  • Allow entry of estimated delivery dates on PO lines
  • Separate setting for weeks of sales analysis data to display
  • Option to upload attachments to subfolders based on supplier/customer name and document nnumber
  • Ability to call do_action
  • Added tax excluded option to View Profits
  • afterField parameter in field()
  • New attachent type Serial Numbers
  • Handle blank dates correctly in Excel exports from lists and reports
  • Fix bug that sometimes resulted in duplicated action buttons
  • Improved robustness of atomic saving
  • Fix bug where lastPurchaseUnitCost wasn’t changed when currency/exchange rate updated on a purchase order
  • Fixed bug that caused line data to be saved when Back button clicked
  • Option to create Inventory records even for zero stock items
  • Fix to display of some numeric fields in grids
  • Fix to occasional hanging / erroneous error messages
  • Fixed security bug

  • Supplier Payments (multiple scheduled and completed payments per PO)
  • Additional Sales Analysis Reporting
  • Show additional summary lines on PO PDF when option to exclude tax from lines is set
  • Fix to bug displaying product attributes with taxonomies
  • Show supplier and supplier SKU in Stocktake count page
  • Allow search on Stocktake count lines
  • When adjusting stock value, use ex tax value if ex tax is set as the option for PO entry
  • Option to not show tax on PO PDF
  • Show sales history, last purchase, last sale in Bulk Add PO Lines
  • Option to show sales history when entering PO Lines
  • Make More menus more compact

  • Hide menus and buttons when user doesn’t have privilege
  • Introduced draft PO stage – leave off PO Receipts and exclude from quantity on Purchase Order
  • Adjustment Report
  • Added extra product meta fields
  • Fixed bug in totals on Inventory page

  • Performance improvements
  • Bug fix to product meta fields in custom code
  • Added Carrier and Tracking Number to PO Receipts
  • Fixed erroneous message “Template already exists”
  • Goods Received Report (for Instrastat reporting)

  • Performance improvements
  • Secure attachments
  • Bug fix – Modify Built in Specs crashing plugin
  • Added option to suppress PO Receipt updates to quantity on hand

  • Attachments
  • Fixed More menu sequence
  • Fixed defaulting of purchase price when prices are entered excluding tax

  • Update product meta fields _prfi_quantityOnPurchaseOrders, _prfi_avgUnitCost and _prfi_lastPurchaseUnitCostIncTax
  • Carrier and Tracking Number on Purchase Orders
  • Payment status and due date on Purchase Orders
  • Unpaid Purchase Orders Report

  • Added simplified Product Supplier import
  • Fixed bug in saving logic for large saves
  • Added page level security

  • Minor fixes

  • Remove licensing requirement (included in error)

  • Adjustment Slip
  • Added last date received to PO page
  • New report “Outstanding Purchase Order Stock”
  • Ability to bulk add items from the supplier to a PO
  • Added ability to sort PO PDF by supplier sku
  • Added product images to inventory, PO and PO Receipt pages
  • Allow change to WC Reg Price in PO Receipt Line grid
  • Added “Zero all” button to PO Receipt Entry
  • Widened supplier sku field in PO PDF
  • Show Quantity on Hand in PO Receipt Entry
  • Prevent “Objects” menu from appearing in the WP Admin menu
  • Add Spanish phrases
  • Supplier Products Report
  • Units of Measure
  • Added “Set Uncounted to Zero” in Enter Stocktake Counts
  • Purchase Order Receipt – don’t show PO Lines that have nothing left to receive
  • Added field to Inventory Customize – lastReceivedDate
  • View Orders from Supplier page
  • Added fields to Supplier list
  • View Orders from Inventory page
  • Added ability to show logo on PO PDF
  • Added notes to Product maintenance
  • WooCommerce compatibility to 5.2.2
  • Added Download CSV option to PO Maintenance
  • Improvements to transferring stock between locations
  • Cosmetic changes to the UI
  • Added button icons
  • Added Stocktake Variance Report
  • Branding changes
  • Report performance improvements
  • Performance improvements
  • Server-side checking for duplicates
  • Customization capabilities
  • Order status fixes
  • Changed the way sales order statuses are picked up so as to allow statuses added via other plugins
  • Added Purchase Price Change Report
  • Inventory sync now corrects errors in location inventory balances
  • Create Stocktake from Inventory page
  • Add SKU and price columns to Enter Stocktake Count page
  • Add System Quantity and Discrepancy to Enter Stocktake Count page (optional, off by default)
  • User defined filters on all lists and reports
  • User was not being recorded on all inventory transactions
  • Prevent errors when WP Security plugin BBQ installed
  • Inform user when WP Security plugins may be interfering with operation
  • Tested with WP 5.6.0
  • Wasn’t working correctly when installed in a plugin directory other than profitori
  • View Short Stock – improved sorting so that products with no recent sales are not shown at the top
  • Performance improvements
  • Spinner behaviour improvements
  • Unfulfilled Sales Order Report
  • Profits By Category pie chart
  • Profits by Week line chart
  • Improved progress bar behaviour
  • Prevent Unknown numbers and erroneous numbers in View Profits
  • Refresh button wasn’t always working for changes made more than an hour ago
  • Show thousands separator in displayed numbers
  • Inventory > Customize – setting max and min number of decimals wasn’t working for the default in-built columns
  • Quantity on order was sometimes incorrectly updated – changed method of updating this
  • Inventory > Customize – default the “Display As” field
  • Decimals can now be set for built in fields when using Customize on the Inventory page
  • Improvements to update of quantity on order
  • Default the “Display As” field when adding fields using Customize on the Inventory page
  • Added ability to export Transaction data type
  • Sometimes product was not being set properly in Adust Qty page
  • Added information on “Unable to delete Supplier” message
  • Improved Spanish translation
  • Allow entry of Avg Unit Cost excl tax to be entered via the Inventory Grid
  • Prevent trashing of POs that have receipts
  • Import – changes to support smoother importing of average costs
  • Import – support for importing SKU via Inventory data type
  • Exclude “Inc Tax” column from PO lines if option to enter prices exclusive of tax is chosen
  • Delivery Note – leave out zero lines
  • Add Date Received to Purchase Order Edit page
  • Add Cancelled Quantity to PO Receipt Entry grid
  • Added new Inventory columns: totalSalesUnits, priorWeeksSalesUnits, lastSaleDate, lastPurchaseDate
  • Support for negative units on Purchase Orders (for entering returns)
  • Show total value to be received, in Receive Purchases page
  • Purchase Order Entry – added SKU and Supplier SKU columns to displayed lines
  • Option to enter quantity of labels when printing
  • Added product Situation field – Active / Discontinued by Us / Discontinued by Supplier
  • Added option to display all dates in the local short date format
  • Delivery Note PDF (from PO Receipt page)
  • Edit inventory data directly in the grid

  • Import data from Excel

  • Added ability to extract all data to Excel via Settings > Utilities > Export
  • Added top level menus to all pages (to prevent need to use WP Admin menu in side bar)
  • Added inventory field for ex consignment, ex tax
  • Altered View Profits to use completed date of sales
  • Added notes to stock valuation changes

  • Added inventory value excl tax
  • Fixed issue preventing start / run of 1.6+ on systems with older data
  • Added View Purchase Order Lines button to Inventory History
  • Added View Receipts to Purchase Order page

  • Performance improvements

  • Prevent search bar losing focus while typing

  • Multiple product label print from Inventory page
  • Utility to copy WooCommerce regular prices to RRPs
  • Ability to flag products as consigment stock, and to report on inventory value excluding these products
  • Print labels directly to printer

  • Performance improvements to Inventory page

  • Prevent wc regular prices being unintentionally set to zero

  • Option to enter purchase prices ex tax
  • Fixed bug causing some labels to overlap
  • Added main supplier as an option to show on the Inventory page
  • Fixed bug preventing plugin from showing for non-English languages

  • Print barcodes on labels
  • Improved scanning of PO Receipts, to allow ease of quantity entry

  • Compatibility with WooCommerce 4.4.1
  • Fix to label print dimensions when width > height
  • Remove rest route warnings
  • Allow totals on fields added to the Inventory page via Customize

  • Barcode reading in PO Receipt page
  • Added supplier SKU, retail inventory valuation as available fields for Inventory page
  • Gross Profit by Supplier report
  • Gross Profit by Category report

  • Fix incorrect creation of multiple General location balances after revaluing stock
  • Added utility to fix incorrect data created by above bug

  • Temporary fix for Stocktake showing wrong system quantities

  • Print labels directly from Inventory page
  • Default purchase price from last purchase price
  • Added more useful hyperlinks

  • Fix bug that sets WooCommerce product price to 0 when deleting a PO Line or PO Receipt Line

  • Multi-Currency

  • Copy ATUM Data – copy average cost from last purchase cost if it’s not already set
  • Prevent REST API warning in PHP logs
  • Improved navigation behaviour

  • Adjust Retail Price and RRP while entering Purchase Orders and Purchase Order Receipts

  • Fixed stock levels not being updated by PO Receipt if entered against PO from older version
  • Fixed description display on PO Receipts entered against POs from older version
  • Fixed extraneous “Get Value From” choices in Label layout and Inventory Level customisations
  • Prevent prfi_ meta values from appearing on customer orders

  • WP 5.5 support

  • Label Printing from Purchase Order Receipt Entry

  • Fixes to minimize screen refreshes and prevent loss of field focus when entering data

  • Improved Forward Cover Report
  • Improved spinner display

  • Added Tax Report (Purchases)
  • Fixed bug in updating of sales transactions

  • Fixed bug preventing stock levels from synchronizing when Profitori started for first time
  • Fixed bad formatting of search bar on some systems

  • New PO Line types – Shipping, Fee, Other
  • Copy purchase orders from ATUM

  • Multiple Inventory Locations
  • Copy supplier and product data from ATUM
  • Support for printing of non-ASCII characters on purchase orders and invoices
  • Recommended Retail Price added to supplier product info
  • Added fields to supplier: Supplier Code, Currency, Ordering URL, Ordering Email, Discount, Tax Rate

  • Fixes to calculation of outstanding purchase order quantity
  • Collapse menu buttons to “More” button when display is narrow
  • Changed order of menu buttons

  • Added Forward Cover Report

  • Automated Min-Max Purchase Orders
  • Maintain Min (Low Stock Threshold linked to WC) and Max quantities per Product
  • Allow Low Stock Threshold to be maintained for Product Variations
  • Ability to associate suppliers with a product and set one to be the main supplier
  • Show main supplier in View Short Stock
  • Maintain Supplier delivery lead days and use this to set default Expected Delivery Date in purchase orders
  • Minimum order quantities per product per supplier
  • Minimum order values per supplier


  • Fixed links not working to records just added
  • Minor cosmetic enhancements


  • Added useful links throughout plugin


  • Added link to Help (User Manual)
  • Prevent “System is busy” message from appearing at inappropriate times


  • Fix bug in spinner display when waiting for long tasks
  • Fix average cost display in View Profits


  • Fix bug in combo list scrolling


  • Fix loss of focus when typing in search field


  • Fix bug causing cursor to jump to end of field when typing in the middle of it
  • Make notes fields multi-line
  • Prevent internal prfi_ meta fields from appearing on orders and invoices


  • Supplier contact details
  • Improvements to balance calculation of stcok transactions
  • Change order of tax % and price in PO Line entry
  • Enforce entry of product on PO Line


  • Further improved scrolling behaviour
  • Performance improvements to Unpaid Invoices Report
  • Fixed issues with private products
  • Better transaction integrity and error handling
  • Minor UI fixes


  • Added totals to various lists and reports
  • Added recalculation of outstanding purchase order quantities to Inventory Su=ync feature


  • Improved scrolling behaviour further
  • Added running balance to inventory history
  • Added supplier invoice/reference to Purchase Orders


  • Improved scrolling behaviour
  • Fixed bug preventing hover menus appearing in admin menu
  • Fixed bugs preventing operation when WordPress is installed in a subfolder


  • Fixed bug affecting display of other admin plugins


  • Indonesian language
  • Track user making manual stock level changes


  • Show sales separately in Inventory History
  • Inventory History hyperlinks to various pages to view details


  • Spanish language updates
  • Chinese language updates


  • Chinese language


  • Support for European number format
  • Support for various international short date formats


  • Compatibility with WooCommerce Deposits plugin
  • Improvements to Invoice and Purchase Order layouts


  • Fix to menu not showing in Spanish


  • Spanish language translation


  • Invoice PDF Improvements
  • Fix to stock update bug in PO Receipts
  • Fix to PO Receipt Line display


  • Fixed bug in security


  • Added Sales Invoice PDF
  • Added View Sales
  • Added Overdue Purchase Orders Report


  • Added View Short Stock


  • Ensure unique product names
  • Alter dropdown search to allow full partial matching (rather than just matching the start)
  • Alter quantity caption and field sequence in Adjustment Maintenance


  • Added Purchase Orders Report
  • Added Suppliers Report
  • Added ability to extract to Excel to various pages


  • Allow cancellation of remaining quantity on purchase order when receiving
  • Show Average Unit Cost and Last Purchase Price in WooCommerce product page
  • Prevent change of product on PO line that has receipts
  • Show SKU in Inventory Levels page


  • Cosmetic and performance improvements


  • Cosmetic improvements


  • Fixed bug in Inventory Levels with products containing consecutive spaces


  • Fixed bug in Inventory Levels with products containing Unicode characters


  • Performance improvement to Inventory Levels


  • Added logging to aid with debugging


  • Fixed bug in Inventory Levels customisation


  • Added tests


  • Added ability to customize Inventory Levels page
  • Added Quantity on Purchase Orders to Inventory Levels page
  • Added ability to import Average Unit Costs from WC Product attributes
  • Added informational message if no products found with WC Manage Stock flag set
  • Fixed issues with install and startup when running on slower servers
  • Improved comparison with MYOB, SAP, Microsoft Dynamics, ERPNext, Navision, Sage, Netsuite, Oracle


  • Support for Product Variations
  • Improved coexistence with ATUM


  • Compatibility with older WordPress versions (back to 4.7) and older WooCommerce versions (back to 3.0.9)


  • Initial Release