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,1332 @@
1
+ ---
2
+ title: ""
3
+ source_url: "https://docs.odoo.sbggai.top/developer/tutorials/backend.html"
4
+ ---
5
+
6
+ :orphan:
7
+
8
+ .. _howto/base:
9
+ .. _howto/module:
10
+ #
11
+ # Building a Module
12
+
13
+ .. danger::
14
+ This tutorial is outdated. We recommend reading :doc:`server_framework_101` instead.
15
+
16
+ > **warning**:
17
+ > This tutorial requires :doc:`having installed Odoo </administration/on_premise>`
18
+
19
+ # Start/Stop the Odoo server
20
+
21
+ Odoo uses a client/server architecture in which clients are web browsers
22
+ accessing the Odoo server via RPC.
23
+
24
+ Business logic and extension is generally performed on the server side,
25
+ although supporting client features (e.g. new data representation such as
26
+ interactive maps) can be added to the client.
27
+
28
+ In order to start the server, simply invoke the command :ref:`odoo-bin
29
+ <reference/cmdline>` in the shell, adding the full path to the file if
30
+ necessary:
31
+
32
+ .. code:: bash
33
+
34
+ odoo-bin
35
+
36
+ The server is stopped by hitting `Ctrl-C` twice from the terminal, or by
37
+ killing the corresponding OS process.
38
+
39
+ # Build an Odoo module
40
+
41
+ Both server and client extensions are packaged as *modules* which are
42
+ optionally loaded in a *database*.
43
+
44
+ Odoo modules can either add brand new business logic to an Odoo system, or
45
+ alter and extend existing business logic: a module can be created to add your
46
+ country's accounting rules to Odoo's generic accounting support, while the
47
+ next module adds support for real-time visualisation of a bus fleet.
48
+
49
+ Everything in Odoo thus starts and ends with modules.
50
+
51
+ ## Composition of a module
52
+
53
+ An Odoo module can contain a number of elements:
54
+
55
+ Business objects
56
+ Declared as Python classes, these resources are automatically persisted
57
+ by Odoo based on their configuration
58
+
59
+ :doc:`Object views <../reference/user_interface/view_architectures>`
60
+ Definition of business objects UI display
61
+
62
+ :ref:`Data files <reference/data>`
63
+ XML or CSV files declaring the model metadata :
64
+
65
+ * :doc:`views <../reference/user_interface/view_architectures>` or :ref:`reports
66
+ <reference/reports>`,
67
+ * configuration data (modules parametrization, :ref:`security rules <reference/security>`),
68
+ * demonstration data
69
+ * and more
70
+
71
+ :ref:`Web controllers <reference/controllers>`
72
+ Handle requests from web browsers
73
+
74
+ Static web data
75
+ Images, CSS or javascript files used by the web interface or website
76
+
77
+ ## Module structure
78
+
79
+ Each module is a directory within a *module directory*. Module directories
80
+ are specified by using the :option:`--addons-path <odoo-bin --addons-path>`
81
+ option.
82
+
83
+ > **tip**:
84
+ > :class: aphorism
85
+
86
+ most command-line options can also be set using :ref:`a configuration file
87
+ <reference/cmdline/config>`
88
+
89
+ An Odoo module is declared by its :ref:`manifest <reference/module/manifest>`.
90
+
91
+ A module is also a
92
+ [Python package ](http://docs.python.org/2/tutorial/modules.html#packages)
93
+ with a `__init__.py` file, containing import instructions for various Python
94
+ files in the module.
95
+
96
+ For instance, if the module has a single `mymodule.py` file `__init__.py`
97
+ might contain::
98
+
99
+ from . import mymodule
100
+
101
+ Odoo provides a mechanism to help set up a new module, :ref:`odoo-bin
102
+ <reference/cmdline/server>` has a subcommand :ref:`scaffold
103
+ <reference/cmdline/scaffold>` to create an empty module:
104
+
105
+ ```console
106
+
107
+ $ odoo-bin scaffold <module name> <where to put it>
108
+
109
+ The command creates a subdirectory for your module, and automatically creates a
110
+ bunch of standard files for a module. Most of them simply contain commented code
111
+ or XML. The usage of most of those files will be explained along this tutorial.
112
+
113
+ .. exercise:: Module creation
114
+
115
+ Use the command line above to create an empty module Open Academy, and install it in Odoo.
116
+
117
+ ## Object-Relational Mapping
118
+
119
+ A key component of Odoo is the :abbr:`ORM (Object-Relational Mapping)` layer.
120
+ This layer avoids having to write most :abbr:`SQL (Structured Query Language)`
121
+ by hand and provides extensibility and security services\ [#rawsql]_.
122
+
123
+ Business objects are declared as Python classes extending
124
+ :class:`~odoo.models.Model` which integrates them into the automated
125
+ persistence system.
126
+
127
+ Models can be configured by setting a number of attributes at their
128
+ definition. The most important attribute is
129
+ :attr:`~odoo.models.Model._name` which is required and defines the name for
130
+ the model in the Odoo system. Here is a minimally complete definition of a
131
+ model::
132
+
133
+ from odoo import models
134
+ class MinimalModel(models.Model):
135
+ _name = 'test.model'
136
+
137
+ ## Model fields
138
+
139
+ Fields are used to define what the model can store and where. Fields are
140
+ defined as attributes on the model class::
141
+
142
+ from odoo import models, fields
143
+
144
+ class LessMinimalModel(models.Model):
145
+ _name = 'test.model2'
146
+
147
+ name = fields.Char()
148
+
149
+ ### Common Attributes
150
+
151
+ Much like the model itself, its fields can be configured, by passing
152
+ configuration attributes as parameters::
153
+
154
+ name = fields.Char(required=True)
155
+
156
+ Some attributes are available on all fields, here are the most common ones:
157
+
158
+ :attr:`~odoo.fields.Field.string` (`unicode`, default: field's name)
159
+ The label of the field in UI (visible by users).
160
+ :attr:`~odoo.fields.Field.required` (`bool`, default: `False`)
161
+ If `True`, the field can not be empty, it must either have a default
162
+ value or always be given a value when creating a record.
163
+ :attr:`~odoo.fields.Field.help` (`unicode`, default: `''`)
164
+ Long-form, provides a help tooltip to users in the UI.
165
+ :attr:`~odoo.fields.Field.index` (`bool`, default: `False`)
166
+ Requests that Odoo create a `database index`_ on the column.
167
+
168
+ ### Simple fields
169
+
170
+ There are two broad categories of fields: "simple" fields which are atomic
171
+ values stored directly in the model's table and "relational" fields linking
172
+ records (of the same model or of different models).
173
+
174
+ Example of simple fields are :class:`~odoo.fields.Boolean`,
175
+ :class:`~odoo.fields.Date`, :class:`~odoo.fields.Char`.
176
+
177
+ ### Reserved fields
178
+
179
+ Odoo creates a few fields in all models\ [#autofields]_. These fields are
180
+ managed by the system and shouldn't be written to. They can be read if
181
+ useful or necessary:
182
+
183
+ :attr:`~odoo.fields.Model.id` (:class:`~odoo.fields.Id`)
184
+ The unique identifier for a record in its model.
185
+ :attr:`~odoo.fields.Model.create_date` (:class:`~odoo.fields.Datetime`)
186
+ Creation date of the record.
187
+ :attr:`~odoo.fields.Model.create_uid` (:class:`~odoo.fields.Many2one`)
188
+ User who created the record.
189
+ :attr:`~odoo.fields.Model.write_date` (:class:`~odoo.fields.Datetime`)
190
+ Last modification date of the record.
191
+ :attr:`~odoo.fields.Model.write_uid` (:class:`~odoo.fields.Many2one`)
192
+ user who last modified the record.
193
+
194
+ ### Special fields
195
+
196
+ By default, Odoo also requires a `name` field on all models for various
197
+ display and search behaviors. The field used for these purposes can be
198
+ overridden by setting :attr:`~odoo.models.Model._rec_name`.
199
+
200
+ .. exercise:: Define a model
201
+
202
+ Define a new data model *Course* in the *openacademy* module. A course has a title and a
203
+ description. Courses must have a title.
204
+
205
+ ## Data files
206
+
207
+ Odoo is a highly data driven system. Although behavior is customized using
208
+ Python_ code part of a module's value is in the data it sets up when loaded.
209
+
210
+ .. tip:: some modules exist solely to add data into Odoo
211
+ :class: aphorism
212
+
213
+ Module data is declared via :ref:`data files <reference/data>`, XML files with
214
+ `<record>` elements. Each `<record>` element creates or updates a database
215
+ record.
216
+
217
+ ```xml
218
+
219
+ <odoo>
220
+
221
+ <record model="{model name}" id="{record identifier}">
222
+ <field name="{a field name}">{a value}</field>
223
+ </record>
224
+
225
+ </odoo>
226
+
227
+ * `model` is the name of the Odoo model for the record.
228
+ * `id` is an :term:`external identifier`, it allows referring to the record
229
+ (without having to know its in-database identifier).
230
+ * `<field>` elements have a `name` which is the name of the field in the
231
+ model (e.g. `description`). Their body is the field's value.
232
+
233
+ Data files have to be declared in the manifest file to be loaded, they can
234
+ be declared in the `'data'` list (always loaded) or in the `'demo'` list
235
+ (only loaded in demonstration mode).
236
+
237
+ .. exercise:: Define demonstration data
238
+
239
+ Create demonstration data filling the *Courses* model with a few demonstration courses.
240
+
241
+ > **tip**:
242
+ > The content of the data files is only loaded when a module is installed or updated.
243
+
244
+ After making some changes, do not forget to use :ref:`odoo-bin -u openacademy
245
+ <reference/cmdline>` to save the changes to your database.
246
+
247
+ .. _howtos/module/actions:
248
+
249
+ ## Actions and Menus
250
+
251
+ Actions and menus are regular records in database, usually declared through
252
+ data files. Actions can be triggered in three ways:
253
+
254
+ #. by clicking on menu items (linked to specific actions)
255
+ #. by clicking on buttons in views (if these are connected to actions)
256
+ #. as contextual actions on object
257
+
258
+ Because menus are somewhat complex to declare there is a `<menuitem>`
259
+ shortcut to declare an `ir.ui.menu` and connect it to the corresponding
260
+ action more easily.
261
+
262
+ ```xml
263
+
264
+ <record model="ir.actions.act_window" id="action_list_ideas">
265
+ <field name="name">Ideas</field>
266
+ <field name="res_model">idea.idea</field>
267
+ <field name="view_mode">list,form</field>
268
+ </record>
269
+ <menuitem id="menu_ideas" parent="menu_root" name="Ideas" sequence="10"
270
+ action="action_list_ideas"/>
271
+
272
+ .. danger::
273
+ :class: aphorism
274
+
275
+ The action must be declared before its corresponding menu in the XML file.
276
+
277
+ Data files are executed sequentially, the action's `id` must be present in the database before
278
+ the menu can be created.
279
+
280
+ .. exercise:: Define new menu entries
281
+
282
+ Define new menu entries to access courses under the OpenAcademy menu entry. A user should be able
283
+ to:
284
+
285
+ - display a list of all the courses
286
+ - create/modify courses
287
+
288
+ # Basic views
289
+
290
+ Views define the way the records of a model are displayed. Each type of view
291
+ represents a mode of visualization (a list of records, a graph of their
292
+ aggregation, …). Views can either be requested generically via their type
293
+ (e.g. *a list of partners*) or specifically via their id. For generic
294
+ requests, the view with the correct type and the lowest priority will be
295
+ used (so the lowest-priority view of each type is the default view for that
296
+ type).
297
+
298
+ :ref:`View inheritance <reference/view_records/inheritance>` allows altering views
299
+ declared elsewhere (adding or removing content).
300
+
301
+ ## Generic view declaration
302
+
303
+ A view is declared as a record of the model `ir.ui.view`. The view type
304
+ is implied by the root element of the `arch` field:
305
+
306
+ ```xml
307
+
308
+ <record model="ir.ui.view" id="view_id">
309
+ <field name="name">view.name</field>
310
+ <field name="model">object_name</field>
311
+ <field name="priority" eval="16"/>
312
+ <field name="arch" type="xml">
313
+ <!-- view content: <form>, <list>, <graph>, ... -->
314
+ </field>
315
+ </record>
316
+
317
+ .. danger:: The view's content is XML.
318
+ :class: aphorism
319
+
320
+ The `arch` field must thus be declared as `type="xml"` to be parsed correctly.
321
+
322
+ ## list views
323
+
324
+ list views, also called list views, display records in a tabular form.
325
+
326
+ Their root element is `<list>`. The simplest form of the list view simply
327
+ lists all the fields to display in the table (each field as a column):
328
+
329
+ ```xml
330
+
331
+ <list string="Idea list">
332
+ <field name="name"/>
333
+ <field name="inventor_id"/>
334
+ </list>
335
+
336
+ .. _howtos/module/views/form:
337
+
338
+ ## Form views
339
+
340
+ Forms are used to create and edit single records.
341
+
342
+
343
+ Their root element is `<form>`. They are composed of high-level structure
344
+ elements (groups, notebooks) and interactive elements (buttons and fields):
345
+
346
+ ```xml
347
+
348
+ <form string="Idea form">
349
+ <group colspan="4">
350
+ <group colspan="2" col="2">
351
+ <separator string="General stuff" colspan="2"/>
352
+ <field name="name"/>
353
+ <field name="inventor_id"/>
354
+ </group>
355
+
356
+ <group colspan="2" col="2">
357
+ <separator string="Dates" colspan="2"/>
358
+ <field name="active"/>
359
+ <field name="invent_date" readonly="1"/>
360
+ </group>
361
+
362
+ <notebook colspan="4">
363
+ <page string="Description">
364
+ <field name="description" nolabel="1"/>
365
+ </page>
366
+ </notebook>
367
+
368
+ <field name="state"/>
369
+ </group>
370
+ </form>
371
+
372
+ .. exercise:: Customise form view using XML
373
+
374
+ Create your own form view for the Course object. Data displayed should be: the name and the
375
+ description of the course.
376
+
377
+ .. exercise:: Notebooks
378
+
379
+ In the Course form view, put the description field under a tab, such that it will be easier to
380
+ add other tabs later, containing additional information.
381
+
382
+ Form views can also use plain HTML for more flexible layouts:
383
+
384
+ ```xml
385
+
386
+ <form string="Idea Form">
387
+ <header>
388
+ <button string="Confirm" type="object" name="action_confirm"
389
+ invisible="state != 'draft'" class="oe_highlight" />
390
+ <button string="Mark as done" type="object" name="action_done"
391
+ invisible="state != 'confirmed'" class="oe_highlight"/>
392
+ <button string="Reset to draft" type="object" name="action_draft"
393
+ invisible="state not in ['confirmed', 'done']" />
394
+ <field name="state" widget="statusbar"/>
395
+ </header>
396
+ <sheet>
397
+ <div class="oe_title">
398
+ <label for="name" class="oe_edit_only" string="Idea Name" />
399
+ <h1><field name="name" /></h1>
400
+ </div>
401
+ <separator string="General" colspan="2" />
402
+ <group colspan="2" col="2">
403
+ <field name="description" placeholder="Idea description..." />
404
+ </group>
405
+ </sheet>
406
+ </form>
407
+
408
+ ## Search views
409
+
410
+ Search views customize the search field associated with the list view (and
411
+ other aggregated views). Their root element is `<search>` and they're
412
+ composed of fields defining which fields can be searched on:
413
+
414
+ ```xml
415
+
416
+ <search>
417
+ <field name="name"/>
418
+ <field name="inventor_id"/>
419
+ </search>
420
+
421
+ If no search view exists for the model, Odoo generates one which only allows
422
+ searching on the `name` field.
423
+
424
+ .. exercise:: Search courses
425
+
426
+ Allow searching for courses based on their title or their description.
427
+
428
+ # Relations between models
429
+
430
+ A record from a model may be related to a record from another model. For
431
+ instance, a sale order record is related to a client record that contains the
432
+ client data; it is also related to its sale order line records.
433
+
434
+ .. exercise:: Create a session model
435
+
436
+ For the module Open Academy, we consider a model for *sessions*: a session
437
+ is an occurrence of a course taught at a given time for a given audience.
438
+
439
+ Create a model for *sessions*. A session has a name, a start date, a
440
+ duration and a number of seats. Add an action and a menu item to display
441
+ them. Make the new model visible via a menu item.
442
+
443
+ ## Relational fields
444
+
445
+ Relational fields link records, either of the same model (hierarchies) or
446
+ between different models.
447
+
448
+ Relational field types are:
449
+
450
+ :class:`Many2one(other_model, ondelete='set null') <odoo.fields.Many2one>`
451
+ A simple link to an other object::
452
+
453
+ print(foo.other_id.name)
454
+
455
+ .. seealso:: [foreign keys ](http://www.postgresql.org/docs/12/static/tutorial-fk.html)
456
+
457
+ :class:`One2many(other_model, related_field) <odoo.fields.One2many>`
458
+ A virtual relationship, inverse of a :class:`~odoo.fields.Many2one`.
459
+ A :class:`~odoo.fields.One2many` behaves as a container of records,
460
+ accessing it results in a (possibly empty) set of records::
461
+
462
+ for other in foo.other_ids:
463
+ print(other.name)
464
+
465
+ .. danger::
466
+
467
+ Because a :class:`~odoo.fields.One2many` is a virtual relationship,
468
+ there *must* be a :class:`~odoo.fields.Many2one` field in the
469
+ :samp:`{other_model}`, and its name *must* be :samp:`{related_field}`
470
+
471
+ :class:`Many2many(other_model) <odoo.fields.Many2many>`
472
+ Bidirectional multiple relationship, any record on one side can be related
473
+ to any number of records on the other side. Behaves as a container of
474
+ records, accessing it also results in a possibly empty set of records::
475
+
476
+ for other in foo.other_ids:
477
+ print(other.name)
478
+
479
+ .. exercise:: Many2one relations
480
+
481
+ Using a many2one, modify the *Course* and *Session* models to reflect their
482
+ relation with other models:
483
+
484
+ - A course has a *responsible* user; the value of that field is a record of
485
+ the built-in model `res.users`.
486
+ - A session has an *instructor*; the value of that field is a record of the
487
+ built-in model `res.partner`.
488
+ - A session is related to a *course*; the value of that field is a record
489
+ of the model `openacademy.course` and is required.
490
+ - Adapt the views.
491
+
492
+ .. exercise:: Inverse one2many relations
493
+
494
+ Using the inverse relational field one2many, modify the models to reflect
495
+ the relation between courses and sessions.
496
+
497
+ .. exercise:: Multiple many2many relations
498
+
499
+ Using the relational field many2many, modify the *Session* model to relate
500
+ every session to a set of *attendees*. Attendees will be represented by
501
+ partner records, so we will relate to the built-in model `res.partner`.
502
+ Adapt the views accordingly.
503
+
504
+ # Inheritance
505
+
506
+ ## Model inheritance
507
+
508
+ Odoo provides two *inheritance* mechanisms to extend an existing model in a
509
+ modular way.
510
+
511
+ The first inheritance mechanism allows a module to modify the behavior of a
512
+ model defined in another module:
513
+
514
+ - add fields to a model,
515
+ - override the definition of fields on a model,
516
+ - add constraints to a model,
517
+ - add methods to a model,
518
+ - override existing methods on a model.
519
+
520
+ The second inheritance mechanism (delegation) allows to link every record of a
521
+ model to a record in a parent model, and provides transparent access to the
522
+ fields of the parent record.
523
+
524
+ .. image:: ../reference/backend/orm/inheritance_methods.png
525
+ :align: center
526
+
527
+ .. seealso::
528
+ * :attr:`~odoo.models.Model._inherit`
529
+ * :attr:`~odoo.models.Model._inherits`
530
+
531
+ ## View inheritance
532
+
533
+ Instead of modifying existing views in place (by overwriting them), Odoo
534
+ provides view inheritance where children "extension" views are applied on top of
535
+ root views, and can add or remove content from their parent.
536
+
537
+ An extension view references its parent using the `inherit_id` field, and
538
+ instead of a single view its `arch` field is composed of any number of
539
+ `xpath` elements selecting and altering the content of their parent view:
540
+
541
+ ```xml
542
+
543
+ <!-- improved idea categories list -->
544
+ <record id="idea_category_list2" model="ir.ui.view">
545
+ <field name="name">id.category.list2</field>
546
+ <field name="model">idea.category</field>
547
+ <field name="inherit_id" ref="id_category_list"/>
548
+ <field name="arch" type="xml">
549
+ <!-- find field description and add the field
550
+ idea_ids after it -->
551
+ <xpath expr="//field[@name='description']" position="after">
552
+ <field name="idea_ids" string="Number of ideas"/>
553
+ </xpath>
554
+ </field>
555
+ </record>
556
+
557
+ `expr`
558
+ An XPath_ expression selecting a single element in the parent view.
559
+ Raises an error if it matches no element or more than one
560
+ `position`
561
+ Operation to apply to the matched element:
562
+
563
+ `inside`
564
+ appends `xpath`'s body at the end of the matched element
565
+ `replace`
566
+ replaces the matched element with the `xpath`'s body, replacing any `$0` node occurrence
567
+ in the new body with the original element
568
+ `before`
569
+ inserts the `xpath`'s body as a sibling before the matched element
570
+ `after`
571
+ inserts the `xpaths`'s body as a sibling after the matched element
572
+ `attributes`
573
+ alters the attributes of the matched element using special
574
+ `attribute` elements in the `xpath`'s body
575
+
576
+ > **tip**:
577
+ > When matching a single element, the `position` attribute can be set directly
578
+ on the element to be found. Both inheritances below will give the same result.
579
+
580
+ ```xml
581
+
582
+ <xpath expr="//field[@name='description']" position="after">
583
+ <field name="idea_ids" />
584
+ </xpath>
585
+
586
+ <field name="description" position="after">
587
+ <field name="idea_ids" />
588
+ </field>
589
+
590
+
591
+ .. exercise:: Alter existing content
592
+
593
+ * Using model inheritance, modify the existing *Partner* model to add an
594
+ `instructor` boolean field, and a many2many field that corresponds to
595
+ the session-partner relation
596
+ * Using view inheritance, display this fields in the partner form view
597
+
598
+ ### Domains
599
+
600
+ In Odoo, :ref:`reference/orm/domains` are values that encode conditions on
601
+ records. A domain is a list of criteria used to select a subset of a model's
602
+ records. Each criteria is a triple with a field name, an operator and a value.
603
+
604
+ For instance, when used on the *Product* model the following domain selects
605
+ all *services* with a unit price over *1000*::
606
+
607
+ [('product_type', '=', 'service'), ('unit_price', '>', 1000)]
608
+
609
+ By default criteria are combined with an implicit AND. The logical operators
610
+ `&` (AND), `|` (OR) and `!` (NOT) can be used to explicitly combine
611
+ criteria. They are used in prefix position (the operator is inserted before
612
+ its arguments rather than between). For instance to select products "which are
613
+ services *OR* have a unit price which is *NOT* between 1000 and 2000"::
614
+
615
+ ['|',
616
+ ('product_type', '=', 'service'),
617
+ '!', '&',
618
+ ('unit_price', '>=', 1000),
619
+ ('unit_price', '<', 2000)]
620
+
621
+ A `domain` parameter can be added to relational fields to limit valid
622
+ records for the relation when trying to select records in the client interface.
623
+
624
+ .. exercise:: Domains on relational fields
625
+
626
+ When selecting the instructor for a *Session*, only instructors (partners
627
+ with `instructor` set to `True`) should be visible.
628
+
629
+ .. exercise:: More complex domains
630
+
631
+ Create new partner categories *Teacher / Level 1* and *Teacher / Level 2*.
632
+ The instructor for a session can be either an instructor or a teacher
633
+ (of any level).
634
+
635
+ # Computed fields and default values
636
+
637
+ So far fields have been stored directly in and retrieved directly from the
638
+ database. Fields can also be *computed*. In that case, the field's value is not
639
+ retrieved from the database but computed on-the-fly by calling a method of the
640
+ model.
641
+
642
+ To create a computed field, create a field and set its attribute
643
+ :attr:`~odoo.fields.Field.compute` to the name of a method. The computation
644
+ method should simply set the value of the field to compute on every record in
645
+ `self`.
646
+
647
+ .. danger:: `self` is a collection
648
+ :class: aphorism
649
+
650
+ The object `self` is a *recordset*, i.e., an ordered collection of records. It supports the
651
+ standard Python operations on collections, like `len(self)` and `iter(self)`, plus extra set
652
+ operations like `recs1 + recs2`.
653
+
654
+ Iterating over `self` gives the records one by one, where each record is itself a collection of
655
+ size 1. You can access/assign fields on single records by using the dot notation, like
656
+ `record.name`.
657
+
658
+ ```python
659
+
660
+ import random
661
+ from odoo import models, fields, api
662
+
663
+ class ComputedModel(models.Model):
664
+ _name = 'test.computed'
665
+
666
+ name = fields.Char(compute='_compute_name')
667
+
668
+ def _compute_name(self):
669
+ for record in self:
670
+ record.name = str(random.randint(1, 1e6))
671
+
672
+
673
+ ## Dependencies
674
+
675
+ The value of a computed field usually depends on the values of other fields on
676
+ the computed record. The ORM expects the developer to specify those dependencies
677
+ on the compute method with the decorator :func:`~odoo.api.depends`.
678
+ The given dependencies are used by the ORM to trigger the recomputation of the
679
+ field whenever some of its dependencies have been modified::
680
+
681
+ from odoo import models, fields, api
682
+
683
+ class ComputedModel(models.Model):
684
+ _name = 'test.computed'
685
+
686
+ name = fields.Char(compute='_compute_name')
687
+ value = fields.Integer()
688
+
689
+ @api.depends('value')
690
+ def _compute_name(self):
691
+ for record in self:
692
+ record.name = "Record with value %s" % record.value
693
+
694
+ .. exercise:: Computed fields
695
+
696
+ * Add the percentage of taken seats to the *Session* model
697
+ * Display that field in the list and form views
698
+ * Display the field as a progress bar
699
+
700
+ ## Default values
701
+
702
+ Any field can be given a default value. In the field definition, add the option
703
+ `default=X` where `X` is either a Python literal value (boolean, integer,
704
+ float, string), or a function taking a recordset and returning a value::
705
+
706
+ name = fields.Char(default="Unknown")
707
+ user_id = fields.Many2one('res.users', default=lambda self: self.env.user)
708
+
709
+ > **note**:
710
+ > The object `self.env` gives access to request parameters and other useful things:
711
+
712
+ - `self.env.cr` or `self._cr` is the database *cursor* object; it is
713
+ used for querying the database
714
+ - `self.env.uid` or `self._uid` is the current user's database id
715
+ - `self.env.user` is the current user's record
716
+ - `self.env.context` or `self._context` is the context dictionary
717
+ - `self.env.ref(xml_id)` returns the record corresponding to an XML id
718
+ - `self.env[model_name]` returns an instance of the given model
719
+
720
+ .. exercise:: Active objects – Default values
721
+
722
+ * Define the start_date default value as today (see
723
+ :class:`~odoo.fields.Date`).
724
+ * Add a field `active` in the class Session, and set sessions as active by
725
+ default.
726
+
727
+ # Onchange
728
+
729
+ The "onchange" mechanism provides a way for the client interface to update a
730
+ form whenever the user has filled in a value in a field, without saving anything
731
+ to the database.
732
+
733
+ For instance, suppose a model has three fields `amount`, `unit_price` and
734
+ `price`, and you want to update the price on the form when any of the other
735
+ fields is modified. To achieve this, define a method where `self` represents
736
+ the record in the form view, and decorate it with :func:`~odoo.api.onchange`
737
+ to specify on which field it has to be triggered. Any change you make on
738
+ `self` will be reflected on the form.
739
+
740
+ ```xml
741
+
742
+ <!-- content of form view -->
743
+ <field name="amount"/>
744
+ <field name="unit_price"/>
745
+ <field name="price" readonly="1"/>
746
+
747
+ ```python
748
+
749
+ # onchange handler
750
+ @api.onchange('amount', 'unit_price')
751
+ def _onchange_price(self):
752
+ # set auto-changing field
753
+ self.price = self.amount * self.unit_price
754
+ # Can optionally return a warning and domains
755
+ return {
756
+ 'warning': {
757
+ 'title': "Something bad happened",
758
+ 'message': "It was very bad indeed",
759
+ }
760
+ }
761
+
762
+ For computed fields, valued `onchange` behavior is built-in as can be seen by
763
+ playing with the *Session* form: change the number of seats or participants, and
764
+ the `taken_seats` progressbar is automatically updated.
765
+
766
+ .. exercise:: Warning
767
+
768
+ Add an explicit onchange to warn about invalid values, like a negative
769
+ number of seats, or more participants than seats.
770
+
771
+ # Model constraints
772
+
773
+ Odoo provides two ways to set up automatically verified invariants:
774
+ :func:`Python constraints <odoo.api.constrains>` and
775
+ :attr:`SQL constraints <odoo.models.Model._sql_constraints>`.
776
+
777
+ A Python constraint is defined as a method decorated with
778
+ :func:`~odoo.api.constrains`, and invoked on a recordset. The decorator
779
+ specifies which fields are involved in the constraint, so that the constraint is
780
+ automatically evaluated when one of them is modified. The method is expected to
781
+ raise an exception if its invariant is not satisfied::
782
+
783
+ from odoo.exceptions import ValidationError
784
+
785
+ @api.constrains('age')
786
+ def _check_something(self):
787
+ for record in self:
788
+ if record.age > 20:
789
+ raise ValidationError("Your record is too old: %s" % record.age)
790
+ # all records passed the test, don't return anything
791
+
792
+ .. exercise:: Add Python constraints
793
+
794
+ Add a constraint that checks that the instructor is not present in the
795
+ attendees of his/her own session.
796
+
797
+ SQL constraints are defined through the model attribute
798
+ :attr:`~odoo.models.Model._sql_constraints`. The latter is assigned to a list
799
+ of triples of strings `(name, sql_definition, message)`, where `name` is a
800
+ valid SQL constraint name, `sql_definition` is a table_constraint_ expression,
801
+ and `message` is the error message.
802
+
803
+ .. exercise:: Add SQL constraints
804
+
805
+ With the help of `PostgreSQL's documentation`_ , add the following
806
+ constraints:
807
+
808
+ #. CHECK that the course description and the course title are different
809
+ #. Make the Course's name UNIQUE
810
+
811
+ .. exercise:: Exercise 6 - Add a duplicate option
812
+
813
+ Since we added a constraint for the Course name uniqueness, it is not
814
+ possible to use the "duplicate" function anymore (:menuselection:`Form -->
815
+ Duplicate`).
816
+
817
+ Re-implement your own "copy" method which allows to duplicate the Course
818
+ object, changing the original name into "Copy of [original name]".
819
+
820
+ # Advanced Views
821
+
822
+ ## list views
823
+
824
+ list views can take supplementary attributes to further customize their
825
+ behavior:
826
+
827
+ `decoration-{$name}`
828
+ allow changing the style of a row's text based on the corresponding
829
+ record's attributes.
830
+
831
+ Values are Python expressions. For each record, the expression is evaluated
832
+ with the record's attributes as context values and if `true`, the
833
+ corresponding style is applied to the row. Here are some of the other values
834
+ available in the context:
835
+
836
+ * `uid`: the id of the current user,
837
+ * `today`: the current local date as a string of the form `YYYY-MM-DD`,
838
+ * `now`: same as `today` with the addition of the current time.
839
+ This value is formatted as `YYYY-MM-DD hh:mm:ss`.
840
+
841
+ `{$name}` can be `bf` (`font-weight: bold`), `it`
842
+ (`font-style: italic`), or any [bootstrap contextual color
843
+ ](https://getbootstrap.com/docs/3.3/components/#available-variations) (`danger`,
844
+ `info`, `muted`, `primary`, `success` or `warning`).
845
+
846
+ ```xml
847
+
848
+ <list string="Idea Categories" decoration-info="state=='draft'"
849
+ decoration-danger="state=='trashed'">
850
+ <field name="name"/>
851
+ <field name="state"/>
852
+ </list>
853
+
854
+ `editable`
855
+ Either `"top"` or `"bottom"`. Makes the list view editable in-place
856
+ (rather than having to go through the form view), the value is the
857
+ position where new rows appear.
858
+
859
+ .. exercise:: List coloring
860
+
861
+ Modify the Session list view in such a way that sessions lasting less than
862
+ 5 days are colored blue, and the ones lasting more than 15 days are
863
+ colored red.
864
+
865
+ ## Calendars
866
+
867
+ Displays records as calendar events. Their root element is `<calendar>` and
868
+ their most common attributes are:
869
+
870
+ `color`
871
+ The name of the field used for *color segmentation*. Colors are
872
+ automatically distributed to events, but events in the same color segment
873
+ (records which have the same value for their `@color` field) will be
874
+ given the same color.
875
+ `date_start`
876
+ record's field holding the start date/time for the event
877
+ `date_stop` (optional)
878
+   record's field holding the end date/time for the event
879
+ `string`
880
+ record's field to define the label for each calendar event
881
+
882
+ ```xml
883
+
884
+ <calendar string="Ideas" date_start="invent_date" color="inventor_id">
885
+ <field name="name"/>
886
+ </calendar>
887
+
888
+ .. exercise:: Calendar view
889
+
890
+ Add a Calendar view to the *Session* model enabling the user to view the
891
+ events associated to the Open Academy.
892
+
893
+ ## Search views
894
+
895
+ Search view `<field>` elements can have a `@filter_domain` that overrides
896
+ the domain generated for searching on the given field. In the given domain,
897
+ `self` represents the value entered by the user. In the example below, it is
898
+ used to search on both fields `name` and `description`.
899
+
900
+ Search views can also contain `<filter>` elements, which act as toggles for
901
+ predefined searches. Filters must have one of the following attributes:
902
+
903
+ `domain`
904
+ add the given domain to the current search
905
+ `context`
906
+ add some context to the current search; use the key `group_by` to group
907
+ results on the given field name
908
+
909
+ ```xml
910
+
911
+ <search string="Ideas">
912
+ <field name="name"/>
913
+ <field name="description" string="Name and description"
914
+ filter_domain="['|', ('name', 'ilike', self), ('description', 'ilike', self)]"/>
915
+ <field name="inventor_id"/>
916
+ <field name="country_id" widget="selection"/>
917
+
918
+ <filter name="my_ideas" string="My Ideas"
919
+ domain="[('inventor_id', '=', uid)]"/>
920
+ <group string="Group By">
921
+ <filter name="group_by_inventor" string="Inventor"
922
+ context="{'group_by': 'inventor_id'}"/>
923
+ </group>
924
+ </search>
925
+
926
+ To use a non-default search view in an action, it should be linked using the
927
+ `search_view_id` field of the action record.
928
+
929
+ The action can also set default values for search fields through its
930
+ `context` field: context keys of the form
931
+ :samp:`search_default_{field_name}` will initialize *field_name* with the
932
+ provided value. Search filters must have an optional `@name` to have a
933
+ default and behave as booleans (they can only be enabled by default).
934
+
935
+ .. exercise:: Search views
936
+
937
+ #. Add a button to filter the courses for which the current user is the
938
+ responsible in the course search view. Make it selected by default.
939
+ #. Add a button to group courses by responsible user.
940
+
941
+ ## Gantt
942
+
943
+ > **warning**:
944
+ > The gantt view requires the web_gantt module which is present in the :ref:`enterprise edition
945
+ <install/editions>` version.
946
+
947
+ Horizontal bar charts typically used to show project planning and advancement,
948
+ their root element is `<gantt>`.
949
+
950
+ ```xml
951
+
952
+ <gantt string="Ideas"
953
+ date_start="invent_date"
954
+ date_stop="date_finished"
955
+ progress="progress"
956
+ default_group_by="inventor_id" />
957
+
958
+ .. exercise:: Gantt charts
959
+
960
+ Add a Gantt Chart enabling the user to view the sessions scheduling linked
961
+ to the Open Academy module. The sessions should be grouped by instructor.
962
+
963
+ ## Graph views
964
+
965
+ Graph views allow aggregated overview and analysis of models, their root
966
+ element is `<graph>`.
967
+
968
+ > **note**:
969
+ > Pivot views (element `<pivot>`) a multidimensional table, allows the selection of filers and
970
+ dimensions to get the right aggregated dataset before moving to a more graphical overview. The
971
+ pivot view shares the same content definition as graph views.
972
+
973
+ Graph views have 4 display modes, the default mode is selected using the
974
+ `@type` attribute.
975
+
976
+ Bar (default)
977
+ a bar chart, the first dimension is used to define groups on the
978
+ horizontal axis, other dimensions define aggregated bars within each group.
979
+
980
+ By default bars are side-by-side, they can be stacked by using
981
+ `@stacked="True"` on the `<graph>`
982
+ Line
983
+ 2-dimensional line chart
984
+ Pie
985
+ 2-dimensional pie
986
+
987
+ Graph views contain `<field>` with a mandatory `@type` attribute taking
988
+ the values:
989
+
990
+ `row` (default)
991
+ the field should be aggregated by default
992
+ `measure`
993
+ the field should be aggregated rather than grouped on
994
+
995
+ ```xml
996
+
997
+ <graph string="Total idea score by Inventor">
998
+ <field name="inventor_id"/>
999
+ <field name="score" type="measure"/>
1000
+ </graph>
1001
+
1002
+ > **warning**:
1003
+ > Graph views perform aggregations on database values, they do not work with non-stored computed
1004
+ fields.
1005
+
1006
+ .. exercise:: Graph view
1007
+
1008
+ Add a Graph view in the Session object that displays, for each course, the
1009
+ number of attendees under the form of a bar chart.
1010
+
1011
+ ## Kanban
1012
+
1013
+ Used to organize tasks, production processes, etc… their root element is
1014
+ `<kanban>`.
1015
+
1016
+ A kanban view shows a set of cards possibly grouped in columns. Each card
1017
+ represents a record, and each column the values of an aggregation field.
1018
+
1019
+ For instance, project tasks may be organized by stage (each column is a
1020
+ stage), or by responsible (each column is a user), and so on.
1021
+
1022
+ Kanban views define the structure of each card as a mix of form elements
1023
+ (including basic HTML) and :ref:`reference/qweb`.
1024
+
1025
+ .. exercise:: Kanban view
1026
+
1027
+ Add a Kanban view that displays sessions grouped by course (columns are
1028
+ thus courses).
1029
+
1030
+ # Security
1031
+
1032
+ Access control mechanisms must be configured to achieve a coherent security
1033
+ policy.
1034
+
1035
+ ## Group-based access control mechanisms
1036
+
1037
+ Groups are created as normal records on the model `res.groups`, and granted
1038
+ menu access via menu definitions. However even without a menu, objects may
1039
+ still be accessible indirectly, so actual object-level permissions (read,
1040
+ write, create, unlink) must be defined for groups. They are usually inserted
1041
+ via CSV files inside modules. It is also possible to restrict access to
1042
+ specific fields on a view or object using the field's groups attribute.
1043
+
1044
+ ## Access rights
1045
+
1046
+ Access rights are defined as records of the model `ir.model.access`. Each
1047
+ access right is associated to a model, a group (or no group for global
1048
+ access), and a set of permissions: read, write, create, unlink. Such access
1049
+ rights are usually created by a CSV file named after its model:
1050
+ `ir.model.access.csv`.
1051
+
1052
+ ```text
1053
+
1054
+ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
1055
+ access_idea_idea,idea.idea,model_idea_idea,base.group_user,1,1,1,0
1056
+ access_idea_vote,idea.vote,model_idea_vote,base.group_user,1,1,1,0
1057
+
1058
+ .. exercise:: Add access control through the Odoo interface
1059
+
1060
+ Create a new user "John Smith". Then create a group
1061
+ "OpenAcademy / Session Read" with read access to the *Session* model.
1062
+
1063
+ .. exercise:: Add access control through data files in your module
1064
+
1065
+ Using data files,
1066
+
1067
+ * Create a group *OpenAcademy / Manager* with full access to all
1068
+ OpenAcademy models
1069
+ * Make *Session* and *Course* readable by all users
1070
+
1071
+ ## Record rules
1072
+
1073
+ A record rule restricts the access rights to a subset of records of the given
1074
+ model. A rule is a record of the model `ir.rule`, and is associated to a
1075
+ model, a number of groups (many2many field), permissions to which the
1076
+ restriction applies, and a domain. The domain specifies to which records the
1077
+ access rights are limited.
1078
+
1079
+ Here is an example of a rule that prevents the deletion of leads that are not
1080
+ in state `cancel`. Notice that the value of the field `groups` must follow
1081
+ the same convention as the method :meth:`~odoo.models.Model.write` of the ORM.
1082
+
1083
+ ```xml
1084
+
1085
+ <record id="delete_cancelled_only" model="ir.rule">
1086
+ <field name="name">Only cancelled leads may be deleted</field>
1087
+ <field name="model_id" ref="crm.model_crm_lead"/>
1088
+ <field name="groups" eval="[(4, ref('sales_team.group_sale_manager'))]"/>
1089
+ <field name="perm_read" eval="0"/>
1090
+ <field name="perm_write" eval="0"/>
1091
+ <field name="perm_create" eval="0"/>
1092
+ <field name="perm_unlink" eval="1" />
1093
+ <field name="domain_force">[('state','=','cancel')]</field>
1094
+ </record>
1095
+
1096
+ .. exercise:: Record rule
1097
+
1098
+ Add a record rule for the model Course and the group
1099
+ "OpenAcademy / Manager", that restricts `write` and `unlink` accesses
1100
+ to the responsible of a course. If a course has no responsible, all users
1101
+ of the group must be able to modify it.
1102
+
1103
+ .. _howto/module/wizard:
1104
+
1105
+ # Wizards
1106
+
1107
+ Wizards describe interactive sessions with the user (or dialog boxes) through
1108
+ dynamic forms. A wizard is simply a model that extends the class
1109
+ :class:`~odoo.models.TransientModel` instead of
1110
+ :class:`~odoo.models.Model`. The class
1111
+ :class:`~odoo.models.TransientModel` extends :class:`~odoo.models.Model`
1112
+ and reuse all its existing mechanisms, with the following particularities:
1113
+
1114
+ - Wizard records are not meant to be persistent; they are automatically deleted
1115
+ from the database after a certain time. This is why they are called
1116
+ *transient*.
1117
+ - Wizard records may refer to regular records or wizard records through relational
1118
+ fields(many2one or many2many), but regular records *cannot* refer to wizard records through a
1119
+ many2one field.
1120
+
1121
+ We want to create a wizard that allow users to create attendees for a particular
1122
+ session, or for a list of sessions at once.
1123
+
1124
+ .. exercise:: Define the wizard
1125
+
1126
+ Create a wizard model with a many2one relationship with the *Session*
1127
+ model and a many2many relationship with the *Partner* model.
1128
+
1129
+ ## Launching wizards
1130
+
1131
+ Wizards are simply :ref:`window actions <howtos/module/actions>` with a `target`
1132
+ field set to the value `new`, which opens the view
1133
+ (usually :ref:`a form <howtos/module/views/form>`) in a separate dialog. The
1134
+ action may be triggered via a menu item, but is more generally triggered by a
1135
+ button.
1136
+
1137
+ An other way to launch wizards is through the :menuselection:`Action` menu of
1138
+ a list or form view. This is done through the `binding_model_id` field of the
1139
+ action. Setting this field will make the action appear on the views of the model
1140
+ the action is "bound" to.
1141
+
1142
+ .. code:: xml
1143
+
1144
+ <record id="launch_the_wizard" model="ir.actions.act_window">
1145
+ <field name="name">Launch the Wizard</field>
1146
+ <field name="res_model">wizard.model.name</field>
1147
+ <field name="view_mode">form</field>
1148
+ <field name="target">new</field>
1149
+ <field name="binding_model_id" ref="model_context_model_ref"/>
1150
+ </record>
1151
+
1152
+ > **tip**:
1153
+ > While wizards use regular views and buttons, normally clicking any button in
1154
+ a form would first save the form then close the dialog. Because this is
1155
+ often undesirable in wizards, a special attribute `special="cancel"` is
1156
+ available which immediately closes the wizard without saving the form.
1157
+
1158
+ .. exercise:: Launch the wizard
1159
+
1160
+ #. Define a form view for the wizard.
1161
+ #. Add the action to launch it in the context of the *Session* model.
1162
+ #. Define a default value for the session field in the wizard; use the
1163
+ context parameter `self._context` to retrieve the current session.
1164
+
1165
+ .. exercise:: Register attendees
1166
+
1167
+ Add buttons to the wizard, and implement the corresponding method for adding
1168
+ the attendees to the given session.
1169
+
1170
+ .. exercise:: Register attendees to multiple sessions
1171
+
1172
+ Modify the wizard model so that attendees can be registered to multiple
1173
+ sessions.
1174
+
1175
+ # Internationalization
1176
+
1177
+ Each module can provide its own translations within the i18n directory, by
1178
+ having files named LANG.po where LANG is the locale code for the language, or
1179
+ the language and country combination when they differ (e.g. pt.po or
1180
+ pt_BR.po). Translations will be loaded automatically by Odoo for all
1181
+ enabled languages. Developers always use English when creating a module, then
1182
+ export the module terms using Odoo's gettext POT export feature
1183
+ (:menuselection:`Settings --> Translations --> Import/Export --> Export
1184
+ Translation` without specifying a language), to create the module template POT
1185
+ file, and then derive the translated PO files. Many IDE's have plugins or modes
1186
+ for editing and merging PO/POT files.
1187
+
1188
+ > **tip**:
1189
+ > The Portable Object files generated by Odoo are published on [Transifex
1190
+ ](https://www.transifex.com/odoo/public/), making it easy to translate the software.
1191
+
1192
+ ```text
1193
+
1194
+ |- idea/ # The module directory
1195
+ |- i18n/ # Translation files
1196
+ | - idea.pot # Translation Template (exported from Odoo)
1197
+ | - fr.po # French translation
1198
+ | - pt_BR.po # Brazilian Portuguese translation
1199
+ | (...)
1200
+
1201
+ > **tip**:
1202
+ > By default Odoo's POT export only extracts labels inside XML files or
1203
+ inside field definitions in Python code, but any Python string can be
1204
+ translated this way by surrounding it with the function :func:`odoo._`
1205
+ (e.g. `_("Label")`)
1206
+
1207
+ .. exercise:: Translate a module
1208
+
1209
+ Choose a second language for your Odoo installation. Translate your
1210
+ module using the facilities provided by Odoo.
1211
+
1212
+ # Reporting
1213
+
1214
+ ## Printed reports
1215
+
1216
+ Odoo uses a report engine based on :ref:`reference/qweb`,
1217
+ `Twitter Bootstrap`_ and Wkhtmltopdf_.
1218
+
1219
+ A report is a combination two elements:
1220
+
1221
+ * an `ir.actions.report` which configures various basic parameters for the
1222
+ report (default type, whether the report should be saved to the database
1223
+ after generation,…)
1224
+
1225
+ ```xml
1226
+
1227
+ <record id="account_invoices" model="ir.actions.report">
1228
+ <field name="name">Invoices</field>
1229
+ <field name="model">account.invoice</field>
1230
+ <field name="report_type">qweb-pdf</field>
1231
+ <field name="report_name">account.report_invoice</field>
1232
+ <field name="report_file">account.report_invoice</field>
1233
+ <field name="attachment_use" eval="True"/>
1234
+ <field name="attachment">(object.state in ('open','paid')) and
1235
+ ('INV'+(object.number or '').replace('/','')+'.pdf')</field>
1236
+ <field name="binding_model_id" ref="model_account_invoice"/>
1237
+ <field name="binding_type">report</field>
1238
+ </record>
1239
+
1240
+ > **tip**:
1241
+ > Because it largerly a standard action, as with :ref:`howto/module/wizard`
1242
+ it is generally useful to add the report as a *contextual item* on the
1243
+ list and / or form views of the model being reported on via the
1244
+ `binding_model_id` field.
1245
+
1246
+ Here we are also using `binding_type` in order for the report to be in
1247
+ the *report* contextual menu rather than the *action* one. There is no
1248
+ technical difference but putting elements in the right place helps users.
1249
+
1250
+ * A standard :ref:`QWeb view <reference/view_architectures/qweb>` for the actual report:
1251
+
1252
+ ```xml
1253
+
1254
+ <t t-call="web.html_container">
1255
+ <t t-foreach="docs" t-as="o">
1256
+ <t t-call="web.external_layout">
1257
+ <div class="page">
1258
+ <h2>Report title</h2>
1259
+ </div>
1260
+ </t>
1261
+ </t>
1262
+ </t>
1263
+
1264
+ the standard rendering context provides a number of elements, the most
1265
+ important being:
1266
+
1267
+ `docs`
1268
+ the records for which the report is printed
1269
+ `user`
1270
+ the user printing the report
1271
+
1272
+ Because reports are standard web pages, they are available through a URL and
1273
+ output parameters can be manipulated through this URL, for instance the HTML
1274
+ version of the *Invoice* report is available through
1275
+ http://localhost:8069/report/html/account.report_invoice/1 (if `account` is
1276
+ installed) and the PDF version through
1277
+ http://localhost:8069/report/pdf/account.report_invoice/1.
1278
+
1279
+ .. _reference/backend/reporting/printed-reports/pdf-without-styles:
1280
+
1281
+ .. danger::
1282
+
1283
+ If it appears that your PDF report is missing the styles (i.e. the text
1284
+ appears but the style/layout is different from the html version), probably
1285
+ your wkhtmltopdf_ process cannot reach your web server to download them.
1286
+
1287
+ If you check your server logs and see that the CSS styles are not being
1288
+ downloaded when generating a PDF report, most surely this is the problem.
1289
+
1290
+ The wkhtmltopdf_ process will use the `web.base.url` system parameter as
1291
+ the *root path* to all linked files, but this parameter is automatically
1292
+ updated each time the Administrator is logged in. If your server resides
1293
+ behind some kind of proxy, that could not be reachable. You can fix this by
1294
+ adding one of these system parameters:
1295
+
1296
+ - `report.url`, pointing to an URL reachable from your server
1297
+ (probably `http://localhost:8069` or something similar). It will be
1298
+ used for this particular purpose only.
1299
+
1300
+ - `web.base.url.freeze`, when set to `True`, will stop the
1301
+ automatic updates to `web.base.url`.
1302
+
1303
+ .. exercise:: Create a report for the Session model
1304
+
1305
+ For each session, it should display session's name, its start and end,
1306
+ and list the session's attendees.
1307
+
1308
+ ## Dashboards
1309
+
1310
+ .. exercise:: Define a Dashboard
1311
+
1312
+ Define a dashboard containing the graph view you created, the sessions
1313
+ calendar view and a list view of the courses (switchable to a form
1314
+ view). This dashboard should be available through a menuitem in the menu,
1315
+ and automatically displayed in the web client when the OpenAcademy main
1316
+ menu is selected.
1317
+
1318
+ .. [#autofields] it is possible to :ref:`disable the automatic creation of some
1319
+ fields <reference/fields/automatic/log_access>`
1320
+ .. [#rawsql] writing raw SQL queries is possible, but requires care as it
1321
+ bypasses all Odoo authentication and security mechanisms.
1322
+
1323
+ .. _database index:
1324
+ https://use-the-index-luke.com/sql/preface
1325
+ .. _POEdit: https://poedit.net
1326
+ .. _PostgreSQL's documentation:
1327
+ .. _table_constraint:
1328
+ https://www.postgresql.org/docs/12/static/ddl-constraints.html
1329
+ .. _python: https://python.org
1330
+ .. _XPath: https://w3.org/TR/xpath
1331
+ .. _twitter bootstrap: https://getbootstrap.com
1332
+ .. _wkhtmltopdf: https://wkhtmltopdf.org