{"id":8111,"date":"2022-09-15T10:47:59","date_gmt":"2022-09-15T08:47:59","guid":{"rendered":"https:\/\/beta.close.technology\/formscrm-odoo-documentation\/"},"modified":"2026-09-23T16:27:49","modified_gmt":"2026-09-23T14:27:49","slug":"odoo","status":"publish","type":"documentacion","link":"https:\/\/beta.close.technology\/en\/documentation\/formscrm\/odoo\/","title":{"rendered":"Odoo"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This is the documentation for the <a href=\"https:\/\/beta.close.technology\/wordpress-plugins\/formscrm\/\">FormsCRM<\/a> plugin and its <a href=\"https:\/\/beta.close.technology\/wordpress-plugins\/formscrm-odoo\/\" data-type=\"product\" data-id=\"2783\">FormsCRM Odoo<\/a> extension.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Tabla de Contenido<\/h2><nav><ul><li class=\"\"><a href=\"#configuracion\">Configuration<\/a><\/li><li class=\"\"><a href=\"#recomendaciones\">Recomendation<\/a><\/li><li class=\"\"><a href=\"#modulos-campos-y-valores-esperados\">Modules, Fields and Expected Values<\/a><\/li><li class=\"\"><a href=\"#versiones-probadas-de-odoo\">Tested versions of Odoo<\/a><\/li><li class=\"\"><a href=\"#casos-de-uso\">Use Cases<\/a><\/li><li class=\"\"><a href=\"#idiomas\">Languages<\/a><\/li><li class=\"\"><a href=\"#gravity-forms-nueva-cita-calendario\">Gravity Forms > Odoo New Calendar Appointment<\/a><\/li><li class=\"\"><a href=\"#registro-de-cambios\">Changelog<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"How to connect WordPress Forms with Odoo\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/lnhC85JK7pY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"configuracion\">Configuration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To connect to Odoo, we need the following data:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>URL<\/td><td>Url of the direct installation with Odoo.<\/td><\/tr><tr><td>User<\/td><td>User that has been created to establish the connection with Odoo, which is an email.\n<\/td><\/tr><tr><td>API Password<\/td><td>To get it, you must go to Profile &gt; Security of the &gt; account and add a new API developer password. Then copy and paste into the selected area.\n<\/td><\/tr><tr><td>Odoo Database<\/td><td>We enter Settings &gt; Activate developer mode (with assets)<br>In the upper right, the database name is between (). Example: User (Db name)<br>Or you can also navigate to the address: \/web\/database\/list<br>and you will have the list of databases in that installation.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"recomendaciones\">Recomendation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We recommend these fields to use in the merge options:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LEAD Email (email_from): For the lead email.<\/li>\n\n\n\n<li>LEAD Mobile (mobile): for the mobile number.<\/li>\n\n\n\n<li>LEAD Opportunity (name): Opportunity name.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"modulos-campos-y-valores-esperados\">Modules, Fields and Expected Values<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"contactos-res-partner\">Contacts (res.partner)<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Field<\/td><td>Database Name<\/td><td>Type<\/td><td>Observations<\/td><\/tr><tr><td>Name<\/td><td>name<\/td><td>string<\/td><td><\/td><\/tr><tr><td>Complete name<\/td><td>complete_name<\/td><td><\/td><td><\/td><\/tr><tr><td>Position<\/td><td>title<\/td><td>string<\/td><td>Contact\u2019s job position<\/td><\/tr><tr><td>Email<\/td><td>email<\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"versiones-probadas-de-odoo\">Tested versions of Odoo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This plugin has been tested on Odoo versions from version 10 onwards, including Odoo 19+ via the new JSON-2 API.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"casos-de-uso\">Use Cases<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"idiomas\">Languages<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you need to store the user\u2019s default language so that the interface adapts accordingly, you can use the <strong>lang<\/strong> field and set the desired language code, such as es_ES or en_GB.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"contact-form-7-nueva-cita-calendario\">Contact Form 7 &gt; Odoo New Calendar Appointment<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It is necessary to change the names and IDs of the organizers while maintaining the same format.<\/p>\n\n\n\n\n\n<p class=\"wp-block-paragraph\">Fields used:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"917\" height=\"1024\" src=\"https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/campos-formulario-cita-917x1024.png\" alt=\"Appointment Form Fields\" class=\"wp-image-7173\" srcset=\"https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/campos-formulario-cita-917x1024.png 917w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/campos-formulario-cita-269x300.png 269w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/campos-formulario-cita-768x857.png 768w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/campos-formulario-cita-255x285.png 255w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/campos-formulario-cita-1376x1536.png 1376w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/campos-formulario-cita-600x670.png 600w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/campos-formulario-cita.png 1514w\" sizes=\"auto, (max-width: 917px) 100vw, 917px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"gravity-forms-nueva-cita-calendario\">Gravity Forms &gt; Odoo New Calendar Appointment<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">With this Gravity Forms form, we can collect client appointments and send them directly to our calendar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/beta.close.technology\/wp-content\/uploads\/gravity_forms\/gravity-forms-nueva-cita-calendario.json\" download=\"\">Download Form ( JSON )<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fields used:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"890\" height=\"1024\" src=\"https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/image-890x1024.png\" alt=\"Custom fields for new Odoo calendar event \" class=\"wp-image-7179\" srcset=\"https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/image-890x1024.png 890w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/image-261x300.png 261w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/image-768x884.png 768w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/image-248x285.png 248w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/image-1335x1536.png 1335w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/image-600x690.png 600w, https:\/\/beta.close.technology\/wp-content\/uploads\/2025\/05\/image.png 1566w\" sizes=\"auto, (max-width: 890px) 100vw, 890px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"registro-de-cambios\">Changelog<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-4-0\">= 1.4.0 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Added: Support for Odoo API v2 (JSON-2), since Odoo 19+. The plugin now detects the Odoo version and uses the appropriate API, ensuring compatibility with both older and newer Odoo versions.<\/li>\n\n\n\n<li>Added: whether the connection uses JSON-2 or JSON-RPC is now reported alongside login and entry creation results.<\/li>\n\n\n\n<li>Fixed: the field list incorrectly required a database name even for JSON-2 (v19+) instances, which authenticate via bearer token and don&#8217;t need one \u2014 this returned an empty field list for those setups.<\/li>\n\n\n\n<li>Fixed: Error &#8220;Invalid field &#8216;mobile&#8217; in &#8216;res.partner'&#8221; when creating a lead with the combined res.partner|crm.lead module.<\/li>\n\n\n\n<li>Fixed: In Odoo 16+, unprefixed mobile and phone fields are no longer sent to res.partner in combined module mode, as crm.lead handles them via related fields.<\/li>\n\n\n\n<li>Fixed: Graceful retry when Odoo rejects a field as invalid \u2014 the field is removed and the create request is retried.<\/li>\n\n\n\n<li>Fixed: Error &#8220;invalid input syntax for type integer&#8221; when state_id\/country_id\/team_id are mapped as text instead of an Odoo ID \u2014 they now resolve by name.<\/li>\n\n\n\n<li>Fixed: As a safety net, any other unrecognized *_id field holding a non-numeric value is now dropped instead of being sent raw to Odoo, preventing a fatal error.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">= 1.3.2 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fixed: Relation fields (source_id, medium_id, campaign_id, category_id, tag_ids) now resolve correctly to Odoo IDs by name, creating the record if not found.<\/li>\n\n\n\n<li>Fixed: many2one fields sent as integer, many2many fields sent with correct ORM command syntax.<\/li>\n\n\n\n<li>Fixed: Dynamic fields not sending correctly.<\/li>\n\n\n\n<li>Fixed: License settings page not showing correctly.<\/li>\n\n\n\n<li>Fixed: License Manager not working correctly.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">= 1.3.1 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Added: Expert Mode.<\/li>\n\n\n\n<li>Enhanced: Adds categories by name and creates if not found.<\/li>\n\n\n\n<li>Fixed: Dynamic fields not sending correctly.<\/li>\n\n\n\n<li>Changed to new License Manager.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-3-0\">= 1.3.0 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It shows connection errors with the Odoo API.<\/li>\n\n\n\n<li>Filtered fields for easier management.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-2-2\">= 1.2.2 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It prevents errors when there is a field list and a custom module.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-2-1\">= 1.2.1 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Better error handling.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-2-0\">= 1.2.0 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>New connection mode: JSON-RPC.<\/li>\n\n\n\n<li>New dynamic reading modules for Odoo.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-1-0\">= 1.1.0 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Added CRM Lead Module. Create Deals and Contact related.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-0-5\">= 1.0.5 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fix english domain.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-0-4\">= 1.0.4 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fix error for getting fields.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-0-3\">= 1.0.3 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fix: Errors in admin if not actived PHP XML RPC.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-0\">= 1.0.2 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hotfix was not loading the modules and fields correctly.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-0-1\">= 1.0.1 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hotfix modules were not loading field options.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-0-2\">= 1.0.0 =<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>First version. Added to extensions<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This is the documentation for the FormsCRM plugin and its FormsCRM Odoo extension. Configuration To connect to Odoo, we need the following data: URL Url of the direct installation with Odoo. User User that has been created to establish the connection with Odoo, which is an email. API Password To get it, you must go [&hellip;]<\/p>\n","protected":false},"featured_media":0,"parent":9913,"menu_order":0,"template":"","class_list":["post-8111","documentacion","type-documentacion","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/beta.close.technology\/en\/wp-json\/wp\/v2\/documentacion\/8111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beta.close.technology\/en\/wp-json\/wp\/v2\/documentacion"}],"about":[{"href":"https:\/\/beta.close.technology\/en\/wp-json\/wp\/v2\/types\/documentacion"}],"version-history":[{"count":5,"href":"https:\/\/beta.close.technology\/en\/wp-json\/wp\/v2\/documentacion\/8111\/revisions"}],"predecessor-version":[{"id":11409,"href":"https:\/\/beta.close.technology\/en\/wp-json\/wp\/v2\/documentacion\/8111\/revisions\/11409"}],"up":[{"embeddable":true,"href":"https:\/\/beta.close.technology\/en\/wp-json\/wp\/v2\/documentacion\/9913"}],"wp:attachment":[{"href":"https:\/\/beta.close.technology\/en\/wp-json\/wp\/v2\/media?parent=8111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}