Skip to content

AsirGroup ​

AsirGroup is a supplier integration with catalog, stock, price, and attribute-mapping paths. The source also contains historical product-import modes; those modes are not interchangeable with the current stock job.

Evidence boundary

This page describes the source at commit 42116ebc0ba509bce9cc6651a55ecefd9a5fdb38. It does not prove that the SFTP credentials, schedules, deployment, or the separate warehouse-mode bundle are active today.

Entry points ​

OperationCommandWhat the source does
Historical/catalog importmenzzo:asir-group:products --type=<type>Dispatches a required type to many legacy import/update routines, including create, price, importFurniture, and category-specific modes. It has no active lock in the reviewed source.
Stock importmenzzo:asirgroup:sync-product-stockReads XML files from the Asir SFTP /in directory, maps supplier SKUs to asr-prefixed Logidav SKUs, updates quantity/status/visibility, and sends quantity batches to the product API.
Price exportmenzzo:asirgroup:sync-asir-pricesReads recent price history and current supplier data, computes regular/special prices, and writes main-catalog and catalog-database CSV/SQL output plus a fallback JSON file.
Attribute mappingmenzzo:sync-asir-attribute-mapping-from-meduseReads meduse/connectors/logidav/export-asir-mappings/mapping.jsonl from FTP and merges mapping rows into the Asir mapping table.

Do not document menzzo:asir-group:products as a single safe “sync” operation. The --type value selects different routines and the command has no dry-run option in this source revision.

Configuration and stock rules ​

The stock command uses the supplier quantity as a starting point. When quantity is below 2, it checks internal supplier stock; internal stock can keep the product active and replace the published quantity. For quantity 2 or greater, the source marks the supplier product active and may still use internal stock as the quantity.

For a linked product, the job can update:

  • mz_product.qty;
  • active status, unless is_inactive_forced is set;
  • visibility, including direct-access and supplier-internal-stock cases;
  • supplier-internal-stock data and the downstream product API payload.

Files are downloaded to data/asir/sync-stock-csv. Missing-SKU handling and the remote-file move are present in the command but need runtime verification before being described as an operational guarantee.

Price and mapping rules ​

The price job creates temporary price-history tables, considers the last 30 days of price logs, and reads store 3 price data. It writes to absolute web-root paths, including new_asir_price_main_db.csv, new_asir_price_catalog_db.csv, and fallback_prices.json; those writes are externally observable and require an approved execution window.

The mapping job stages rows in mz_asir_group_attributes_mapping_tmp, then inserts only rows not already present in the main mapping table. Mapping data includes the Meduse attribute/option codes, Asir labels/values, mapping type, and extra information.

Pallet management ​

No current pallet-management implementation was included in the reviewed source set. The separate AsirGroupModeBundle should be audited before this section is used as an operational procedure.

Warehouse integration ​

The supplier stock job updates catalog quantity and visibility; it does not by itself prove a physical pallet or barcode workflow. Link warehouse instructions only after the mode bundle and runtime routes are reviewed.

Error handling and remaining unknowns ​

  • Which --type values are still used and which are historical.
  • Whether the SFTP job, price exports, and Meduse mapping transfer are scheduled or enabled in each environment.
  • Whether AsirGroupModeBundle warehouse/pallet operations are part of the current runtime; that behavior is outside the source paths reviewed here.

Source locations ​

  • src/AsirGroupBundle/Command/Product/SyncProductsStockCommand.php — SFTP stock import and status/visibility rules.
  • src/AsirGroupBundle/Command/Product/SyncAsirPricesCommand.php — price-history calculation and generated files.
  • src/AsirGroupBundle/Command/SyncAsirAttributeMappingFromMeduse.php — Meduse-to-Asir mapping transfer.
  • src/AsirGroupBundle/Command/Product/ProductCommand.php — historical --type catalog entry point.

Internal developer documentation for Menzzo systems.