odoo-forge-bundle 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1190) hide show
  1. package/index.js +6 -0
  2. package/manifest.json +13 -0
  3. package/package.json +16 -0
  4. package/payload/README.md +4 -0
  5. package/payload/config/product.json +11 -0
  6. package/payload/platforms/claude/hooks.template.json +15 -0
  7. package/payload/platforms/claude/mcp.template.json +9 -0
  8. package/payload/platforms/claude/plugin.template.json +8 -0
  9. package/payload/platforms/claude/settings.template.json +3 -0
  10. package/payload/platforms/codex/mcp.template.json +12 -0
  11. package/payload/platforms/codex/plugin.template.json +19 -0
  12. package/payload/skills/company-rules/SKILL.md +244 -0
  13. package/payload/skills/company-rules/agents/openai.yaml +6 -0
  14. package/payload/skills/company-rules/assets/icon-large.svg +1 -0
  15. package/payload/skills/company-rules/assets/icon-small.svg +5 -0
  16. package/payload/skills/company-rules/references/1 /343/200/212/350/256/276/350/256/241/345/274/200/345/267/245/346/212/245/345/221/212/343/200/213/347/274/226/345/210/266/350/247/204/345/256/2329920ZD1811A-2018.md" +128 -0
  17. package/payload/skills/company-rules/references/1 /350/256/276/350/256/241/345/274/200/345/267/245/346/212/245/345/221/212TBED-9920-201A-2018.md" +15 -0
  18. package/payload/skills/company-rules/references/10 /344/270/223/344/270/232/350/256/276/350/256/241/344/273/273/345/212/241/345/247/224/346/211/230/344/271/246TBED-9920-222A-2018.md" +16 -0
  19. package/payload/skills/company-rules/references/11 /347/272/240/346/255/243/357/274/210/351/242/204/351/230/262/357/274/211/346/216/252/346/226/275/350/241/250TBQM-9920-201A-2009.md" +12 -0
  20. package/payload/skills/company-rules/references/11 /350/256/276/350/256/241/346/226/207/344/273/266/345/217/212/346/212/200/346/234/257/346/226/207/344/273/266/347/274/226/345/217/267/350/247/204/345/256/2329920ZD1822A-2018.md" +411 -0
  21. package/payload/skills/company-rules/references/11-1/351/231/204/344/273/266/357/274/232/346/226/260/345/245/245/345/244/251/347/204/266/346/260/224/350/202/241/344/273/275/346/234/211/351/231/220/345/205/254/345/217/270/346/227/240/345/275/242/350/265/204/344/272/247/347/256/241/347/220/206/345/212/236/346/263/225.md +56 -0
  22. package/payload/skills/company-rules/references/12 /350/256/276/350/256/241/350/201/224/347/273/234/345/215/225TBED-4002-221A-2024.md" +16 -0
  23. package/payload/skills/company-rules/references/12 /351/241/271/347/233/256/350/256/276/345/244/207/346/235/220/346/226/231/350/257/267/350/264/255/346/216/247/345/210/266/347/250/213/345/272/217XMZX KZCL004A-2023.md" +244 -0
  24. package/payload/skills/company-rules/references/13 /345/237/271/350/256/255/350/256/260/345/275/225/350/241/250TBHR-9920-235A-2013.md" +36 -0
  25. package/payload/skills/company-rules/references/14 /345/244/226/345/207/272/345/237/271/350/256/255/347/224/263/350/257/267/350/241/250XDNYQM12A-B01-2025.md" +16 -0
  26. package/payload/skills/company-rules/references/14 /350/264/250/351/207/217/351/243/216/351/231/251/347/256/241/347/220/206/350/247/204/345/256/232 ENN NG 9920TEI003A-2025.md" +227 -0
  27. package/payload/skills/company-rules/references/15 /345/272/224/350/201/230/347/231/273/350/256/260/350/241/250XDNYQM12A-B02-2025.md" +31 -0
  28. package/payload/skills/company-rules/references/16 /351/235/242/350/257/225/346/265/213/350/257/204/345/215/225XDNYQM12A-B03-2025.md" +34 -0
  29. package/payload/skills/company-rules/references/17 /345/214/226/345/267/245/350/256/276/350/256/241/344/270/255/345/277/203/344/270/223/344/270/232/344/274/232/347/255/276/350/246/201/346/261/202/345/222/214/350/214/203/345/233/264/350/247/204/345/256/232ENN NG 4002 ENG001A-2023.md" +97 -0
  30. package/payload/skills/company-rules/references/17 /350/247/222/350/211/262/350/257/264/346/230/216/344/271/246XDNYQM12A-B04-2025.md" +175 -0
  31. package/payload/skills/company-rules/references/17 /350/264/250/351/207/217/347/256/241/347/220/206/350/247/204/345/256/232 ENN NG 9920TEI015A-2025.md" +218 -0
  32. package/payload/skills/company-rules/references/18 /345/212/236/345/205/254/347/224/250/345/223/201/351/242/206/347/224/250/347/231/273/350/256/260/350/241/250XDNYQM12A-B05-2025.md" +37 -0
  33. package/payload/skills/company-rules/references/18 /345/215/260/347/253/240/347/256/241/347/220/206/350/247/204/345/256/232 ENN NG 9920ASC011A-2024.md" +212 -0
  34. package/payload/skills/company-rules/references/19 /350/256/276/350/256/241/344/273/273/345/212/241/351/200/232/347/237/245/345/215/225XDNYQM12A-B06-2025.md" +35 -0
  35. package/payload/skills/company-rules/references/2 /350/256/276/350/256/241/350/257/204/345/256/241/347/256/241/347/220/206/350/247/204/345/256/2329920ZD1812A-2018.md" +139 -0
  36. package/payload/skills/company-rules/references/2 /350/256/276/350/256/241/350/257/204/345/256/241/350/256/260/345/275/225TBED-9920-202A-2015.md" +11 -0
  37. package/payload/skills/company-rules/references/20 /345/233/272/345/256/232/350/265/204/344/272/247/347/256/241/347/220/206/345/210/266/345/272/246 ENN NG 9920FIN004A-2024.md" +277 -0
  38. package/payload/skills/company-rules/references/20 /346/264/276/350/275/246/345/215/225ENN NG 4002ASC003A-2025-B03.md" +10 -0
  39. package/payload/skills/company-rules/references/21 /345/221/230/345/267/245/345/237/271/350/256/255/347/256/241/347/220/206/345/212/236/346/263/2259920ZD0313A-2013.md" +142 -0
  40. package/payload/skills/company-rules/references/23 /350/256/276/350/256/241/350/264/250/351/207/217/346/216/247/345/210/266/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4002ENG001A-2025.md" +116 -0
  41. package/payload/skills/company-rules/references/24 /345/267/245/347/250/213/350/256/276/350/256/241/350/264/250/351/207/217/347/272/242/351/273/204/347/272/277/347/256/241/347/220/206/345/212/236/346/263/225 ENN NG 4002/357/274/217ENG003A-2025.md" +100 -0
  42. package/payload/skills/company-rules/references/26 /346/212/200/346/234/257/346/241/243/346/241/210/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4002TEI002A-2025.md" +346 -0
  43. package/payload/skills/company-rules/references/27 /345/220/210/345/220/214/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4002LEG001A-2025.md" +151 -0
  44. package/payload/skills/company-rules/references/28 /350/256/276/350/256/241/346/226/207/344/273/266/346/231/222/345/217/221/347/256/241/347/220/206/345/212/236/346/263/225 ENN NG 4002MFG001A-2025.md" +109 -0
  45. package/payload/skills/company-rules/references/29 /346/212/225/346/240/207/347/256/241/347/220/206/347/273/206/345/210/231ENN NG 4002MKT001A-2024.md" +161 -0
  46. package/payload/skills/company-rules/references/3 /350/256/276/350/256/241/346/226/207/344/273/266/346/240/274/345/274/217/350/247/204/345/256/2329920ZD1821A-2018.md" +371 -0
  47. package/payload/skills/company-rules/references/3 /350/256/276/350/256/241/350/241/245/345/205/205/343/200/201/345/217/230/346/233/264/351/200/232/347/237/245/345/215/225TBED-9920-208A-2018.md" +19 -0
  48. package/payload/skills/company-rules/references/3 /350/256/276/350/256/241/351/252/214/350/257/201/350/247/204/345/256/2329920ZD1813A-2018.md" +97 -0
  49. package/payload/skills/company-rules/references/30 /350/256/276/350/256/241/347/273/217/347/220/206/345/210/206/347/272/247/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4002HR001A-2025.md" +139 -0
  50. package/payload/skills/company-rules/references/31 /350/256/276/350/256/241/351/241/271/347/233/256/350/277/233/345/272/246/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4003ENG001A-2024.md" +153 -0
  51. package/payload/skills/company-rules/references/32 EPC/351/241/271/347/233/256/350/256/276/350/256/241/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4003ENG004A-2024.md" +295 -0
  52. package/payload/skills/company-rules/references/4 /346/226/260/345/234/260/350/203/275/346/272/220/345/267/245/347/250/213/346/212/200/346/234/257/346/234/211/351/231/220/345/205/254/345/217/270/347/237/263/345/256/266/345/272/204/350/203/275/346/272/220/345/214/226/345/267/245/346/212/200/346/234/257/345/210/206/345/205/254/345/217/270/345/233/276/344/271/246/347/256/241/347/220/206/345/212/236/346/263/225ENN NG 4002TEI001A-2025.md" +88 -0
  53. package/payload/skills/company-rules/references/4 /350/256/276/350/256/241/344/273/273/345/212/241/351/200/232/347/237/245/344/271/246TBED-9920-209A-2011.md" +14 -0
  54. package/payload/skills/company-rules/references/4 /350/256/276/350/256/241/346/210/220/345/223/201/350/264/250/351/207/217/350/257/204/345/256/232/350/247/204/345/256/2329920ZD1815A-2018.md" +205 -0
  55. package/payload/skills/company-rules/references/5 /350/256/276/350/256/241/346/235/241/344/273/266/347/256/241/347/220/206/350/247/204/345/256/2329920ZD1816A-2018.md" +70 -0
  56. package/payload/skills/company-rules/references/5 /350/256/276/350/256/241/350/277/233/345/272/246/350/256/241/345/210/222/350/241/250TBED-9920-211A-2011.md" +14 -0
  57. package/payload/skills/company-rules/references/6 /345/267/245/347/250/213/350/256/276/350/256/241/350/265/204/346/240/274/347/256/241/347/220/206/345/212/236/346/263/2259920ZD1817A-2015.md" +169 -0
  58. package/payload/skills/company-rules/references/6 /350/256/241/347/256/227/344/271/246TBED-9920-212A-2011.md" +30 -0
  59. package/payload/skills/company-rules/references/7 /350/256/276/350/256/241/344/272/244/345/272/225/350/256/260/345/275/225TBED-9920-213A-2015.md" +16 -0
  60. package/payload/skills/company-rules/references/7 /351/241/271/347/233/256/350/256/276/350/256/241/347/273/204/347/273/207/345/222/214/346/212/200/346/234/257/346/216/245/345/217/243/350/247/204/345/256/2329920ZD1818A-2018.md" +138 -0
  61. package/payload/skills/company-rules/references/8 /350/256/276/350/256/241/346/234/215/345/212/241/347/256/241/347/220/206/350/247/204/345/256/2329920ZD1819A-2015.md" +98 -0
  62. package/payload/skills/company-rules/references/8 /350/256/276/350/256/241/357/274/210/346/226/207/346/234/254/357/274/211/346/240/241/345/256/241/350/256/260/345/275/225TBED-9920-214A-2018.md" +13 -0
  63. package/payload/skills/company-rules/references/9 /350/256/276/350/256/241/346/226/207/344/273/266/347/255/276/347/275/262/350/247/204/345/256/2329920ZD1820A-2018.md" +133 -0
  64. package/payload/skills/company-rules/references/9 /350/256/276/350/256/241/350/276/223/345/205/245/350/257/204/345/256/241/350/241/250TBED-9920-215A-2020.md" +10 -0
  65. package/payload/skills/company-rules/references/ENN NG 4002/357/274/217TEI001A-2025-B01/346/240/207/345/207/206/345/233/276/344/271/246/350/256/242/350/264/255/347/224/263/350/257/267/345/215/225.md" +30 -0
  66. package/payload/skills/company-rules/references/ENN NG 4002/357/274/217TEI001A-2025-B02/345/233/276/344/271/246/345/200/237/351/230/205/347/231/273/350/256/260/350/241/250.md" +10 -0
  67. package/payload/skills/company-rules/references/ENN NG 4002/357/274/217TEI001A-2025-B03/345/233/276/344/271/246/345/200/237/351/230/205/346/230/216/347/273/206/350/241/250.md" +11 -0
  68. package/payload/skills/company-rules/references/ENN NG 4002/357/274/217TEI001A-2025-L01~03/345/233/276/344/271/246/347/256/241/347/220/206/346/265/201/347/250/213 /357/274/2103/344/270/252/357/274/211 PDF.md" +26 -0
  69. package/payload/skills/company-rules/references//345/256/242/346/210/267/346/273/241/346/204/217/345/272/246/350/260/203/346/237/245/345/217/212/345/233/236/350/256/277/345/267/245/345/205/267/350/241/250/345/215/225.md +184 -0
  70. package/payload/skills/company-rules/references//345/256/242/346/210/267/346/273/241/346/204/217/345/272/246/350/260/203/346/237/245/345/217/212/345/233/236/350/256/277/347/256/241/347/220/206/350/247/204/345/256/232 ENN NG 9920MKT002A-2025.md" +225 -0
  71. package/payload/skills/company-rules/references//345/267/245/347/250/213/350/264/250/351/207/217/347/246/201/344/273/244/347/256/241/347/220/206/350/247/204/345/256/232 ENN NG 9920TEI012A-2025.md" +84 -0
  72. package/payload/skills/company-rules/references//346/227/240/345/275/242/350/265/204/344/272/247/347/256/241/347/220/206/345/212/236/346/263/225 ENN NG FIN014B-2024.md" +110 -0
  73. package/payload/skills/company-rules/references//347/207/203/346/260/224/345/214/226/345/267/245/350/256/276/350/256/241/344/270/255/345/277/203/350/264/250/351/207/217/345/210/206/346/211/213/345/206/214XDNYQM12A-2025.md +1102 -0
  74. package/payload/skills/company-rules/references//350/264/250/351/207/217/344/272/213/346/225/205/347/256/241/347/220/206/350/247/204/345/256/232ENN NG 9920TEI014A-2025.md" +188 -0
  75. package/payload/skills/company-rules/references//351/231/204/344/273/2661 /345/220/204/344/270/223/344/270/232/344/274/232/347/255/276/346/204/217/350/247/201/346/261/207/346/200/273/350/241/250.md" +14 -0
  76. package/payload/skills/company-rules/references//351/231/204/344/273/2661 /345/267/245/347/250/213/350/264/250/351/207/217/347/246/201/344/273/244/350/277/235/350/247/204/350/241/214/344/270/272/350/256/244/345/256/232/346/212/245/345/221/212.docx.md" +9 -0
  77. package/payload/skills/company-rules/references//351/231/204/344/273/2661/357/274/232/345/211/215/346/234/237/345/267/245/344/275/234/343/200/201/345/210/235/346/255/245/350/256/276/350/256/241/347/255/211/350/256/276/350/256/241/346/226/207/344/273/266/347/274/226/345/210/266/346/240/274/345/274/217.md +73 -0
  78. package/payload/skills/company-rules/references//351/231/204/344/273/2661/357/274/232/350/264/250/351/207/217/344/272/213/346/225/205/345/277/253/346/212/245.md +14 -0
  79. package/payload/skills/company-rules/references//351/231/204/344/273/2662 /345/267/245/347/250/213/350/264/250/351/207/217/347/246/201/344/273/244/350/277/235/350/247/204/350/241/214/344/270/272/347/273/237/350/256/241/345/217/260/350/264/246.docx.md" +9 -0
  80. package/payload/skills/company-rules/references//351/231/204/344/273/2662/357/274/232/346/266/210/351/230/262/350/256/276/350/256/241/346/226/207/344/273/266/343/200/201/346/266/210/351/230/262/350/256/276/350/256/241/344/270/223/347/257/207/347/274/226/345/210/266/346/240/274/345/274/217.md +103 -0
  81. package/payload/skills/company-rules/references//351/231/204/344/273/2662/357/274/232/350/264/250/351/207/217/344/272/213/346/225/205/350/260/203/346/237/245/346/212/245/345/221/212.md +71 -0
  82. package/payload/skills/company-rules/references//351/231/204/344/273/2663 /345/267/245/347/250/213/350/264/250/351/207/217/347/246/201/344/273/244/346/235/241/346/254/276/345/210/206/350/247/243/345/217/212/347/275/232/345/210/231.md" +80 -0
  83. package/payload/skills/company-rules/references//351/231/204/344/273/2663/357/274/232/345/256/211/345/205/250/350/256/276/346/226/275/350/256/276/350/256/241/344/270/223/347/257/207/357/274/210/346/210/226HAZOP/345/210/206/346/236/220/357/274/211/347/274/226/345/210/266/346/240/274/345/274/217.md +48 -0
  84. package/payload/skills/company-rules/references//351/231/204/344/273/2663/357/274/232/350/264/250/351/207/217/344/272/213/346/225/205/344/272/213/344/273/266/345/217/260/350/264/246.md +37 -0
  85. package/payload/skills/company-rules/references//351/231/204/344/273/2664/357/274/232/350/201/214/344/270/232/347/227/205/351/230/262/346/212/244/350/256/276/346/226/275/350/256/276/350/256/241/344/270/223/347/257/207/347/274/226/345/210/266/346/240/274/345/274/217/357/274/210/347/234/201/347/272/247/357/274/211.md +44 -0
  86. package/payload/skills/company-rules/references//351/231/204/344/273/2665/357/274/232/350/212/202/350/203/275/346/212/245/345/221/212/347/274/226/345/210/266/346/240/274/345/274/217.md +52 -0
  87. package/payload/skills/company-rules/references//351/231/204/344/273/2666/357/274/232/346/212/200/346/234/257/350/247/204/346/240/274/344/271/246/347/274/226/345/210/266/346/240/274/345/274/217.md +60 -0
  88. package/payload/skills/company-rules/references//351/231/204/344/273/2667/357/274/232/345/255/227/344/275/223/347/244/272/344/276/213.md +223 -0
  89. package/payload/skills/company-rules/scripts/convert.py +295 -0
  90. package/payload/skills/company-rules/scripts/summarize.py +144 -0
  91. package/payload/skills/dev/SKILL.md +310 -0
  92. package/payload/skills/dev/agents/openai.yaml +6 -0
  93. package/payload/skills/dev/assets/icon-large.svg +1 -0
  94. package/payload/skills/dev/assets/icon-small.svg +5 -0
  95. package/payload/skills/dev/references/repo-conventions.md +104 -0
  96. package/payload/skills/discovery/SKILL.md +360 -0
  97. package/payload/skills/discovery/agents/openai.yaml +6 -0
  98. package/payload/skills/discovery/assets/icon-large.svg +1 -0
  99. package/payload/skills/discovery/assets/icon-small.svg +5 -0
  100. package/payload/skills/discovery/references/output-template.md +264 -0
  101. package/payload/skills/discovery/references/question-dimensions.md +375 -0
  102. package/payload/skills/global-context/SKILL.md +341 -0
  103. package/payload/skills/global-context/agents/openai.yaml +6 -0
  104. package/payload/skills/global-context/assets/icon-large.svg +1 -0
  105. package/payload/skills/global-context/assets/icon-small.svg +5 -0
  106. package/payload/skills/global-context/references/document-specs.md +300 -0
  107. package/payload/skills/industry-practice/SKILL.md +273 -0
  108. package/payload/skills/industry-practice/agents/openai.yaml +6 -0
  109. package/payload/skills/industry-practice/assets/icon-large.svg +1 -0
  110. package/payload/skills/industry-practice/assets/icon-small.svg +5 -0
  111. package/payload/skills/industry-practice/references/review-checklist.md +63 -0
  112. package/payload/skills/module-report/SKILL.md +214 -0
  113. package/payload/skills/module-report/agents/openai.yaml +6 -0
  114. package/payload/skills/module-report/assets/icon-large.svg +1 -0
  115. package/payload/skills/module-report/assets/icon-small.svg +5 -0
  116. package/payload/skills/module-research/SKILL.md +151 -0
  117. package/payload/skills/module-research/agents/openai.yaml +6 -0
  118. package/payload/skills/module-research/assets/icon-large.svg +1 -0
  119. package/payload/skills/module-research/assets/icon-small.svg +5 -0
  120. package/payload/skills/odoo18-docs/SKILL.md +97 -0
  121. package/payload/skills/odoo18-docs/agents/openai.yaml +6 -0
  122. package/payload/skills/odoo18-docs/assets/icon-large.svg +1 -0
  123. package/payload/skills/odoo18-docs/assets/icon-small.svg +5 -0
  124. package/payload/skills/odoo18-docs/references/catalog/administration-catalog.md +44 -0
  125. package/payload/skills/odoo18-docs/references/catalog/applications-catalog.md +949 -0
  126. package/payload/skills/odoo18-docs/references/catalog/contributing-catalog.md +18 -0
  127. package/payload/skills/odoo18-docs/references/catalog/developer-catalog.md +162 -0
  128. package/payload/skills/odoo18-docs/references/docs/administration/hosting.md +115 -0
  129. package/payload/skills/odoo18-docs/references/docs/administration/mobile.md +69 -0
  130. package/payload/skills/odoo18-docs/references/docs/administration/neutralized_database.md +39 -0
  131. package/payload/skills/odoo18-docs/references/docs/administration/odoo_accounts.md +105 -0
  132. package/payload/skills/odoo18-docs/references/docs/administration/odoo_online.md +198 -0
  133. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/advanced/containers.md +235 -0
  134. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/advanced/frequent_technical_questions.md +60 -0
  135. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/advanced/submodules.md +109 -0
  136. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/advanced.md +15 -0
  137. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/branches.md +543 -0
  138. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/builds.md +121 -0
  139. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/create.md +192 -0
  140. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/first_module.md +518 -0
  141. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/online-editor.md +196 -0
  142. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/settings.md +332 -0
  143. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started/status.md +15 -0
  144. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/getting_started.md +19 -0
  145. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/overview/introduction.md +14 -0
  146. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh/overview.md +13 -0
  147. package/payload/skills/odoo18-docs/references/docs/administration/odoo_sh.md +15 -0
  148. package/payload/skills/odoo18-docs/references/docs/administration/on_premise/community_to_enterprise.md +106 -0
  149. package/payload/skills/odoo18-docs/references/docs/administration/on_premise/deploy.md +901 -0
  150. package/payload/skills/odoo18-docs/references/docs/administration/on_premise/email_gateway.md +51 -0
  151. package/payload/skills/odoo18-docs/references/docs/administration/on_premise/geo_ip.md +65 -0
  152. package/payload/skills/odoo18-docs/references/docs/administration/on_premise/packages.md +166 -0
  153. package/payload/skills/odoo18-docs/references/docs/administration/on_premise/source.md +487 -0
  154. package/payload/skills/odoo18-docs/references/docs/administration/on_premise/update.md +146 -0
  155. package/payload/skills/odoo18-docs/references/docs/administration/on_premise.md +114 -0
  156. package/payload/skills/odoo18-docs/references/docs/administration/supported_versions.md +110 -0
  157. package/payload/skills/odoo18-docs/references/docs/administration/upgrade.md +436 -0
  158. package/payload/skills/odoo18-docs/references/docs/applications/essentials/activities.md +336 -0
  159. package/payload/skills/odoo18-docs/references/docs/applications/essentials/contacts/merge.md +80 -0
  160. package/payload/skills/odoo18-docs/references/docs/applications/essentials/contacts.md +248 -0
  161. package/payload/skills/odoo18-docs/references/docs/applications/essentials/export_import_data.md +532 -0
  162. package/payload/skills/odoo18-docs/references/docs/applications/essentials/html_editor.md +295 -0
  163. package/payload/skills/odoo18-docs/references/docs/applications/essentials/in_app_purchase.md +185 -0
  164. package/payload/skills/odoo18-docs/references/docs/applications/essentials/keyboard_shortcuts.md +89 -0
  165. package/payload/skills/odoo18-docs/references/docs/applications/essentials/reporting.md +185 -0
  166. package/payload/skills/odoo18-docs/references/docs/applications/essentials/search.md +275 -0
  167. package/payload/skills/odoo18-docs/references/docs/applications/essentials.md +18 -0
  168. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/bank_synchronization/enablebanking.md +36 -0
  169. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/bank_synchronization/ponto.md +103 -0
  170. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/bank_synchronization/saltedge.md +96 -0
  171. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/bank_synchronization.md +197 -0
  172. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/foreign_currency.md +115 -0
  173. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/internal_transfers.md +73 -0
  174. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/loans.md +70 -0
  175. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/reconciliation.md +138 -0
  176. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/reconciliation_models.md +121 -0
  177. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank/transactions.md +136 -0
  178. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/bank.md +194 -0
  179. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/cash_discounts.md +176 -0
  180. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/cash_rounding.md +42 -0
  181. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/credit_notes.md +119 -0
  182. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/customer_addresses.md +46 -0
  183. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/deferred_revenues.md +187 -0
  184. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/argentina.md +55 -0
  185. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/austria.md +53 -0
  186. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/basque_country.md +51 -0
  187. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/belgium.md +54 -0
  188. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/brazil.md +54 -0
  189. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/chile.md +52 -0
  190. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/colombia.md +52 -0
  191. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/croatia.md +51 -0
  192. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/denmark.md +48 -0
  193. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/ecuador.md +51 -0
  194. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/estonia.md +48 -0
  195. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/finland.md +48 -0
  196. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/france.md +51 -0
  197. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/germany.md +48 -0
  198. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/hungary.md +47 -0
  199. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/ireland.md +47 -0
  200. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/italy.md +51 -0
  201. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/latvia.md +46 -0
  202. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/lithuania.md +47 -0
  203. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/luxembourg.md +48 -0
  204. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/mexico.md +58 -0
  205. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/netherlands.md +47 -0
  206. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/norway.md +45 -0
  207. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/peru.md +56 -0
  208. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/poland.md +46 -0
  209. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/portugal.md +49 -0
  210. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/romania.md +55 -0
  211. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/slovenia.md +46 -0
  212. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/spain.md +51 -0
  213. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing/uruguay.md +58 -0
  214. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/electronic_invoicing.md +294 -0
  215. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/epc_qr_code.md +62 -0
  216. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/incoterms.md +59 -0
  217. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/overview.md +154 -0
  218. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/payment_terms.md +185 -0
  219. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/sequence.md +68 -0
  220. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/snailmail.md +55 -0
  221. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices/terms_conditions.md +42 -0
  222. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/customer_invoices.md +231 -0
  223. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/avg_price_valuation.md +433 -0
  224. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/chart_of_accounts.md +189 -0
  225. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/cheat_sheet.md +252 -0
  226. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/consolidation.md +182 -0
  227. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/multi_currency.md +157 -0
  228. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started/tax_units.md +70 -0
  229. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/get_started.md +189 -0
  230. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/batch.md +69 -0
  231. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/batch_sdd.md +126 -0
  232. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/checks.md +126 -0
  233. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/follow_up.md +154 -0
  234. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/forecast.md +49 -0
  235. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/online/install_portal_patch.md +58 -0
  236. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/online.md +50 -0
  237. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/pay_checks.md +59 -0
  238. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/pay_sepa.md +87 -0
  239. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments/trusted_accounts.md +63 -0
  240. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/payments.md +375 -0
  241. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/analytic_accounting.md +138 -0
  242. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/budget.md +167 -0
  243. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/customize.md +308 -0
  244. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/data_inalterability.md +115 -0
  245. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/intrastat.md +189 -0
  246. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/silverfin.md +69 -0
  247. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/tax_carryover.md +42 -0
  248. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/tax_returns.md +114 -0
  249. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting/year_end.md +114 -0
  250. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/reporting.md +138 -0
  251. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/B2B_B2C.md +182 -0
  252. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/avatax/avalara_portal.md +252 -0
  253. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/avatax/avatax_use.md +164 -0
  254. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/avatax.md +423 -0
  255. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/cash_basis.md +118 -0
  256. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/eu_distance_selling.md +66 -0
  257. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/fiscal_positions.md +116 -0
  258. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/retention.md +44 -0
  259. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes/vat_verification.md +44 -0
  260. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/taxes.md +336 -0
  261. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/vendor_bills/assets.md +244 -0
  262. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/vendor_bills/deferred_expenses.md +187 -0
  263. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/vendor_bills/invoice_digitization.md +98 -0
  264. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/vendor_bills/sequence.md +68 -0
  265. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting/vendor_bills.md +116 -0
  266. package/payload/skills/odoo18-docs/references/docs/applications/finance/accounting.md +243 -0
  267. package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/approve_expenses.md +118 -0
  268. package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/expense_reports.md +131 -0
  269. package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/log_expenses.md +228 -0
  270. package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/post_expenses.md +77 -0
  271. package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/reimburse.md +140 -0
  272. package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses/reinvoice_expenses.md +150 -0
  273. package/payload/skills/odoo18-docs/references/docs/applications/finance/expenses.md +105 -0
  274. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/argentina.md +1164 -0
  275. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/australia.md +498 -0
  276. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/austria.md +126 -0
  277. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/belgium.md +615 -0
  278. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/brazil.md +574 -0
  279. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/canada.md +305 -0
  280. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/chile.md +1211 -0
  281. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/colombia.md +480 -0
  282. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/denmark.md +83 -0
  283. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/ecuador.md +760 -0
  284. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/egypt.md +234 -0
  285. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/employment_hero.md +78 -0
  286. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/france.md +629 -0
  287. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/germany.md +330 -0
  288. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/hong_kong.md +89 -0
  289. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/india.md +702 -0
  290. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/indonesia.md +174 -0
  291. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/italy.md +726 -0
  292. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/jordan.md +250 -0
  293. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/kenya.md +361 -0
  294. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/luxembourg.md +100 -0
  295. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/malaysia.md +225 -0
  296. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/mexico.md +1078 -0
  297. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/netherlands.md +28 -0
  298. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/new_zealand.md +18 -0
  299. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/peru.md +1009 -0
  300. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/philippines.md +184 -0
  301. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/romania.md +165 -0
  302. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/saudi_arabia.md +136 -0
  303. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/singapore.md +66 -0
  304. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/spain.md +201 -0
  305. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/switzerland.md +144 -0
  306. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/thailand.md +158 -0
  307. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/united_arab_emirates.md +203 -0
  308. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/united_kingdom.md +389 -0
  309. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/united_states.md +738 -0
  310. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/uruguay.md +375 -0
  311. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations/vietnam.md +263 -0
  312. package/payload/skills/odoo18-docs/references/docs/applications/finance/fiscal_localizations.md +192 -0
  313. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/adyen.md +159 -0
  314. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/amazon_payment_services.md +46 -0
  315. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/asiapay.md +52 -0
  316. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/authorize.md +162 -0
  317. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/buckaroo.md +39 -0
  318. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/demo.md +40 -0
  319. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/flutterwave.md +46 -0
  320. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/mercado_pago.md +42 -0
  321. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/mollie.md +33 -0
  322. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/nuvei.md +88 -0
  323. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/paypal.md +81 -0
  324. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/razorpay.md +56 -0
  325. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/stripe.md +119 -0
  326. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/wire_transfer.md +57 -0
  327. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/worldline.md +68 -0
  328. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers/xendit.md +57 -0
  329. package/payload/skills/odoo18-docs/references/docs/applications/finance/payment_providers.md +459 -0
  330. package/payload/skills/odoo18-docs/references/docs/applications/finance.md +15 -0
  331. package/payload/skills/odoo18-docs/references/docs/applications/general/apps_modules.md +90 -0
  332. package/payload/skills/odoo18-docs/references/docs/applications/general/companies/digest_emails.md +259 -0
  333. package/payload/skills/odoo18-docs/references/docs/applications/general/companies/email_template.md +288 -0
  334. package/payload/skills/odoo18-docs/references/docs/applications/general/companies.md +251 -0
  335. package/payload/skills/odoo18-docs/references/docs/applications/general/developer_mode.md +68 -0
  336. package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/azure_oauth.md +285 -0
  337. package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/email_domain.md +152 -0
  338. package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/email_servers_inbound.md +350 -0
  339. package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/email_servers_outbound.md +326 -0
  340. package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/faq.md +369 -0
  341. package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/google_oauth.md +210 -0
  342. package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication/mailjet_api.md +185 -0
  343. package/payload/skills/odoo18-docs/references/docs/applications/general/email_communication.md +111 -0
  344. package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/barcodelookup.md +41 -0
  345. package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/geolocation.md +43 -0
  346. package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/google_translate.md +121 -0
  347. package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/mail_plugins/gmail.md +159 -0
  348. package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/mail_plugins/outlook.md +154 -0
  349. package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/mail_plugins.md +58 -0
  350. package/payload/skills/odoo18-docs/references/docs/applications/general/integrations/unsplash.md +34 -0
  351. package/payload/skills/odoo18-docs/references/docs/applications/general/integrations.md +15 -0
  352. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/connect.md +141 -0
  353. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/camera.md +83 -0
  354. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/footswitch.md +54 -0
  355. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/measurement_tool.md +92 -0
  356. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/printer.md +481 -0
  357. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/scale.md +81 -0
  358. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices/screen.md +110 -0
  359. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/devices.md +27 -0
  360. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/iot_advanced/https_certificate_iot.md +160 -0
  361. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/iot_advanced/ssh_connect.md +39 -0
  362. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/iot_advanced/updating_iot.md +91 -0
  363. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/iot_advanced.md +14 -0
  364. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/iot_box.md +94 -0
  365. package/payload/skills/odoo18-docs/references/docs/applications/general/iot/windows_iot.md +171 -0
  366. package/payload/skills/odoo18-docs/references/docs/applications/general/iot.md +89 -0
  367. package/payload/skills/odoo18-docs/references/docs/applications/general/multi_company.md +131 -0
  368. package/payload/skills/odoo18-docs/references/docs/applications/general/users/2fa.md +125 -0
  369. package/payload/skills/odoo18-docs/references/docs/applications/general/users/access_rights.md +187 -0
  370. package/payload/skills/odoo18-docs/references/docs/applications/general/users/azure.md +178 -0
  371. package/payload/skills/odoo18-docs/references/docs/applications/general/users/facebook.md +130 -0
  372. package/payload/skills/odoo18-docs/references/docs/applications/general/users/google.md +163 -0
  373. package/payload/skills/odoo18-docs/references/docs/applications/general/users/language.md +50 -0
  374. package/payload/skills/odoo18-docs/references/docs/applications/general/users/ldap.md +48 -0
  375. package/payload/skills/odoo18-docs/references/docs/applications/general/users/portal.md +168 -0
  376. package/payload/skills/odoo18-docs/references/docs/applications/general/users.md +235 -0
  377. package/payload/skills/odoo18-docs/references/docs/applications/general.md +18 -0
  378. package/payload/skills/odoo18-docs/references/docs/applications/hr/appraisals/appraisal_analysis.md +117 -0
  379. package/payload/skills/odoo18-docs/references/docs/applications/hr/appraisals/goals.md +87 -0
  380. package/payload/skills/odoo18-docs/references/docs/applications/hr/appraisals/new_appraisals.md +275 -0
  381. package/payload/skills/odoo18-docs/references/docs/applications/hr/appraisals/skills_evolution.md +165 -0
  382. package/payload/skills/odoo18-docs/references/docs/applications/hr/appraisals.md +182 -0
  383. package/payload/skills/odoo18-docs/references/docs/applications/hr/attendances/check_in_check_out.md +90 -0
  384. package/payload/skills/odoo18-docs/references/docs/applications/hr/attendances/hardware.md +107 -0
  385. package/payload/skills/odoo18-docs/references/docs/applications/hr/attendances/kiosks.md +185 -0
  386. package/payload/skills/odoo18-docs/references/docs/applications/hr/attendances.md +303 -0
  387. package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/certifications.md +118 -0
  388. package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/departments.md +150 -0
  389. package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/equipment.md +86 -0
  390. package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/new_employee.md +532 -0
  391. package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/offboarding.md +106 -0
  392. package/payload/skills/odoo18-docs/references/docs/applications/hr/employees/retention_report.md +106 -0
  393. package/payload/skills/odoo18-docs/references/docs/applications/hr/employees.md +22 -0
  394. package/payload/skills/odoo18-docs/references/docs/applications/hr/fleet/accidents.md +275 -0
  395. package/payload/skills/odoo18-docs/references/docs/applications/hr/fleet/models.md +198 -0
  396. package/payload/skills/odoo18-docs/references/docs/applications/hr/fleet/new_vehicle.md +326 -0
  397. package/payload/skills/odoo18-docs/references/docs/applications/hr/fleet/service.md +509 -0
  398. package/payload/skills/odoo18-docs/references/docs/applications/hr/fleet.md +94 -0
  399. package/payload/skills/odoo18-docs/references/docs/applications/hr/frontdesk/visitors.md +162 -0
  400. package/payload/skills/odoo18-docs/references/docs/applications/hr/frontdesk.md +223 -0
  401. package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch/management.md +189 -0
  402. package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch/orders.md +220 -0
  403. package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch/products.md +65 -0
  404. package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch/user-accounts.md +104 -0
  405. package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch/vendors.md +160 -0
  406. package/payload/skills/odoo18-docs/references/docs/applications/hr/lunch.md +130 -0
  407. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/contracts.md +295 -0
  408. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations/australia.md +858 -0
  409. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations/belgium.md +3024 -0
  410. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations/hong_kong.md +433 -0
  411. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations/jordan.md +125 -0
  412. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations/united_arab_emirates.md +401 -0
  413. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payroll_localizations.md +60 -0
  414. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/payslips.md +453 -0
  415. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/reporting.md +226 -0
  416. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/salary_attachment.md +66 -0
  417. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/salary_attachments.md +155 -0
  418. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/work_entries.md +332 -0
  419. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll/work_entry_analysis.md +82 -0
  420. package/payload/skills/odoo18-docs/references/docs/applications/hr/payroll.md +912 -0
  421. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/add-new-applicants.md +167 -0
  422. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/new_job.md +139 -0
  423. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/offer_job_positions.md +160 -0
  424. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/recruitment-flow.md +228 -0
  425. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/recruitment_analysis.md +102 -0
  426. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/refuse_applicant.md +144 -0
  427. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/schedule_interviews.md +319 -0
  428. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/source_analysis.md +86 -0
  429. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/team_performance.md +96 -0
  430. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment/time_in_stage.md +81 -0
  431. package/payload/skills/odoo18-docs/references/docs/applications/hr/recruitment.md +387 -0
  432. package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals/alerts.md +62 -0
  433. package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals/points.md +74 -0
  434. package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals/reporting.md +89 -0
  435. package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals/rewards.md +89 -0
  436. package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals/share_jobs.md +161 -0
  437. package/payload/skills/odoo18-docs/references/docs/applications/hr/referrals.md +266 -0
  438. package/payload/skills/odoo18-docs/references/docs/applications/hr/time_off/allocations.md +176 -0
  439. package/payload/skills/odoo18-docs/references/docs/applications/hr/time_off/management.md +151 -0
  440. package/payload/skills/odoo18-docs/references/docs/applications/hr/time_off/my_time.md +114 -0
  441. package/payload/skills/odoo18-docs/references/docs/applications/hr/time_off/request_time_off.md +74 -0
  442. package/payload/skills/odoo18-docs/references/docs/applications/hr/time_off.md +585 -0
  443. package/payload/skills/odoo18-docs/references/docs/applications/hr.md +21 -0
  444. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/adjustments.md +185 -0
  445. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/barcode_nomenclature.md +240 -0
  446. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/gs1_nomenclature.md +226 -0
  447. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/gs1_usage.md +235 -0
  448. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/process_transfers.md +58 -0
  449. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/receipts_deliveries.md +203 -0
  450. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations/transfers_scratch.md +222 -0
  451. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/operations.md +20 -0
  452. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/setup/device_troubleshooting.md +206 -0
  453. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/setup/hardware.md +162 -0
  454. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/setup/software.md +100 -0
  455. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode/setup.md +16 -0
  456. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/barcode.md +25 -0
  457. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/configure/package.md +210 -0
  458. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/configure/packaging.md +184 -0
  459. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/configure/type.md +339 -0
  460. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/configure/uom.md +167 -0
  461. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/configure.md +169 -0
  462. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.md +484 -0
  463. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.md +167 -0
  464. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.md +176 -0
  465. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.md +204 -0
  466. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/inventory_valuation.md +17 -0
  467. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.md +254 -0
  468. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.md +405 -0
  469. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/product_tracking/reassign.md +90 -0
  470. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.md +373 -0
  471. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management/product_tracking.md +109 -0
  472. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/product_management.md +15 -0
  473. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/cross_dock.md +94 -0
  474. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.md +119 -0
  475. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/dropshipping.md +86 -0
  476. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/owned_stock.md +123 -0
  477. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.md +96 -0
  478. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.md +144 -0
  479. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.md +224 -0
  480. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.md +111 -0
  481. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/stock_warehouses.md +232 -0
  482. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.md +173 -0
  483. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.md +336 -0
  484. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations.md +162 -0
  485. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/batch.md +219 -0
  486. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/cluster.md +167 -0
  487. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/wave.md +135 -0
  488. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods.md +15 -0
  489. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/closest_location.md +100 -0
  490. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/fefo.md +128 -0
  491. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/fifo.md +99 -0
  492. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages.md +75 -0
  493. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/lifo.md +69 -0
  494. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies.md +180 -0
  495. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods/at_confirmation.md +92 -0
  496. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods/before_scheduled_date.md +154 -0
  497. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods/manually.md +141 -0
  498. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods.md +112 -0
  499. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/bpost.md +107 -0
  500. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/cancel.md +52 -0
  501. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.md +130 -0
  502. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dispatch.md +258 -0
  503. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/envia_shipping.md +287 -0
  504. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.md +169 -0
  505. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/invoicing.md +123 -0
  506. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/label_type.md +73 -0
  507. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/labels.md +163 -0
  508. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/multipack.md +118 -0
  509. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.md +195 -0
  510. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/print_on_validation.md +327 -0
  511. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.md +307 -0
  512. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/starshipit_shipping.md +235 -0
  513. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.md +339 -0
  514. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.md +205 -0
  515. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/zebra.md +234 -0
  516. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.md +89 -0
  517. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/shipping_receiving.md +17 -0
  518. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.md +341 -0
  519. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/cycle_counts.md +124 -0
  520. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/product_catalog.md +109 -0
  521. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/scrap_inventory.md +118 -0
  522. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.md +147 -0
  523. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses.md +77 -0
  524. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.md +140 -0
  525. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.md +376 -0
  526. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/mto.md +142 -0
  527. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.md +552 -0
  528. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.md +140 -0
  529. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/resupply_warehouses.md +170 -0
  530. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.md +117 -0
  531. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.md +223 -0
  532. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/forecast.md +163 -0
  533. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.md +159 -0
  534. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.md +102 -0
  535. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.md +137 -0
  536. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage/reporting.md +17 -0
  537. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory/warehouses_storage.md +15 -0
  538. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/inventory.md +24 -0
  539. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/maintenance/add_new_equipment.md +94 -0
  540. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/maintenance/maintenance_calendar.md +373 -0
  541. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/maintenance/maintenance_requests.md +108 -0
  542. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/maintenance/maintenance_setup.md +240 -0
  543. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/maintenance.md +26 -0
  544. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration/kit_shipping.md +110 -0
  545. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration/product_variants.md +190 -0
  546. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration/sub_assemblies.md +203 -0
  547. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration/using_work_centers.md +283 -0
  548. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration/work_order_dependencies.md +118 -0
  549. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/advanced_configuration.md +17 -0
  550. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/bill_configuration.md +257 -0
  551. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/configure_manufacturing_product.md +100 -0
  552. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/mo_costs.md +231 -0
  553. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/one_step_manufacturing.md +157 -0
  554. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/three_step_manufacturing.md +191 -0
  555. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup/two_step_manufacturing.md +176 -0
  556. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/basic_setup.md +18 -0
  557. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/reporting/allocation.md +132 -0
  558. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/reporting/oee.md +163 -0
  559. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/reporting/production_analysis.md +164 -0
  560. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/reporting.md +14 -0
  561. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview.md +256 -0
  562. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking.md +120 -0
  563. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/shop_floor.md +14 -0
  564. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/basic_subcontracting_lead_times.md +102 -0
  565. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/dropship_subcontracting_lead_times.md +191 -0
  566. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/resupply_subcontracting_lead_times.md +161 -0
  567. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_basic.md +195 -0
  568. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_dropship.md +256 -0
  569. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_resupply.md +270 -0
  570. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/subcontracting.md +135 -0
  571. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/byproducts.md +77 -0
  572. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/continuous_improvement.md +241 -0
  573. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials.md +136 -0
  574. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/manufacturing_backorders.md +133 -0
  575. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/scrap_manufacturing.md +95 -0
  576. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/split_merge.md +84 -0
  577. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/unbuild_orders.md +92 -0
  578. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/use_mps.md +269 -0
  579. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows/work_center_time_off.md +112 -0
  580. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing/workflows.md +21 -0
  581. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/manufacturing.md +29 -0
  582. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/manage_changes/eco_type.md +140 -0
  583. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/manage_changes/engineering_change_orders.md +331 -0
  584. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/manage_changes/version_control.md +168 -0
  585. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/manage_changes.md +14 -0
  586. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/management/approvals.md +103 -0
  587. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm/management.md +12 -0
  588. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/plm.md +23 -0
  589. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/advanced/analyze.md +147 -0
  590. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/advanced/edi.md +109 -0
  591. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/advanced/procurement_expenses_report.md +128 -0
  592. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/advanced/vendor_costs_report.md +107 -0
  593. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/advanced.md +16 -0
  594. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.md +185 -0
  595. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/calls_for_tenders.md +248 -0
  596. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/control_bills.md +158 -0
  597. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/manage.md +237 -0
  598. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/purchase_templates.md +81 -0
  599. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals/rfq.md +213 -0
  600. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/manage_deals.md +18 -0
  601. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/products/pricelist.md +253 -0
  602. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/products/reordering.md +105 -0
  603. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/products/temporary_reordering.md +132 -0
  604. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase/products.md +15 -0
  605. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/purchase.md +24 -0
  606. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_check_types/instructions_check.md +98 -0
  607. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_check_types/measure_check.md +208 -0
  608. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_check_types/pass_fail_check.md +144 -0
  609. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_check_types/picture_check.md +181 -0
  610. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_check_types.md +16 -0
  611. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_management/failure_locations.md +108 -0
  612. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_management/quality_alerts.md +111 -0
  613. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_management/quality_checks.md +156 -0
  614. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_management/quality_control_points.md +149 -0
  615. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality/quality_management.md +16 -0
  616. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/quality.md +24 -0
  617. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/repairs/repair_orders.md +266 -0
  618. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp/repairs.md +19 -0
  619. package/payload/skills/odoo18-docs/references/docs/applications/inventory_and_mrp.md +19 -0
  620. package/payload/skills/odoo18-docs/references/docs/applications/marketing/email_marketing/analyze_metrics.md +209 -0
  621. package/payload/skills/odoo18-docs/references/docs/applications/marketing/email_marketing/lost_leads_email.md +350 -0
  622. package/payload/skills/odoo18-docs/references/docs/applications/marketing/email_marketing/mailing_lists.md +225 -0
  623. package/payload/skills/odoo18-docs/references/docs/applications/marketing/email_marketing/unsubscriptions.md +129 -0
  624. package/payload/skills/odoo18-docs/references/docs/applications/marketing/email_marketing.md +813 -0
  625. package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/create_events.md +425 -0
  626. package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/event_booths.md +269 -0
  627. package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/event_templates.md +216 -0
  628. package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/event_tracks.md +306 -0
  629. package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/registration_desk.md +83 -0
  630. package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/revenues_report.md +188 -0
  631. package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/sell_tickets.md +144 -0
  632. package/payload/skills/odoo18-docs/references/docs/applications/marketing/events/track_manage_talks.md +143 -0
  633. package/payload/skills/odoo18-docs/references/docs/applications/marketing/events.md +255 -0
  634. package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/campaign_templates/double_optin.md +156 -0
  635. package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/campaign_templates.md +13 -0
  636. package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/target_audience.md +87 -0
  637. package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/testing_running.md +154 -0
  638. package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/understanding_metrics.md +179 -0
  639. package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation/workflow_activities.md +331 -0
  640. package/payload/skills/odoo18-docs/references/docs/applications/marketing/marketing_automation.md +200 -0
  641. package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing/create_sms.md +117 -0
  642. package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing/mailing_lists_blacklists.md +144 -0
  643. package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing/marketing_campaigns.md +156 -0
  644. package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing/pricing_and_faq.md +114 -0
  645. package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing/sms_analysis.md +98 -0
  646. package/payload/skills/odoo18-docs/references/docs/applications/marketing/sms_marketing.md +85 -0
  647. package/payload/skills/odoo18-docs/references/docs/applications/marketing/social_marketing/social_campaigns.md +147 -0
  648. package/payload/skills/odoo18-docs/references/docs/applications/marketing/social_marketing/social_posts.md +386 -0
  649. package/payload/skills/odoo18-docs/references/docs/applications/marketing/social_marketing.md +163 -0
  650. package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys/analysis.md +259 -0
  651. package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys/create.md +326 -0
  652. package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys/live_session.md +218 -0
  653. package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys/questions.md +331 -0
  654. package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys/scoring.md +60 -0
  655. package/payload/skills/odoo18-docs/references/docs/applications/marketing/surveys.md +264 -0
  656. package/payload/skills/odoo18-docs/references/docs/applications/marketing.md +18 -0
  657. package/payload/skills/odoo18-docs/references/docs/applications/productivity/appointments.md +195 -0
  658. package/payload/skills/odoo18-docs/references/docs/applications/productivity/calendar/google.md +254 -0
  659. package/payload/skills/odoo18-docs/references/docs/applications/productivity/calendar/outlook.md +249 -0
  660. package/payload/skills/odoo18-docs/references/docs/applications/productivity/calendar.md +280 -0
  661. package/payload/skills/odoo18-docs/references/docs/applications/productivity/data_cleaning.md +474 -0
  662. package/payload/skills/odoo18-docs/references/docs/applications/productivity/discuss/canned_responses.md +135 -0
  663. package/payload/skills/odoo18-docs/references/docs/applications/productivity/discuss/chatter.md +413 -0
  664. package/payload/skills/odoo18-docs/references/docs/applications/productivity/discuss/ice_servers.md +83 -0
  665. package/payload/skills/odoo18-docs/references/docs/applications/productivity/discuss/team_communication.md +112 -0
  666. package/payload/skills/odoo18-docs/references/docs/applications/productivity/discuss.md +168 -0
  667. package/payload/skills/odoo18-docs/references/docs/applications/productivity/documents.md +378 -0
  668. package/payload/skills/odoo18-docs/references/docs/applications/productivity/knowledge/articles_editing.md +138 -0
  669. package/payload/skills/odoo18-docs/references/docs/applications/productivity/knowledge/management.md +204 -0
  670. package/payload/skills/odoo18-docs/references/docs/applications/productivity/knowledge/properties.md +103 -0
  671. package/payload/skills/odoo18-docs/references/docs/applications/productivity/knowledge.md +27 -0
  672. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/algeria.md +72 -0
  673. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/angola.md +74 -0
  674. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/argentina.md +73 -0
  675. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/australia.md +71 -0
  676. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/azerbaijan.md +72 -0
  677. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/bangladesh.md +72 -0
  678. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/brazil.md +76 -0
  679. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/canada.md +74 -0
  680. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/chile.md +75 -0
  681. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/china.md +71 -0
  682. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/colombia.md +74 -0
  683. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/dominican_republic.md +72 -0
  684. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/ecuador.md +72 -0
  685. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/egypt.md +71 -0
  686. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/ethiopia.md +71 -0
  687. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/germany.md +73 -0
  688. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/guatemala.md +71 -0
  689. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/hong_kong.md +71 -0
  690. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/india.md +75 -0
  691. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/indonesia.md +77 -0
  692. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/iran.md +70 -0
  693. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/iraq.md +75 -0
  694. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/israel.md +71 -0
  695. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/japan.md +72 -0
  696. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/kazakhstan.md +73 -0
  697. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/kenya.md +71 -0
  698. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/kuwait.md +70 -0
  699. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/malaysia.md +73 -0
  700. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/mexico.md +74 -0
  701. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/morocco.md +72 -0
  702. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/new_zealand.md +72 -0
  703. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/nigeria.md +70 -0
  704. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/norway.md +73 -0
  705. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/oman.md +71 -0
  706. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/pakistan.md +72 -0
  707. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/peru.md +74 -0
  708. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/philippines.md +74 -0
  709. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/qatar.md +72 -0
  710. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/russia.md +76 -0
  711. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/saudi_arabia.md +71 -0
  712. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/singapore.md +69 -0
  713. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/south_africa.md +72 -0
  714. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/south_korea.md +74 -0
  715. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/switzerland.md +72 -0
  716. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/thailand.md +69 -0
  717. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/turkey.md +73 -0
  718. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/ukraine.md +71 -0
  719. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/united_arab_emirates.md +74 -0
  720. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/united_kingdom.md +78 -0
  721. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/uzbekistan.md +72 -0
  722. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign/vietnam.md +74 -0
  723. package/payload/skills/odoo18-docs/references/docs/applications/productivity/sign.md +371 -0
  724. package/payload/skills/odoo18-docs/references/docs/applications/productivity/spreadsheet/functions.md +826 -0
  725. package/payload/skills/odoo18-docs/references/docs/applications/productivity/spreadsheet/global_filters.md +202 -0
  726. package/payload/skills/odoo18-docs/references/docs/applications/productivity/spreadsheet/insert.md +60 -0
  727. package/payload/skills/odoo18-docs/references/docs/applications/productivity/spreadsheet/templates.md +70 -0
  728. package/payload/skills/odoo18-docs/references/docs/applications/productivity/spreadsheet.md +46 -0
  729. package/payload/skills/odoo18-docs/references/docs/applications/productivity/to_do.md +92 -0
  730. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/axivox_config.md +74 -0
  731. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/call_queues.md +236 -0
  732. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/conference_calls.md +99 -0
  733. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/dial_plan_advanced.md +403 -0
  734. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/dial_plan_basics.md +199 -0
  735. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/dynamic_caller_id.md +114 -0
  736. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/manage_users.md +340 -0
  737. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox/vm_audio_messages.md +257 -0
  738. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/axivox.md +20 -0
  739. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/devices_integrations.md +196 -0
  740. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/onsip.md +162 -0
  741. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip/voip_widget.md +196 -0
  742. package/payload/skills/odoo18-docs/references/docs/applications/productivity/voip.md +106 -0
  743. package/payload/skills/odoo18-docs/references/docs/applications/productivity/whatsapp.md +869 -0
  744. package/payload/skills/odoo18-docs/references/docs/applications/productivity.md +23 -0
  745. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads/convert.md +99 -0
  746. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads/email_manual.md +128 -0
  747. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads/lead_mining.md +117 -0
  748. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads/opportunities_form.md +119 -0
  749. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads/send_quotes.md +223 -0
  750. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/acquire_leads.md +17 -0
  751. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/optimize/gamification.md +154 -0
  752. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/optimize/lead_enrichment.md +123 -0
  753. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/optimize/partner_autocomplete.md +84 -0
  754. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/optimize/utilize_activities.md +251 -0
  755. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/optimize.md +16 -0
  756. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/performance/expected_revenue_report.md +210 -0
  757. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/performance/forecast_report.md +108 -0
  758. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/performance/win_loss.md +649 -0
  759. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/performance.md +15 -0
  760. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/pipeline/lost_opportunities.md +208 -0
  761. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/pipeline/manage_sales_teams.md +109 -0
  762. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/pipeline/merge_similar.md +113 -0
  763. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/pipeline.md +15 -0
  764. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/lead_distribution_report.md +191 -0
  765. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/lead_scoring.md +186 -0
  766. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/marketing_attribution.md +161 -0
  767. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/quality_leads_report.md +217 -0
  768. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/resellers.md +129 -0
  769. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads/unattended_leads_report.md +185 -0
  770. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm/track_leads.md +18 -0
  771. package/payload/skills/odoo18-docs/references/docs/applications/sales/crm.md +27 -0
  772. package/payload/skills/odoo18-docs/references/docs/applications/sales/members/members_analysis.md +57 -0
  773. package/payload/skills/odoo18-docs/references/docs/applications/sales/members.md +91 -0
  774. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/combos.md +62 -0
  775. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/configuration/epos_printers.md +69 -0
  776. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/configuration/epos_ssc.md +286 -0
  777. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/configuration/https.md +25 -0
  778. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/configuration/pos_iot.md +60 -0
  779. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/configuration.md +93 -0
  780. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/employee_login.md +75 -0
  781. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/online_food_delivery.md +208 -0
  782. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/qr_code_payment.md +106 -0
  783. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/adyen.md +85 -0
  784. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/ingenico.md +52 -0
  785. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/mercado_pago.md +101 -0
  786. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/razorpay.md +57 -0
  787. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/six.md +60 -0
  788. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/stripe.md +106 -0
  789. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/tyro.md +63 -0
  790. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/viva_wallet.md +116 -0
  791. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals/worldline.md +90 -0
  792. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods/terminals.md +62 -0
  793. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/payment_methods.md +36 -0
  794. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pos_based_marketing.md +119 -0
  795. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/preparation.md +109 -0
  796. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/cash_rounding.md +49 -0
  797. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/discount_tags.md +54 -0
  798. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/discounts.md +99 -0
  799. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/electronic_labels.md +183 -0
  800. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/fiscal_position.md +53 -0
  801. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/loyalty.md +47 -0
  802. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing/pricelists.md +130 -0
  803. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/pricing.md +19 -0
  804. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/receipts_invoices.md +107 -0
  805. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/reporting.md +16 -0
  806. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/restaurant/bill_printing.md +42 -0
  807. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/restaurant/floors_tables.md +98 -0
  808. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/restaurant/kitchen_printing.md +66 -0
  809. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/restaurant/tips.md +89 -0
  810. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/restaurant.md +56 -0
  811. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/self_order.md +222 -0
  812. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop/barcode.md +59 -0
  813. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop/customer_display.md +61 -0
  814. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop/sales_order.md +49 -0
  815. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop/serial_numbers.md +62 -0
  816. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop/ship_later.md +47 -0
  817. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale/shop.md +17 -0
  818. package/payload/skills/odoo18-docs/references/docs/applications/sales/point_of_sale.md +189 -0
  819. package/payload/skills/odoo18-docs/references/docs/applications/sales/rental.md +276 -0
  820. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/amazon_connector/features.md +115 -0
  821. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/amazon_connector/manage.md +195 -0
  822. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/amazon_connector/setup.md +155 -0
  823. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/amazon_connector.md +15 -0
  824. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/gelato.md +159 -0
  825. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/down_payment.md +286 -0
  826. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/expense.md +258 -0
  827. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/invoicing_policy.md +86 -0
  828. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/milestone.md +240 -0
  829. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/proforma.md +73 -0
  830. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing/time_materials.md +364 -0
  831. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/invoicing.md +18 -0
  832. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/ewallets_giftcards.md +145 -0
  833. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/loyalty_discount.md +206 -0
  834. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/prices/currencies.md +224 -0
  835. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/prices/discounts.md +88 -0
  836. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/prices/pricing.md +280 -0
  837. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/prices.md +15 -0
  838. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/products/import.md +253 -0
  839. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/products/product_images.md +164 -0
  840. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/products/variants.md +291 -0
  841. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/products.md +15 -0
  842. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices/returns.md +119 -0
  843. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/products_prices.md +17 -0
  844. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/create_quotations.md +323 -0
  845. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/deadline.md +58 -0
  846. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/different_addresses.md +81 -0
  847. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/get_paid_to_validate.md +92 -0
  848. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/get_signature_to_validate.md +80 -0
  849. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/optional_products.md +101 -0
  850. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/orders_and_variants.md +116 -0
  851. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/pdf_quote_builder.md +266 -0
  852. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations/quote_template.md +256 -0
  853. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/sales_quotations.md +139 -0
  854. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/shopee_connector/manage.md +191 -0
  855. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/shopee_connector/setup.md +226 -0
  856. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales/shopee_connector.md +74 -0
  857. package/payload/skills/odoo18-docs/references/docs/applications/sales/sales.md +27 -0
  858. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/automatic_alerts.md +169 -0
  859. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/closing.md +107 -0
  860. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/ecommerce.md +28 -0
  861. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/payment_providers/wire_transfer.md +157 -0
  862. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/payment_providers.md +13 -0
  863. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/plans.md +104 -0
  864. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/products.md +158 -0
  865. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/renewals.md +133 -0
  866. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/reports.md +396 -0
  867. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/scheduled_actions.md +188 -0
  868. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions/upselling.md +111 -0
  869. package/payload/skills/odoo18-docs/references/docs/applications/sales/subscriptions.md +90 -0
  870. package/payload/skills/odoo18-docs/references/docs/applications/sales.md +18 -0
  871. package/payload/skills/odoo18-docs/references/docs/applications/services/field_service/creating_tasks.md +31 -0
  872. package/payload/skills/odoo18-docs/references/docs/applications/services/field_service/planning_itinerary.md +39 -0
  873. package/payload/skills/odoo18-docs/references/docs/applications/services/field_service/product_management.md +87 -0
  874. package/payload/skills/odoo18-docs/references/docs/applications/services/field_service/worksheets.md +66 -0
  875. package/payload/skills/odoo18-docs/references/docs/applications/services/field_service.md +22 -0
  876. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/advanced/after_sales.md +283 -0
  877. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/advanced/close_tickets.md +111 -0
  878. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/advanced/track_and_bill.md +248 -0
  879. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/advanced.md +15 -0
  880. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/help_center.md +344 -0
  881. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/ratings.md +116 -0
  882. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/receiving_tickets.md +341 -0
  883. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/reports.md +178 -0
  884. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/sla.md +213 -0
  885. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview/stages.md +111 -0
  886. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk/overview.md +18 -0
  887. package/payload/skills/odoo18-docs/references/docs/applications/services/helpdesk.md +183 -0
  888. package/payload/skills/odoo18-docs/references/docs/applications/services/planning.md +327 -0
  889. package/payload/skills/odoo18-docs/references/docs/applications/services/project/project_management/project_dashboard.md +123 -0
  890. package/payload/skills/odoo18-docs/references/docs/applications/services/project/project_management/project_profitability.md +107 -0
  891. package/payload/skills/odoo18-docs/references/docs/applications/services/project/project_management.md +118 -0
  892. package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks/recurring_tasks.md +50 -0
  893. package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks/sub-tasks.md +53 -0
  894. package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks/task_creation.md +124 -0
  895. package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks/task_dependencies.md +46 -0
  896. package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks/task_stages_statuses.md +74 -0
  897. package/payload/skills/odoo18-docs/references/docs/applications/services/project/tasks.md +17 -0
  898. package/payload/skills/odoo18-docs/references/docs/applications/services/project.md +23 -0
  899. package/payload/skills/odoo18-docs/references/docs/applications/services/timesheets/overview/time_off.md +50 -0
  900. package/payload/skills/odoo18-docs/references/docs/applications/services/timesheets/overview.md +13 -0
  901. package/payload/skills/odoo18-docs/references/docs/applications/services/timesheets.md +20 -0
  902. package/payload/skills/odoo18-docs/references/docs/applications/services.md +17 -0
  903. package/payload/skills/odoo18-docs/references/docs/applications/studio/approval_rules.md +95 -0
  904. package/payload/skills/odoo18-docs/references/docs/applications/studio/automated_actions/webhooks.md +274 -0
  905. package/payload/skills/odoo18-docs/references/docs/applications/studio/automated_actions.md +354 -0
  906. package/payload/skills/odoo18-docs/references/docs/applications/studio/fields.md +547 -0
  907. package/payload/skills/odoo18-docs/references/docs/applications/studio/models_modules_apps.md +283 -0
  908. package/payload/skills/odoo18-docs/references/docs/applications/studio/pdf_reports.md +558 -0
  909. package/payload/skills/odoo18-docs/references/docs/applications/studio/views.md +363 -0
  910. package/payload/skills/odoo18-docs/references/docs/applications/studio.md +43 -0
  911. package/payload/skills/odoo18-docs/references/docs/applications/websites/blog.md +128 -0
  912. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/cart.md +110 -0
  913. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/checkout.md +171 -0
  914. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/customer_accounts.md +45 -0
  915. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/order_handling.md +109 -0
  916. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/payments.md +55 -0
  917. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/performance.md +63 -0
  918. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/products/catalog.md +200 -0
  919. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/products/cross_upselling.md +70 -0
  920. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/products/price_management.md +193 -0
  921. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/products.md +400 -0
  922. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce/shipping.md +124 -0
  923. package/payload/skills/odoo18-docs/references/docs/applications/websites/ecommerce.md +36 -0
  924. package/payload/skills/odoo18-docs/references/docs/applications/websites/elearning.md +245 -0
  925. package/payload/skills/odoo18-docs/references/docs/applications/websites/forum.md +394 -0
  926. package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat/chatbots.md +260 -0
  927. package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat/participate.md +98 -0
  928. package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat/ratings.md +147 -0
  929. package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat/reports.md +187 -0
  930. package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat/responses.md +182 -0
  931. package/payload/skills/odoo18-docs/references/docs/applications/websites/livechat.md +255 -0
  932. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/address_autocomplete.md +64 -0
  933. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/cdn.md +109 -0
  934. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/cookies_bar.md +58 -0
  935. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/domain_names.md +368 -0
  936. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/google_search_console.md +99 -0
  937. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/multi_website.md +152 -0
  938. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/spam_protection.md +149 -0
  939. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration/translate.md +112 -0
  940. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/configuration.md +20 -0
  941. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/mail_groups.md +129 -0
  942. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/pages/menus.md +95 -0
  943. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/pages/seo.md +175 -0
  944. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/pages.md +194 -0
  945. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/reporting/analytics.md +178 -0
  946. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/reporting/link_tracker.md +74 -0
  947. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/reporting.md +14 -0
  948. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/building_blocks/dynamic_content.md +103 -0
  949. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/building_blocks/features.md +42 -0
  950. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/building_blocks/inner_content.md +36 -0
  951. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/building_blocks/structure.md +61 -0
  952. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/building_blocks.md +165 -0
  953. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/elements.md +194 -0
  954. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design/themes.md +164 -0
  955. package/payload/skills/odoo18-docs/references/docs/applications/websites/website/web_design.md +15 -0
  956. package/payload/skills/odoo18-docs/references/docs/applications/websites/website.md +66 -0
  957. package/payload/skills/odoo18-docs/references/docs/applications/websites.md +18 -0
  958. package/payload/skills/odoo18-docs/references/docs/contributing/development/coding_guidelines.md +1305 -0
  959. package/payload/skills/odoo18-docs/references/docs/contributing/development/git_guidelines.md +142 -0
  960. package/payload/skills/odoo18-docs/references/docs/contributing/development.md +175 -0
  961. package/payload/skills/odoo18-docs/references/docs/contributing/documentation/content_guidelines.md +329 -0
  962. package/payload/skills/odoo18-docs/references/docs/contributing/documentation/rst_guidelines.md +1317 -0
  963. package/payload/skills/odoo18-docs/references/docs/contributing/documentation.md +300 -0
  964. package/payload/skills/odoo18-docs/references/docs/contributing/install_git.md +25 -0
  965. package/payload/skills/odoo18-docs/references/docs/developer/glossary.md +46 -0
  966. package/payload/skills/odoo18-docs/references/docs/developer/howtos/accounting_localization.md +305 -0
  967. package/payload/skills/odoo18-docs/references/docs/developer/howtos/company.md +224 -0
  968. package/payload/skills/odoo18-docs/references/docs/developer/howtos/connect_device.md +191 -0
  969. package/payload/skills/odoo18-docs/references/docs/developer/howtos/create_reports.md +119 -0
  970. package/payload/skills/odoo18-docs/references/docs/developer/howtos/frontend_owl_components.md +180 -0
  971. package/payload/skills/odoo18-docs/references/docs/developer/howtos/javascript_client_action.md +50 -0
  972. package/payload/skills/odoo18-docs/references/docs/developer/howtos/javascript_field.md +101 -0
  973. package/payload/skills/odoo18-docs/references/docs/developer/howtos/javascript_view.md +259 -0
  974. package/payload/skills/odoo18-docs/references/docs/developer/howtos/scss_tips.md +233 -0
  975. package/payload/skills/odoo18-docs/references/docs/developer/howtos/standalone_owl_application.md +166 -0
  976. package/payload/skills/odoo18-docs/references/docs/developer/howtos/translations.md +261 -0
  977. package/payload/skills/odoo18-docs/references/docs/developer/howtos/upgrade_custom_db.md +303 -0
  978. package/payload/skills/odoo18-docs/references/docs/developer/howtos/web_services.md +149 -0
  979. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/animations.md +166 -0
  980. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/building_blocks.md +1179 -0
  981. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/forms.md +126 -0
  982. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/going_live.md +70 -0
  983. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/gradients.md +57 -0
  984. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/layout.md +846 -0
  985. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/media.md +190 -0
  986. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/navigation.md +267 -0
  987. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/pages.md +373 -0
  988. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/setup.md +297 -0
  989. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/shapes.md +299 -0
  990. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/theming.md +896 -0
  991. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes/translations.md +161 -0
  992. package/payload/skills/odoo18-docs/references/docs/developer/howtos/website_themes.md +41 -0
  993. package/payload/skills/odoo18-docs/references/docs/developer/howtos.md +112 -0
  994. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/actions.md +474 -0
  995. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/data.md +291 -0
  996. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/http.md +87 -0
  997. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/mixins.md +1060 -0
  998. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/module.md +159 -0
  999. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/orm/changelog.md +109 -0
  1000. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/orm.md +1234 -0
  1001. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/performance.md +448 -0
  1002. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/reports.md +318 -0
  1003. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/security.md +572 -0
  1004. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend/testing.md +958 -0
  1005. package/payload/skills/odoo18-docs/references/docs/developer/reference/backend.md +23 -0
  1006. package/payload/skills/odoo18-docs/references/docs/developer/reference/cli.md +965 -0
  1007. package/payload/skills/odoo18-docs/references/docs/developer/reference/external_api.md +1447 -0
  1008. package/payload/skills/odoo18-docs/references/docs/developer/reference/extract_api.md +563 -0
  1009. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/assets.md +356 -0
  1010. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/error_handling.md +568 -0
  1011. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/framework_overview.md +633 -0
  1012. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/hooks.md +341 -0
  1013. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/javascript_modules.md +361 -0
  1014. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/javascript_reference.md +1364 -0
  1015. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/mobile.md +201 -0
  1016. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/odoo_editor.md +227 -0
  1017. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/owl_components.md +1095 -0
  1018. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/patching_code.md +255 -0
  1019. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/qweb.md +976 -0
  1020. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/registries.md +298 -0
  1021. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend/services.md +886 -0
  1022. package/payload/skills/odoo18-docs/references/docs/developer/reference/frontend.md +26 -0
  1023. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_account.md +20 -0
  1024. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_account_tag.md +18 -0
  1025. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_fiscal_position.md +24 -0
  1026. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_group.md +16 -0
  1027. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_report.md +34 -0
  1028. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_report_line.md +21 -0
  1029. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_tax.md +30 -0
  1030. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account/account_tax_repartition.md +19 -0
  1031. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/account.md +20 -0
  1032. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/payment/payment_method.md +13 -0
  1033. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/payment/payment_provider.md +19 -0
  1034. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/payment/payment_token.md +16 -0
  1035. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/payment/payment_transaction.md +28 -0
  1036. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules/payment.md +16 -0
  1037. package/payload/skills/odoo18-docs/references/docs/developer/reference/standard_modules.md +14 -0
  1038. package/payload/skills/odoo18-docs/references/docs/developer/reference/upgrades/upgrade_scripts.md +108 -0
  1039. package/payload/skills/odoo18-docs/references/docs/developer/reference/upgrades/upgrade_utils.md +106 -0
  1040. package/payload/skills/odoo18-docs/references/docs/developer/reference/upgrades.md +14 -0
  1041. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/icons.md +361 -0
  1042. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/scss_inheritance.md +106 -0
  1043. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_context.md +19 -0
  1044. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_help.md +18 -0
  1045. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_icon.md +19 -0
  1046. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_name.md +14 -0
  1047. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_string.md +18 -0
  1048. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/button_attribute_type.md +31 -0
  1049. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/field_attribute_name.md +22 -0
  1050. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/field_attribute_readonly.md +20 -0
  1051. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/field_attribute_required.md +20 -0
  1052. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/field_attribute_string.md +13 -0
  1053. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/generic_attribute_class.md +39 -0
  1054. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/generic_attribute_column_invisible.md +22 -0
  1055. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/generic_attribute_groups.md +21 -0
  1056. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/generic_attribute_invisible.md +32 -0
  1057. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_create.md +13 -0
  1058. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_default_group_by.md +14 -0
  1059. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_default_order.md +23 -0
  1060. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_delete.md +13 -0
  1061. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_edit.md +13 -0
  1062. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_sample.md +21 -0
  1063. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures/root_attribute_string.md +14 -0
  1064. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_architectures.md +3899 -0
  1065. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface/view_records.md +366 -0
  1066. package/payload/skills/odoo18-docs/references/docs/developer/reference/user_interface.md +16 -0
  1067. package/payload/skills/odoo18-docs/references/docs/developer/reference.md +23 -0
  1068. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/backend.md +1332 -0
  1069. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/define_module_data.md +404 -0
  1070. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/discover_js_framework/01_owl_components.md +517 -0
  1071. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/discover_js_framework/02_build_a_dashboard.md +458 -0
  1072. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/discover_js_framework.md +48 -0
  1073. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/importable_modules.md +931 -0
  1074. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.md +426 -0
  1075. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.md +446 -0
  1076. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.md +192 -0
  1077. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/master_odoo_web_framework.md +59 -0
  1078. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/mixins.md +16 -0
  1079. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/pdf_reports.md +291 -0
  1080. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/restrict_data_access.md +500 -0
  1081. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/01_architecture.md +131 -0
  1082. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/02_newapp.md +100 -0
  1083. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/03_basicmodel.md +298 -0
  1084. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/04_securityintro.md +124 -0
  1085. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/05_firstui.md +284 -0
  1086. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/06_basicviews.md +242 -0
  1087. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/07_relations.md +261 -0
  1088. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/08_compute_onchange.md +298 -0
  1089. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/09_actions.md +138 -0
  1090. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/10_constraints.md +127 -0
  1091. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/11_sprinkles.md +504 -0
  1092. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/12_inheritance.md +248 -0
  1093. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/13_other_module.md +170 -0
  1094. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/14_qwebintro.md +129 -0
  1095. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101/15_final_word.md +32 -0
  1096. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/server_framework_101.md +47 -0
  1097. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/setup_guide.md +302 -0
  1098. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/unit_tests.md +295 -0
  1099. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/web.md +2275 -0
  1100. package/payload/skills/odoo18-docs/references/docs/developer/tutorials/website.md +992 -0
  1101. package/payload/skills/odoo18-docs/references/docs/developer/tutorials.md +92 -0
  1102. package/payload/skills/odoo18-docs/references/url-mapping.json +3906 -0
  1103. package/payload/skills/prd/SKILL.md +333 -0
  1104. package/payload/skills/prd/agents/openai.yaml +6 -0
  1105. package/payload/skills/prd/assets/icon-large.svg +1 -0
  1106. package/payload/skills/prd/assets/icon-small.svg +5 -0
  1107. package/payload/skills/prd/evals/evals.json +23 -0
  1108. package/payload/skills/prd/references/output-template.md +197 -0
  1109. package/payload/skills/prd/references/section-guide.md +191 -0
  1110. package/payload/skills/review/SKILL.md +249 -0
  1111. package/payload/skills/review/agents/openai.yaml +6 -0
  1112. package/payload/skills/review/assets/icon-large.svg +1 -0
  1113. package/payload/skills/review/assets/icon-small.svg +5 -0
  1114. package/payload/skills/review/evals/evals.json +23 -0
  1115. package/payload/skills/review/references/brd-checklist.md +43 -0
  1116. package/payload/skills/review/references/gate-rules.md +73 -0
  1117. package/payload/skills/review/references/output-template.md +43 -0
  1118. package/payload/skills/review/references/prd-checklist.md +39 -0
  1119. package/payload/skills/review/references/solution-checklist.md +37 -0
  1120. package/payload/skills/review/references/trd-checklist.md +40 -0
  1121. package/payload/skills/review/references/uat-checklist.md +38 -0
  1122. package/payload/skills/solution/SKILL.md +389 -0
  1123. package/payload/skills/solution/agents/openai.yaml +6 -0
  1124. package/payload/skills/solution/assets/icon-large.svg +1 -0
  1125. package/payload/skills/solution/assets/icon-small.svg +5 -0
  1126. package/payload/skills/solution/references/modeling-guide.md +173 -0
  1127. package/payload/skills/solution/references/output-template.md +229 -0
  1128. package/payload/skills/translation/SKILL.md +259 -0
  1129. package/payload/skills/translation/agents/openai.yaml +6 -0
  1130. package/payload/skills/translation/assets/icon-large.svg +1 -0
  1131. package/payload/skills/translation/assets/icon-small.svg +5 -0
  1132. package/payload/skills/translation/scripts/translate.py +275 -0
  1133. package/payload/skills/translation/tests/test_translate.py +124 -0
  1134. package/payload/skills/trd/SKILL.md +340 -0
  1135. package/payload/skills/trd/agents/openai.yaml +6 -0
  1136. package/payload/skills/trd/assets/icon-large.svg +1 -0
  1137. package/payload/skills/trd/assets/icon-small.svg +5 -0
  1138. package/payload/skills/trd/evals/evals.json +23 -0
  1139. package/payload/skills/trd/references/modeling-guide.md +212 -0
  1140. package/payload/skills/trd/references/output-template.md +242 -0
  1141. package/payload/skills/trd/references/section-guide.md +167 -0
  1142. package/payload/skills/uat/SKILL.md +339 -0
  1143. package/payload/skills/uat/agents/openai.yaml +6 -0
  1144. package/payload/skills/uat/assets/icon-large.svg +1 -0
  1145. package/payload/skills/uat/assets/icon-small.svg +5 -0
  1146. package/payload/skills/uat/evals/evals.json +23 -0
  1147. package/payload/skills/uat/references/output-template.md +158 -0
  1148. package/payload/skills/uat/references/section-guide.md +165 -0
  1149. package/payload/skills/view-dev/SKILL.md +167 -0
  1150. package/payload/skills/view-dev/agents/openai.yaml +6 -0
  1151. package/payload/skills/view-dev/assets/README.md +7 -0
  1152. package/payload/skills/view-dev/assets/icon-large.svg +1 -0
  1153. package/payload/skills/view-dev/assets/icon-small.svg +5 -0
  1154. package/payload/skills/view-dev/references/actions.md +277 -0
  1155. package/payload/skills/view-dev/references/activity.md +65 -0
  1156. package/payload/skills/view-dev/references/calendar.md +92 -0
  1157. package/payload/skills/view-dev/references/cohort.md +80 -0
  1158. package/payload/skills/view-dev/references/common-architecture.md +35 -0
  1159. package/payload/skills/view-dev/references/field-widgets.md +529 -0
  1160. package/payload/skills/view-dev/references/form.md +520 -0
  1161. package/payload/skills/view-dev/references/gantt.md +162 -0
  1162. package/payload/skills/view-dev/references/graph.md +76 -0
  1163. package/payload/skills/view-dev/references/grid.md +221 -0
  1164. package/payload/skills/view-dev/references/kanban.md +232 -0
  1165. package/payload/skills/view-dev/references/list.md +233 -0
  1166. package/payload/skills/view-dev/references/mail-thread.md +504 -0
  1167. package/payload/skills/view-dev/references/map.md +69 -0
  1168. package/payload/skills/view-dev/references/orm-api.md +149 -0
  1169. package/payload/skills/view-dev/references/pivot.md +109 -0
  1170. package/payload/skills/view-dev/references/python-expressions.md +48 -0
  1171. package/payload/skills/view-dev/references/qweb-templates.md +326 -0
  1172. package/payload/skills/view-dev/references/qweb.md +53 -0
  1173. package/payload/skills/view-dev/references/search.md +249 -0
  1174. package/payload/skills/view-dev/references/security.md +306 -0
  1175. package/payload/skills/view-dev/references/settings.md +140 -0
  1176. package/payload/skills/view-dev/references/ui-icons.md +44 -0
  1177. package/payload/skills/view-dev/references/view-records.md +171 -0
  1178. package/payload/skills/view-dev/scripts/README.md +7 -0
  1179. package/payload/skills/view-spec/SKILL.md +301 -0
  1180. package/payload/skills/view-spec/agents/openai.yaml +6 -0
  1181. package/payload/skills/view-spec/assets/icon-large.svg +1 -0
  1182. package/payload/skills/view-spec/assets/icon-small.svg +5 -0
  1183. package/payload/skills/view-spec/examples/sample-maintenance-request.md +304 -0
  1184. package/payload/skills/view-spec/references/analytics-templates.md +161 -0
  1185. package/payload/skills/view-spec/references/form-templates.md +237 -0
  1186. package/payload/skills/view-spec/references/kanban-templates.md +127 -0
  1187. package/payload/skills/view-spec/references/layout-rules.md +427 -0
  1188. package/payload/skills/view-spec/references/list-templates.md +128 -0
  1189. package/payload/skills/view-spec/references/search-templates.md +177 -0
  1190. package/payload/skills/view-spec/references/settings-templates.md +115 -0
@@ -0,0 +1,931 @@
1
+ ---
2
+ title: "Write importable modules"
3
+ source_url: "https://docs.odoo.sbggai.top/developer/tutorials/importable_modules.html"
4
+ ---
5
+
6
+ ========================
7
+ # Write importable modules
8
+
9
+ > **important**:
10
+ > This tutorial assumes familiarity with the :doc:`server_framework_101` tutorial and the
11
+ :doc:`define_module_data` tutorial.
12
+
13
+ Although, as developers, we prefer to have the full power of Python to write our modules,
14
+ it is sometimes not possible to do so; typically on managed hosting solutions which do not
15
+ allow the deployment of custom Python code like the [Odoo.com ](https://www.odoo.com/start)
16
+ platform.
17
+
18
+ However, the flexible nature of Odoo is meant to allow customizations out of the box. Whilst
19
+ a lot is possible with :doc:`Studio </applications/studio>`, it is also possible to define
20
+ models, fields and logic in :doc:`XML Data Files <define_module_data>`. This makes it easier
21
+ to develop, maintain and deploy these customizations.
22
+
23
+ In this tutorial, we will learn how to define models, fields and logic in XML data files and bundle
24
+ them into a module. These are sometimes called *importable modules*, or *data modules*.
25
+ We will also see the limitations of this approach to module development.
26
+
27
+ # Problem statement
28
+
29
+ Like in the :doc:`server_framework_101` tutorial, we will be working on Real Estate concepts.
30
+
31
+ Our goal is to create a new application to manage Real Estate properties in a similar (albeit
32
+ simpler) way to the :doc:`server_framework_101` tutorial. We will define the models, fields and
33
+ logic in XML data files instead of Python files.
34
+
35
+ At the end of this tutorial, we will be able to achieve the following in our app:
36
+
37
+ - Manage Real Estate properties that are for sale
38
+ - Publish these properties on a website
39
+ - Accept offers online from the website
40
+ - Invoice the buyer when the property is sold
41
+
42
+ # Module structure
43
+
44
+ Like in any development project, a clear structure makes it easier to manage and maintain the code.
45
+
46
+ Unlike standard Odoo modules that use both Python and XML files, data modules use only XML files.
47
+ Therefore, it is expected that your work tree will look something like this:
48
+
49
+ ```bash
50
+
51
+ estate
52
+ ├── actions
53
+ │ └── *.xml
54
+ ├── models
55
+ │ └── *.xml
56
+ ├── security
57
+ │ └── ir.model.access.csv
58
+ │ └── estate_security.xml
59
+ ├── views
60
+ │ └── *.xml
61
+ ├── __init__.py
62
+ └── __manifest__.py
63
+
64
+ The only Python files you will have are the :file:`__init__.py` and :file:`__manifest__.py` files.
65
+ The :file:`__manifest__.py` file will be the same as for any Odoo module, but will also import its
66
+ models in the `data` list.
67
+
68
+ Remember to list files in the `data` section of :file:`__manifest__.py` in order of dependency,
69
+ typically starting with model files.
70
+
71
+ The :file:`__init__.py` file is empty, but is required for Odoo to recognize the module if you ever
72
+ want to deploy your module in the classic way (by adding it in an addons path). It is not strictly
73
+ necessary for modules that will be *imported*, but it is a good practice to keep it.
74
+
75
+ # Deploying the module
76
+
77
+ To deploy the module, you will need to create a zip file of the module and upload it to your
78
+ Odoo instance. Make sure that the module `base_import_module` is installed on your instance,
79
+ then go to the :menuselection:`Apps --> Import Module` and upload the zip file. You must be
80
+ in :ref:`developer mode <developer-mode>` to see the `Import Module` menu item.
81
+
82
+ If you modify the module, you will need to create a new zip file and upload it again, which
83
+ will reload all the data in the module. Note however that some operations are not possible,
84
+ like changing the type of a field you created previously. Data created by previous versions of the
85
+ module (like removed fields) will not be automatically deleted. In general, the simplest way to
86
+ handle this is to start with a fresh database or to uninstall the module prior to uploading the
87
+ new version.
88
+
89
+ When uploading a module, the wizard will accept two options:
90
+
91
+ - `Force init`: if your module is already installed and you upload it again; checking this
92
+ option will force the update of all data marked as `noupdate="1"` in the XML files.
93
+ - `Import demo data`: self explanatory
94
+
95
+ It is also possible to deploy the module using the :doc:`odoo-bin <../reference/cli>` command line
96
+ tool with the `deploy` command:
97
+
98
+ ```bash
99
+
100
+ $ odoo-bin deploy <path_to_your_module> https://<your_odoo_instance> --login <your_login> --password <your_password>
101
+
102
+ This command also accepts the `--force` option, which is equivalent to the :guilabel:`Force init`
103
+ option in the wizard.
104
+
105
+ Note that the user you use to deploy the module must have `Administration/Settings` access rights.
106
+
107
+ .. exercise::
108
+
109
+ #. Create the following folders and files:
110
+
111
+ - :file:`/home/$USER/src/tutorials/estate/__init__.py`
112
+ - :file:`/home/$USER/src/tutorials/estate/__manifest__.py`
113
+
114
+ The :file:`__manifest__.py` file should only define the name and the dependencies of our
115
+ modules. The only necessary framework module for now is `base` (and `base_import_module` -
116
+ although your module does not *depend* on it strictly speaking, you need it to be able to
117
+ import your module).
118
+
119
+ #. Create a zip file of your module and upload it to your Odoo instance.
120
+
121
+ # Models and basic fields
122
+
123
+ As you can imagine, defining models and fields in XML files is not as straightforward as in Python.
124
+
125
+ Since data files are read sequentially, you must define the elements in the right order.
126
+ For example, you must define a model before you can define a field on that model, and you
127
+ must define fields before adding them to a view.
128
+
129
+ In addition, XML is simply much more verbose than Python.
130
+
131
+ Let's start by defining a simple model to represent a Real Estate property in the `models`
132
+ directory of our module.
133
+
134
+ Odoo models are stored in database as `ir.model` records. Like any other record, they can be
135
+ defined in XML files:
136
+
137
+ ```xml
138
+
139
+ <?xml version="1.0" encoding="utf-8"?>
140
+ <odoo>
141
+ <record id="model_real_estate_property" model="ir.model">
142
+ <field name="name">Real Estate Property</field>
143
+ <field name="model">x_estate.property</field>
144
+ </record>
145
+ </odoo>
146
+
147
+ Note that all models and fields defined in data files must be prefixed with `x_`; this is
148
+ mandatory and is used to differentiate them from models and fields defined in Python files.
149
+
150
+ Like for classic models defined in Python, Odoo will automatically add several fields to the model:
151
+
152
+ - :attr:`~odoo.fields.Model.id` (:class:`~odoo.fields.Id`)
153
+ The unique identifier for a record of the model.
154
+ - :attr:`~odoo.fields.Model.create_date` (:class:`~odoo.fields.Datetime`)
155
+ Creation date of the record.
156
+ - :attr:`~odoo.fields.Model.create_uid` (:class:`~odoo.fields.Many2one`)
157
+ User who created the record.
158
+ - :attr:`~odoo.fields.Model.write_date` (:class:`~odoo.fields.Datetime`)
159
+ Last modification date of the record.
160
+ - :attr:`~odoo.fields.Model.write_uid` (:class:`~odoo.fields.Many2one`)
161
+ User who last modified the record.
162
+
163
+ We can also add several fields to our new model. Let's add some simple fields, like a name (string),
164
+ selling price (float), a description (as html), and a postcode (as a char).
165
+
166
+ Like for models, fields are simply records of the `ir.model.fields` model and can be
167
+ defined as such in data files:
168
+
169
+ ```xml
170
+
171
+ <?xml version="1.0" encoding="utf-8"?>
172
+ <odoo>
173
+ <!-- ...model definition from before... -->
174
+ <record id="field_real_estate_property_name" model="ir.model.fields">
175
+ <field name="model_id" ref="estate.model_real_estate_property" />
176
+ <field name="name">x_name</field>
177
+ <field name="field_description">Name</field>
178
+ <field name="ttype">char</field>
179
+ <field name="required">True</field>
180
+ </record>
181
+
182
+ <record id="field_real_estate_property_selling_price" model="ir.model.fields">
183
+ <field name="model_id" ref="estate.model_real_estate_property" />
184
+ <field name="name">x_selling_price</field>
185
+ <field name="field_description">Selling Price</field>
186
+ <field name="ttype">float</field>
187
+ <field name="required">True</field>
188
+ </record>
189
+
190
+ <record id="field_real_estate_property_description" model="ir.model.fields">
191
+ <field name="model_id" ref="estate.model_real_estate_property" />
192
+ <field name="name">x_description</field>
193
+ <field name="field_description">Description</field>
194
+ <field name="ttype">html</field>
195
+ </record>
196
+
197
+ <record id="field_real_estate_property_postcode" model="ir.model.fields">
198
+ <field name="model_id" ref="estate.model_real_estate_property" />
199
+ <field name="name">x_postcode</field>
200
+ <field name="field_description">Postcode</field>
201
+ <field name="ttype">char</field>
202
+ </record>
203
+ </odoo>
204
+
205
+ You can set various attributes for your new field. For basic fields, these include:
206
+
207
+ - `name`: the technical name of the field (must begin with `x_`)
208
+ - `field_description`: the label of the field
209
+ - `help`: a help text for the field, displayed in the interface
210
+ - `ttype`: the type of the field (e.g. `char`, `integer`, `float`, `html`, etc.)
211
+ - `required`: whether the field is required or not (default: `False`)
212
+ - `readonly`: whether the field is read-only or not (default: `False`)
213
+ - `index`: whether the field is indexed or not (default: `False`)
214
+ - `copied`: whether the field is copied when duplicating a record or not (default: `True`
215
+ for non-relational non-computed fields, `False` for relational and computed fields)
216
+ - `translate`: whether the field is translatable or not (default: `False`)
217
+
218
+ Attributes are also available to control HTML sanitization as well as other, more advanced
219
+ features; for a complete list, refer to the `ir.model.fields` model in the database available
220
+ in the :menuselection:`Settings --> Technical --> Database Structure --> Fields` menu or
221
+ see the `ir.model.fields` model definition in the `base` module.
222
+
223
+ .. exercise::
224
+
225
+ Add the following basic fields to the table:
226
+
227
+ ========================= ========================= =======================
228
+ Field Type Required
229
+ ========================= ========================= =======================
230
+ x_date_availability Date
231
+ x_expected_price Float True
232
+ x_bedrooms Integer
233
+ x_living_area Integer
234
+ x_facades Integer
235
+ x_garage Boolean
236
+ x_garden Boolean
237
+ x_garden_area Integer
238
+ x_garden_orientation Selection
239
+ ========================= ========================= =======================
240
+
241
+ The `x_garden_orientation` field must have 4 possible values: 'North', 'South', 'East'
242
+ and 'West'. The selection list must be created by first creating the `ir.model.fields`
243
+ record for the field itself, then creating the `ir.model.fields.selection` records. These
244
+ records take three fields: `field_id`, `name` (the name in the UI) and `value` (the value
245
+ in the database). A `sequence` field can also be set, which controls the order in which
246
+ the selections are displayed in the UI (lower sequence values are displayed first).
247
+
248
+ ## Default values
249
+
250
+ In Python, default values can be set on fields using the `default` argument in the field
251
+ declaration. In data modules, default values are set by creating an `ir.default` record
252
+ for each field. For example, it is possible to set the default value of the
253
+ `x_selling_price` field to `100000` for all properties by creating the following record:
254
+
255
+ ```xml
256
+
257
+ <odoo>
258
+ <!-- ...model definition from before... -->
259
+ <record id="default_real_estate_property_selling_price" model="ir.default">
260
+ <field name="field_id" ref="estate.field_real_estate_property_selling_price" />
261
+ <field name="json_value">100000</field>
262
+ </record>
263
+ </odoo>
264
+
265
+ For more details, refer to the `ir.default` model in the database available in the
266
+ :menuselection:`Settings --> Technical --> Actions --> User-defined Defaults` menu or
267
+ see the `ir.default` model definition in the `base` module.
268
+
269
+ > **warning**:
270
+ > These defaults are static but can be set by company and/or user using the `user_id`
271
+ and `company_id` fields of the `ir.default` record. This means that having a dynamic
272
+ default value of "today" for the `x_date_availability` field is not possible, for example.
273
+
274
+ # Security
275
+
276
+ Security in data modules is exactly the same as for Python modules and can be found
277
+ in :doc:`server_framework_101/04_securityintro`.
278
+
279
+ Refer to that tutorial for details.
280
+
281
+ .. exercise::
282
+
283
+ #. Create the :file:`ir.model.access.csv` file in the appropriate folder and define it in the
284
+ :file:`__manifest__.py` file.
285
+
286
+ #. Give the read, write, create and unlink permissions to the group `base.group_user`.
287
+
288
+ > **tip**:
289
+ > The warning message in the log gives you most of the solution ;-)
290
+
291
+ # Views
292
+
293
+ Views are the UI components that allow users to interact with the data. They are defined
294
+ in XML files and can be found in the :file:`views` directory of your module.
295
+
296
+ Since views and actions are already defined in :doc:`server_framework_101/05_firstui` and
297
+ :doc:`server_framework_101/06_basicviews`, we will not go into details here.
298
+
299
+ .. exercise:: Add a basic UI to the `estate` module.
300
+
301
+ Add a basic UI to the `estate` module to allow users to view, create, edit and delete
302
+ Real Estate properties.
303
+
304
+ - Create an action for the model `x_estate.property`.
305
+ - Create a tree view for the model `x_estate.property`.
306
+ - Create a form view for the model `x_estate.property`.
307
+ - Add the views to the action.
308
+ - Add a menu item to the main menu to allow users to access the action.
309
+
310
+ # Relations
311
+
312
+ The real power of relational systems like Odoo lies in the ability to link records together.
313
+ In a normal Python module, one could define new fields on a model to link it to other models
314
+ in a single line of code. In a data module, this is still possible but requires a bit more
315
+ legwork since we can't use the same syntax as in Python.
316
+
317
+ As in :doc:`server_framework_101/07_relations`, we will add some relations to our `estate`
318
+ module. We will add links to:
319
+
320
+ - the customer who bought the property
321
+ - the real estate agent who sold the property
322
+ - the property type: house, apartment, penthouse, castle...
323
+ - a list of tags characterizing the property: cozy, renovated...
324
+ - a list of the offers received
325
+
326
+ ## Many-to-one
327
+
328
+ A many-to-one is a simple link to another object. For example, in order to define a link to the
329
+ `res.partner`, we can define a new field in our model:
330
+
331
+ ```xml
332
+
333
+ <odoo>
334
+ <!-- ...model definition from before... -->
335
+ <record id="field_real_estate_property_partner_id" model="ir.model.fields">
336
+ <field name="model_id" ref="estate.model_real_estate_property" />
337
+ <field name="name">x_partner_id</field>
338
+ <field name="field_description">Customer</field>
339
+ <field name="ttype">many2one</field>
340
+ <field name="relation">res.partner</field>
341
+ </record>
342
+ </odoo>
343
+
344
+ In the case of many-to-one fields, several attributes can be set to detail the relation:
345
+
346
+ - `relation`: the name of the model to link to (required)
347
+ - `ondelete`: the action to perform when the record is deleted (default: `set null`)
348
+ - `domain`: a domain filter to apply to the relation
349
+
350
+ .. exercise::
351
+
352
+ #. Create a new model `x_estate.property.type` with the following fields:
353
+
354
+ ========================= ========================= =======================
355
+ Field Type Required
356
+ ========================= ========================= =======================
357
+ `name` Char True
358
+ ========================= ========================= =======================
359
+
360
+ #. Add an action, list view and menu item for the `x_estate.property.type` model.
361
+
362
+ #. Add Access Rights to the `x_estate.property.type` model to give access to users.
363
+
364
+ #. Create the following fields on the `x_estate.property` model:
365
+
366
+ ========================= ====================================== =======================
367
+ Field Type Required
368
+ ========================= ====================================== =======================
369
+ `x_property_type_id` Many2one (`x_estate.property.type`) True
370
+ `x_partner_id` (buyer) Many2one (`res.partner`)
371
+ `x_user_id` (salesperson) Many2one (`res.users`)
372
+ ========================= ====================================== =======================
373
+
374
+ #. Include the new fields in the form view of the `x_estate.property` model.
375
+
376
+ ## Many-to-many
377
+
378
+ A many-to-many is a relation to a list of objects. In our example, we will define a many-to-many
379
+ relation towards a new `x_estate.property.tag` model. This tag represents a characteristic
380
+ of the property, for example: renovated, cozy, etc.
381
+
382
+ A property can have many tags and a tag can be assigned to many properties - this is the
383
+ typical many-to-many relationship.
384
+
385
+ Many-to-many fields are defined in the same way as many-to-one fields, but with the `ttype`
386
+ set to `many2many`. The `relation` attribute is also set to the name of the model
387
+ to link to. Other attributes can be set to control the relation:
388
+
389
+ - `relation_table`: the name of the table to use for the relation
390
+ - `column1` and `column2`: the names of the columns to use for the relation
391
+
392
+ These attributes are optional, and should usually be specified only when there
393
+ are multiple many-to-many fields between two models to avoid conflict; in most cases,
394
+ the Odoo ORM will be able to determine the correct relation table and columns to use.
395
+
396
+ .. exercise::
397
+
398
+ #. Create a new model `x_estate.property.tag` with the following fields:
399
+
400
+ ========================= ========================== =======================
401
+ Field Type Required
402
+ ========================= ========================== =======================
403
+ `name` Char True
404
+ ========================= ========================== =======================
405
+
406
+ #. Add an action, list view and menu item for the `x_estate.property.tag` model.
407
+
408
+ #. Add Access Rights to the `x_estate.property.tag` model to allow access to users.
409
+
410
+ #. Create the following fields on the `x_estate.property` model:
411
+
412
+ ========================= ======================================
413
+ Field Type
414
+ ========================= ======================================
415
+ `x_property_tag_ids` Many2many (`x_estate.property.tag`)
416
+ ========================= ======================================
417
+
418
+ #. Include the new field in the form view of the `x_estate.property` model.
419
+
420
+ ## One-to-many
421
+
422
+ A one-to-many is a relation to a list of objects. In our example, we will define a one-to-many
423
+ relation towards a new `x_estate.property.offer` model. This offer represent an offer
424
+ made by a customer to buy a property.
425
+
426
+ One-to-many fields are defined in the same way as many-to-one fields, but with the `ttype`
427
+ set to `one2many`. The `relation` attribute is also set to the name of the model
428
+ to link to. Another attribute must be set to control the relation:
429
+
430
+ - `relation_field`: the name of the field on the related model that contains the
431
+ reference to the parent model (many-to-one field). This is used to link the two models
432
+ together.
433
+
434
+ .. exercise::
435
+
436
+ #. Create a new model `x_estate.property.offer` with the following fields:
437
+
438
+ ========================= ================================== ============ ===================
439
+ Field Type Required Values
440
+ ========================= ================================== ============ ===================
441
+ `x_price` Float True
442
+ `x_status` Selection Accepted, Refused
443
+ `x_partner_id` Many2one (`res.partner`) True
444
+ `x_property_id` Many2one (`x_estate.property`) True
445
+ ========================= ================================== ============ ===================
446
+
447
+ #. Add Access Rights to the `x_estate.property.offer` model to allow access to users.
448
+
449
+ #. | Create a tree view and a form view with the price, partner_id and status fields.
450
+ | No need to create an action or a menu.
451
+
452
+ #. Add the field `x_offer_ids` to your `x_estate.property` model and in its form view.
453
+
454
+ # Computed and related fields
455
+
456
+ ## Computed fields
457
+
458
+ Computed fields are a core concept in Odoo and are used to define fields that are computed
459
+ based on other fields. This is useful for fields that are derived from other fields, like a
460
+ sum of sub-records (adding up the price of all the items in a sale order).
461
+
462
+ **Reference**: the documentation related to this topic can be found in
463
+ :ref:`reference/fields/compute`.
464
+
465
+ Data modules can define computed fields of any type, but are quite limited compared to Python
466
+ modules. Indeed, since data modules are meant to be deployed on systems that do not allow arbitrary
467
+ code to run, the Python code that is allowed is very limited.
468
+
469
+ > **note**:
470
+ > All Python code written for data modules is executed in a sandboxed environment that limits
471
+ the operations that can be performed. For example, you cannot import libraries, you cannot
472
+ access any OS files, and you cannot even print to the console. Some utilities are provided,
473
+ but this varies with the type of sandboxed environment that is used.
474
+
475
+ In the case of compute methods, the sandbox is very limited and only provides the bare minimum
476
+ of utilities to allow the execution of the code. In addition to the Python builtins, you also
477
+ have access to the `datetime`, `dateutil` and `time` modules (e.g., to help with date
478
+ calculations).
479
+
480
+ Note also that "dot assignation" is disabled in the sandbox, so you cannot write
481
+ `property.x_total_area = 1` in the compute method. You have to use dictionary access:
482
+ `property['x_total_area'] = 1`. Dot notation for field *access* works normally:
483
+ `property.x_garden_area` will return the value of the `x_garden_area` field.
484
+
485
+
486
+ We previously defined two "area" fields on our `x_estate.property` model: `living_area`
487
+ and `garden_area`. To define a computed field on the model that returns the sum of the two
488
+ areas, we can add the following code to our data module:
489
+
490
+ ```xml
491
+
492
+ <odoo>
493
+ <!-- ...model definition from before... -->
494
+ <record id="field_real_estate_property_total_area" model="ir.model.fields">
495
+ <field name="model_id" ref="estate.model_real_estate_property" />
496
+ <field name="name">x_total_area</field>
497
+ <field name="field_description">Total Area</field>
498
+ <field name="ttype">float</field>
499
+ <field name="depends">x_living_area,x_garden_area</field>
500
+ <field name="compute"><![CDATA[
501
+ for property in self:
502
+ property['x_total_area'] = property.x_living_area + property.x_garden_area
503
+ ]]>
504
+ </field>
505
+ </record>
506
+ </odoo>
507
+
508
+ > **note**:
509
+ > Whilst in server actions, you iterate on a `records` variable, in the case of a computed field,
510
+ you iterate on a `self` variable that contains the recordset on which the field is computed.
511
+
512
+ The `depends` attribute is used to define the fields that the computed field depends on and
513
+ the `compute` attribute is used to define the code that is executed to compute the field (using
514
+ Python code).
515
+
516
+ Unlike in Python modules, computed fields are stored by default. If you wish for a computed field to
517
+ not be stored (e.g., for performance reasons or to avoid database bloat), you can set the `store`
518
+ attribute to `False`. The same applies to `readonly`: if you want your computed field to not be
519
+ editable, you need to set the `readonly` attribute to `True`.
520
+
521
+ The `CDATA` section is used to specify to XML parsers that the content is a string and not XML;
522
+ this prevents the parser from trying to interpret the Python code as XML, or the addition of
523
+ extra space, etc. when the code gets inserted into the database at module install time.
524
+
525
+ .. exercise::
526
+
527
+ #. Add a computed field to the `x_estate.property` model that returns the sum of the
528
+ `x_living_area` and `x_garden_area` fields, as shown above.
529
+ #. Include the field in the form view of the `x_estate.property` model.
530
+
531
+ > **note**:
532
+ > Unlike in Python modules, it is not possible to define an inverse or search method for
533
+ computed fields.
534
+
535
+ ## Related fields
536
+
537
+ Related fields are a simplified form of computed fields that mirror the value of another field
538
+ through a many2one relationship.
539
+
540
+ **Reference**: the documentation related to this topic can be found in
541
+ :ref:`reference/fields/related`.
542
+
543
+ Related fields can be of any type (the type of the field at the other end of the relation
544
+ traversal). They are defined as if one were adding the field directly to the model with the
545
+ addition of a `related` attribute that specifies the target field on the related model
546
+ that contains the value to be mirrored.
547
+
548
+ For example, if we want to access the country of the buyer directly from the
549
+ `x_estate.property` model, we can add the following code to our data module:
550
+
551
+ ```xml
552
+
553
+ <odoo>
554
+ <!-- ...model definition from before... -->
555
+ <record id="field_real_estate_property_country_id" model="ir.model.fields">
556
+ <field name="model_id" ref="estate.model_real_estate_property" />
557
+ <field name="name">x_country_id</field>
558
+ <field name="field_description">Buyer's Country</field>
559
+ <field name="ttype">many2one</field>
560
+ <field name="relation">res.country</field>
561
+ <field name="related">x_partner_id.country_id</field>
562
+ </record>
563
+ </odoo>
564
+
565
+ The `related` attribute is used to specify the target field on the related model that
566
+ contains the value to be mirrored. This must be a dot-separated list of field names.
567
+
568
+ # Code and business logic
569
+
570
+ ## Server actions
571
+
572
+ In a Python module, you are free to define any method on your model. One common usage pattern
573
+ is to add so-called "actions" methods to your model then bind these methods to buttons in the UI
574
+ (e.g to confirm a quote, post an invoice, etc.).
575
+
576
+ In a data module, you can achieve the same effect by defining
577
+ :ref:`Server Actions <reference/actions/server>` bound to your model. Server actions represent
578
+ pieces of logic that are run dynamically on the server. These actions can be configured manually
579
+ in the database directly via the
580
+ :menuselection:`Settings --> Technical --> Actions --> Server Actions` menu and can be of different
581
+ types; in our case, we will use the `code` type which allows us to run any Python code in a
582
+ sandboxed environment.
583
+
584
+ This environment contains several utilities to help you interact with the Odoo database:
585
+
586
+ - `env`: the environment of the record
587
+ - `model`: the model of the record
588
+ - `user` and `uid`: the current user and their id
589
+ - `datetime`, `dateutil`, `timezone` and `time`: libraries to help with date/time
590
+ calculations
591
+ - `float_compare`: a utility function to compare two float values with a given precision
592
+ - `b64encode` and `b64decode`: utility functions to encode and decode values in base64
593
+ - `Command`: a utility class to help build complex expressions and commands (see the `Command`
594
+ class in the :ref:`ORM reference <reference/fields/relational>`)
595
+
596
+ In addition, you have access to the recordset on which the action is executed (typically a single
597
+ record when the action is executed from a form view, and multiple records when the action is
598
+ executed from a list view) via the `record` and `records` variables.
599
+
600
+ > **note**:
601
+ > If your action needs to return an action to the client (for example to redirect the user to
602
+ another view), you can assign it to a an `action` variable inside your server
603
+ action's code. The code sandbox will inspect the variables defined in your code after its
604
+ execution and will automatically return it if it detects the presence of an `action` variable.
605
+
606
+ If the `website` module is installed, the `request` object will be available in the code sandbox
607
+ and you can assign a `response` object to the `response` variable to return a response to the
608
+ client in a similar way. This is explored in more details in the
609
+ :ref:`tutorials/importable_modules/website_controllers` section.
610
+
611
+ For example, we could define an action on the `x_estate.property` model that sets the `x_status`
612
+ field of all its offers to `Refused`:
613
+
614
+ ```xml
615
+
616
+ <record id="action_x_estate_property_refuse_all_offers" model="ir.actions.server">
617
+ <field name="name">Refuse all offers</field>
618
+ <field name="model_id" ref="estate.model_real_estate_property"/>
619
+ <field name="state">code</field>
620
+ <field name="code"><![CDATA[
621
+ for property in records:
622
+ property.x_offer_ids.write({'x_status': 'refused'})
623
+ ]]></field>
624
+ </record>
625
+
626
+ To include this action as a button in the form view of the `x_estate.property` model, we can
627
+ add the following :ref:`button <reference/view_architectures/form/button>` node in the header of our
628
+ form view:
629
+
630
+ ```xml
631
+
632
+ <!-- form view definition from your code... -->
633
+ <header>
634
+ <button name="estate.action_x_estate_property_refuse_all_offers" type="action" string="Refuse all offers"/>
635
+ </header>
636
+
637
+ It is also possible to add an entry in the gear icon (:icon:`fa-gear`) to run this action (e.g. to
638
+ avoid adding buttons to views that are already crowded). To do so, you can *bind* your server action
639
+ to the model and to specific types of views:
640
+
641
+ ```xml
642
+
643
+ <record id="action_x_estate_property_refuse_all_offers" model="ir.actions.server">
644
+ <field name="name">Refuse all offers</field>
645
+ <field name="model_id" ref="estate.model_real_estate_property"/>
646
+ <field name="state">code</field>
647
+ <field name="binding_model_id" ref="estate.model_real_estate_property"/>
648
+ <field name="binding_view_types">tree,form</field>
649
+ <field name="code"><![CDATA[
650
+ for property in records:
651
+ property.x_offer_ids.write({'x_status': 'refused'})
652
+ ]]></field>
653
+ </record>
654
+
655
+ This will make the action available in the gear icon (:icon:`fa-gear`) of the `x_estate.property`
656
+ model, in the list (when one or more records are selected via the checkbox) and form views.
657
+
658
+ .. exercise::
659
+
660
+ #. Add a server action to the `x_estate.property.offer` model that sets the `x_status`
661
+ field of an offer to `Accepted` and updates the selling price and buyer of the property
662
+ to which the offer is attached accordingly. This action should also mark all the other offers
663
+ on the same property as `Refused`.
664
+ #. Include a button in the embedded list view of offers that allows to execute this action
665
+
666
+ .. image:: importable_modules/offer_accept_button.png
667
+ :align: center
668
+
669
+ ## Overriding Python models
670
+
671
+ ### Via UI elements
672
+
673
+ Unlike in Python modules, it is not possible to override a Python model's method cleanly.
674
+
675
+ However, it is possible (in some cases) to replace the elements of the UI that call
676
+ these methods and to intercept the calls to these methods in a server action.
677
+
678
+ A typical example would be an integration with the `Sales` app of Odoo. Let's imagine that your
679
+ Real Estate module integrates with the Sales application so that when a specific product is sold
680
+ (e.g., a quote for managing the sale of a property), you want to automatically create a new property
681
+ record in your module.
682
+
683
+ To achieve this, you will need to:
684
+
685
+ - create a server action that calls the original method of the button and add custom logic before
686
+ or after that method call
687
+ - replace the button in the view with a custom button that calls the server action
688
+
689
+ ```xml
690
+
691
+ <record id="view_sale_order_form" model="ir.ui.view">
692
+ <field name="name">sale.order.form.inherit.estate</field>
693
+ <field name="model">sale.order</field>
694
+ <field name="inherit_id" ref="sale.view_order_form" />
695
+ <field name="arch" type="xml">
696
+ <xpath expr="//button[@name='action_confirm'][@type='object']" position="attributes">
697
+ <attribute name="type">action</attribute>
698
+ <attribute name="name">estate.action_x_estate_property_create_from_sale_order</attribute>
699
+ </xpath>
700
+ <!-- since the button is present twice in the original view, we need to replace it twice -->
701
+ <xpath expr="//button[@name='action_confirm'][@type='object']" position="attributes">
702
+ <attribute name="type">action</attribute>
703
+ <attribute name="name">estate.action_x_estate_property_create_from_sale_order</attribute>
704
+ </xpath>
705
+ </field>
706
+ </record>
707
+
708
+ <record id="action_x_estate_property_create_from_sale_order" model="ir.actions.server">
709
+ <field name="name">Confirm and create property from sale order</field>
710
+ <field name="model_id" ref="sale.model_sale_order"/>
711
+ <field name="state">code</field>
712
+ <field name="code"><![CDATA[
713
+ for order in records:
714
+ order.action_confirm()
715
+ property_type = env['x_estate.property.type'].sudo().search([('x_name', '=', 'Other')], limit=1)
716
+ property = env['x_estate.property'].sudo().create({
717
+ 'x_name': order.name,
718
+ 'x_expected_price': 0,
719
+ 'x_selling_price': 0,
720
+ 'x_sale_order_id': order.id,
721
+ 'x_property_type_id': property_type.id,
722
+ })
723
+ ]]></field>
724
+ </record>
725
+
726
+ ### Via automation rules
727
+
728
+ Automations rules are a way to automatically execute actions on records in the database based on
729
+ specific triggers, like state changes, addition of a tag, etc. They can be useful to tie behaviour
730
+ to life-cycle events of records, for example by sending an email when an offer is accepted.
731
+
732
+ Using automation rules for extending a standard behaviour can be more robust than the UI-based
733
+ approach since it will also run if the life-cycle event is triggered in another way than via
734
+ a button (e.g., via a webhook or a direct call to the method; for example when a quote
735
+ is confirmed via the portal or the e-commerce). They are however a bit more finicky to set up
736
+ properly, as one needs to ensure that the automation will only run at the proper moment by
737
+ setting up specific fields to watch, etc.
738
+
739
+ **Documentation**: a more complete documentation related to this topic can be found in
740
+ :doc:`/applications/studio/automated_actions`.
741
+
742
+ > **note**:
743
+ > Automation Rules are not part of the `base` module; they come with the `base_automation`
744
+ module; so if you define automation rules in your data module, you need to make sure that
745
+ `base_automation` is part of your module's dependencies.
746
+
747
+ Once installed, Automation Rules are managed via the
748
+ :menuselection:`Settings --> Technical --> Automations --> Automation Rules` menu.
749
+
750
+ Automation Rules are particularly useful to tie a data module to an existing standard Odoo
751
+ module. Since data modules cannot override methods, tying automation to life-cycle changes
752
+ of standard models is a common way to extend standard modules.
753
+
754
+ If we were to rewrite our example from the previous section using automation rules, a few changes
755
+ would be needed:
756
+
757
+ - the server action should no longer call the original method of the button (instead, the original
758
+ method will trigger the change that will fire the automation rule)
759
+ - the view extension is not needed
760
+ - we need to define an Automation Rule to trigger the server action on the appropriate event
761
+
762
+ ```xml
763
+
764
+ <record id="action_x_estate_property_create_from_sale_order" model="ir.actions.server">
765
+ <field name="name">Create property from sale order</field>
766
+ <field name="model_id" ref="sale.model_sale_order"/>
767
+ <field name="state">code</field>
768
+ <field name="code"><![CDATA[
769
+ for order in records:
770
+ property_type = env['x_estate.property.type'].sudo().search([('x_name', '=', 'Other')], limit=1)
771
+ property = env['x_estate.property'].sudo().create({
772
+ 'x_name': order.name,
773
+ 'x_expected_price': 0,
774
+ 'x_selling_price': 0,
775
+ 'x_sale_order_id': order.id,
776
+ 'x_property_type_id': property_type.id,
777
+ })
778
+ ]]></field>
779
+ </record>
780
+
781
+ <record id="automation_rule_x_estate_property_create_from_sale_order" model="base.automation">
782
+ <field name="name">Create property from sale order</field>
783
+ <field name="model_id" ref="sale.model_sale_order"/>
784
+ <field name="trigger">on_state_set</field>
785
+ <field name="trg_selection_field_id" ref="sale.selection__sale_order__state__sale"/>
786
+ <field name="trigger_field_ids" eval="[(4, ref('sale.field_sale_order__state'))]"/>
787
+ <field name="action_server_ids" eval="[(4, ref('estate.action_x_estate_property_create_from_sale_order'))]"/>
788
+ </record>
789
+
790
+ Note that the :ref:`XML IDs <tutorials/define_module_data/xml_id>` to standard Odoo models, fields,
791
+ selection values, etc. can be found in the Odoo instance itself by navigating to the appropriate
792
+ record in the technical menus and using the `View Metadata` menu entry of the debug menu. XML IDs
793
+ for models are simply the model name with dots replaced by underscores and prefixed by `model_`
794
+ (e.g., `sale.model_sale_order` is `sale.order` as defined in the `sale` module); XML IDs for
795
+ fields are the model name with dots replaced by underscores and prefixed by `field_`, the model's
796
+ name and the field name (e.g., `sale.field_sale_order__name` is the XML ID for the `name` field
797
+ of the `sale.order` model which is defined in the `sale` module).
798
+
799
+ .. _tutorials/importable_modules/website_controllers:
800
+
801
+ ## Website controllers
802
+
803
+ HTTP Controllers in Odoo are usually defined in the :file:`controllers` directory of a module.
804
+ In data modules, it is possible to define server actions that behave as controllers if
805
+ the website module is installed.
806
+
807
+ When the website module is installed, server actions can be marked as `Available on the website`
808
+ and given a path (the full path is always prefixed with `/actions` to avoid URL collisions);
809
+ the global `request` object is made available in the local scope of the code server action.
810
+
811
+ The `request` object provides several methods to access the body of the request:
812
+
813
+ - `request.get_http_params()`: extract key-value pairs from the query string and the forms
814
+ present in the body (both `application/x-www-form-urlencoded` and `multipart/form-data`).
815
+ - `request.get_json_data()`: extract the JSON data from the body of the request.
816
+
817
+ Since it is not possible to return a value from within a server action, to define the response
818
+ to return, one can assign a response-like object to the `response` variable, which will be
819
+ returned to the website automatically.
820
+
821
+ Here is an example of a simple website controller that will return a list of properties
822
+ when the URL `/actions/estate` is called:
823
+
824
+ ```xml
825
+
826
+ <record id="server_action_estate_list" model="ir.actions.server">
827
+ <field name="name">Estate List Controller</field>
828
+ <field name="model_id" ref="estate.model_real_estate_property" />
829
+ <field name="website_published">True</field>
830
+ <field name="website_path">estate</field>
831
+ <field name="state">code</field>
832
+ <field name="code"><![CDATA[
833
+ html = '<html><body><h1>Properties</h1><ul>'
834
+ for property in request.env['x_estate.property'].search([]):
835
+ html += f'<li>{property.x_name}</li>'
836
+ html += '</ul></body></html>'
837
+ response = request.make_response(html)
838
+ ]]></field>
839
+ </record>
840
+
841
+ Several useful methods are available in the `request` object to facilitate the generation of the
842
+ response object:
843
+
844
+ - `request.render(template, qcontext=None, lazy=True, **kw)` to render a QWeb template using its
845
+ xmlid; the extra keyword arguments are forwarded to the `werkzeug.Response` object (e.g. to set
846
+ cookies, headers, etc.)
847
+ - `request.redirect(location, code=303, local=True)` to redirect to a different URL; the `local`
848
+ argument is used to specify whether the redirection should be relative to the website or not
849
+ (default: `True`).
850
+ - `request.notfound()` to return a `werkzeug.HTTPException` exception to signal a 404 error to
851
+ the website.
852
+ - `request.make_response(data, headers=None, cookies=None, status=200)` to manually create a
853
+ `werkzeug.Response` object; the `status` argument is the HTTP status code to return (default:
854
+ 200).
855
+ - `request.make_json_response(data, headers=None, cookies=None, status=200)` to manually create a
856
+ JSON response; the data will be json-serialized using `json.dumps` utility; this can be useful
857
+ to set up server-to-server communications via API calls.
858
+
859
+ For implementation details or other (less common) methods, refer to the `Request` object's
860
+ implementation in the `odoo.http` module.
861
+
862
+ Note that security concerns are left to the developer (typically through security rules or
863
+ by using `sudo` to access records).
864
+
865
+ > **note**:
866
+ > The model used in the `model_id` field of the server action must be accessible to the public
867
+ user for the write operation for this server action to run; otherwise the server action will
868
+ return a 403 error. A way to avoid giving access is to link your server action to a model
869
+ that is already accessible to the public user, a typical (if weird) example is to link the
870
+ server action to the `ir.filters` model.
871
+
872
+ .. exercise::
873
+
874
+ Add a JSON API to your module so that external services can retrieve a list of properties
875
+ for sale.
876
+
877
+ #. add a new `x_api_published` field to the model to control whether the properties are
878
+ published on the API or not
879
+ #. add an access right record to allow public users to read and write the model
880
+ #. prevent any write from the public user by adding a record rule for the write operation
881
+ with an impossible domain (e.g. `[('id', '=', False)]`)
882
+ #. add a record rule so that properties marked as `x_api_published` can be read by the
883
+ public user
884
+ #. add a server action to return a list of properties in JSON format when the URL
885
+ `/actions/api/estate` is called
886
+
887
+ # A sprinkle of JavaScript
888
+
889
+ Whilst importable modules cannot include Python files, no such restriction exists for JavaScript
890
+ files. Adding JavaScript files to your importable module is exactly the same as adding them
891
+ to a standard Odoo module.
892
+
893
+ This means that an importable module can include new field components or even entirely new views.
894
+
895
+ As an example, let's add a simple 'tour' to the Estate module. Tours are a standard mechanism in
896
+ Odoo used to onboard users by guiding them through your application.
897
+
898
+ A very minimal tour with a single step can be added by adding this file in `static/src/js/tour.js`:
899
+
900
+ ```js
901
+
902
+ import { registry } from "@web/core/registry";
903
+
904
+
905
+ registry.category("web_tour.tours").add('estate_tour', {
906
+ url: "/web",
907
+ sequence: 170,
908
+ steps: () => [{
909
+ trigger: '.o_app[data-menu-xmlid="estate.menu_root"]',
910
+ content: 'Start selling your properties from this app!',
911
+ position: 'bottom',
912
+ }],
913
+ });
914
+
915
+ You then need to include the file in the appropriate bundle in the manifest file:
916
+
917
+ ```py
918
+
919
+ {
920
+ "name": "Real Estate",
921
+ # [...]
922
+ "assets": {
923
+ "web.assets_backend": [
924
+ "estate/static/src/js/tour.js",
925
+ ],
926
+ },
927
+ }
928
+
929
+ > **note**:
930
+ > Unlike normal Python modules, glob expansion is not supported in importable modules;
931
+ so you need to list each file you want to include in the module specifically.