- Accueil
- Apps
- Specialized Solutions
- Arts & Crafts Store
Aperçu illustratifAn industry-specific Odoo retail template for arts and crafts businesses
— class scheduling, phantom-BOM craft kits, maker consignment, and deep product-variant handling.
ECOSIRE builds it to your scope, installs it, and supports it after go-live.
Qu'est-ce que Arts & Crafts Store ?
An industry-specific Odoo retail template for arts and crafts businesses — class scheduling, phantom-BOM craft kits, maker consignment, and deep product-variant handling. ECOSIRE builds it to your scope, installs it, and supports it after go-live. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Fonctionnalités clés
Fait sur commande, clé en main
Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.
- 1
Vous commandez
Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.
- 2
Nous développons et installons
ECOSIRE la développe, la configure et l'installe sur votre Odoo.
- 3
Mise en ligne + assistance
Vous êtes en ligne en une semaine ouvrée environ, avec deux semaines d’assistance après la mise en production. Les défauts du code que nous livrons sont corrigés gratuitement.
Spécifications techniques
- Compatibilité Odoo
- Odoo 17, Odoo 18, Odoo 19
- Éditions
- Enterprise et Community
- Licence
- Licence à confirmer
- Version Python requise
- Python 3.10+
- Base de données
- PostgreSQL 12+
À propos de ce produit
Arts and crafts retail runs on details that generic Odoo never anticipates. You sell yarn by the skein but buy it by the case, run make-and-take classes that consume inventory, take goods on consignment from local makers, and carry thousands of SKUs that differ only by color, weight, or fiber. Out of the box Odoo's product.template/product.product variant matrix, standard stock.picking flows, and generic POS handle a plain shop well — but they have no concept of a class that reserves seats and draws down bead and paint stock, no consignment settlement that pays a maker only on sale, and no craft kit that bundles a project's components while still tracking each part. Teams paper over this with spreadsheets, manual stock adjustments, and POS notes that never reconcile.
We build the Arts & Crafts Store as a proper Odoo module — its own __manifest__.py declaring dependencies on stock, sale, point_of_sale, and mrp — rather than a pile of Studio tweaks. New models extend the ORM: a craft.class.session model (models.Model) with @api.depends computes for remaining seats and material consumption, a consignment layer linking res.partner makers to products with computed amounts owed, and craft-kit assembly built on mrp.bom phantom BOMs so a "beginner knit kit" explodes into its component stock moves at sale time. Everything is secured with ir.model.access.csv plus record rules so instructors see only their class sessions and consignors see only their own settlement lines. Views ship as XML/OWL for the back office and inherited POS screens for the counter, with QWeb reports for consignment statements and class rosters.
Technically, the template wires into the flows you already run. Class bookings post through the existing sale/POS pipeline so revenue lands in the correct accounts; material draw-down uses standard stock moves so on-hand counts stay honest; and consignment settlement generates vendor bills only against sold units. Automated actions (server actions on ir.cron) can flag low-stock consumables, remind instructors of tomorrow's roster, and roll unsold consignment inventory into return pickings. Because it is a real module, the same logic is reachable over the XML-RPC/JSON-RPC API for any storefront, marketplace, or booking widget you connect. We target Odoo 17.0, 18.0, and 19.0 and note Community vs Enterprise differences up front — for example, features that lean on Enterprise-only apps are called out during scoping so nothing is assumed.
Build-to-order means we do not hand you a pre-existing download. After a short scoping call we confirm the exact models, POS behavior, reports, and edition (Community or Enterprise) your shop needs, then build, install on your staging database, run UAT with you, and deploy to production — typically one working week from confirmed scope. You receive the installable source, documentation, training, and a post-go-live support window. Pricing starts from $999 (indicative, single-company base scope); multi-company or multi-store rollouts, deep POS and payment-hardware integration, class-booking website widgets, and consignment/maker-payout automation depth increase the quoted scope. You get a fixed quote after the scoping call, never a surprise invoice.
Ce que vous obtenez
- Installable Odoo module source code for your confirmed version (17.0, 18.0, or 19.0)
- Installation and configuration on your staging and production databases
- Technical documentation: model reference, security matrix, and `__manifest__.py` dependency notes
- End-user guide plus a live training session for staff, instructors, and counter teams
- Post-go-live support window for defect fixes and configuration questions
- UAT sign-off on a staging database with a documented rollback plan
- Git repository handover with full commit history and tag for the delivered release
- QWeb report templates for consignment statements and class rosters, editable by your team
Pour qui c'est
Independent craft-shop owner on Odoo
Runs a single storefront on Odoo and needs class scheduling, kit sales, and consignment to stop living in spreadsheets and start reconciling with real stock and accounting.
Multi-store craft retail operations manager
Coordinates several locations and instructors, needs per-store inventory, record-rule-scoped access, and consolidated consignment payouts without double-counting.
In-house Odoo administrator / functional lead
Owns the Odoo instance and wants a clean, upgrade-safe module with `ir.model.access.csv` security and documented models rather than brittle Studio customizations.
Maker-collective or consignment coordinator
Manages dozens of local makers and needs settlement that pays only on sold units, per-consignor statements, and automated return of unsold inventory.
Comment Arts & Crafts Store se compare
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Natif Odoo |
|---|---|---|---|---|
| Class scheduling with material draw-down | Dedicated `craft.class.session` model with computed seats and stock consumption | Possible, but you design and maintain the model yourself | Rarely covered; generic booking add-ons ignore inventory | No concept of classes consuming stock |
| Craft kits (bundle + track parts) | Phantom `mrp.bom` kits explode to component stock moves at sale | Build BOM logic and POS handling from scratch | Often a flat bundle with no component stock tracking | Kit BOMs exist but not tailored to POS craft-kit sales |
| Maker consignment settlement | Pay-on-sale vendor bills with per-consignor QWeb statements | Full custom model and reports you must specify and build | Seldom offered; usually a separate paid module | No consignment concept out of the box |
| Security and access scoping | `ir.model.access.csv` plus record rules per role, delivered and documented | You author and test all access rules | Varies; often coarse or undocumented | Base groups only; no craft-specific scoping |
| Fit to arts-and-crafts workflows | Built around your exact classes, kits, and consignment terms | Fully bespoke but slow and costly to reach parity | Generic retail assumptions; limited configurability | Generic; heavy manual workarounds |
| Upgrade path across 17/18/19 | Real module with documented deps, scoped version migrations | Depends entirely on your build discipline | Tied to a third-party vendor's release cadence | Core upgrades supported; your workarounds may break |
| Support and ownership | Post-go-live window plus full git repo handover | Only what your internal team provides | Vendor support tiers, no source ownership | Community/Enterprise support, not shop-specific |
| Time to live | Typically one working week from confirmed scope | Often months of internal development | Fast to install but slow to bend to your workflow | Immediate, but never fits craft-retail needs |
Foire aux questions sur Arts & Crafts Store
Is this a ready-made app I can download and install today?
No. This is a build-to-order productized service. ECOSIRE builds the module to your confirmed scope, installs it on your database, and supports it. There is no instant download — the page describes what we build for you, not existing shelf software.
How long does delivery take?
Typically one working week from confirmed scope. After the scoping call we lock the models, POS behavior, reports, and Odoo edition, then build, install on staging, run UAT with you, and deploy to production. Complex multi-store or heavy-integration builds sit at the longer end of that range.
How does pricing and scoping work?
Pricing starts from $999 as an indicative single-company base scope. The final number is a fixed quote issued after a short scoping call — driven by multi-company or multi-store rollout, POS and payment-hardware integration, website booking widgets, consignment automation depth, and any data migration. No firm price is committed before scoping.
What about support and updates after go-live?
Every build includes a post-go-live support window for defect fixes and configuration questions, plus a git handover so your team owns the source. Version upgrades (for example moving from Odoo 17.0 to 18.0 or 19.0) and new features are quoted separately as follow-on work.
Which Odoo versions and editions do you support?
We support Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise. During scoping we flag any feature that depends on an Enterprise-only app so nothing is assumed — if you are on Community we design around it or note the trade-off explicitly.
Will this survive future Odoo upgrades?
Because we deliver a real module with its own `__manifest__.py`, ORM models, and inherited views rather than Studio tweaks, it is far more upgrade-safe. We document dependencies and follow Odoo's inheritance patterns so a version migration is a scoped, predictable task rather than a rebuild.
Can it connect to our website or a booking widget?
Yes. The module exposes its class sessions and bookings over Odoo's XML-RPC/JSON-RPC API, so a storefront, marketplace, or custom booking widget can read availability and create bookings. Website and widget integration is scoped as part of the quote.
Modules associés

AI Production Forecasting & Demand Planner
AI demand forecasting for Odoo MRP — predicts requirements, feeds MPS/MRP, and flags bias. Built-to-order for Odoo 17/18/19.

Aquaculture & Fish Farm Management
A purpose-built Odoo application for fish and shrimp farms that treats every pond and cage as a living production cycle — stocking, feeding, biomass sampling, mortality, harvest grading and full traceability. ECOSIRE scopes, builds, installs and supports it for your Odoo 17, 18 or 19 database.

Automobile Spare Parts
A made-to-order Odoo industry configuration package for automobile spare-parts distributors and retailers. ECOSIRE builds it around your part catalog, vehicle fitment, and multi-warehouse workflows, then installs and supports it.
Arts & Crafts Store
An industry-specific Odoo retail template for arts and crafts businesses — class scheduling, phantom-BOM craft kits, maker consignment, and deep product-variant handling. ECOSIRE builds it to your scope, installs it, and supports it after go-live.
- `craft.class.session` model with `@api.depends` computed remaining-seats and per-session material-consumption fields, booked through the sale/POS pipeline
- Phantom `mrp.bom` craft kits that explode into component stock moves at sale time so each yarn, bead, and tool is still inventoried
- Consignment layer linking `res.partner` makers to products, with computed amounts-owed and vendor bills generated only on sold units
- Deep `product.template`/`product.product` variant handling for color, weight, fiber, and size attributes without SKU sprawl
