← Back to projects

Odoo ERP Middleware — Scheduled Synchronization

A scheduled middleware service that synchronized sales and operational data with Odoo ERP, improving data consistency and reducing manual accounting work.

TypeScriptREST APIsLinuxCronOdoo ERPAutomation

Note: This project was developed in a professional environment. Source code is private, so this case study focuses on architecture, decisions, and outcomes.

Problem

Sales and operational systems generated data that needed to be reflected accurately in Odoo ERP. Manual entry and inconsistent synchronization caused accounting discrepancies and support tickets.

Constraints

  • ERP access limited to authenticated REST APIs.
  • Data consistency was more important than real-time updates.
  • Failures had to be detectable and recoverable.

Solution

I built a middleware service that ran on a Linux environment and executed scheduled synchronization jobs using cron. The service periodically pulled new or updated records from upstream systems, transformed them into Odoo-compatible payloads, and pushed them via REST APIs.

Architecture

Upstream systems
   |
   | Scheduled fetch (cron)
   v
Middleware service (TypeScript)
   |
   | Validation + transformation
   v
Odoo ERP (REST API)
   |
   v
Accounting / reporting

Key decisions

  • Scheduled sync over real-time: reduced complexity and avoided partial failures during peak business hours.
  • Idempotent operations: ensured re-running jobs wouldn’t duplicate or corrupt records.
  • Error logging: allowed accounting and IT teams to identify failed syncs quickly.

Impact

  • Reduced synchronization errors by ~40%.
  • Lowered manual data-entry workload for the accounting team.
  • Improved trust in ERP data accuracy.

What I learned

  • Designing reliable scheduled jobs for business-critical systems.
  • Handling ERP integrations with defensive validation.
  • Balancing simplicity vs real-time requirements.