data and demo manifest keys. OdooLS checks XML structure, node types, attribute validity, XML ID references, and cross-module references.
Parsing and XML IDs
OLS05000 — Unable to parse XML file
OLS05000 — Unable to parse XML file
Unable to parse XML file: {0}The XML file could not be parsed. The error detail from the XML parser is appended to the message.Fix: Check the file for malformed XML: unclosed tags, invalid characters, or encoding issues.OLS05001 — Unknown XML ID
OLS05001 — Unknown XML ID
Unknown XML IDA ref attribute or similar XML ID reference points to an ID that OdooLS cannot find in the current module or any of its dependencies.Fix: Verify the XML ID exists and is declared before the point of reference. Use the module.xml_id format to be explicit about the source module.OLS05002 — XML ID without module prefix
OLS05002 — XML ID without module prefix
Unspecified module. Add the module name before the XML ID: 'module.xml_id'An XML ID was provided without a module prefix. Cross-module references must use the module.xml_id format.Fix: Prefix the XML ID with the module name: my_module.my_record_id.OLS05003 — Unknown module in XML ID
OLS05003 — Unknown module in XML ID
Unknown moduleThe module part of a module.xml_id reference is not known to OdooLS.Fix: Check that the module name is correct and that its addon path is configured.OLS05039 — Empty XML ID
OLS05039 — Empty XML ID
Empty XML ID. Please provide a valid XML ID.An attribute that expects an XML ID was given an empty string.Fix: Provide a valid non-empty XML ID.OLS05051 — Invalid XML ID format
OLS05051 — Invalid XML ID format
Invalid XML ID '{0}'. It should not contain more than one dot.XML IDs must be in the format xml_id (no dot) or module.xml_id (one dot). More than one dot is invalid.Fix: Use the format module.xml_id with exactly one dot.Root node validation
OLS05004 — Invalid attribute on odoo/openerp/data nodes
OLS05004 — Invalid attribute on odoo/openerp/data nodes
Invalid attributeThe root <odoo>, <openerp>, or <data> node contains an attribute that is not valid for that node.Fix: Remove the invalid attribute. Check the Odoo documentation for valid attributes on root data file nodes.OLS05005 — Invalid node tag
OLS05005 — Invalid node tag
Invalid node tagA node with an unrecognized tag was found inside an Odoo data file.Fix: Use only valid Odoo data file node types: <record>, <menuitem>, <report>, <function>, <delete>, etc.OLS05049 — Data file not found
OLS05049 — Data file not found
Data file {0} not found in the moduleA file listed in the manifest’s data or demo key does not exist on disk relative to the module directory.Fix: Check the file path for typos and ensure the file exists at the specified relative path.OLS05050 — Data file is not a valid XML, CSV, or SQL file
OLS05050 — Data file is not a valid XML, CSV, or SQL file
Data file {0} is not a valid XML, CSV, or SQL fileA file listed in the manifest’s data key has an extension that Odoo does not recognise as a loadable data file.Fix: Only .xml, .csv, and .sql files are valid data file types.<menuitem> validation
OLS05006 — menuitem must have id attribute
OLS05006 — menuitem must have id attribute
OLS05007 — Invalid attribute in menuitem
OLS05007 — Invalid attribute in menuitem
OLS05008 — sequence must be an integer string
OLS05008 — sequence must be an integer string
Sequence attribute must be a string representing an integerThe sequence attribute on a <menuitem> must be a string that represents a valid integer (e.g. "10").Fix: Set sequence to a quoted integer: sequence="10".OLS05009 — SubmenuItem not allowed with action+parent
OLS05009 — SubmenuItem not allowed with action+parent
OLS05010 — web_icon not allowed when parent is specified
OLS05010 — web_icon not allowed when parent is specified
web_icon attribute is not allowed when parent is specifiedThe web_icon attribute is only valid on top-level menu items (those without a parent). It cannot be combined with the parent attribute.Fix: Remove either web_icon or parent from the <menuitem>.OLS05011 — Invalid child node in menuitem
OLS05011 — Invalid child node in menuitem
OLS05012 — parent not allowed in submenuitems
OLS05012 — parent not allowed in submenuitems
OLS05052 — Parent menuitem does not exist
OLS05052 — Parent menuitem does not exist
OLS05053 — Action does not exist
OLS05053 — Action does not exist
Action with id '{0}' does not existThe XML ID in the action attribute of a <menuitem> has not been declared before this menuitem.Fix: Declare the action record before the menuitem in the XML file, or move the menuitem after the action declaration.OLS05054 — Group does not exist
OLS05054 — Group does not exist
Group(s) with id(s) '{0}' does not existOne or more XML IDs listed in the groups attribute of a <menuitem> do not correspond to known security groups.Fix: Check the group XML IDs for typos and ensure the groups are declared in the current module or a dependency.<record> and <field> validation
OLS05013 — Invalid attribute in record node
OLS05013 — Invalid attribute in record node
Invalid attribute {0} in record nodeThe attribute named in the message is not valid on a <record> node.Fix: Remove the invalid attribute. Valid attributes for <record> include id, model, and forcecreate.OLS05014 — record must have model attribute
OLS05014 — record must have model attribute
record node must contain a model attributeA <record> node is missing the required model attribute, which specifies which Odoo model the record belongs to.Fix: Add model="your.model.name" to the <record> node.OLS05015 — Invalid child in record
OLS05015 — Invalid child in record
Invalid child node {0} in record. Only field node is allowedOnly <field> nodes are permitted as direct children of a <record> node.Fix: Remove the invalid child node or replace it with a <field> element.OLS05016 — field must have name attribute
OLS05016 — field must have name attribute
field node must contain a name attributeEvery <field> node inside a <record> must have a name attribute identifying the model field it sets.Fix: Add name="field_name" to the <field> node.OLS05017 — field cannot have multiple value attributes
OLS05017 — field cannot have multiple value attributes
field node cannot have more than one of the attributes type, ref, eval or searchA <field> node may carry only one of type, ref, eval, or search at a time. Having more than one is ambiguous.Fix: Keep only the one attribute that fits your use case.OLS05018 — Invalid content for int field
OLS05018 — Invalid content for int field
Invalid content for int field: {0}A <field type="int"> node contains text that cannot be parsed as an integer or None.Fix: Set the field content to a valid integer string or None.OLS05019 — Invalid content for float field
OLS05019 — Invalid content for float field
Invalid content for float field: {0}A <field type="float"> node contains text that cannot be parsed as a floating-point number.Fix: Set the field content to a valid float string (e.g. 3.14).OLS05020 — Invalid child node in list/tuple field
OLS05020 — Invalid child node in list/tuple field
Invalid child node {0} in list/tuple fieldA <field type="list"> or <field type="tuple"> contains a child node that is not valid in that context.Fix: Use only valid child nodes inside list/tuple fields.OLS05021 — Text content not allowed with file attribute (field)
OLS05021 — Text content not allowed with file attribute (field)
text content is not allowed on a value that contains a file attributeA <field> or <value> node has both a file attribute and text content. These are mutually exclusive.Fix: Remove either the file attribute or the text content.OLS05022 — Text content not allowed with ref/eval/search on field
OLS05022 — Text content not allowed with ref/eval/search on field
text content is not allowed on a field with {0} attributeA <field> node has both a ref, eval, or search attribute and text content. These are mutually exclusive.Fix: Remove either the attribute or the text content.OLS05023 — model attribute not allowed without eval/search
OLS05023 — model attribute not allowed without eval/search
model attribute is not allowed on field node without eval or search attributeThe model attribute on a <field> node is only meaningful when combined with eval or search.Fix: Add eval or search, or remove the model attribute.OLS05024 — use attribute only allowed with search
OLS05024 — use attribute only allowed with search
use attribute is only allowed on field node with search attributeThe use attribute requires search to be present on the same <field> node.Fix: Add search="..." to the node or remove the use attribute.OLS05025 — Invalid attribute in field node
OLS05025 — Invalid attribute in field node
Invalid attribute {0} in field nodeThe attribute named in the message is not valid on a <field> node.Fix: Remove the invalid attribute.OLS05026 — Fields only allow record children
OLS05026 — Fields only allow record children
Fields only allow 'record' children nodesThe only permitted child nodes inside a <field> are <record> nodes (except for XML/HTML field types).Fix: Remove or replace the invalid child node.OLS05055 — Model not found in module or dependencies
OLS05055 — Model not found in module or dependencies
Model '{0}' not found in module '{1}' or its dependenciesThe model referenced by the model attribute of a <record> or <function> node is not declared in the current module or any of its declared dependencies.Fix: Add the module that declares the model to depends in your manifest.OLS05056 — Model not found
OLS05056 — Model not found
Model '{0}' not foundThe model name used in an XML node is not known to OdooLS at all.Fix: Check the model name for typos and ensure the declaring module is on an addon path.OLS05057 — Field not found in model
OLS05057 — Field not found in model
Field '{0}' not found in model '{1}'The field referenced in a <field name="..."> node does not exist on the specified model.Fix: Check the field name for typos or ensure the field is declared on the model (possibly via inheritance from a dependency module).<value> node validation
OLS05027 — search not allowed with eval/type/file/text
OLS05027 — search not allowed with eval/type/file/text
search attribute is not allowed when eval, type, file, or text content is presentThe search attribute on a <value> node is mutually exclusive with eval, type, file, and text content.Fix: Use only one value-providing mechanism per <value> node.OLS05028 — eval not allowed with search/type/file/text
OLS05028 — eval not allowed with search/type/file/text
eval attribute is not allowed when search, type, file, or text content is presentThe eval attribute on a <value> node is mutually exclusive with search, type, file, and text content.Fix: Use only one value-providing mechanism per <value> node.OLS05029 — type not allowed with search/eval
OLS05029 — type not allowed with search/eval
type attribute is not allowed when search or eval attribute is presentThe type attribute on a <value> node cannot be combined with search or eval.Fix: Remove the conflicting attribute.OLS05030 — Text content not allowed with file attribute (value)
OLS05030 — Text content not allowed with file attribute (value)
text content is not allowed on a value that contains a file attributeA <value> node has both a file attribute and text content. These are mutually exclusive.Fix: Remove either the file attribute or the text content.OLS05031 — file not allowed with search/eval
OLS05031 — file not allowed with search/eval
file attribute is not allowed when search or eval attribute is presentThe file attribute on a <value> node cannot be combined with search or eval.Fix: Remove the conflicting attribute.OLS05032 — Invalid attribute in value node
OLS05032 — Invalid attribute in value node
Invalid attribute {0} in value nodeThe attribute named in the message is not valid on a <value> node.Fix: Remove the invalid attribute.OLS05036 — Empty value with type attribute
OLS05036 — Empty value with type attribute
Empty Value data, text data or file attribute has to be provided when 'type' attribute is presentA <value> node has a type attribute but provides no content — neither text data nor a file attribute.Fix: Add text content or a file attribute to the <value> node.OLS05037 — Empty value node
OLS05037 — Empty value node
Empty Value data, one of text data, 'file', 'eval', or 'search' has to be providedA <value> node contains no data at all — no text, no file, no eval, and no search.Fix: Provide content via one of the accepted mechanisms.<delete> node validation
OLS05033 — delete must have model attribute
OLS05033 — delete must have model attribute
delete node must contain a model attributeA <delete> node is missing the required model attribute.Fix: Add model="your.model.name" to the <delete> node.OLS05034 — delete cannot have both id and search
OLS05034 — delete cannot have both id and search
delete node cannot have both id and search attributesA <delete> node must use either id or search to identify the record(s) to delete, not both simultaneously.Fix: Remove either id or search from the <delete> node.OLS05035 — delete must have id or search
OLS05035 — delete must have id or search
delete node must have either id or search attributeA <delete> node has neither an id nor a search attribute. At least one is required to identify what to delete.Fix: Add either id or search to the <delete> node.<report> node validation
OLS05041 — report missing required attribute
OLS05041 — report missing required attribute
report node must contain a {0} attributeA <report> node is missing one of its required attributes: string, model, or name.Fix: Add the missing required attribute to the <report> node.OLS05042 — Invalid attribute in report node
OLS05042 — Invalid attribute in report node
Invalid attribute {0} in report nodeThe attribute named in the message is not valid on a <report> node.Fix: Remove the invalid attribute.OLS05043 — report node cannot have text content
OLS05043 — report node cannot have text content
report node cannot have text contentA <report> node contains text content, which is not permitted.Fix: Remove the text content from the <report> node.OLS05040 — Invalid binding_views attribute
OLS05040 — Invalid binding_views attribute
binding_views attribute must be a comma-separated list of view types matching ^([a-z]+(,[a-z]+)*)?$, found {0}The binding_views attribute on a <report> node does not match the required pattern: a comma-separated list of lowercase view type names.Fix: Use a value like "list,form" or "tree". Each part must be lowercase letters only.<function> node validation
OLS05044 — function missing required attribute
OLS05044 — function missing required attribute
function node must contain a {0} attributeA <function> node is missing a required attribute (model or name).Fix: Add the missing attribute to the <function> node.OLS05045 — function cannot have value children with eval
OLS05045 — function cannot have value children with eval
function node cannot have value children when eval attribute is presentA <function> node uses eval and also has <value> child nodes. These are mutually exclusive.Fix: Remove either the eval attribute or the <value> children.OLS05046 — Invalid attribute in function node
OLS05046 — Invalid attribute in function node
Invalid attribute {0} in function nodeThe attribute named in the message is not valid on a <function> node.Fix: Remove the invalid attribute.OLS05047 — function cannot have function children with eval
OLS05047 — function cannot have function children with eval
function node cannot have function children when eval attribute is presentA <function> node uses eval and also contains nested <function> elements. These are mutually exclusive.Fix: Remove either the eval attribute or the nested <function> children.OLS05048 — Invalid child node in function node
OLS05048 — Invalid child node in function node
Invalid child node {0} in function nodeA <function> node contains a child node that is not valid in that context.Fix: Remove the invalid child node.