Skip to main content
Join us

Final-year internship — ERP copilot: querying SAP / Odoo in natural language

TunisieInternshipOn site

"What do we owe suppliers at month end?" should be a question, not a ticket to the IT department. This copilot has to answer correctly — and refuse to answer rather than give a wrong figure. Subject for a pair of students.

Context

ERPs hold most of a company's financial and logistics information, but their complexity limits day-to-day use: finance and purchasing teams depend on fixed reports or on experts. The project starts on Odoo, which is open source and widely used in Tunisia, with a SAP connector as an extension.

What you will do

  • Build a text-to-SQL pipeline over a schema with hundreds of tables: relevant-table selection, generation, self-correction through execution
  • Statically analyse every query before it runs: read-only, role-based permissions, cost ceiling
  • Automate supplier-invoice reading (OCR, field extraction) and matching against purchase orders
  • Detect accounting anomalies (isolation forests, autoencoders)
  • Prototype cash-flow forecasting
  • Build a set of 200 business questions with reference answers
  • Expose everything through a FastAPI service

Technical challenges

  • Large schemas that exceed a model's context
  • Safety of generated queries: no writes, nothing outside the role's scope
  • Reliability of reported figures: a wrong but plausible answer is the worst case
  • Highly variable quality of scanned invoices

Deliverables

  • A working prototype connected to an Odoo instance and integrated into the B2H platform
  • A SAP connector (at least a proof of concept)
  • The 200-question business set and evaluation results
  • Technical documentation and a demo
  • The final-year report

Success criteria

  • Accuracy measured on the 200 business questions
  • Precision and recall of invoice field extraction
  • No write query and no out-of-permission query executed on the test set
  • Response times suitable for interactive use

Tech stack

  • Text-to-SQL, LLMs
  • Odoo API, SAP API
  • Document AI, OCR
  • Python, FastAPI, scikit-learn

Who we are looking for

  • Final-year engineering or master's students with a data or AI background
  • Advanced SQL: complex joins, query plans, data modelling
  • Some knowledge of accounting or ERPs is appreciated
  • High standards on the correctness of numbers
  • Fluent French and technical English

Practical details

  • Duration: 4 to 6 months (February – June 2027, indicative)
  • Supervised by the B2H engineering team, with a weekly check-in
  • Integrated into the internal B2H platform (single identity, event bus, shared data)
  • How to apply: CV + cover letter, at most 2 subjects per candidate
  • Deadline: 15/12/2026

Apply for this role