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,1060 @@
1
+ ---
2
+ title: ""
3
+ source_url: "https://docs.odoo.sbggai.top/developer/reference/backend/mixins.html"
4
+ ---
5
+
6
+
7
+ .. _reference/mixins:
8
+ #
9
+ # Mixins and Useful Classes
10
+
11
+ Odoo implements some useful classes and mixins that make it easy for you to add
12
+ often-used behaviours on your objects. This guide will details most of them, with
13
+ examples and use cases.
14
+
15
+ .. _reference/mixins/mail:
16
+
17
+ # Messaging features
18
+
19
+ .. _reference/mixins/mail/chatter:
20
+
21
+ ## Messaging integration
22
+
23
+ ### Basic messaging system
24
+
25
+ Integrating messaging features to your model is extremely easy. Simply inheriting
26
+ the `mail.thread` mixin and adding the chatter `<chatter/>` element to your form
27
+ view will get you up and running in no time. The chatter element supports some
28
+ options to control form behavior:
29
+
30
+ * `open_attachments`: Shows attachment section expanded by default
31
+ * `reload_on_attachment`: Reloads form view when attachments are added/removed
32
+ * `reload_on_follower`: Reloads form view when followers are updated
33
+ * `reload_on_post`: Reloads form view when new messages are posted
34
+
35
+ .. example::
36
+
37
+ Let's create a simplistic model representing a business trip. Since organizing
38
+ this kind of trip usually involves a lot of people and a lot of discussion, let's
39
+ add support for message exchange on the model.
40
+
41
+ ```python
42
+
43
+ class BusinessTrip(models.Model):
44
+ _name = 'business.trip'
45
+ _inherit = ['mail.thread']
46
+ _description = 'Business Trip'
47
+
48
+ name = fields.Char()
49
+ partner_id = fields.Many2one('res.partner', 'Responsible')
50
+ guest_ids = fields.Many2many('res.partner', 'Participants')
51
+
52
+ In the form view:
53
+
54
+ ```xml
55
+
56
+ <record id="business_trip_form" model="ir.ui.view">
57
+ <field name="name">business.trip.form</field>
58
+ <field name="model">business.trip</field>
59
+ <field name="arch" type="xml">
60
+ <form string="Business Trip">
61
+ <!-- Your usual form view goes here
62
+ ...
63
+ Then comes chatter integration with options you might want to set -->
64
+ <chatter open_attachments="True"/>
65
+ </form>
66
+ </field>
67
+ </record>
68
+
69
+ Once you've added chatter support on your model, users can easily add messages
70
+ or internal notes on any record of your model; every one of those will send a
71
+ notification (to all followers for messages, to employee (*base.group_user*)
72
+ users for internal notes). If your mail gateway and catchall address are correctly
73
+ configured, these notifications will be sent by e-mail and can be replied-to directly
74
+ from your mail client; the automatic routing system will route the answer to the
75
+ correct thread.
76
+
77
+ Server-side, some helper functions are there to help you easily send messages and
78
+ to manage followers on your record:
79
+
80
+ .. rubric:: Posting messages
81
+
82
+ .. method:: message_post(self, body='', subject=None, message_type='notification', subtype=None, parent_id=False, attachments=None, **kwargs)
83
+
84
+ Post a new message in an existing thread, returning the new
85
+ mail.message ID.
86
+
87
+ :param str | Markup body: body of the message. Will be escaped if `str`. Use
88
+ a :class:`~markupsafe.Markup` object for HTML content.
89
+ :param str message_type: see mail_message.message_type field
90
+ :param int parent_id: handle reply to a previous message by adding the
91
+ parent partners to the message in case of private discussion
92
+ :param list(tuple(str,str)) attachments: list of attachment tuples in the form
93
+ `(name,content)`, where content is NOT base64 encoded
94
+ :param bool body_is_html: indicates whether `body` should be treated as HTML, even if `str`.
95
+ :param `\**kwargs`: extra keyword arguments will be used as default column values for the
96
+ new mail.message record
97
+ :return: ID of newly created mail.message
98
+ :rtype: int
99
+
100
+ .. method:: message_post_with_view(views_or_xmlid, **kwargs):
101
+
102
+ Helper method to send a mail / post a message using a view_id to
103
+ render using the ir.qweb engine. This method is stand alone, because
104
+ there is nothing in template and composer that allows to handle
105
+ views in batch. This method will probably disappear when templates
106
+ handle ir ui views.
107
+
108
+ :param str or `ir.ui.view` record: external id or record of the view that
109
+ should be sent
110
+
111
+ .. method:: message_post_with_template(template_id, **kwargs)
112
+
113
+ Helper method to send a mail with a template
114
+
115
+ :param template_id: the id of the template to render to create the body of the message
116
+ :param `\**kwargs`: parameter to create a mail.compose.message wizard (which inherit from mail.message)
117
+
118
+ .. rubric:: Receiving messages
119
+
120
+ These methods are called when a new e-mail is processed by the mail gateway. These
121
+ e-mails can either be new thread (if they arrive via an :ref:`alias <reference/mixins/mail/alias>`)
122
+ or simply replies from an existing thread. Overriding them allows you to set values
123
+ on the thread's record depending on some values from the email itself (i.e. update
124
+ a date or an e-mail address, add CC's addresses as followers, etc.).
125
+
126
+ .. method:: message_new(msg_dict, custom_values=None)
127
+
128
+ Called by `message_process` when a new message is received
129
+ for a given thread model, if the message did not belong to
130
+ an existing thread.
131
+
132
+ The default behavior is to create a new record of the corresponding
133
+ model (based on some very basic info extracted from the message).
134
+ Additional behavior may be implemented by overriding this method.
135
+
136
+ :param dict msg_dict: a map containing the email details and
137
+ attachments. See `message_process` and `mail.message.parse` for details
138
+ :param dict custom_values: optional dictionary of additional
139
+ field values to pass to create() when creating the new thread record;
140
+ be careful, these values may override any other values coming from
141
+ the message
142
+ :rtype: int
143
+ :return: the id of the newly created thread object
144
+
145
+ .. method:: message_update(msg_dict, update_vals=None)
146
+
147
+ Called by `message_process` when a new message is received
148
+ for an existing thread. The default behavior is to update the record
149
+ with `update_vals` taken from the incoming email.
150
+
151
+ Additional behavior may be implemented by overriding this
152
+ method.
153
+
154
+ :param dict msg_dict: a map containing the email details and attachments;
155
+ see `message_process` and `mail.message.parse()` for details.
156
+ :param dict update_vals: a dict containing values to update records given
157
+ their ids; if the dict is None or is void, no write operation is performed.
158
+ :return: True
159
+
160
+ .. rubric:: Followers management
161
+
162
+ .. method:: message_subscribe(partner_ids=None, channel_ids=None, subtype_ids=None, force=True)
163
+
164
+ Add partners to the records followers.
165
+
166
+ :param list(int) partner_ids: IDs of the partners that will be subscribed
167
+ to the record
168
+ :param list(int) channel_ids: IDs of the channels that will be subscribed
169
+ to the record
170
+ :param list(int) subtype_ids: IDs of the subtypes that the channels/partners
171
+ will be subscribed to (defaults to the default subtypes if `None`)
172
+ :param force: if True, delete existing followers before creating new one
173
+ using the subtypes given in the parameters
174
+ :return: Success/Failure
175
+ :rtype: bool
176
+
177
+
178
+ .. method:: message_unsubscribe(partner_ids=None, channel_ids=None)
179
+
180
+ Remove partners from the record's followers.
181
+
182
+ :param list(int) partner_ids: IDs of the partners that will be subscribed
183
+ to the record
184
+ :param list(int) channel_ids: IDs of the channels that will be subscribed
185
+ to the record
186
+ :return: True
187
+ :rtype: bool
188
+
189
+
190
+ .. method:: message_unsubscribe_users(user_ids=None)
191
+
192
+ Wrapper on message_subscribe, using users.
193
+
194
+ :param list(int) user_ids: IDs of the users that will be unsubscribed
195
+ to the record; if None, unsubscribe the current user instead.
196
+ :return: True
197
+ :rtype: bool
198
+
199
+ ### Logging changes
200
+
201
+ The `mail` module adds a powerful tracking system on fields, allowing you
202
+ to log changes to specific fields in the record's chatter. To add tracking
203
+ to a field, simple set the tracking attribute to True.
204
+
205
+ .. example::
206
+
207
+ Let's track changes on the name and responsible of our business trips:
208
+
209
+ ```python
210
+
211
+ class BusinessTrip(models.Model):
212
+ _name = 'business.trip'
213
+ _inherit = ['mail.thread']
214
+ _description = 'Business Trip'
215
+
216
+ name = fields.Char(tracking=True)
217
+ partner_id = fields.Many2one('res.partner', 'Responsible',
218
+ tracking=True)
219
+ guest_ids = fields.Many2many('res.partner', 'Participants')
220
+
221
+ From now on, every change to a trip's name or responsible will log a note
222
+ on the record. The `name` field will be displayed in the notification as
223
+ well to give more context about the notification (even if the name did not
224
+ change).
225
+
226
+ ### Subtypes
227
+
228
+ Subtypes give you more granular control over messages. Subtypes act as a classification
229
+ system for notifications, allowing subscribers to a document to customize the
230
+ subtype of notifications they wish to receive.
231
+
232
+ Subtypes are created as data in your module; the model has the following fields:
233
+
234
+ `name` (mandatory) - :class:`~odoo.fields.Char`
235
+ name of the subtype, will be displayed in the notification customization
236
+ popup
237
+ `description` - :class:`~odoo.fields.Char`
238
+ description that will be added in the message posted for this
239
+ subtype. If void, the name will be added instead
240
+ `internal` - :class:`~odoo.fields.Boolean`
241
+ messages with internal subtypes will be visible only by employees,
242
+ aka members of the `base.group_user` group
243
+ `parent_id` - :class:`~odoo.fields.Many2one`
244
+ link subtypes for automatic subscription; for example project subtypes are
245
+ linked to task subtypes through this link. When someone is subscribed to
246
+ a project, he will be subscribed to all tasks of this project with
247
+ subtypes found using the parent subtype
248
+ `relation_field` - :class:`~odoo.fields.Char`
249
+ as an example, when linking project and tasks subtypes, the relation
250
+ field is the project_id field of tasks
251
+ `res_model` - :class:`~odoo.fields.Char`
252
+ model the subtype applies to; if False, this subtype applies to all models
253
+ `default` - :class:`~odoo.fields.Boolean`
254
+ whether the subtype is activated by default when subscribing
255
+ `sequence` - :class:`~odoo.fields.Integer`
256
+ used to order subtypes in the notification customization popup
257
+ `hidden` - :class:`~odoo.fields.Boolean`
258
+ whether the subtype is hidden in the notification customization popup
259
+
260
+
261
+ Interfacing subtypes with field tracking allows to subscribe to different kind
262
+ of notifications depending on what might interest users. To do this, you
263
+ can override the `_track_subtype()` function:
264
+
265
+ .. method:: _track_subtype(init_values)
266
+
267
+ Give the subtype triggered by the changes on the record according
268
+ to values that have been updated.
269
+
270
+ :param dict init_values: the original values of the record; only modified fields
271
+ are present in the dict
272
+ :returns: a subtype's full external id or False if no subtype is triggered
273
+
274
+
275
+ .. example::
276
+
277
+ Let's add a `state` field on our example class and trigger a notification
278
+ with a specific subtype when this field change values.
279
+
280
+ First, let's define our subtype:
281
+
282
+ ```xml
283
+
284
+ <record id="mt_state_change" model="mail.message.subtype">
285
+ <field name="name">Trip confirmed</field>
286
+ <field name="res_model">business.trip</field>
287
+ <field name="default" eval="True"/>
288
+ <field name="description">Business Trip confirmed!</field>
289
+ </record>
290
+
291
+
292
+ Then, we need to override the `track_subtype()` function. This function
293
+ is called by the tracking system to know which subtype should be used depending
294
+ on the change currently being applied. In our case, we want to use our shiny new
295
+ subtype when the `state` field changes from *draft* to *confirmed*:
296
+
297
+ ```python
298
+
299
+ class BusinessTrip(models.Model):
300
+ _name = 'business.trip'
301
+ _inherit = ['mail.thread']
302
+ _description = 'Business Trip'
303
+
304
+ name = fields.Char(tracking=True)
305
+ partner_id = fields.Many2one('res.partner', 'Responsible',
306
+ tracking=True)
307
+ guest_ids = fields.Many2many('res.partner', 'Participants')
308
+ state = fields.Selection([('draft', 'New'), ('confirmed', 'Confirmed')],
309
+ tracking=True)
310
+
311
+ def _track_subtype(self, init_values):
312
+ # init_values contains the modified fields' values before the changes
313
+ #
314
+ # the applied values can be accessed on the record as they are already
315
+ # in cache
316
+ self.ensure_one()
317
+ if 'state' in init_values and self.state == 'confirmed':
318
+ return self.env.ref('my_module.mt_state_change')
319
+ return super(BusinessTrip, self)._track_subtype(init_values)
320
+
321
+ ### Customizing notifications
322
+
323
+ When sending notifications to followers, it can be quite useful to add buttons in
324
+ the template to allow quick actions directly from the e-mail. Even a simple button
325
+ to link directly to the record's form view can be useful; however in most cases
326
+ you don't want to display these buttons to portal users.
327
+
328
+ The notification system allows customizing notification templates in the following
329
+ ways:
330
+
331
+ - Display *Access Buttons*: these buttons are visible at the top of the notification
332
+ e-mail and allow the recipient to directly access the form view of the record
333
+ - Display *Follow Buttons*: these buttons allow the recipient to
334
+ directly quickly subscribe from the record
335
+ - Display *Unfollow Buttons*: these buttons allow the recipient to
336
+ directly quickly unsubscribe from the record
337
+ - Display *Custom Action Buttons*: these buttons are calls to specific routes
338
+ and allow you to make some useful actions directly available from the e-mail (i.e.
339
+ converting a lead to an opportunity, validating an expense sheet for an
340
+ Expense Manager, etc.)
341
+
342
+ These buttons settings can be applied to different groups that you can define
343
+ yourself by overriding the function `_notify_get_groups`.
344
+
345
+ .. method:: _notify_get_groups(message, groups)
346
+
347
+ Give the subtype triggered by the changes on the record according
348
+ to values that have been updated.
349
+
350
+ :param `record` message: `mail.message` record currently being sent
351
+ :param list(tuple) groups: list of tuple of the form (group_name, group_func,group_data) where:
352
+
353
+ group_name
354
+ is an identifier used only to be able to override and manipulate
355
+ groups. Default groups are `user` (recipients linked to an employee user),
356
+ `portal` (recipients linked to a portal user) and `customer` (recipients not
357
+ linked to any user). An example of override use would be to add a group
358
+ linked to a res.groups like Hr Officers to set specific action buttons to
359
+ them.
360
+ group_func
361
+ is a function pointer taking a partner record as parameter. This
362
+ method will be applied on recipients to know whether they belong to a given
363
+ group or not. Only first matching group is kept. Evaluation order is the
364
+ list order.
365
+ group_data
366
+ is a dict containing parameters for the notification email with the following
367
+ possible keys - values:
368
+
369
+ - has_button_access
370
+ whether to display Access <Document> in email. True by default for
371
+ new groups, False for portal / customer.
372
+ - button_access
373
+ dict with url and title of the button
374
+ - has_button_follow
375
+ whether to display Follow in email (if recipient is not currently
376
+ following the thread). True by default for new groups, False for
377
+ portal / customer.
378
+ - button_follow
379
+ dict with url and title of the button
380
+ - has_button_unfollow
381
+ whether to display Unfollow in email (if recipient is currently following the thread).
382
+ True by default for new groups, False for portal / customer.
383
+ - button_unfollow
384
+ dict with url and title of the button
385
+ - actions
386
+ list of action buttons to display in the notification email.
387
+ Each action is a dict containing url and title of the button.
388
+
389
+ :returns: a subtype's full external id or False if no subtype is triggered
390
+
391
+
392
+ The urls in the actions list can be generated automatically by calling the
393
+ `_notify_get_action_link()` function:
394
+
395
+
396
+ .. method:: _notify_get_action_link(self, link_type, **kwargs)
397
+
398
+ Generate a link for the given type on the current record (or on a specific
399
+ record if the kwargs `model` and `res_id` are set).
400
+
401
+ :param str link_type: link type to be generated; can be any of these values:
402
+
403
+ `view`
404
+ link to form view of the record
405
+ `assign`
406
+ assign the logged user to the `user_id` field of
407
+ the record (if it exists)
408
+ `follow`
409
+ self-explanatory
410
+ `unfollow`
411
+ self-explanatory
412
+ `method`
413
+ call a method on the record; the method's name should be
414
+ provided as the kwarg `method`
415
+ `new`
416
+ open an empty form view for a new record; you can specify
417
+ a specific action by providing its id (database id or fully resolved
418
+ external id) in the kwarg `action_id`
419
+
420
+ :returns: link of the type selected for the record
421
+ :rtype: str
422
+
423
+ .. example::
424
+
425
+ Let's add a custom button to the Business Trip state change notification;
426
+ this button will reset the state to Draft and will be only visible to a member
427
+ of the (imaginary) group Travel Manager (`business.group_trip_manager`)
428
+
429
+ ```python
430
+
431
+ class BusinessTrip(models.Model):
432
+ _name = 'business.trip'
433
+ _inherit = ['mail.thread', 'mail.alias.mixin']
434
+ _description = 'Business Trip'
435
+
436
+ # Pevious code goes here
437
+
438
+ def action_cancel(self):
439
+ self.write({'state': 'draft'})
440
+
441
+ def _notify_get_groups(self, message, groups):
442
+ """ Handle Trip Manager recipients that can cancel the trip at the last
443
+ minute and kill all the fun. """
444
+ groups = super(BusinessTrip, self)._notify_get_groups(message, groups)
445
+
446
+ self.ensure_one()
447
+ if self.state == 'confirmed':
448
+ app_action = self._notify_get_action_link('method',
449
+ method='action_cancel')
450
+ trip_actions = [{'url': app_action, 'title': _('Cancel')}]
451
+
452
+ new_group = (
453
+ 'group_trip_manager',
454
+ lambda partner: any(
455
+ user.sudo().has_group('business.group_trip_manager')
456
+ for user in partner.user_ids
457
+ ),
458
+ {'actions': trip_actions},
459
+ )
460
+
461
+ return [new_group] + groups
462
+
463
+
464
+ Note that that I could have defined my evaluation function outside of this
465
+ method and define a global function to do it instead of a lambda, but for
466
+ the sake of being more brief and less verbose in these documentation files
467
+ that can sometimes be boring, I choose the former instead of the latter.
468
+
469
+ ### Overriding defaults
470
+
471
+ There are several ways you can customize the behaviour of `mail.thread` models,
472
+ including (but not limited to):
473
+
474
+ `_mail_post_access` - :class:`~odoo.models.Model` attribute
475
+ the required access rights to be able to post a message on the model; by
476
+ default a `write` access is needed, can be set to `read` as well
477
+
478
+ Context keys:
479
+ These context keys can be used to somewhat control `mail.thread` features
480
+ like auto-subscription or field tracking during calls to `create()` or
481
+ `write()` (or any other method where it may be useful).
482
+
483
+ - `mail_create_nosubscribe`: at create or message_post, do not subscribe
484
+ the current user to the record thread
485
+ - `mail_create_nolog`: at create, do not log the automatic '<Document>
486
+ created' message
487
+ - `mail_notrack`: at create and write, do not perform the value tracking
488
+ creating messages
489
+ - `tracking_disable`: at create and write, perform no MailThread features
490
+ (auto subscription, tracking, post, ...)
491
+ - `mail_auto_delete`: auto delete mail notifications; True by default
492
+ - `mail_notify_force_send`: if less than 50 email notifications to send,
493
+ send them directly instead of using the queue; True by default
494
+ - `mail_notify_user_signature`: add the current user signature in
495
+ email notifications; True by default
496
+
497
+
498
+ .. _reference/mixins/mail/alias:
499
+
500
+ ## Mail alias
501
+
502
+ Aliases are configurable email addresses that are linked to a specific record
503
+ (which usually inherits the `mail.alias.mixin` model) that will create new records when
504
+ contacted via e-mail. They are an easy way to make your system accessible from
505
+ the outside, allowing users or customers to quickly create records in your
506
+ database without needing to connect to Odoo directly.
507
+
508
+ ### Aliases vs. Incoming Mail Gateway
509
+
510
+ Some people use the Incoming Mail Gateway for this same purpose. You still need
511
+ a correctly configured mail gateway to use aliases, however a single
512
+ catchall domain will be sufficient since all routing will be done inside Odoo.
513
+ Aliases have several advantages over Mail Gateways:
514
+
515
+ * Easier to configure
516
+ * A single incoming gateway can be used by many aliases; this avoids having
517
+ to configure multiple emails on your domain name (all configuration is done
518
+ inside Odoo)
519
+ * No need for System access rights to configure aliases
520
+ * More coherent
521
+ * Configurable on the related record, not in a Settings submenu
522
+ * Easier to override server-side
523
+ * Mixin model is built to be extended from the start, allowing you to
524
+ extract useful data from incoming e-mails more easily than with a mail
525
+ gateway.
526
+
527
+
528
+ ### Alias support integration
529
+
530
+ Aliases are usually configured on a parent model which will then create specific
531
+ record when contacted by e-mail. For example, Project have aliases to create tasks
532
+ or issues, Sales Team have aliases to generate Leads.
533
+
534
+ .. note:: The model that will be created by the alias **must** inherit the
535
+ `mail_thread` model.
536
+
537
+ Alias support is added by inheriting `mail.alias.mixin`; this mixin will
538
+ generate a new `mail.alias` record for each record of the parent class that
539
+ gets created (for example, every `project.project` record having its `mail.alias`
540
+ record initialized on creation).
541
+
542
+ .. note:: Aliases can also be created manually and supported by a simple
543
+ :class:`~odoo.fields.Many2one` field. This guide assumes you wish a
544
+ more complete integration with automatic creation of the alias, record-specific
545
+ default values, etc.
546
+
547
+ Unlike `mail.thread` inheritance, the `mail.alias.mixin` **requires** some
548
+ specific overrides to work correctly. These overrides will specify the values
549
+ of the created alias, like the kind of record it must create and possibly
550
+ some default values these records may have depending on the parent object:
551
+
552
+ .. method:: _get_alias_model_name(vals)
553
+
554
+ Return the model name for the alias. Incoming emails that are not
555
+ replies to existing records will cause the creation of a new record
556
+ of this alias model. The value may depend on `vals`, the dict of
557
+ values passed to `create` when a record of this model is created.
558
+
559
+ :param vals dict: values of the newly created record that will holding
560
+ the alias
561
+ :return: model name
562
+ :rtype: str
563
+
564
+ .. method:: _get_alias_values()
565
+
566
+ Return values to create an alias, or to write on the alias after its
567
+ creation. While not completely mandatory, it is usually required to make
568
+ sure that newly created records will be linked to the alias' parent (i.e.
569
+ tasks getting created in the right project) by setting a dictionary of
570
+ default values in the alias' `alias_defaults` field.
571
+
572
+ :return: dictionary of values that will be written to the new alias
573
+ :rtype: dict
574
+
575
+ The `_get_alias_values()` override is particularly interesting as it allows you
576
+ to modify the behaviour of your aliases easily. Among the fields that can be set
577
+ on the alias, the following are of particular interest:
578
+
579
+ `alias_name` - :class:`~odoo.fields.Char`
580
+ name of the email alias, e.g. 'jobs' if you want to catch emails for
581
+ <jobs@example.odoo.com>
582
+ `alias_user_id` - :class:`~odoo.fields.Many2one` (`res.users`)
583
+ owner of records created upon receiving emails on this alias;
584
+ if this field is not set the system will attempt to find the right owner
585
+ based on the sender (From) address, or will use the Administrator account
586
+ if no system user is found for that address
587
+ `alias_defaults` - :class:`~odoo.fields.Text`
588
+ Python dictionary that will be evaluated to provide
589
+ default values when creating new records for this alias
590
+ `alias_force_thread_id` - :class:`~odoo.fields.Integer`
591
+ optional ID of a thread (record) to which all incoming messages will be
592
+ attached, even if they did not reply to it; if set, this will disable the
593
+ creation of new records completely
594
+ `alias_contact` - :class:`~odoo.fields.Selection`
595
+ Policy to post a message on the document using the mailgateway
596
+
597
+ - *everyone*: everyone can post
598
+ - *partners*: only authenticated partners
599
+ - *followers*: only followers of the related document or members of following channels
600
+
601
+ Note that aliases make use of :ref:`delegation inheritance <reference/orm/inheritance>`,
602
+ which means that while the alias is stored in another table, you have
603
+ access to all these fields directly from your parent object. This allows
604
+ you to make your alias easily configurable from the record's form view.
605
+
606
+ .. example::
607
+
608
+ Let's add aliases on our business trip class to create expenses on the fly via
609
+ e-mail.
610
+
611
+ ```python
612
+
613
+ class BusinessTrip(models.Model):
614
+ _name = 'business.trip'
615
+ _inherit = ['mail.thread', 'mail.alias.mixin']
616
+ _description = 'Business Trip'
617
+
618
+ name = fields.Char(tracking=True)
619
+ partner_id = fields.Many2one('res.partner', 'Responsible',
620
+ tracking=True)
621
+ guest_ids = fields.Many2many('res.partner', 'Participants')
622
+ state = fields.Selection([('draft', 'New'), ('confirmed', 'Confirmed')],
623
+ tracking=True)
624
+ expense_ids = fields.One2many('business.expense', 'trip_id', 'Expenses')
625
+ alias_id = fields.Many2one('mail.alias', string='Alias', ondelete="restrict",
626
+ required=True)
627
+
628
+ def _get_alias_model_name(self, vals):
629
+ """ Specify the model that will get created when the alias receives a message """
630
+ return 'business.expense'
631
+
632
+ def _get_alias_values(self):
633
+ """ Specify some default values that will be set in the alias at its creation """
634
+ values = super(BusinessTrip, self)._get_alias_values()
635
+ # alias_defaults holds a dictionary that will be written
636
+ # to all records created by this alias
637
+ #
638
+ # in this case, we want all expense records sent to a trip alias
639
+ # to be linked to the corresponding business trip
640
+ values['alias_defaults'] = {'trip_id': self.id}
641
+ # we only want followers of the trip to be able to post expenses
642
+ # by default
643
+ values['alias_contact'] = 'followers'
644
+ return values
645
+
646
+ class BusinessExpense(models.Model):
647
+ _name = 'business.expense'
648
+ _inherit = ['mail.thread']
649
+ _description = 'Business Expense'
650
+
651
+ name = fields.Char()
652
+ amount = fields.Float('Amount')
653
+ trip_id = fields.Many2one('business.trip', 'Business Trip')
654
+ partner_id = fields.Many2one('res.partner', 'Created by')
655
+
656
+ We would like our alias to be easily configurable from the form view of our
657
+ business trips, so let's add the following to our form view:
658
+
659
+ ```xml
660
+
661
+ <page string="Emails">
662
+ <group name="group_alias">
663
+ <label for="alias_name" string="Email Alias"/>
664
+ <div name="alias_def">
665
+ <!-- display a link while in view mode and a configurable field
666
+ while in edit mode -->
667
+ <field name="alias_id" class="oe_read_only oe_inline"
668
+ string="Email Alias" required="0"/>
669
+ <div class="oe_edit_only oe_inline" name="edit_alias"
670
+ style="display: inline;" >
671
+ <field name="alias_name" class="oe_inline"/>
672
+ @
673
+ <field name="alias_domain" class="oe_inline" readonly="1"/>
674
+ </div>
675
+ </div>
676
+ <field name="alias_contact" class="oe_inline"
677
+ string="Accept Emails From"/>
678
+ </group>
679
+ </page>
680
+
681
+ Now we can change the alias address directly from the form view and change
682
+ who can send e-mails to the alias.
683
+
684
+ We can then override `message_new()` on our expense model to fetch the values
685
+ from our email when the expense will be created:
686
+
687
+ ```python
688
+
689
+ class BusinessExpense(models.Model):
690
+ # Previous code goes here
691
+ # ...
692
+
693
+ def message_new(self, msg, custom_values=None):
694
+ """ Override to set values according to the email.
695
+
696
+ In this simple example, we simply use the email title as the name
697
+ of the expense, try to find a partner with this email address and
698
+ do a regex match to find the amount of the expense."""
699
+ name = msg_dict.get('subject', 'New Expense')
700
+ # Match the last occurrence of a float in the string
701
+ # Example: '50.3 bar 34.5' becomes '34.5'. This is potentially the price
702
+ # to encode on the expense. If not, take 1.0 instead
703
+ amount_pattern = '(\d+(\.\d*)?|\.\d+)'
704
+ expense_price = re.findall(amount_pattern, name)
705
+ price = expense_price and float(expense_price[-1][0]) or 1.0
706
+ # find the partner by looking for it's email
707
+ partner = self.env['res.partner'].search([('email', 'ilike', email_address)],
708
+ limit=1)
709
+ defaults = {
710
+ 'name': name,
711
+ 'amount': price,
712
+ 'partner_id': partner.id
713
+ }
714
+ defaults.update(custom_values or {})
715
+ res = super(BusinessExpense, self).message_new(msg, custom_values=defaults)
716
+ return res
717
+
718
+ .. _reference/mixins/mail/activities:
719
+
720
+ ## Activities tracking
721
+
722
+ Activities are actions users have to take on a document like making a phone call
723
+ or organizing a meeting. Activities come with the mail module as they are
724
+ integrated in the Chatter but are *not bundled with mail.thread*. Activities
725
+ are records of the `mail.activity` class, which have a type (`mail.activity.type`),
726
+ name, description, scheduled time (among others). Pending activities are visible
727
+ above the message history in the chatter widget.
728
+
729
+ You can integrate activities using the `mail.activity.mixin` class on your object
730
+ and the specific widgets to display them (via the field `activity_ids`) in the form
731
+ view and kanban view of your records (`mail_activity` and `kanban_activity`
732
+ widgets, respectively).
733
+
734
+ .. example::
735
+
736
+ Organizing a business trip is a tedious process and tracking needed activities
737
+ like ordering plane tickets or a cab for the airport could be useful. To do so,
738
+ we will add the activities mixin on our model and display the next planned activities
739
+ in the message history of our trip.
740
+
741
+ ```python
742
+
743
+ class BusinessTrip(models.Model):
744
+ _name = 'business.trip'
745
+ _inherit = ['mail.thread', 'mail.activity.mixin']
746
+ _description = 'Business Trip'
747
+
748
+ name = fields.Char()
749
+ # [...]
750
+
751
+ We modify the form view of our trips to display their next activities:
752
+
753
+ ```xml
754
+
755
+ <record id="business_trip_form" model="ir.ui.view">
756
+ <field name="name">business.trip.form</field>
757
+ <field name="model">business.trip</field>
758
+ <field name="arch" type="xml">
759
+ <form string="Business Trip">
760
+ <!-- Your usual form view goes here -->
761
+ <chatter>
762
+ <field name="message_follower_ids" widget="mail_followers"/>
763
+ <field name="activity_ids" widget="mail_activity"/>
764
+ <field name="message_ids" widget="mail_thread"/>
765
+ </chatter>
766
+ </form>
767
+ </field>
768
+ </record>
769
+
770
+ You can find concrete examples of integration in the following models:
771
+
772
+ * `crm.lead` in the CRM (*crm*) Application
773
+ * `sale.order` in the Sales (*sale*) Application
774
+ * `project.task` in the Project (*project*) Application
775
+
776
+
777
+ .. _reference/mixins/website:
778
+
779
+ # Website features
780
+
781
+ .. _reference/mixins/website/utm:
782
+
783
+ ## Visitor tracking
784
+
785
+ The `utm.mixin` class can be used to track online marketing/communication
786
+ campaigns through arguments in links to specified resources. The mixin adds
787
+ 3 fields to your model:
788
+
789
+ * `campaign_id`: :class:`~odoo.fields.Many2one` field to a `utm.campaign`
790
+ object (i.e. Christmas_Special, Fall_Collection, etc.)
791
+ * `source_id`: :class:`~odoo.fields.Many2one` field to a `utm.source`
792
+ object (i.e. Search Engine, mailing list, etc.)
793
+ * `medium_id`: :class:`~odoo.fields.Many2one` field to a `utm.medium`
794
+ object (i.e. Snail Mail, e-Mail, social network update, etc.)
795
+
796
+ These models have a single field `name` (i.e. they are simply there to
797
+ distinguish campaigns but don't have any specific behaviour).
798
+
799
+ Once a customer visits your website with these parameters set in the url
800
+ (i.e. https://www.odoo.com/?campaign_id=mixin_talk&source_id=www.odoo.com&medium_id=website),
801
+ three cookies are set in the visitor's website for these parameters.
802
+ Once a object that inherits the utm.mixin is created from the website (i.e. lead
803
+ form, job application, etc.), the utm.mixin code kicks in and fetches the values
804
+ from the cookies to set them in the new record. Once this is done, you can then
805
+ use the campaign/source/medium fields as any other field when defining reports
806
+ and views (group by, etc.).
807
+
808
+ To extend this behaviour, simply add a relational field to a simple model (the
809
+ model should support the *quick create* (i.e. call to `create()` with a single
810
+ `name` value) and extend the function `tracking_fields()`:
811
+
812
+ ```python
813
+
814
+ class UtmMyTrack(models.Model):
815
+ _name = 'my_module.my_track'
816
+ _description = 'My Tracking Object'
817
+
818
+ name = fields.Char(string='Name', required=True)
819
+
820
+
821
+ class MyModel(models.Models):
822
+ _name = 'my_module.my_model'
823
+ _inherit = ['utm.mixin']
824
+ _description = 'My Tracked Object'
825
+
826
+ my_field = fields.Many2one('my_module.my_track', 'My Field')
827
+
828
+ @api.model
829
+ def tracking_fields(self):
830
+ result = super(MyModel, self).tracking_fields()
831
+ result.append([
832
+ # ("URL_PARAMETER", "FIELD_NAME_MIXIN", "NAME_IN_COOKIES")
833
+ ('my_field', 'my_field', 'odoo_utm_my_field')
834
+ ])
835
+ return result
836
+
837
+ This will tell the system to create a cookie named *odoo_utm_my_field* with the
838
+ value found in the url parameter `my_field`; once a new record of this model is
839
+ created by a call from a website form, the generic override of the `create()`
840
+ method of `utm.mixin` will fetch the default values for this field from the
841
+ cookie (and the `my_module.my_track` record will be creatwed on the fly if it
842
+ does not exist yet).
843
+
844
+ You can find concrete examples of integration in the following models:
845
+
846
+ * `crm.lead` in the CRM (*crm*) Application
847
+ * `hr.applicant` in the Recruitment Process (*hr_recruitment*) Application
848
+ * `helpdesk.ticket` in the Helpdesk (*helpdesk* - Odoo Enterprise only) Application
849
+
850
+ .. _reference/mixins/website/published:
851
+
852
+ ## Website visibility
853
+
854
+ You can quite easily add a website visibility toggle on any of your record. While
855
+ this mixin is quite easy to implement manually, it is the most often-used after
856
+ the `mail.thread` inheritance; a testament to its usefulness. The typical use
857
+ case for this mixin is any object that has a frontend-page; being able to control
858
+ the visibility of the page allows you to take your time while editing the page
859
+ and only publish it when you're satisfied.
860
+
861
+ To include the functionality, you only need to inherit `website.published.mixin`:
862
+
863
+ ```python
864
+
865
+ class BlogPost(models.Model):
866
+ _name = "blog.post"
867
+ _description = "Blog Post"
868
+ _inherit = ['website.published.mixin']
869
+
870
+ This mixin adds 2 fields on your model:
871
+
872
+ * `website_published`: :class:`~odoo.fields.Boolean` field which represents
873
+ the status of the publication
874
+ * `website_url`: :class:`~odoo.fields.Char` field which represents
875
+ the URL through which the object is accessed
876
+
877
+ Note that this last field is a computed field and must be implemented for your class:
878
+
879
+ ```python
880
+
881
+ def _compute_website_url(self):
882
+ for blog_post in self:
883
+ blog_post.website_url = "/blog/%s" % (log_post.blog_id)
884
+
885
+ Once the mechanism is in place, you just have to adapt your frontend and backend
886
+ views to make it accessible. In the backend, adding a button in the button box is
887
+ usually the way to go:
888
+
889
+ ```xml
890
+
891
+ <button class="oe_stat_button" name="website_publish_button"
892
+ type="object" icon="fa-globe">
893
+ <field name="website_published" widget="website_button"/>
894
+ </button>
895
+
896
+ In the frontend, some security checks are needed to avoid showing 'Editing'
897
+ buttons to website visitors:
898
+
899
+ ```xml
900
+
901
+ <div id="website_published_button" class="float-right"
902
+ groups="base.group_website_publisher"> <!-- or any other meaningful group -->
903
+ <t t-call="website.publish_management">
904
+ <t t-set="object" t-value="blog_post"/>
905
+ <t t-set="publish_edit" t-value="True"/>
906
+ <t t-set="action" t-value="'blog.blog_post_action'"/>
907
+ </t>
908
+ </div>
909
+
910
+ Note that you must pass your object as the variable `object` to the template;
911
+ in this example, the `blog.post` record was passed as the `blog_post` variable
912
+ to the `qweb` rendering engine, it is necessary to specify this to the publish
913
+ management template. The `publish_edit` variable allow the frontend
914
+ button to link to the backend (allowing you to switch from frontend to backend
915
+ and vice-versa easily); if set, you must specify the full external id of the action
916
+ you want to call in the backend in the `action` variable (note that a Form View
917
+ must exist for the model).
918
+
919
+ The action `website_publish_button` is defined in the mixin and adapts its
920
+ behaviour to your object: if the class has a valid `website_url` compute function,
921
+ the user is redirected to the frontend when he clicks on the button; the user
922
+ can then publish the page directly from the frontend. This ensures
923
+ that no online publication can happen by accident. If there is not compute function,
924
+ the boolean `website_published` is simply triggered.
925
+
926
+ .. _reference/mixins/website/seo:
927
+
928
+ ## Website metadata
929
+
930
+ This simple mixin simply allows you to easily inject metadata in your frontend
931
+ pages.
932
+
933
+ ```python
934
+
935
+ class BlogPost(models.Model):
936
+ _name = "blog.post"
937
+ _description = "Blog Post"
938
+ _inherit = ['website.seo.metadata', 'website.published.mixin']
939
+
940
+ This mixin adds 3 fields on your model:
941
+
942
+ * `website_meta_title`: :class:`~odoo.fields.Char` field that allow you to set
943
+ an additional title to your page
944
+ * `website_meta_description`: :class:`~odoo.fields.Char` field that contains a
945
+ short description of the page (sometimes used in search engines results)
946
+ * `website_meta_keywords`: :class:`~odoo.fields.Char` field that contains some
947
+ keywords to help your page to be classified more precisely by search engines; the
948
+ "Promote" tool will help you select lexically-related keywords easily
949
+
950
+ These fields are editable in the frontend using the "Promote" tool from the Editor
951
+ toolbar. Setting these fields can help search engines to better index your pages.
952
+ Note that search engines do not base their results only on these metadata; the
953
+ best SEO practice should still be to get referenced by reliable sources.
954
+
955
+ .. _reference/mixins/misc:
956
+
957
+ # Others
958
+
959
+ .. _reference/mixins/misc/rating:
960
+
961
+ ## Customer Rating
962
+
963
+ The rating mixin allows sending email to ask for customer rating, automatic
964
+ transitioning in a kanban processes and aggregating statistics on your ratings.
965
+
966
+ ### Adding rating on your model
967
+
968
+ To add rating support, simply inherit the `rating.mixin` model:
969
+
970
+ ```python
971
+
972
+ class MyModel(models.Models):
973
+ _name = 'my_module.my_model'
974
+ _inherit = ['rating.mixin', 'mail.thread']
975
+
976
+ user_id = fields.Many2one('res.users', 'Responsible')
977
+ partner_id = fields.Many2one('res.partner', 'Customer')
978
+
979
+ The behaviour of the mixin adapts to your model:
980
+
981
+ * The `rating.rating` record will be linked to the `partner_id` field of your
982
+ model (if the field is present).
983
+
984
+ - this behaviour can be overridden with the function `rating_get_partner_id()`
985
+ if you use another field than `partner_id`
986
+
987
+ * The `rating.rating` record will be linked to the partner of the `user_id`
988
+ field of your model (if the field is present) (i.e. the partner who is rated)
989
+
990
+ - this behaviour can be overridden with the function `rating_get_rated_partner_id()`
991
+ if you use another field than `user_id` (note that the function must return a
992
+ `res.partner`, for `user_id` the system automatically fetches the partner
993
+ of the user)
994
+
995
+ * The chatter history will display the rating event (if your model inherits from
996
+ `mail.thread`)
997
+
998
+ ### Send rating requests by e-mail
999
+
1000
+ If you wish to send emails to request a rating, simply generate an e-mail with
1001
+ links to the rating object. A very basic email template could look like this:
1002
+
1003
+ ```xml
1004
+
1005
+ <record id="rating_my_model_email_template" model="mail.template">
1006
+ <field name="name">My Model: Rating Request</field>
1007
+ <field name="email_from">${object.rating_get_rated_partner_id().email or '' | safe}</field>
1008
+ <field name="subject">Service Rating Request</field>
1009
+ <field name="model_id" ref="my_module.model_my_model"/>
1010
+ <field name="partner_to" >${object.rating_get_partner_id().id}</field>
1011
+ <field name="auto_delete" eval="True"/>
1012
+ <field name="body_html"><![CDATA[
1013
+ % set access_token = object.rating_get_access_token()
1014
+ <p>Hi,</p>
1015
+ <p>How satsified are you?</p>
1016
+ <ul>
1017
+ <li><a href="/rate/${access_token}/5">Satisfied</a></li>
1018
+ <li><a href="/rate/${access_token}/3">Okay</a></li>
1019
+ <li><a href="/rate/${access_token}/1">Dissatisfied</a></li>
1020
+ </ul>
1021
+ ]]></field>
1022
+ </record>
1023
+
1024
+ Your customer will then receive an e-mail with links to a simple webpage allowing
1025
+ them to provide a feedback on their interaction with your users (including a free-text
1026
+ feedback message).
1027
+
1028
+ You can then quite easily integrate your ratings with your form view by defining
1029
+ an action for the ratings:
1030
+
1031
+ ```xml
1032
+
1033
+ <record id="rating_rating_action_my_model" model="ir.actions.act_window">
1034
+ <field name="name">Customer Ratings</field>
1035
+ <field name="res_model">rating.rating</field>
1036
+ <field name="view_mode">kanban,pivot,graph</field>
1037
+ <field name="domain">[('res_model', '=', 'my_module.my_model'), ('res_id', '=', active_id), ('consumed', '=', True)]</field>
1038
+ </record>
1039
+
1040
+ <record id="my_module_my_model_view_form_inherit_rating" model="ir.ui.view">
1041
+ <field name="name">my_module.my_model.view.form.inherit.rating</field>
1042
+ <field name="model">my_module.my_model</field>
1043
+ <field name="inherit_id" ref="my_module.my_model_view_form"/>
1044
+ <field name="arch" type="xml">
1045
+ <xpath expr="//div[@name='button_box']" position="inside">
1046
+ <button name="%(rating_rating_action_my_model)d" type="action"
1047
+ class="oe_stat_button" icon="fa-smile-o">
1048
+ <field name="rating_count" string="Rating" widget="statinfo"/>
1049
+ </button>
1050
+ </xpath>
1051
+ </field>
1052
+ </record>
1053
+
1054
+ Note that there are default views (kanban,pivot,graph) for ratings which allow
1055
+ you a quick bird's eye view of your customer ratings.
1056
+
1057
+ You can find concrete examples of integration in the following models:
1058
+
1059
+ * `project.task` in the Project (*rating_project*) Application
1060
+ * `helpdesk.ticket` in the Helpdesk (*helpdesk* - Odoo Enterprise only) Application