A made-to-order Odoo package that models the full photography workflow — bookings, shoots, editing pipelines, client galleries, print/licensing orders, and delivery — on top of your existing CRM, Sales, and Accounting. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $349.00 USD; request a quote for a scoped proposal.
Manifeste de l'app
Conçu autour de votre flux de travail
A made-to-order Odoo package that models the full photography workflow — bookings, shoots, editing pipelines, client galleries, print/licensing orders, and delivery — on top of your existing CRM, Sales, and Accounting. ECOSIRE scopes, builds, installs, and supports it for you.
Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.
Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.
ECOSIRE la développe, la configure et l'installe sur votre Odoo.
Vous êtes en ligne en 2–4 semaines environ, avec une période d’assistance après le lancement.
Photography businesses run on a workflow Odoo core does not natively understand: an inquiry becomes a booking with a deposit, the booking becomes a scheduled shoot with a location and gear checklist, the shoot produces hundreds of assets that move through a cull-edit-retouch pipeline, and only then does the client select images, approve proofs, and order prints or license usage. Out of the box you can bludgeon this into crm.lead, sale.order, project.task, and calendar.event, but the moment you need shoot-specific fields, deposit-vs-balance milestones, per-image selection limits, or usage-rights terms on a licensing sale, you are maintaining a fragile mess of manual stages, spreadsheet trackers, and disconnected gallery tools. There is no single object that says "this is a wedding shoot on this date, at this venue, with this package, this deposit paid, these deliverables owed, and this delivery deadline."
We build a dedicated photography suite as a proper Odoo module (or small set of modules) with its own __manifest__.py, models, security, and views — installed into your database rather than bolted on from outside. The core is a photography.shoot model (models.Model) linking the customer (res.partner), the sold package (product.template/sale.order), a shoot date and location, an assigned photographer and second shooter, and a deliverables definition. Compute fields (@api.depends) derive the balance due from the deposit and package price, days-until-delivery from the shoot date and SLA, and a live pipeline status rolled up from editing tasks. Shoot packages are configured as products so quotes, invoices, and tax flow through native Sales and Accounting untouched; deposit and balance are handled as invoicing milestones so revenue recognition stays clean. Editing work is modeled either as a dedicated photography.edit.batch model or as a tailored Project pipeline, so retouchers see a Kanban of what is culled, edited, in review, and approved. Client-facing proofing and selection are exposed through the portal / website layer with QWeb and OWL views, with per-package selection limits enforced in the model (extra selections auto-generate an upsell line). Licensing sales carry structured usage-rights fields — media, territory, duration, exclusivity — so a print sale and a commercial license are distinct, reportable order types rather than a free-text note. Security is enforced with ir.model.access.csv plus record rules so photographers see their own shoots, editors see their assigned batches, and clients only ever see their own gallery; automated actions and scheduled jobs handle balance-due reminders, delivery-deadline alerts, and proof-approval follow-ups. Everything is reachable over XML-RPC/JSON-RPC if you want to sync galleries, bookings, or delivery status with an external website, booking widget, or asset-management tool.
Because every studio's package structure, deliverables, and licensing terms differ, this is delivered build-to-order rather than as a one-click download. After a short scoping call we confirm the exact shoot types, package definitions, pipeline stages, selection rules, and portal behavior you need, agree the data model and any migrations from your current tracker, and then build, test on a staging copy of your database, and deploy to production with your team trained. Delivery is typically 2-4 weeks from confirmed scope, and we target your Odoo edition and version (17.0, 18.0, or 19.0), noting where a capability leans on Enterprise (e.g. advanced Studio-style customization or certain portal features) versus what runs on Community. Pricing starts from $349 (indicative, single-company base scope); additional shoot types, deeper licensing/usage-rights logic, multi-studio or multi-company setups, external gallery/website integrations, and migrating a large back-catalogue of past shoots increase the quoted scope. You receive a fixed quote after the scoping call — the from-price is a starting point, not the final number.
Runs a wedding/portrait/commercial studio on Odoo and is tired of stitching bookings, deposits, editing status, and delivery across spreadsheets and a separate gallery tool. Wants one shoot record that drives quoting, invoicing, and delivery without leaving Odoo.
Owns the pipeline day to day and needs a real Kanban of every shoot's editing stage, balance-due status, and delivery deadline — plus automated reminders — instead of manually chasing photographers, editors, and clients.
Sells usage rights, not just prints, and needs licensing captured as structured terms (media, territory, duration, exclusivity) on the sale so licenses are reportable and the certificate is generated automatically rather than typed into a note.
Maintains the company's Odoo instance and wants photography-specific needs met as a clean, upgrade-safe module with proper access rules and API access — not brittle Studio hacks layered on core Sales and Project.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| Photography shoot model | Dedicated `photography.shoot` object with date, location, package, crew, deliverables | Whatever your dev builds from scratch, if scoped correctly | Generic booking fields, rarely photography-specific | |
| Deposit + balance billing | Native invoicing milestones with clean revenue recognition | Buildable, but often bolted on manually | Basic deposit support at best, varies by app | |
| Editing pipeline | Tailored `photography.edit.batch`/Project Kanban with stage ownership | Depends entirely on your spec and budget | Usually absent — treated as generic tasks | |
| Client proofing & selection limits | Portal galleries with model-enforced limits and auto-upsell lines | Possible but expensive to get right | External gallery tool, disconnected from Odoo billing | |
| Licensing / usage rights | Structured media/territory/duration/exclusivity fields, reportable | Only if explicitly specified up front | Free-text notes, not structured | |
| Security & access rules | `ir.model.access.csv` + record rules per role (photographer/editor/client) | As good as the developer makes it | Coarse app-level access, seldom per-shoot | |
| Ownership & upgrades | Full git handover, forward-portable across 17/18/19 | You own it, but must maintain it yourself | Vendor-locked; upgrades depend on their roadmap | |
| Support model | Scoped build + training + post-go-live support window | Whatever you arrange with the developer | Ticket-based, generic, not studio-aware |
No. This is a build-to-order package. ECOSIRE scopes, builds, installs, and supports it for your specific studio — there is no instant download. After a scoping call we confirm your exact packages, pipeline, and licensing rules, then build it against your Odoo version and deploy it for you.
Typically 2-4 weeks from confirmed scope. The scoping call locks the shoot types, package definitions, pipeline stages, selection rules, and portal behavior; from that agreed scope we build, test on a staging copy of your database, and deploy. Larger scopes — extra shoot types, deep licensing logic, big data migrations — extend the timeline, which we state in the quote.
Pricing starts from $349 as an indicative from-price for a single-company base scope. It is not a fixed price — after the scoping call you receive a firm fixed quote. Drivers that increase scope include additional shoot types, deeper usage-rights/licensing logic, multi-studio or multi-company setups, external gallery/website integrations, and migrating a large back-catalogue of past shoots.
We build for Odoo 17.0, 18.0, and 19.0, targeting your current edition. Most of the suite runs on Community; some conveniences lean on Enterprise (for example certain portal/website features or Studio-style customization). We confirm exactly what needs Enterprise during scoping so there are no surprises.
Every build includes a post-go-live support window for bug fixes and configuration tuning, and you get the full git repository so nothing is locked to us. Beyond the included window, we offer ongoing support and can build enhancements or forward-port your module when you upgrade to a newer Odoo version, quoted separately.
No. The suite builds on native Odoo objects — packages are products, deposits and balances are invoicing milestones through Sales and Accounting, and editing can reuse Project. We add photography-specific models and rules alongside your data, tested on staging with a rollback plan, so your existing quoting, invoicing, and reporting keep working.
Yes. The module exposes bookings, galleries, and delivery status over XML-RPC/JSON-RPC, so an external booking widget, marketing site, or digital-asset-management tool can push and pull data. The specific integration is scoped and quoted based on the third-party system's API.
A made-to-order Odoo package that models the full photography workflow — bookings, shoots, editing pipelines, client galleries, print/licensing orders, and delivery — on top of your existing CRM, Sales, and Accounting. ECOSIRE scopes, builds, installs, and supports it for you.