Odoo ERP Developer & Integration Specialist

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Any

SALARY

Open

HOURS PER WEEK

20

DATE UPDATED

Aug 11, 2026

JOB OVERVIEW

About the Role:
We are scaling our agricultural input brand (NextGen Ag Supply) and need an experienced Odoo Specialist to segment and build out this brand inside our Odoo ERP, create a private field sales ordering system, and automate our backend dropship workflow.
You will first configure NextGen Ag Supply as a distinct brand/company environment within Odoo, then build a secure, iPad-friendly order form for our remote sales reps to capture customer purchases and digital signatures, seamlessly triggering automated wholesale purchase orders to our manufacturer.
Key Responsibilities:
1. Multi-Company / Brand Setup: Configure and segment NextGen Ag Supply within Odoo away from our parent company (dedicated company profile, domain, logos, documents, and sequence settings for quotes/invoices).
2. Odoo Product Setup: Add 7 agricultural SKUs with downloadable SDS/TDS document links, customer pricelists, and supplier wholesale matrices.
3. Private Field Order System: Build a mobile-responsive web form (accessible via iPad/phone home-screen bookmark) featuring product selectors, customer fields, and an E-Signature pad. Include a downloadable fillable PDF backup for offline use.
4. API & Order Ingestion: Automatically route completed field submissions into Odoo as Draft Sales Orders, attaching the signed PDF/signature to the record.
5. Dropship PO Automation: Configure Odoo so confirming a Sales Order automatically generates a Vendor Purchase Order to our manufacturer with internal wholesale pricing and customer ship-to details.
6. Testing & Handoff: Conduct end-to-end testing from field submission to supplier PO generation.
Required Qualifications:
? 2+ years of hands-on Odoo development experience (Odoo 15, 16, or 17).
? Demonstrated experience with Odoo Multi-Company architecture and environment segmentation.
? Proficient in Python, JavaScript, XML, PostgreSQL, and REST APIs / Webhooks.
? Deep understanding of Odoo Sales, Purchase, Inventory, and Portal/Website modules.
? Experience building custom web forms with digital signature integrations (JS signature pads).
? Excellent communication skills in English.
Application Question (To Filter Applicants):
Please answer this in your reply: How have you previously set up a multi-company or separate brand segment in Odoo, and how would you configure it to auto-create a Vendor PO using wholesale pricing when a Sales Order is confirmed?

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0192
Total Execution Time  0.0206
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,672 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Odoo-ERP-Developer-Integration-Specialist-1707106
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0105 seconds)  (Hide)
0.0006   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0005   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1707106
 LIMIT 1 
0.0007   SELECT *
FROM `employers`
WHERE `employer_id` = 816998
 LIMIT 1 
0.0013   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1707106
AND `misc`.`idIS NULL 
0.0007   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-05',ej.date_added) duration_daysDATEDIFF('2026-09-05',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-09-05',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1707106' 
0.0005   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1707106 
0.0010   UPDATE employer_jobs SET hit_counts '***Aug-11-2026=280***Aug-12-2026=60***Aug-13-2026=27***Aug-14-2026=13***Aug-15-2026=7***Aug-16-2026=7***Aug-17-2026=20***Aug-18-2026=13***Aug-19-2026=3***Aug-20-2026=19***Aug-21-2026=9***Aug-22-2026=6***Aug-23-2026=3***Aug-24-2026=5***Aug-25-2026=11***Aug-26-2026=6***Aug-27-2026=3***Aug-28-2026=5***Aug-29-2026=4***Sep-05-2026=1' WHERE job_id'1707106'  
0.0011   UPDATE employer_jobs SET monthly_hits '***Aug-2026=501***Sep-2026=1' WHERE job_id'1707106'  
0.0015   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1707106' AND status LIKE 'sent%' ORDER BY id DESC  
0.0006   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1707106 
0.0010   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '816998'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0004   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)