feat(nexa_coa_setup): seed 14 standard service products
Standard catalog covering Nexa's main service lines, each linked to the
appropriate product category so income posts to the right GL account
automatically:
Recurring (per month/year)
SAAS-BASIC SaaS Subscription — Basic $0 -> 4010
HOST-S Hosting — Small $49 -> 4020
HOST-M Hosting — Medium $149 -> 4020
HOST-L Hosting — Large $299 -> 4020
SUPPORT-RET Support Contract — 4 hrs retainer $640 -> 4030
SETUP-FEE Setup / Onboarding Fee $500 -> 4050
Project (hourly)
DEV-SOFTWARE Custom Software Development $160 -> 4110
DEV-WEBAPP Custom Web App Development $160 -> 4120
DEV-WEBSITE Custom Website Development $160 -> 4130
ERP-IMPL ERP Implementation & Customization $175 -> 4140
Services (hourly)
CONSULT Consulting & Advisory $200 -> 4210
TRAINING Training & Workshop $120 -> 4220
TECH-SUPPORT Technical Support — Per-incident $160 -> 4230
Reseller (template)
RESALE-SW Third-party Software License (template) $0 -> 4310
File uses noupdate=1 so user price/description edits persist across
future -u runs.
Verified: creating an invoice for Westin with 10 hrs of DEV-SOFTWARE
auto-routes to 4110 Custom Software Development Revenue with 13% HST
applied via fiscal position.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
"data/08_res_partner_category.xml",
|
||||
"data/09_res_partner.xml",
|
||||
"data/10_account_reconcile_model.xml",
|
||||
"data/11_products.xml",
|
||||
],
|
||||
"pre_init_hook": "pre_init_hook",
|
||||
"post_init_hook": "post_init_hook",
|
||||
|
||||
158
nexa_coa_setup/data/11_products.xml
Normal file
158
nexa_coa_setup/data/11_products.xml
Normal file
@@ -0,0 +1,158 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<!-- noupdate=1: products are seeded on first install but NEVER overwritten
|
||||
on later -u, so user price/description edits stick. -->
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- Recurring Revenue (4010-4050) -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<record id="prod_saas_basic" model="product.template">
|
||||
<field name="name">SaaS Subscription — Basic</field>
|
||||
<field name="default_code">SAAS-BASIC</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">0.00</field>
|
||||
<field name="categ_id" ref="pc_saas"/>
|
||||
<field name="description_sale">Basic SaaS subscription tier. Set monthly price per customer.</field>
|
||||
</record>
|
||||
|
||||
<record id="prod_hosting_small" model="product.template">
|
||||
<field name="name">Hosting — Small (1 vCPU / 2GB RAM / 50GB SSD)</field>
|
||||
<field name="default_code">HOST-S</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">49.00</field>
|
||||
<field name="categ_id" ref="pc_hosting"/>
|
||||
<field name="description_sale">Small managed hosting tier. Suitable for small websites, dev/staging environments.</field>
|
||||
</record>
|
||||
|
||||
<record id="prod_hosting_medium" model="product.template">
|
||||
<field name="name">Hosting — Medium (2 vCPU / 8GB RAM / 200GB SSD)</field>
|
||||
<field name="default_code">HOST-M</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">149.00</field>
|
||||
<field name="categ_id" ref="pc_hosting"/>
|
||||
<field name="description_sale">Medium managed hosting tier. Production websites, small apps.</field>
|
||||
</record>
|
||||
|
||||
<record id="prod_hosting_large" model="product.template">
|
||||
<field name="name">Hosting — Large (4 vCPU / 16GB RAM / 500GB SSD)</field>
|
||||
<field name="default_code">HOST-L</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">299.00</field>
|
||||
<field name="categ_id" ref="pc_hosting"/>
|
||||
<field name="description_sale">Large managed hosting tier. Production SaaS, heavier workloads.</field>
|
||||
</record>
|
||||
|
||||
<record id="prod_support_retainer" model="product.template">
|
||||
<field name="name">Support Contract — Monthly Retainer (4 hrs)</field>
|
||||
<field name="default_code">SUPPORT-RET</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">640.00</field>
|
||||
<field name="categ_id" ref="pc_support"/>
|
||||
<field name="description_sale">4 hours/month support retainer. Unused hours expire monthly. Overage billed at standard rate.</field>
|
||||
</record>
|
||||
|
||||
<record id="prod_setup_fee" model="product.template">
|
||||
<field name="name">Setup / Onboarding Fee</field>
|
||||
<field name="default_code">SETUP-FEE</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">500.00</field>
|
||||
<field name="categ_id" ref="pc_setup_fee"/>
|
||||
<field name="description_sale">One-time setup & onboarding fee for new SaaS / hosting / support customers.</field>
|
||||
</record>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- Project Revenue (4110-4160) — hourly -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<record id="prod_dev_software" model="product.template">
|
||||
<field name="name">Custom Software Development — Hourly</field>
|
||||
<field name="default_code">DEV-SOFTWARE</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">160.00</field>
|
||||
<field name="uom_id" ref="uom.product_uom_hour"/>
|
||||
<field name="categ_id" ref="pc_custom_software"/>
|
||||
<field name="description_sale">Custom software development billed hourly. Quote on scope; final billing on actual hours.</field>
|
||||
</record>
|
||||
|
||||
<record id="prod_dev_webapp" model="product.template">
|
||||
<field name="name">Custom Web Application Development — Hourly</field>
|
||||
<field name="default_code">DEV-WEBAPP</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">160.00</field>
|
||||
<field name="uom_id" ref="uom.product_uom_hour"/>
|
||||
<field name="categ_id" ref="pc_webapp"/>
|
||||
<field name="description_sale">Custom web application development (frontend + backend) billed hourly.</field>
|
||||
</record>
|
||||
|
||||
<record id="prod_dev_website" model="product.template">
|
||||
<field name="name">Custom Website Development — Hourly</field>
|
||||
<field name="default_code">DEV-WEBSITE</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">160.00</field>
|
||||
<field name="uom_id" ref="uom.product_uom_hour"/>
|
||||
<field name="categ_id" ref="pc_website"/>
|
||||
<field name="description_sale">Custom website development (corporate sites, marketing sites) billed hourly.</field>
|
||||
</record>
|
||||
|
||||
<record id="prod_erp_impl" model="product.template">
|
||||
<field name="name">ERP Implementation & Customization — Hourly</field>
|
||||
<field name="default_code">ERP-IMPL</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">175.00</field>
|
||||
<field name="uom_id" ref="uom.product_uom_hour"/>
|
||||
<field name="categ_id" ref="pc_erp"/>
|
||||
<field name="description_sale">Odoo / ERP implementation, customization, module development billed hourly.</field>
|
||||
</record>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- Services Revenue (4210-4230) — hourly -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<record id="prod_consulting" model="product.template">
|
||||
<field name="name">Consulting & Advisory — Hourly</field>
|
||||
<field name="default_code">CONSULT</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">200.00</field>
|
||||
<field name="uom_id" ref="uom.product_uom_hour"/>
|
||||
<field name="categ_id" ref="pc_consulting"/>
|
||||
<field name="description_sale">Architecture, strategy, technology advisory billed hourly.</field>
|
||||
</record>
|
||||
|
||||
<record id="prod_training" model="product.template">
|
||||
<field name="name">Training & Workshop — Hourly</field>
|
||||
<field name="default_code">TRAINING</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">120.00</field>
|
||||
<field name="uom_id" ref="uom.product_uom_hour"/>
|
||||
<field name="categ_id" ref="pc_training"/>
|
||||
<field name="description_sale">Custom training, workshops, knowledge transfer sessions billed hourly.</field>
|
||||
</record>
|
||||
|
||||
<record id="prod_tech_support" model="product.template">
|
||||
<field name="name">Technical Support — Per-incident / Hourly</field>
|
||||
<field name="default_code">TECH-SUPPORT</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">160.00</field>
|
||||
<field name="uom_id" ref="uom.product_uom_hour"/>
|
||||
<field name="categ_id" ref="pc_tech_support"/>
|
||||
<field name="description_sale">Ad-hoc technical support, troubleshooting, infrastructure setup billed hourly.</field>
|
||||
</record>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- Reseller-side placeholders (4310 / 4320) -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<record id="prod_resale_software_template" model="product.template">
|
||||
<field name="name">Third-party Software License (template)</field>
|
||||
<field name="default_code">RESALE-SW</field>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">0.00</field>
|
||||
<field name="categ_id" ref="pc_resale_software"/>
|
||||
<field name="description_sale">Template for reselling third-party software licenses (M365, Adobe, etc.). Duplicate & set price per item.</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user