Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laradoo Laravel Package

edujugon/laradoo

Laradoo is a Laravel package for integrating Odoo ERP. It provides an Eloquent-style query builder and models to query, create, update, and delete Odoo records via XML-RPC/JSON-RPC, making ERP data access feel native in Laravel applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Architecture bet: Odoo as system of record, Laravel as the experience layer. This package is the concrete contract between the two. Adopting it is effectively a decision to keep ERP logic (stock, pricing, invoicing, accounting) in Odoo and keep customer-facing workflows (portals, checkout, internal tooling) in Laravel — rather than duplicating ERP data or replacing Odoo outright.
  • Build vs. buy vs. integrate. The realistic options are: (a) write and maintain a bespoke Odoo client, (b) pay for an iPaaS/connector (Celigo, Make, Odoo's own connectors), or (c) adopt a thin open-source wrapper like this. This package makes option (c) viable and lets you price the other two honestly.
  • Roadmap sequencing for ERP-backed features. It defines what is cheap to ship first: read-heavy syncs (product catalog, stock levels, customer records, price lists) are days of work; write-back flows (orders, invoices, stock reservations) are weeks and carry reconciliation risk. Use it to shape a phased roadmap: read → write → bidirectional reconciliation.
  • Sync model decisions. Real-time call-per-request vs. queued batch jobs is a product decision, not just a technical one — it determines how stale stock counts can be, how order confirmations behave under load, and what happens when Odoo is down. This package is request/response only, which pushes you toward queued jobs and graceful degradation.
  • Data ownership and reconciliation policy. Deciding which side wins on conflict (e.g., price changed in both places) is a product rule you must write down before the first write-back feature ships.
  • Vendor/asset maintenance posture. With a last release of 2020, the real decision is adopt as-is, fork and maintain, or wrap and replace later. Recommendation: wrap it behind an internal interface so the answer can change without a rewrite.

When to Consider This Package

Good fit when:

  • You run (or are committing to) Odoo as your ERP and have a Laravel/PHP codebase that needs programmatic access to it.
  • You want to skip the tedious parts of Odoo's external API — the two-step common.login / execute_kw auth dance, model name resolution, and error unwrapping — and get to business logic fast.
  • Your integration surface is modest and read-biased: catalog, inventory levels, customers, price lists, invoice lookups.
  • You value MIT licensing: free, forkable, no procurement cycle, no legal friction.
  • Your team is small and would rather own a thin adapter than a subscription connector.

Look elsewhere — or budget for a fork — when:

  • You're on PHP 8.2+/Laravel 10–11. A 2020-era release predates most of that; assume you'll need to patch, and validate compatibility in a spike before committing to the roadmap.
  • You need Odoo 16+/17+/18+ specifics or the newer JSON-2 API surface; the package targets the older XML-RPC/JSON-RPC style.
  • You need event-driven sync (Odoo record changes pushed to you). This is a client library — there are no webhooks. You'll need polling, Odoo automations, or a separate mechanism.
  • Throughput matters: XML-RPC per-call overhead is real at volume. High-frequency sync may need batching, a middleware tier, or a different approach.
  • You require vendor support, SLAs, or an auditable maintenance contract — 164 stars and a stale release means bus factor of roughly one, and no one to call.
  • A hosted iPaaS already covers your flows and the subscription is cheaper than the engineering time to own this.

The honest read on the high opportunity score: demand for Odoo↔Laravel integration is real and underserved, but this specific package is a starting point, not a supported product. Treat it as a well-shaped reference implementation you may end up owning.

How to Pitch It (Stakeholders)

To executives: This is a free, MIT-licensed adapter that lets our Laravel applications talk to Odoo without building that plumbing ourselves — realistically one to two weeks of engineering saved on the first integration, plus ongoing savings on every subsequent ERP-connected feature. It lets us ship inventory visibility, order sync, and invoice automation as incremental roadmap items instead of a re-platforming project, and it keeps the door open: because it's small and permissively licensed, we can fork it or swap it out later without sunk cost. The caveat to state plainly: it hasn't been updated since 2020 and has a small community, so we should treat it as code we adopt and maintain rather than a vendor product. Recommended ask: a short time-boxed spike (1–2 weeks) to confirm it works on our stack and to wrap it behind our own internal interface, with a small ongoing maintenance allowance.

To engineering: It's a thin, conventional Laravel wrapper over Odoo's external API — a service provider, a facade, config-driven connection, and a model/record abstraction over execute_kw. The value is that it encodes Odoo's quirks (dual-call auth, model naming, search_read/fields_get conventions, error handling) so we don't rediscover them. It's a client only: no webhooks, no queueing, no retry semantics — those stay ours to design. Two asks: (1) spike it against our actual Odoo version and PHP/Laravel versions before we commit, expect to patch; (2) put it behind our own ErpClient interface so the dependency is swappable and testable with a fake. If the spike shows too much rot, the cost of writing our own minimal JSON-RPC client is bounded and the interface we build is the same either way.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource