The number of RemOnline users continues to grow, as does the variety of businesses needing to manage orders, sales, and inventory. This brought us to a common client request — the ability to track product expiration dates. It allows for a different approach to stock management and helps ensure that items are sold before they expire. And if it’s needed – it’s done!
You can now enable expiration date tracking when creating new products (support for existing products is coming soon). With this feature, you can:
Enter expiration dates for product batches during warehouse postings
See expiration dates in Stock and other tables
Sort serial numbers by expiration date when adding products to orders, sales, or write-offs
Deduct non-serial products from stock using the FEFO method (first expire, first out)
Display expiration dates in printed documents
Let’s take a closer look at how expiration tracking works in RemOnline.
Enabling Expiration Date Tracking for a Product
Expiration date tracking is configured per product, similar to serial number tracking. As mentioned, this can currently be enabled only when creating a new product.
To do this, go to My Company > Products, click the + Product button, and check the box labeled “Enable expiration tracking.” The corresponding column has also been added to the product import template.
Once enabled, expiration tracking cannot be disabled for that product. If needed, you can write off all product stock, delete the product, and create a new one without expiration tracking.
Entering Expiration Dates During Product Posting
If a product has expiration tracking enabled, a new required field Expiration date will appear when posting it to the warehouse. This date applies to the entire batch.
Once added, the expiration date and period will be visible in the posting table and later in the product profile and other tables.
Viewing Expiration Period in Tables
In the product profile under the Shipments tab, you’ll see the expiration period (difference between the current date and the expiration date) and the exact expiration date for each batch.
Elsewhere — like in Stock Balances or when adding the product to orders, sales, or write-offs — the system will show the nearest expiration date (i.e. the one closest to the current date).
Sorting Serial Products by Expiration Date
Previously, when manually adding serial products to orders, sales, or write-offs, you could sort them by supplier warranty or bin location (if address storage was enabled). Now, if a serial product has expiration tracking enabled, you can also sort by expiration date to prioritize items with the shortest shelf life.
Additionally, serial products can now be sorted by posting date, allowing you to follow FIFO (first in, first out) or sell the most recently received items.
Deducting Non-Serial Products by Expiration
Previously, non-serial products were always deducted to orders and sales using FIFO — the system automatically selected the oldest batch. Now, if expiration tracking for a product is enabled, RemOnline uses the FEFO method instead: products are deducted based on the soonest expiration date, not the earliest posting date.
Expiration Date in Printed Documents
A new variable {Product Expiration Date} is now available in templates for estimates, orders, sales, and product labels. Add this variable if you'd like to display the “Expiration Date” in your printed documents.
For non-serial products with multiple expiration dates, the variable will show the earliest expiration date.
Expiration Tracking in Product Import & Export
A new Expiration date column has been added to exports for postings, product lists (My Company > Products), and stock levels. For stock levels, if multiple batches have different expiration dates, the export will show the earliest one.
You can also include expiration dates when importing new products or when importing warehouse postings.
Expiration Tracking in the Public API
To support expiration tracking in the RemOnline Public API, we’ve made the following changes:
The Get Products and Get Product by ID endpoints now return is_enable_expiration_tracking (boolean) to indicate if expiration tracking is enabled.
The Create Product endpoint accepts an optional is_enable_expiration_tracking field (boolean).
The Get Stock, Get Postings, and Get Order Items endpoints now include an expiration_date field (ISO 8601 UTC date).
For products with expiration tracking enabled, the Create Posting endpoint requires the expiration_date parameter (ISO 8601 UTC date).
The Get Sales response now includes a new field: expiration_date (int, UTC timestamp).
You can view the API documentation here.
What’s Next?
We’re already working on allowing expiration tracking for existing products. After that, we’ll add alerts and notifications for upcoming expiration dates, along with a dedicated report.
If you have any questions, suggestions, or comments regarding this update, please reach out to our Support Chat. Your feedback plays an important role in shaping the future of this feature.