Первый шаг - вы должны определить пункт меню, если вы не установите «родитель», это будет корневое меню и, следовательно, появится в ящике приложения.
<menuitem
id="model_menu_root"
name="Module Menu"
web_icon="module_name,static/description/icon.png"
groups="base.group_user"
sequence="6"
/>
Возможно, вы захотите иметь подменю для доступа к вашим моделям, они будут использовать это меню в качестве родителя.
<menuitem name="Model Name" id="menu_1_list" parent="model_menu_root"
action="action_window"/>
И меню относится к действию окна, которое контролирует отображение вашей модели.
<record model="ir.actions.act_window" id="action_window">
<field name="name">Model Name</field>
<field name="res_model">module_name.model_name</field>
<field name="view_mode">tree,form</field>
</record>
Вам нужно будет определить некоторые правила безопасности, иначе меню не появится. Они контролируются в файле ir.model.access.csv, который должен быть объявлен в файле __manifest__.py. В предыдущих версиях пропустить этот шаг было бы хорошо для целей тестирования, поскольку пользователь с правами администратора мог бы видеть все модели, но это, похоже, изменилось в v12, и вам нужно будет определить правила безопасности, прежде чем меню станет видимым, Правила безопасности описаны в документации для разработчиков odoo https://www.odoo.com/documentation/12.0/reference/security.html
Кстати, для такой проблемы обычно первое место, которое я бы искал, было бы исходным кодом Odoo на GitHub. Вы можете увидеть, как они реализовали корневое меню и правила безопасности на каждом из своих модулей и эмулировать его для вашего модуля.