Skip to content

Mauro Ferretti ​

Mauro Ferretti has a spreadsheet import, product creation/linking, protected stock feed, and manual order/tracking exchange. The creation flow is separate from the recurring stock job.

Evidence boundary

This page describes source at commit 42116ebc0ba509bce9cc6651a55ecefd9a5fdb38. It does not prove that source spreadsheets, credentials, schedules, or provider-side order processing are current.

Entry points ​

OperationCommandWhat the source does
Source importmauroferretti:import-products <filename>Reads an Excel file from the import area and maps item number, EAN, title, category, prices, shipping, materials, colors, and dimensions into the Mauro supplier table.
Product creationmauroferretti:create-new-productsFinds unlinked supplier rows, applies category/material/color mappings and images, calculates the retail price, creates/publishes new products, and generates translated text.
Product linkingmauroferretti:link-productsLinks Mauro rows to matching mz_new_product and mz_product entities.
Stock feedmenzzo:mauroferretti:sync-product-stock-urlReads a protected CSV (first column REF, fifth column stock), maps maf-prefixed SKUs, updates status/quantity in batches, and disables missing SKUs. The command is lock-protected.
Order exportmenzzo:mauro:export-processing-sales [file_name]Writes processing Mauro sales to an XLS export and marks exported sale products.
Tracking importmenzzo:mauro:import-tracking <file_path>Reads a processed XLSX with tracking numbers in column AD, calls the Mauro tracking API, resolves carrier data, and updates matching sale products.

Product creation and pricing ​

The creation path requires the supplier manufacturer Mauro_Ferretti. It maps supplier data and images, sets the supplier/drop-ship identity, and calculates the initial price from the source formula ceil(2.4 * purchase price + 1.2 * shipping amount). This is source behavior, not a current pricing approval.

Stock rules ​

The stock command activates a product when the imported quantity is at least 5; rows marked “Fin de produit” are treated as unavailable. A large hardcoded source-id exclusion list is applied before updates. Missing supplier SKUs are disabled. Updates are batched at 500 and can enqueue product price updates.

The CSV URL, username, and password come from the mauro_ferretti configuration. Do not put those values in runbooks or tickets.

Order and tracking exchange ​

The order export writes under web/mauroferretti/exports, then marks the relevant sale products as sent. The tracking import expects the manually returned XLSX layout, including the fixed tracking column and SKU columns; it is not a generic CSV import. Tracking is matched back to the sale products and the sale/shipment state is updated through the shipment synchronizer.

What remains unknown ​

  • Whether the price formula and product creation path are still approved for new products.
  • Which source-id exclusions are intentional versus historical.
  • Who supplies the processed XLSX and how provider acceptance is confirmed.
  • Which jobs are scheduled in each environment.

Source locations ​

  • src/MauroFerrettiSRLBundle/Command/ImportProductsCommand.php — spreadsheet mapping.
  • src/MauroFerrettiSRLBundle/Command/CreateMauroFerrettiNewProductsCommand.php — product creation and pricing.
  • src/MauroFerrettiSRLBundle/Command/SyncProductsStockCommand.php — protected stock feed and batch updates.
  • src/MauroFerrettiSRLBundle/Command/Sale/ExportProcessingSalesCommand.php and ImportTrackingCommand.php — manual order/tracking exchange.

Internal developer documentation for Menzzo systems.