1.4.0
🚀 New Features¶
- Introduced the new Base Articles layer for Multi-Repricer as a central source of truth across Shopify, FBM, Kaufland, and Otto.
- Added the unified
repricer_articlesbackend with dedicated detail records per marketplace, UVP handling, pricing history, bundle metadata, and consolidated sync/recalculation flows. - Added a dedicated FBM module with Amazon credential management, Sellerlogic credential management, FBM article APIs, international pricing data, and export workflows.
- Reworked the Multi-Repricer frontend into clearer platform tabs: Base Articles, Otto, Kaufland, Shopify, and FBM.
- Added new Base Articles UI capabilities including article quick view, inline platform visibility, bundle/component inspection, UVP controls, package mappings, and per-platform navigation.
- Added n8n and n8n runner services to the Portainer compose stack.
🔧 Improvements¶
- Reorganized the
service_multi-repricerAPI surface around dedicated endpoint groups for base articles, package mappings, Otto margin rules, Amazon credentials, Sellerlogic credentials, Shopify articles, Kaufland articles, Otto articles, and FBM articles. - Replaced older Google/Sheets-oriented pieces in the Multi-Repricer flow with the new Amazon, Sellerlogic, FBM, and Base Articles structure.
- Added a database migration path from the legacy marketplace tables into the new unified repricer schema.
- Improved article management screens with shared table patterns, search/filter flows, stats, cron controls, and clearer split between configuration and article operations.
- Extended existing Amazon and Sellerlogic credential tables with
active_multiso the Multi-Repricer can manage its own active credential independently.
🐛 Bug Fixes¶
- Base article sync and cron now support
update_pricesas an explicit option, so imports can run with or without pushing price updates to connected marketplaces. - The Base Articles frontend now exposes that
update_pricesbehavior through checkbox controls and tooltips for both manual sync and cron setup. - Added a status normalization migration so legacy uppercase/external values such as
ACTIVEandAVAILABLEare converted to the lowercase enum values expected by the new repricer models.
SQL¶
Run the new SQL scripts in this order:
docker/postgres/updates/multi_repricer_credentials.sqlAddsactive_multitosellerlogic_credentialsandamazon_credentials. Apply this before using the new Multi-Repricer credential activation flow.docker/postgres/updates/repricer_articles.sqlCreates the new core schema:repricer_articles,shopify_details,fbm_details,kaufland_details,otto_details, andotto_pricing_history. This must run before any backfill migration.docker/postgres/migrations/001_populate_repricer_tables.sqlBackfills the new repricer tables from the legacy sourceskaufland_articles,item_monitor, andshopify_articles.docker/postgres/migrations/002_normalize_status_values.sqlNormalizes copied status values after the backfill so they match the lowercaseArticleStatusenum values used by the new service.
Reason for this order:
- Credentials update first, so the new Multi-Repricer credential toggles work correctly.
- Core repricer tables second, because the migration scripts depend on them already existing.
- Data backfill third, so legacy data is copied into the new schema.
- Status normalization last, because it should run on the migrated data after the inserts/updates are done.