Odoo Electronic Signature Integration
Context and Customer Need
The customer is an educational company operating multiple schools across various regions in Argentina. They utilize a Student Management System (SMS)—a comprehensive digital solution designed to handle critical academic, administrative, and operational processes. Specifically, their SMS was custom-developed using Java and Angular technologies. One of their essential business processes involves signing various important documents, including budget approvals, teacher registrations, and headquarters renovations.
Due to the considerable distance between their central administrative office and the numerous schools, traditional physical signing processes proved inefficient and resource-intensive. It also became increasingly challenging to manage and retrieve historical signing records. Consequently, the customer sought an effective integration between their existing SMS (already capable of generating PDF documents) and an electronic signature solution to facilitate electronic signing and capitalize on its associated benefits.
Proposed Solution
After a thorough analysis of the customer’s needs, the project team proposed integrating their existing SMS with Odoo ERP. The integration enabled direct uploading of documents from the SMS to Odoo, efficiently managing the document signing workflow.
The primary Odoo module targeted for this integration was the “Sign” module. This module empowers users to create, distribute, and electronically sign documents, thereby streamlining the signing process and ensuring compliance through generated completion certificates that record the involved IP addresses and timestamps.
The integration entailed unidirectional communication initiated from the SMS via XML-RPC requests provided by the Odoo API, allowing seamless transmission of documents for signature. To maintain synchronization between the SMS and Odoo regarding document signing statuses, a CRON job was proposed, periodically querying Odoo for updates.
Upon creation of new documents in Odoo, the system manages the distribution process automatically, sending notification emails to signers and enabling them to digitally sign the documents conveniently.
Integration Developmetn via XML-RPC
Extensive interviews were conducted to effectively expand the capabilities of the existing SMS. The SMS database schema underwent modifications, adding essential fields to the document schema, including status, Odoo document ID, date sent, and date signed, among others.
A new functionality was integrated into the SMS to facilitate sending documents to the Odoo instance. This integration required development within Odoo’s ‘res.partner’ model to efficiently manage and update contacts involved in the signing workflow.
To accomplish the transmission of documents, interaction with Odoo models ‘sign.template’, ‘sign.request’, and ‘sign.send.request’ was essential. Templates were meticulously created, specifying details such as Base64 PDF content, designated signature pages, signature coordinates, and additional relevant information to ensure accurate and compliant document preparation.
CRON Development
To ensure continuous synchronization, a CRON process was developed. This scheduled task, implemented using Spring Boot, periodically retrieves data on pending documents from Odoo, subsequently updating their status within the SMS according to the customer’s preferred schedule.
Odoo Implementation and Deployment
The team initiated an Odoo.sh project specifically designed for the customer’s production environment. Following extensive and successful testing in the staging environment, the production instance was carefully configured, including the integration of an Outlook mail server for reliable email communications and the creation of necessary user accounts.
The project concluded successfully, with all targeted features fully implemented, tested, and deployed, fulfilling the customer’s needs comprehensively.