In Odoo 18, custom reports can be created by either using the built-in report designer or developing custom reports with QWeb (Odoo’s templating engine). You can design reports by defining the data model, choosing the necessary fields, and creating a report template in XML. For advanced customizations, developers can write Python code to handle complex data extraction and presentation. Afterward, the report can be integrated into Odoo modules or accessed through the user interface.