faustddd/symfony-1c-import
Symfony package for importing 1C data into PHP applications. Configurable commands and mappings help sync products, categories, prices, and stock from CommerceML/XML feeds, simplifying catalog updates and reducing manual integration work.
XMLReader), ZIP handling, exchange authorization/session management, and Messenger-based worker orchestration are the unglamorous, bug-prone 60–70% of any CommerceML integration. Buying that lets us spend engineering budget on the 30–40% that is actually differentiating.CatalogImporter and OffersImporter extensible and adds CustomImporter as an extension point for extra XML files. That converts "every customer needs slightly different product/offer mapping" from a fork-per-customer problem into an app-layer subclassing problem — a direct input into support cost and per-tenant configurability pricing.Adopt when most of the following hold:
ext-xmlreader, ext-simplexml, ext-zip available — or a willingness to build an adapter layer from a Laravel app.CustomImporter extension point is the reason to pick v2 over rolling your own parser.Look elsewhere or build in-house when:
For executives — one paragraph. This release turns 1C catalog integration from a bespoke engineering project into a supported capability. The package handles the fragile parts — streaming large XML catalogs without memory blowups, ZIP handling, exchange authentication, and background job orchestration — while we keep control of product data, pricing, and merchandising logic, which is where our differentiation lives. The commercial upside is onboarding merchants who run 1C without paying for a custom integration each time; the cost is one integration effort plus ongoing ops (queue workers, file cleanup). It is a Symfony bundle, so the effort estimate depends on confirming stack fit before commitment. Recommended next step: a timeboxed spike on a real customer's CommerceML export to validate catalog size, file variety, and the true remaining scope in persistence and pricing.
For engineering — the short version. faustddd/symfony-1c-import v2.0.0: Symfony bundle, PHP 8.2+, Symfony 6.4/7.x/8.x, requires xmlreader/simplexml/zip. Provides streaming XMLReader-based parsing over ZIP exchange archives, improved exchange auth/session handling, explicit ZIP-open failure handling, and extension points — subclass CatalogImporter and OffersImporter, or use CustomImporter for additional XML types. It deliberately does not persist products or apply pricing; that is ours. v2 is a major release, so treat any 1.x artifacts as requiring a migration review. Before adopting: confirm our framework wiring path (Symfony bundle vs. Laravel adapter), size the persistence/pricing/mapping work explicitly, and plan queue worker supervision and temp-file retention from day one. Expanded docs/ (architecture, streaming parsing, handlers, security, deployment, workers, cleanup) is the fastest way to de-risk the estimate.
How can I help you explore Laravel packages today?