Module ProductExpiryIO: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
(Create ProductExpiryIO module documentation page)
Tag: 2017 source edit
 
No edit summary
Tag: 2017 source edit
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Module ProductExpiryIO =
= Module ProductExpiryIO =


[[Category:Complementary modules]]
[[File:ProductExpiryIO-3.20.0-cover.png|center|600px|ProductExpiryIO 3.20.0 - Product Expiry Import/Export Module for Dolibarr]]


== Introduction ==
== Introduction ==


'''ProductExpiryIO''' is an external Dolibarr module designed to manage important product fields in bulk using CSV import/export.
'''ProductExpiryIO''' is an external Dolibarr module designed to simplify and secure the bulk management of important product configuration fields through CSV export and import.


The module is useful for companies that manage many products and need a safer way to update product settings without editing every product manually.
Instead of editing products one by one, administrators can export product settings to CSV, modify them in Excel or LibreOffice, validate the proposed changes in simulation mode and then perform the real import.


ProductExpiryIO supports simulation mode, automatic backups, backup restore, import logs, administrative audit, simulation reports and log archives.
The module provides automatic backups, restore, simulation reports, import history, administrative audit and log archives.
 
'''Version 3.20.0''' is the stable release validated on Dolibarr 23.0.4 with both desktop and mobile interfaces.


== Main features ==
== Main features ==


* Export products to CSV
* Export product configuration to CSV
* Import products from CSV
* Import products using the Dolibarr product reference/code
* Download CSV import template
* Download a ready-to-use CSV template
* Simulation mode before modifying product data
* Simulation mode before modifying product data
* Detected changes table during simulation
* Detailed preview of detected changes
* Current value / proposed new value comparison
* Downloadable simulation report CSV
* Downloadable simulation report CSV
* Automatic backup before every real import
* Automatic backup before every real import
* Restore products from backup
* Automatic backup before every restore
* Automatic backup before restore
* Restore product values from previous backups
* Import log
* Download and delete backup files
* Administrative audit
* Import history and administrative audit log
* Log archive system
* Archive the import log before deletion
* Simulation reports management
* Download and manage archived logs
* Dashboard with module statistics
* Simulation report management
* Separate user permissions
* Separate user permissions
* Dolibarr menu integration
* Dolibarr menu and dashboard integration
* Responsive desktop, tablet and mobile interface
* English and Romanian interface
 
== Import and simulation workflow ==
 
ProductExpiryIO provides a safe workflow for bulk product updates:
 
# Export products to CSV.
# Edit the CSV file in Excel, LibreOffice or another compatible application.
# Upload the modified CSV file.
# Run the import in '''Simulation mode'''.
# Review all detected changes.
# Download the simulation report if required.
# Run the real import.
# ProductExpiryIO automatically creates a backup before modifying the products.
# Review the import result and audit history.
 
[[File:ProductExpiryIO-3.20.0-import-simulation.png|center|600px|ProductExpiryIO CSV import and simulation mode]]
 
During simulation, '''the database is not modified'''.


== Supported product fields ==
The module displays:


ProductExpiryIO supports the following product fields:
* Products processed
* Products that would be updated
* Products not found by code
* Validation errors
* Field being changed
* Current value
* Proposed new value


* Product code
When changes are detected, a CSV simulation report is automatically generated and can be downloaded from the module.
* Product label
* Sale status
* Purchase status
* Batch / serial number management
* Mandatory sell-by / expiry date setting
* Stock management
* Default warehouse
* Product nature


== CSV columns ==
== Supported product fields ==


The module uses the following CSV columns:
ProductExpiryIO supports bulk management of the following Dolibarr product fields:


{| class="wikitable"
{| class="wikitable"
! CSV column
! Field
! Description
! Description
|-
|-
| Code
| '''Code'''
| Dolibarr product reference
| Dolibarr product reference/code
|-
|-
| Label
| '''Label'''
| Product label
| Product label
|-
|-
| Sell
| '''Sell'''
| Product available for sale
| Product available for sale
|-
|-
| Buy
| '''Buy'''
| Product available for purchase
| Product available for purchase
|-
|-
| BatchMode
| '''BatchMode'''
| Batch or serial number management
| Batch or serial number management
|-
|-
| MandatoryExpiry
| '''MandatoryExpiry'''
| Mandatory sell-by / expiry date setting
| Mandatory sell-by / use-by date configuration
|-
|-
| StockManagement
| '''StockManagement'''
| Product managed in stock
| Product managed in stock
|-
|-
| Warehouse
| '''Warehouse'''
| Default warehouse code
| Default warehouse
|-
|-
| Nature
| '''Nature'''
| Product nature
| Product nature
|}
|}


== Accepted values ==
== CSV columns ==
 
The friendly CSV format generated by ProductExpiryIO uses the following columns:
 
<pre>
Code;Label;Sell;Buy;BatchMode;MandatoryExpiry;StockManagement;Warehouse;Nature
</pre>
 
=== Accepted values ===


{| class="wikitable"
{| class="wikitable"
Line 87: Line 116:
|-
|-
| Sell / Buy / StockManagement
| Sell / Buy / StockManagement
| Yes, No, 1, 0
| Yes / No or 1 / 0
|-
|-
| BatchMode
| BatchMode
| No, Batch, Serial, 0, 1, 2
| No / Batch / Serial or 0 / 1 / 2
|-
|-
| MandatoryExpiry
| MandatoryExpiry
| None, SellByDate, ExpiryDate, Both, 0, 1, 2, 3
| None / SellByDate / ExpiryDate / Both or 0 / 1 / 2 / 3
|-
| Warehouse
| Dolibarr warehouse code. Empty value means no default warehouse.
|-
|-
| Nature
| Nature
| RawMaterial, FinishedProduct, Packaging, IntermediateProduct, 0, 1, 2, 3
| Product nature must exist and be active in the Dolibarr product nature dictionary.
|}
|}


== Recommended workflow ==
Product nature values are validated against the active Dolibarr dictionary instead of writing arbitrary values directly to the product record.
 
== Automatic backups and restore ==
 
Before every '''real import''', ProductExpiryIO automatically creates a CSV backup containing the previous product values.
 
Backups can be:
 
* Downloaded
* Restored
* Deleted
* Cleaned according to their age
 
Before restoring an older backup, ProductExpiryIO automatically creates a '''new safety backup''' containing the current values.
 
This allows the administrator to recover the state that existed immediately before the restore operation.
 
[[File:ProductExpiryIO-3.20.0-backup-restore.png|center|600px|ProductExpiryIO automatic backups and safe restore]]
 
The restore operation reports:
 
* Products processed
* Products updated
* Products not found
* Errors
 
Backup restores are also recorded in the import audit log.
 
== Import log and administrative audit ==
 
ProductExpiryIO maintains a history of important operations.
 
The log records:
 
* Simulations
* Real imports
* Backup restores
* Administrative actions


# Export products to CSV.
Each entry contains information such as:
# Edit the CSV file in Excel or LibreOffice.
 
# Run import in simulation mode.
* Date and time
# Review detected changes.
* Dolibarr user
# Run the real import.
* Operation mode
# Check the automatic backup and import log.
* Import or backup file
* Products processed
* Products updated
* Products that would be updated
* Products not found
* Errors
* Backup or additional details


== Backups and restore ==
The import log can be downloaded as CSV.


Before every real import, ProductExpiryIO automatically creates a CSV backup of the previous product values.
Before deleting the active import log, ProductExpiryIO automatically creates an archive file.


Backups can be downloaded, restored or deleted from the module interface.
Archived logs can later be downloaded or deleted from the '''Log archives''' page.


When restoring a backup, the module automatically creates a new backup before applying the restore.
[[File:ProductExpiryIO-3.20.0-audit-log-archives.png|center|600px|ProductExpiryIO import audit trail and log archives]]


== Simulation reports ==
== Simulation reports ==


After an import simulation with detected changes, ProductExpiryIO can create a downloadable CSV report.
When a simulation detects changes, ProductExpiryIO can automatically create a CSV report.
 
Simulation reports show the proposed changes before any database modification is made.
 
Reports can be:
 
* Downloaded
* Deleted individually
* Deleted according to age
* Deleted in bulk
 
This provides an additional review step before applying large product updates.
 
== Responsive desktop and mobile interface ==
 
ProductExpiryIO 3.20.0 includes a responsive interface designed for desktop, tablet and mobile use.
 
Desktop pages use contained horizontal scrolling for wide registers so the Dolibarr page itself is not expanded.
 
On mobile devices, wide tables such as backups, logs and report registers are transformed into readable cards.
 
[[File:ProductExpiryIO-3.20.0-responsive-mobile.png|center|600px|ProductExpiryIO responsive desktop and mobile interface]]
 
Responsive pages include:
 
* Product import
* Accepted CSV values
* Import backups
* Import log
* Simulation reports
* Log archives
 
== Safety and data protection ==
 
ProductExpiryIO is designed to reduce the risks associated with bulk product configuration changes.


Simulation reports can be managed from the module interface.
Important safeguards include:


== Import log and audit ==
* Simulation before import
* No database modification during simulation
* Automatic backup before real import
* Automatic backup before restore
* Validation of supported values
* Product lookup by reference/code
* Audit history
* Simulation reports
* Log archives


The module records simulations, real imports, backup restores and administrative actions in an import log.
Product updates use Dolibarr product logic instead of direct bulk SQL modification of product settings.


Administrative actions such as backup deletion, report deletion and log archive deletion are also recorded.
== Permissions ==


== Compatibility ==
ProductExpiryIO uses separate permissions:


{| class="wikitable"
{| class="wikitable"
! Item
! Permission
! Value
! Purpose
|-
| Dolibarr version
| V23
|-
|-
| PHP version
| '''View Product Expiry IO'''
| 7.2+
| Access the module dashboard and export functions
|-
|-
| Module version
| '''Import products Product Expiry IO'''
| 3.18.0
| Run imports, simulations and manage simulation reports
|-
|-
| License
| '''Manage backups and logs Product Expiry IO'''
| GPL-v3-or-later
| Manage backups, restores, import logs, archives and administrative actions
|}
|}
Administrators can assign the permissions through the standard Dolibarr user/group permission system.


== Installation ==
== Installation ==


The module can be installed from DoliStore using the Dolibarr external module deployment feature:
ProductExpiryIO can be installed using the standard Dolibarr external module deployment system.
 
# Download the ProductExpiryIO ZIP package from DoliStore.
# In Dolibarr go to '''Home → Setup → Modules/Applications'''.
# Open '''Deploy/Install external app/module'''.
# Upload the ProductExpiryIO ZIP file.
# Enable '''ProductExpiryIO'''.
# Assign the required permissions to users or groups.
 
The ZIP package contains the required root directory:
 
<pre>
productexpiryio/
</pre>
 
== Upgrade ==
 
To upgrade an existing ProductExpiryIO installation:


# Download the ZIP package from DoliStore.
# Download the new ZIP package.
# In Dolibarr, go to '''Home → Setup → Modules → Deploy an external module'''.
# Upload it through '''Deploy/Install external app/module'''.
# Upload the ZIP package.
# Replace the previous module files when requested.
# Enable the module from the module list.
# Return to the Modules/Applications page.
# Assign the required user permissions.
# Verify that ProductExpiryIO is enabled.
# Open the module pages and confirm the displayed version.


== Permissions ==
Normal module upgrades preserve existing ProductExpiryIO backups, reports and logs.


ProductExpiryIO uses separate permissions:
== Compatibility ==


{| class="wikitable"
{| class="wikitable"
! Permission
! Item
! Purpose
! Value
|-
| Dolibarr
| '''V23'''
|-
| Validated Dolibarr version
| '''23.0.4'''
|-
| PHP
| '''7.4+'''
|-
| Database
| MariaDB / MySQL
|-
|-
| View Product Expiry IO
| ProductExpiryIO
| Access dashboard and export
| '''3.20.0 Stable'''
|-
|-
| Import products Product Expiry IO
| License
| Import, simulation and simulation reports
| GPL-3.0-or-later
|-
|-
| Manage backups and logs Product Expiry IO
| Interface languages
| Backups, logs, archives and administrative actions
| English, Romanian
|}
|}
== Version 3.20.0 Stable ==
ProductExpiryIO 3.20.0 consolidates the complete import/export workflow after functional and responsive-interface testing.
Validated workflows include:
* Module installation and activation
* Access from Dolibarr menu
* Access from module dashboard
* CSV export
* CSV template
* CSV import
* Simulation without database modification
* Detected changes preview
* Simulation report generation
* Real product update
* Automatic pre-import backup
* Backup download
* Backup restore
* Automatic pre-restore safety backup
* Import logging
* Administrative audit
* Import log archiving
* Log archive download
* Desktop interface
* Mobile interface
* Upgrade to 3.20.0 on Dolibarr 23.0.4


== DoliStore ==
== DoliStore ==


The module is available on DoliStore:
ProductExpiryIO is available on DoliStore:


ProductExpiryIO - Product Expiry Import/Export Module for Dolibarr
[https://www.dolistore.com/product.php?id=3204&title=productexpiryio-product-expiry-import-export-module-for-dolibarr&l=en ProductExpiryIO - Product Expiry Import/Export Module for Dolibarr]


== Author ==
== Author ==


Vasile Panciuc
'''Vasile Panciuc'''
 
PanciucSoft


== Support ==
== Support ==


Support by email: vasile.panciuk@gmail.com
Support by email:
 
'''support@panciucsoft.com'''


When requesting support, please include:
When requesting support, please include:
Line 194: Line 372:
* PHP version
* PHP version
* ProductExpiryIO version
* ProductExpiryIO version
* Screenshots
* Screenshot of the issue
* Steps to reproduce the issue
* Steps to reproduce the issue
Website:
[https://panciucsoft.com panciucsoft.com]
[[Category:Complementary modules]]

Latest revision as of 09:03, 6 September 2026

Module ProductExpiryIO

ProductExpiryIO 3.20.0 - Product Expiry Import/Export Module for Dolibarr

Introduction

ProductExpiryIO is an external Dolibarr module designed to simplify and secure the bulk management of important product configuration fields through CSV export and import.

Instead of editing products one by one, administrators can export product settings to CSV, modify them in Excel or LibreOffice, validate the proposed changes in simulation mode and then perform the real import.

The module provides automatic backups, restore, simulation reports, import history, administrative audit and log archives.

Version 3.20.0 is the stable release validated on Dolibarr 23.0.4 with both desktop and mobile interfaces.

Main features

  • Export product configuration to CSV
  • Import products using the Dolibarr product reference/code
  • Download a ready-to-use CSV template
  • Simulation mode before modifying product data
  • Detailed preview of detected changes
  • Current value / proposed new value comparison
  • Downloadable simulation report CSV
  • Automatic backup before every real import
  • Automatic backup before every restore
  • Restore product values from previous backups
  • Download and delete backup files
  • Import history and administrative audit log
  • Archive the import log before deletion
  • Download and manage archived logs
  • Simulation report management
  • Separate user permissions
  • Dolibarr menu and dashboard integration
  • Responsive desktop, tablet and mobile interface
  • English and Romanian interface

Import and simulation workflow

ProductExpiryIO provides a safe workflow for bulk product updates:

  1. Export products to CSV.
  2. Edit the CSV file in Excel, LibreOffice or another compatible application.
  3. Upload the modified CSV file.
  4. Run the import in Simulation mode.
  5. Review all detected changes.
  6. Download the simulation report if required.
  7. Run the real import.
  8. ProductExpiryIO automatically creates a backup before modifying the products.
  9. Review the import result and audit history.
ProductExpiryIO CSV import and simulation mode

During simulation, the database is not modified.

The module displays:

  • Products processed
  • Products that would be updated
  • Products not found by code
  • Validation errors
  • Field being changed
  • Current value
  • Proposed new value

When changes are detected, a CSV simulation report is automatically generated and can be downloaded from the module.

Supported product fields

ProductExpiryIO supports bulk management of the following Dolibarr product fields:

Field Description
Code Dolibarr product reference/code
Label Product label
Sell Product available for sale
Buy Product available for purchase
BatchMode Batch or serial number management
MandatoryExpiry Mandatory sell-by / use-by date configuration
StockManagement Product managed in stock
Warehouse Default warehouse
Nature Product nature

CSV columns

The friendly CSV format generated by ProductExpiryIO uses the following columns:

Code;Label;Sell;Buy;BatchMode;MandatoryExpiry;StockManagement;Warehouse;Nature

Accepted values

Field Accepted values
Sell / Buy / StockManagement Yes / No or 1 / 0
BatchMode No / Batch / Serial or 0 / 1 / 2
MandatoryExpiry None / SellByDate / ExpiryDate / Both or 0 / 1 / 2 / 3
Warehouse Dolibarr warehouse code. Empty value means no default warehouse.
Nature Product nature must exist and be active in the Dolibarr product nature dictionary.

Product nature values are validated against the active Dolibarr dictionary instead of writing arbitrary values directly to the product record.

Automatic backups and restore

Before every real import, ProductExpiryIO automatically creates a CSV backup containing the previous product values.

Backups can be:

  • Downloaded
  • Restored
  • Deleted
  • Cleaned according to their age

Before restoring an older backup, ProductExpiryIO automatically creates a new safety backup containing the current values.

This allows the administrator to recover the state that existed immediately before the restore operation.

ProductExpiryIO automatic backups and safe restore

The restore operation reports:

  • Products processed
  • Products updated
  • Products not found
  • Errors

Backup restores are also recorded in the import audit log.

Import log and administrative audit

ProductExpiryIO maintains a history of important operations.

The log records:

  • Simulations
  • Real imports
  • Backup restores
  • Administrative actions

Each entry contains information such as:

  • Date and time
  • Dolibarr user
  • Operation mode
  • Import or backup file
  • Products processed
  • Products updated
  • Products that would be updated
  • Products not found
  • Errors
  • Backup or additional details

The import log can be downloaded as CSV.

Before deleting the active import log, ProductExpiryIO automatically creates an archive file.

Archived logs can later be downloaded or deleted from the Log archives page.

ProductExpiryIO import audit trail and log archives

Simulation reports

When a simulation detects changes, ProductExpiryIO can automatically create a CSV report.

Simulation reports show the proposed changes before any database modification is made.

Reports can be:

  • Downloaded
  • Deleted individually
  • Deleted according to age
  • Deleted in bulk

This provides an additional review step before applying large product updates.

Responsive desktop and mobile interface

ProductExpiryIO 3.20.0 includes a responsive interface designed for desktop, tablet and mobile use.

Desktop pages use contained horizontal scrolling for wide registers so the Dolibarr page itself is not expanded.

On mobile devices, wide tables such as backups, logs and report registers are transformed into readable cards.

ProductExpiryIO responsive desktop and mobile interface

Responsive pages include:

  • Product import
  • Accepted CSV values
  • Import backups
  • Import log
  • Simulation reports
  • Log archives

Safety and data protection

ProductExpiryIO is designed to reduce the risks associated with bulk product configuration changes.

Important safeguards include:

  • Simulation before import
  • No database modification during simulation
  • Automatic backup before real import
  • Automatic backup before restore
  • Validation of supported values
  • Product lookup by reference/code
  • Audit history
  • Simulation reports
  • Log archives

Product updates use Dolibarr product logic instead of direct bulk SQL modification of product settings.

Permissions

ProductExpiryIO uses separate permissions:

Permission Purpose
View Product Expiry IO Access the module dashboard and export functions
Import products Product Expiry IO Run imports, simulations and manage simulation reports
Manage backups and logs Product Expiry IO Manage backups, restores, import logs, archives and administrative actions

Administrators can assign the permissions through the standard Dolibarr user/group permission system.

Installation

ProductExpiryIO can be installed using the standard Dolibarr external module deployment system.

  1. Download the ProductExpiryIO ZIP package from DoliStore.
  2. In Dolibarr go to Home → Setup → Modules/Applications.
  3. Open Deploy/Install external app/module.
  4. Upload the ProductExpiryIO ZIP file.
  5. Enable ProductExpiryIO.
  6. Assign the required permissions to users or groups.

The ZIP package contains the required root directory:

productexpiryio/

Upgrade

To upgrade an existing ProductExpiryIO installation:

  1. Download the new ZIP package.
  2. Upload it through Deploy/Install external app/module.
  3. Replace the previous module files when requested.
  4. Return to the Modules/Applications page.
  5. Verify that ProductExpiryIO is enabled.
  6. Open the module pages and confirm the displayed version.

Normal module upgrades preserve existing ProductExpiryIO backups, reports and logs.

Compatibility

Item Value
Dolibarr V23
Validated Dolibarr version 23.0.4
PHP 7.4+
Database MariaDB / MySQL
ProductExpiryIO 3.20.0 Stable
License GPL-3.0-or-later
Interface languages English, Romanian

Version 3.20.0 Stable

ProductExpiryIO 3.20.0 consolidates the complete import/export workflow after functional and responsive-interface testing.

Validated workflows include:

  • Module installation and activation
  • Access from Dolibarr menu
  • Access from module dashboard
  • CSV export
  • CSV template
  • CSV import
  • Simulation without database modification
  • Detected changes preview
  • Simulation report generation
  • Real product update
  • Automatic pre-import backup
  • Backup download
  • Backup restore
  • Automatic pre-restore safety backup
  • Import logging
  • Administrative audit
  • Import log archiving
  • Log archive download
  • Desktop interface
  • Mobile interface
  • Upgrade to 3.20.0 on Dolibarr 23.0.4

DoliStore

ProductExpiryIO is available on DoliStore:

ProductExpiryIO - Product Expiry Import/Export Module for Dolibarr

Author

Vasile Panciuc

PanciucSoft

Support

Support by email:

support@panciucsoft.com

When requesting support, please include:

  • Dolibarr version
  • PHP version
  • ProductExpiryIO version
  • Screenshot of the issue
  • Steps to reproduce the issue

Website:

panciucsoft.com