<p><aclass="reference external"href="https://odoo-community.org/page/development-status"><imgalt="Production/Stable"src="https://img.shields.io/badge/maturity-Production%2FStable-green.png"/></a><aclass="reference external"href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><imgalt="License: AGPL-3"src="https://img.shields.io/badge/licence-AGPL--3-blue.png"/></a><aclass="reference external"href="https://github.com/OCA/reporting-engine/tree/14.0/report_xml"><imgalt="OCA/reporting-engine"src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github"/></a><aclass="reference external"href="https://translation.odoo-community.org/projects/reporting-engine-14-0/reporting-engine-14-0-report_xml"><imgalt="Translate me on Weblate"src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png"/></a><aclass="reference external"href="https://runbot.odoo-community.org/runbot/143/14.0"><imgalt="Try me on Runbot"src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png"/></a></p>
<p>This module is intended as a base engine for other modules to use it, so no direct result if you are a user.</p>
<divclass="section"id="if-you-are-a-developer">
<h2><aclass="toc-backref"href="#id3">If you are a developer</a></h2>
<p>To learn from an example, just check the <aclass="reference external"href="https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/demo_report.xml">demo report</a> on GitHub for
the model <ttclass="docutils literal">res.company</tt> or check it in interface from companies views.</p>
<p>To develop with this module, you need to:</p>
<ulclass="simple">
<li>Create a module.</li>
<li>Make it depend on this one.</li>
<li>Follow <aclass="reference external"href="https://www.odoo.com/documentation/13.0/reference/reports.html">instructions to create reports</a> having in mind that the
<ttclass="docutils literal">report_type</tt> field in your <ttclass="docutils literal">ir.actions.report</tt> record must be
<p>In case you want to create a <aclass="reference external"href="https://www.odoo.com/documentation/13.0/reference/reports.html#custom-reports">custom report</a>, the instructions remain the same
as for HTML reports, and the method that you must override is also called
<ttclass="docutils literal">_get_report_values</tt>, even when this time you are creating a XML report.</p>
<p>You can make your custom report inherit <ttclass="docutils literal">report.report_xml.abstract</tt>, name
it in such way <ttclass="docutils literal"><spanclass="pre">report.<module.report_name></span></tt>. Also you can add a XSD file for
report validation into <ttclass="docutils literal">xsd_schema</tt> field of your report (check
<aclass="reference external"href="https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/report.xml">report definition</a>) and have XSD automatic checking for
free.</p>
<p>You can customize rendering process and validation way via changing logic of
<ttclass="docutils literal">generate_report</tt> and <ttclass="docutils literal">validate_report</tt> methods in your report class.</p>
<p>You can visit <ttclass="docutils literal"><spanclass="pre">http://<server-address>/report/xml/<module.report_name>/<ids></span></tt>
<li>Icon taken from <aclass="reference external"href="http://commons.wikimedia.org/wiki/File:Text-xml.svg">http://commons.wikimedia.org/wiki/File:Text-xml.svg</a></li>
<aclass="reference external image-reference"href="https://odoo-community.org"><imgalt="Odoo Community Association"src="https://odoo-community.org/logo.png"/></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <aclass="reference external"href="https://github.com/OCA/reporting-engine/tree/14.0/report_xml">OCA/reporting-engine</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <aclass="reference external"href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>