Cases
Full-text search for tens of thousands of documents
VluchtelingenWerk Nederland (Dutch Council for Refugees) · 2024 · Ronald Portier as developer/consultant
Context
VluchtelingenWerk Nederland had tens of thousands of documents
where finding specific information was virtually impossible.
Staff could only browse or search by exact filenames.
Challenge
How do you quickly find a document when you only know it
concerns a particular country, or dates from a specific period?
The existing search functionality in Odoo ERP was not sufficient.
Approach
Extended the Odoo ERP ORM with PostgreSQL Full Text Search.
Automatic definition of TSVECTOR fields and GIN indexes based on them.
Combined with metadata such as country and date, so users can
search on text content and filter by structure simultaneously.
Result
Documents that previously took an average of 15–20 minutes
to find can now be retrieved in under 3 seconds via combinations
of text, country and date.
Odoo ERP migration go-live in Cape Town
South African trade organisation · 2025 · Ronald Portier as on-site consultant
Context
A trade organisation based in Cape Town faced the migration
of a large Odoo ERP database to a new installation.
The migration had to be guided on location, with minimal downtime.
Challenge
The PostgreSQL database had grown significantly and response
times were degrading. In addition, problems in the reseller
portal and SMS provider integration surfaced during go-live.
Approach
On-site in Cape Town: PostgreSQL database tuning, fixing
issues in the reseller portal (Odoo OWL framework), and
repairing the SMS provider integration. Directly on the
production environment, under time pressure.
Result
Successful go-live within the planned period. The reseller
portal worked correctly immediately, SMS integration was
restored, and database response time was back to production level.
Seamless planning system integration for psychological testing
Human Company / Nederlandse Spoorwegen (Dutch Railways) · 2024 · Ronald Portier as developer/consultant
Context
Human Company, a bureau for psychological tests, provides
test data to NS. Planners at NS fill in candidates. Results
are sent back to Human Company.
Challenge
Both organisations worked with separate planning systems that
were not connected. Manual coordination cost planners hours
each week and led to errors.
Approach
Created batch tasks in Odoo ERP to call the NS planning system
REST API. Developed controllers in Odoo ERP to offer a REST API
to the NS systems. Including unit tests and tests in Postman
and Swagger.
Result
Seamless integration of both organisations' planning systems.
Planners save hours of manual coordination each week, and
test results are available faster and more accessibly
for NS employees.