MageTech ERP logo
MageTech ERP
Technical Design & Architecture Document · v1.0
MageTech ERP

MAGETECH ERP

Technical Design & Architecture Document

Product: MageTech ERP Company: MageTech Solutions Platform: Odoo ERP Type: Technical Design, Architecture & Implementation Specification Status: Draft / Development Specification Version: 1.0
One Platform. Complete Business Control. — Manage. Automate. Grow.
www.magetechsol.com
MageTech ERP · Mobile Edition

I Introduction & Document Control

1. Document Purpose

This document is the complete, professional, enterprise-grade technical specification for MageTech ERP, a customized ERP platform built on Odoo as its foundation.

It is written for:

  • Software Architects, Backend Developers, Odoo Developers, Frontend Developers
  • Database Administrators, DevOps Engineers, QA Engineers
  • Project Managers, System Administrators, Technical Support Teams
  • Future Maintenance Teams

It explains how MageTech ERP is designed, developed, configured, secured, deployed, tested, monitored, maintained, and extended, at sufficient technical depth that a new developer can continue development without depending entirely on the original team.

All content in this document is tagged Implemented, Planned, Recommended, or TBD — To Be Defined. Nothing is invented; any section not final is explicitly marked.

2. Product Overview

Product NameMageTech ERP
CompanyMageTech Solutions
Product CategoryERP & Business Management Platform
PlatformOdoo ERP (Community Edition, v19)
Product TypeEnterprise Business Management / SaaS-ready / ERP
Websitewww.magetechsol.com
Implemented: CRM, Sales, Customers, Projects, Tasks, Employees, Recruitment, Marketing, Business Intelligence (executive dashboard), unified custom shell/theme.

Product objective — centralize the organization's core business domains into one unified platform:

  • CRM  ·  Sales  ·  Customers  ·  Projects  ·  Tasks  ·  Timesheets  ·  Finance & Invoicing  ·  Expenses
  • Inventory  ·  Purchasing  ·  Employees  ·  Attendance  ·  Leave  ·  Recruitment
  • Marketing  ·  Customer Support  ·  Documents  ·  Business Intelligence
Planned: AI-assisted business operations (lead scoring, customer summaries, project risk, business summary).

3. Document Scope

This document covers, in order: System Architecture, Technology Stack, Odoo Architecture, Custom Module Architecture, Database Architecture, Application Architecture, Frontend Architecture, Backend Architecture, API Architecture, Authentication, Authorization, Security, Multi-company architecture, Data flow, Business workflows, AI architecture, Reporting architecture, File/document management, Notification architecture, Email architecture, Deployment, DevOps, CI/CD, Backup, Monitoring, Logging, Testing, Performance, Scalability, Disaster recovery, Maintenance, Troubleshooting, Development standards, Coding standards, and the Future roadmap.

An executive summary of the current state follows. The full layered architecture is detailed in Part II.

Executive Summary. MageTech ERP is delivered as a set of thin, non-invasive Odoo custom addons that extend the Odoo Community Edition core without modifying core files. Today four modules are implemented: magetech_base (company, settings, roles, users, audit log, menus), magetech_theme (branded webclient shell, design system, dark/light mode, login branding), magetech_dashboard (executive dashboard), and magetech_demo (idempotent demo data). The platform runs on PostgreSQL and is designed to be deployed behind Nginx in production.

II System & Technical Architecture

4. High-Level System Architecture Implemented Recommended

MageTech ERP is designed as a layered architecture.

Layer 1 — Presentation Layer

Web UI, responsive UI, dashboard, forms, kanban, list views, calendar, Gantt, reports, notifications, mobile-responsive interfaces.

Technology: Odoo Web Client, OWL framework, JavaScript, XML templates, SCSS/CSS.

Layer 2 — Application Layer

Business logic: Odoo ORM, Python, business models, services, scheduled jobs, workflow logic, validation, automation.

Layer 3 — Integration Layer

Communication with external services: REST APIs, webhooks, payment gateways, email/SMS/WhatsApp providers, AI APIs, cloud storage, accounting integrations, third-party services. Planned

Layer 4 — Data Layer

Primary database PostgreSQL — business data, user data, transactions, configuration, audit information, attachment metadata.

Layer 5 — Infrastructure Layer

Linux server, PostgreSQL, Odoo application server, Nginx, SSL/TLS, Redis (where required), object storage (where required), monitoring, backup infrastructure. Recommended (production)

5. Architecture Diagram

End-to-end data flow as deployed today (Implemented) with production targets marked (Recommended):

User
↓
Browser / Mobile Web
↓
Nginx / Reverse Proxy (SSL/TLS)
↓
Odoo Application Server
↓
Custom MageTech Modules
Odoo Core Modules
↓
PostgreSQL
↓ ↕
External Services
External services (Planned/Recommended): Email · SMS · WhatsApp · Payment Gateway · AI Provider · Cloud Storage
MageTech ERP Odoo architecture infographic
MageTech ERP — high-level architecture overview

6. Technology Stack

Every technology is marked Required (actually used/required), Recommended, or Optional. Nothing is invented.

ConcernTechnologyStatusNotes
BackendPythonRequiredOdoo 19 runtime (Python 3.x)
FrameworkOdoo Framework + ORMRequiredCommunity Edition, v19
DatabasePostgreSQLRequiredprimary relational store
FrontendOdoo Web Client, OWL, JavaScript, XML, SCSS/CSSRequiredOWL components used in dashboard/sidebar
Web ServerNginxRecommendedreverse proxy + static files + TLS termination
Operating SystemUbuntu Linux LTSRecommendedproduction target
ContainerizationDockerOptionalwhere appropriate
Version ControlGit (GitHub/GitLab/Bitbucket)RequiredGit in use today; remote host TBD
CI/CDGitHub Actions or GitLab CIPlannedpipeline designed, not yet provisioned
MonitoringPrometheus + Grafana; SentryRecommendedproduction readiness
Cache (optional)RedisOptionalfor sessions/cache/queues when needed
Object StorageCloud object storage (signed URLs)Recommendedfilestore offloading

7. Odoo Architecture

Odoo is a modular low-code ERP framework. MageTech extends it without modifying core files. Key Odoo concepts in use:

  • Modules — versioned addons with __manifest__.py, models, views, data, security, assets.
  • Models / Fields — Python classes inheriting models.Model; fields declared in class attributes (e.g. magetech.audit.log).
  • Views — form, list, kanban, calendar, dashboard (OWL client action) etc.
  • Actions — window actions, client actions (used by the executive dashboard), server actions, automated actions.
  • Menus — hierarchical ir.ui.menu structure (MageTech sidebar uses a custom OWL menu).
  • Controllers — HTTP endpoints on the Odoo HTTP layer (REST/JSON-RPC/XML-RPC).
  • ORM — env-based record sets, search/create/write/unlink, computed & related fields, constraints.
  • Security — ir.model.access.csv (ACLs) and record rules for row-level access.
  • Scheduled Actions — server-side cron jobs (e.g. reminders).
  • QWeb Reports — HTML/PDF reports; Email Templates — QWeb bodies for transactional mail.
  • Server Actions / Automated Actions — model actions & rules triggering on record event.
  • Configuration Settings — res.config.settings pages for business configuration.
Implemented: 7 custom res.groups roles, magetech.audit.log model + ACLs, res.config.settings extensions, company record, custom menus, custom OWL sidebar + dashboard client action, SCSS/JS asset bundles.

8. Custom Module Architecture

Recommended MageTech module set. Implemented modules ship today; the rest are Planned.

ModuleStatusPurpose / Notes
magetech_baseImplementedCompany branding, settings, groups/roles, demo users, audit log, sidebar menu skeleton
magetech_themeImplementedCorporate webclient shell, design system, dark/light mode, login branding, favicon, quick-create
magetech_dashboardImplementedExecutive dashboard (KPIs, charts, table, timeline) as OWL client action
magetech_demoImplementedIdempotent demo dataset (customers, leads, projects, employees, products, sale orders)
magetech_crmPlannedCRM extensions on top of Odoo CRM
magetech_salesPlannedSales pipeline & quotation workflows
magetech_projectsPlannedProjects, milestones, tasks, timesheets, budgets
magetech_financePlannedInvoicing, payments, expenses, reports
magetech_hrPlannedEmployees, departments, attendance, leave, payroll
magetech_inventoryPlannedWarehouses, locations, stock moves, valuation
magetech_purchasePlannedVendors, purchase orders, RFQ workflows
magetech_supportPlannedHelpdesk/support tickets, SLA, escalation
magetech_documentsPlannedDocument categories, versioning, retention
magetech_aiPlannedAI-assisted features (see Part IV)
magetech_reportsPlannedDomain report packs & exports
magetech_mobilePlannedMobile-first experiences / future apps
magetech_integrationsPlannedPayment, email/SMS, WhatsApp, cloud storage

Each module documents (where applicable): purpose, dependencies, models, views, controllers, security, reports, scheduled actions, external integrations, main workflows. Dependency graph today:

web
→
magetech_theme
base · base_setup · mail · contacts
→
magetech_base
magetech_base
web
→
magetech_dashboard
magetech_base
crm · sale_management · project · hr
→
magetech_demo

9. Standard Module Structure

magetech_crm/
│
├── __init__.py
├── __manifest__.py
│
├── models/
│   ├── __init__.py
│   ├── lead.py
│   └── customer.py
│
├── views/
│   ├── lead_views.xml
│   └── customer_views.xml
│
├── security/
│   ├── ir.model.access.csv
│   └── security.xml
│
├── data/
│   └── data.xml
│
├── demo/
│   └── demo.xml
│
├── reports/
│   └── report.xml
│
├── controllers/
│   └── main.py
│
├── static/
│   └── src/
│       ├── js/
│       ├── css/
│       └── xml/
│
└── README.md
Directory / FileResponsibility
__init__.pyPython package loader
__manifest__.pyModule metadata, dependencies, data files, assets, hooks
models/ORM model classes and business logic
views/Architecture/UI XML (views, actions, menus, settings)
security/ir.model.access.csv ACLs and XML groups/rules
data/Configuration/supporting data (functions, defaults, mail templates)
demo/Demo data loaded only when demo mode is enabled
reports/QWeb report templates and report actions
controllers/HTTP controllers / custom endpoints
static/src/Frontend assets: JS (OWL), SCSS/CSS, XML/QWeb components; bundled via web.assets_backend/web.assets_frontend
README.mdModule usage and maintenance notes

The Implemented modules follow this layout. Notable current structures: magetech_base uses security/, models/, views/, data/, demo/, static/description; magetech_theme uses static/src/scss|js|sidebar|webclient|quickcreate|fonts|img plus data/theme_templates.xml (QWeb overrides); magetech_dashboard uses static/src/dashboard (OWL component) and static/src/lib/chart.umd.min.js; magetech_demo uses hooks.py + post_init_hook.

10. Database Architecture

PostgreSQL is the primary database. Odoo manages schema generation from model definitions (data-driven ORM); the DBA role is mostly performance, backup, and indexes.

  • Odoo standard tables — res_partner, res_users, res_groups, product_product, sale_order, account_move, project_project, hr_employee, ir_model, ir_attachment, mail_message, etc.
  • Custom models — e.g. magetech_audit_log (audit log), res_config_settings extensions; all are normal Odoo tables with a surrogate id and ORM-managed relation columns.
  • Relationships — one2many / many2one / many2many fields become foreign-key and M2M junction tables.
  • Indexing — Odoo auto-creates indexes for typical lookups; add explicit index=True or CONSTRAINT where query paths require it. Recommended: review slow queries on search paths.
  • Constraints — model _sql_constraints enforce uniqueness/integrity.
  • Transactions — ORM wraps requests in transactions; commit on success, rollback on exception.
  • Referential integrity — enforced by PostgreSQL (FK constraints created from relational fields).
Relationship chains in use: Customer → Opportunities → Quotations → Sales Orders → Invoices → Payments and Project → Milestones (Planned) → Tasks → Timesheets.

11. Entity Relationship Model

Core business entities and their cardinality. This is the target model — items marked Planned are not yet implemented.

User (res.users)
  • id (PK)
  • login, password_hash
  • active (bool)
  • groups_ids → M2N res.groups
Employee (hr.employee)
  • id (PK)
  • name, work_email
  • department_id → hr.department (N:1)
  • user_id → res.users (1:1)
Customer (res.partner)
  • id (PK)
  • name, is_company
  • email, city, country_id
  • customer_rank
Lead (crm.lead)
  • id (PK)
  • name, type (lead/opportunity)
  • expected_revenue
  • stage_id → crm.stage
  • partner_id → res.partner
Product (product.product)
  • id (PK)
  • name, list_price
  • type (service/…)
  • categ_id → product.category
Quotation / Sales Order (sale.order)
  • id (PK)
  • amount_total
  • partner_id → res.partner
  • order_line → 1:N sale.order.line
Invoice (account.move)
  • id (PK)
  • move_type, amount_total
  • partner_id → res.partner
  • invoice_origin → sale.order
Payment (account.payment)
  • id (PK)
  • amount, payment_type
  • partner_id → res.partner
  • move_id → account.move
Project (project.project)
  • id (PK)
  • name, description
  • task_ids → 1:N project.task
Task (project.task)
  • id (PK)
  • name, state
  • project_id → project.project (N:1)
  • user_ids → M2N res.users
Timesheet (account.analytic.line) Planned
  • id (PK)
  • unit_amount, date
  • task_id → project.task
  • employee_id → hr.employee
Expense (hr.expense) Planned
  • id (PK)
  • name, total_amount, state
  • employee_id → hr.employee
Vendor (res.partner) Planned
  • id (PK)
  • is_company, supplier_rank
Purchase Order (purchase.order) Planned
  • id (PK)
  • amount_total, state
  • partner_id → vendor
Inventory (stock.warehouse / stock.move) Planned
  • id (PK)
  • name
  • picking/order links
Leave (hr.leave) Planned
  • id (PK)
  • date_from, date_to, state
  • employee_id → hr.employee
Attendance (hr.attendance) Planned
  • id (PK)
  • check_in, check_out
  • employee_id → hr.employee
Support Ticket (helpdesk.ticket) Planned
  • id (PK)
  • name, stage, priority
  • partner_id → customer
  • user_id → agent
Document (ir.attachment / magetech doc) Planned
  • id (PK)
  • file_name, res_model, res_id
  • version / category

Relationship notes: Customers hold 1:N leads/orders/invoices/payments. Projects hold 1:N tasks. Tasks hold N:N assignees and 1:N timesheets. One presence of each planned (non-implemented) entity is explicitly flagged; the dashboard today reads real Odoo records (partners, leads, projects, employees, sale orders) — no hard-coded production values.

III Business Workflows & Modules

12. CRM Architecture

Lead lifecycle (Odoo CRM):

New↓ Contacted↓ Qualified↓ Proposal↓ Negotiation↓ Won / Lost
CapabilityStatusNotes
Lead creationImplementedvia standard CRM + demo seeding
Lead assignmentImplementeduser_id assignment model
Lead scoring, follow-up, activities, opportunity & customer conversion, pipelineImplementedcore Odoo CRM workflows; scoring varies by stage expectation to be configured
AI-assisted lead scoringPlannedsee §27–28

13. Sales Architecture

Lead↓ Opportunity↓ Quotation↓ Sales Order↓ Invoice↓ Payment
ConcernStatusNotes
Quotation → Sales Order → Invoicing → PaymentImplementedstandard Odoo sale_management/account flows
Product pricing, discounts, taxes, pricelists, payment termsRecommendedconfiguration to be completed per business; taxes depend on accounting localization
Approval workflowsPlanneddouble-pricing/approval rules via Odoo settings

14. Project Management Architecture

Projects → Milestones Planned → Tasks → Development → Testing → Review → Completed.

Project↓ Milestone Planned↓ Task↓ Development↓ Testing↓ Review↓ Completed
CapabilityStatusNotes
Projects, tasks, subtasks, assignments, deadlinesImplementedOdoo project module + demo tasks
MilestonesPlannedsubtask/dependency model planned
TimesheetsPlannedenable analytics in config
Budgets & progressPlannedplanned

15. Finance Architecture

  • Customers, Vendors, Invoices, Bills, Payments, Expenses, Taxes, Accounts, Financial reports.
  • Integration with Odoo Accounting: account.move drives invoices/bills; payments reconcile via account.payment.
Status: base use of invoicing/payments available through core accounting Implemented (demo sale orders can generate invoices); full MageTech finance module, expense approvals and financial reporting pack remain Planned. Accounting localization/config is Recommended.

16. HR Architecture

Employees, Departments, Attendance, Leave, Recruitment, Payroll (if enabled).

Hierarchy: Company → Department → Manager → Employee.

CapabilityStatusNotes
Employees, departmentsImplementedhr module + 20 demo employees; role-group mapping
Attendance, leavePlannedmodule planned
Recruitment, payrollPlannedplanned / if enabled

17. Inventory Architecture

Products, product categories, warehouses, locations, stock moves, purchase, sales, inventory valuation. Stock movement lifecycle: Creation → Reservation → Transfer → Done. Planned: full magetech_inventory warehouse/location workflows; inventory valuation configuration Recommended.

18. Support Architecture

Tickets, customers, agents, priorities, SLA, status, resolution, escalation.

New↓ Assigned↓ In Progress↓ Waiting↓ Resolved↓ Closed

Planned: magetech_support module (or Odoo Helpdesk) with SLA timers and escalation rules.

19. Document Management

  • File uploads, attachments (ir.attachment), document categories, access permissions, versioning, lifecycle, retention, backup.
Important: sensitive documents must never be publicly accessible. Attachment access is governed by Odoo ACL/record rules; scheduled/public controllers must enforce explicit authorization.

Planned: dedicated document categories + versioning + retention workflow; store attachments in object storage with signed URLs Recommended.

IV Cross-Cutting Capabilities

20. Notification Architecture

  • In-app notifications (Odoo message bus) — Implemented via mail.
  • Email notifications, activity reminders, scheduled notifications — Implemented core; channel/SMTP config is Recommended.
  • Push notifications — Planned.

Examples to configure: invoice-due reminder, task assignment, leave approval, project deadline, lead follow-up.

21. Email Architecture

  • SMTP configuration, email templates, transactional & notification emails, password reset, invoice/quotation emails.
Rule: never hard-code SMTP credentials. Configure via Odoo system parameters / environment values, or external mail server (e.g. transactional provider) with credentials injected from secrets manager. See §50.

Status: core email framework Implemented; outbound SMTP provider and template inventory Recommended.

22. API Architecture

Accuracy rule: no custom REST endpoints are currently implemented. The tables below are the target contract (TBD) and must be updated when endpoints ship.

For every API, document: Endpoint, Method, Authentication, Request, Response, Validation, Error response, Permissions, Rate limiting.

Endpoint (target)MethodAuthStatus
GET /api/v1/customersGETAPI key / sessionTBD
POST /api/v1/customersPOSTAPI key / sessionTBD
GET /api/v1/customers/{id}GETAPI key / sessionTBD
PUT /api/v1/customers/{id}PUTAPI key / sessionTBD
DELETE /api/v1/customers/{id}DELETEAdmin / ManagerTBD

Native Odoo APIs available today: JSON-RPC (/jsonrpc), XML-RPC (/xmlrpc/2/db, /xmlrpc/2/common, /xmlrpc/2/object), and the web controllers (/web/login, /web/session etc.) — Implemented by the framework. MageTech custom APIs and third-party APIs are TBD/Planned.

23. Authentication

Flow: user opens /web/login → submits credentials → Odoo validates via password hash (PBKDF2-SHA512 by default) → session cookie issued → session tracked/expired server-side.

  • Login, logout, password reset — Implemented (branded login page).
  • Session handling (cookies, expiry) — Implemented by Odoo.
  • Password policies & account lockout — Recommended (enable via system parameters / MFA server).
  • Multi-factor authentication — Recommended (Odoo Enterprise feature; MFA planned for magetech_base).

24. Authorization (Role-Based Access Control)

Roles are implemented as custom res.groups in magetech_base Implemented:

RoleInternal groupImpliesNotes
Super Administratorgroup_magetech_super_adminbase.group_systemHighest level; admin user auto-linked
Managementgroup_magetech_managementbase.group_userCross-domain visibility (planned rules)
Sales Managergroup_magetech_sales_managerbase.group_userCRM/Sales ownership
Project Managergroup_magetech_project_managerbase.group_userProject/task management
Finance Managergroup_magetech_finance_managerbase.group_userAccounting/invoicing controls
HR Managergroup_magetech_hr_managerbase.group_userEmployee/leave management
Employeegroup_magetech_employeebase.group_userBase user level

Access is enforced through Groups, ACLs (ir.model.access.csv), and Record Rules (row-level). Company-level and department-level access rules for the new domains are Planned.

25. Multi-Company Architecture

The platform is designed so each company can have separate users, accounting, customers, products, warehouses, documents, and configuration Recommended.

Odoo's native multi-company mechanism is used: company_id on records, allowed_company_ids on the session, company-scoped record rules, and ir.config_parameter by company where supported. No code changes are required for the base pattern; domain modules will respect company_id.

26. Multi-Tenancy (SaaS)

Do not implement multi-tenancy unless explicitly required. Currently the product is single-tenant. The comparison below is guidance Planned only.
ModelAdvantagesLimitationsSecurity / Backup / Scale
Database-per-tenantHard isolation; simple backup/restore per tenant; clear data ownershipMore infra per tenant; migration between DBs neededStrongest isolation; per-DB backup; horizontal scale by sharding DBs
Schema-per-tenantSingle server, isolated schemasComplex ORM mapping (Odoo does not natively support); higher ops complexityModerate isolation; mixed backup; tricky migrations
Shared DB + company isolationLowest cost; Odoo-nativeWeakest isolation; record rules must be flawlessRelies on record rules; single backup; vertical then horizontal scale

27. AI Architecture Planned

MageTech AI may provide: AI Lead Scoring, AI Sales Assistant, AI Customer Summary, AI Project Risk Detection, AI Business Summary.

Design considerations: AI provider, API integration, authentication, prompt management, data privacy, token usage, error handling, rate limits, logging, cost control.

Privacy rule: never send sensitive company information to an external AI provider without appropriate authorization and data-protection controls.

28. AI Data Flow

Odoo
↓
MageTech AI Service
↓
AI Provider
↓
AI Response
↓
Validation
↓
Odoo
↓
User

AI-generated results must be clearly identified where appropriate. Business-critical decisions must not rely solely on AI output.

29. Dashboard Architecture Implemented

The executive dashboard is an OWL client action (magetech_dashboard.MagetechDashboard) loaded through ir.actions.client (tag: magetech_dashboard.main), reading real Odoo records via an RPC/ORM service.

  • KPIs: Revenue, Outstanding, Active Projects, New Leads (counts/pipelines computed from records).
  • Charts: Revenue Trend (Chart.js line) and Sales Pipeline (funnel).
  • Below: Top Customers table and Recent Activity timeline.
  • States: loading skeleton, error (with Retry), empty, ready.
Implemented: the dashboard consumes actual sale.order/opportunity/project/employee data (demo or real). Hard-coded production dashboard values are prohibited.
Planned targets: KPIs for Expenses, Profit, Receivables, Payables, Customers, Employees, and the full Revenue/Trend period selector.

30. Reporting Architecture

  • Sales, Revenue, Finance, CRM, Project, HR, Inventory, Marketing reports.
  • Each report should support date filters, user filters, company filters, export, PDF, and Excel/CSV where supported.

Recommended: build with QWeb (PDF) + pivot/list exports (XLSX/CSV) over the reporting module. Planned: magetech_reports domain packs.

V Frontend Architecture & UX

31. Frontend Architecture Implemented

  • Odoo frontend architecture and OWL for custom components (sidebar, dashboard, quick-create).
  • Components, services, state management, templates, assets, JS modules, CSS/SCSS, responsive design.
  • Asset bundles: web.assets_backend (theme+sidebar+dashboard) and web.assets_frontend (login).

Reusable component pattern Recommended: KPI cards (built), charts (built), tables (built), filters/modals/notifications/command palette/timeline/status badges (reusable on roadmap).

32. UI/UX Design System

The MageTech design system is implemented in magetech_theme SCSS using CSS custom properties Implemented:

Token familyValues (implemented)
Primary brandOrange #F97316 (hover #EA580C)
Secondary / navyNavy #0F2B5B, dark navy #0B1F3A
Accent blue#1565D8 (hover #0F56BD)
SurfacesApp bg #F6F8FC, surface white, border #E2E8F0
TextPrimary #172033, secondary #64748B
StatusSuccess #16A34A, warning #F59E0B, error #DC2626, info #2563EB
Module colorsCRM violet, Sales blue, Finance green, HR orange, Projects purple, Inventory cyan, Purchase pink, Reporting amber, Operations deep orange, Marketing indigo

Covers: colors, typography (Inter, bundled locally), spacing, buttons, cards, forms, tables, icons (FontAwesome), modals, alerts, status badges, dark mode (persisted preference), responsive rules. Modern, corporate, premium, consistent.

33. Animation Guidelines Recommended Implemented

Subtle professional animations: page transitions, card hover (implemented in KPI/kanban), KPI counters, chart animations (Chart.js, implemented), modal transitions, notification animations, loading skeletons (implemented), progress animations. Animations must not interfere with accessibility or performance; respect prefers-reduced-motion.

VI Security, Data Protection & Continuity

34. Security Architecture

Application Layer

  • Authentication (session/password hashing), authorization (ACLs + record rules), input validation (ORM + _check), CSRF protection (Odoo CSRF token on forms).

Database Layer

  • Credentials with least privilege, encryption at rest where applicable, secured backups.

Network Layer

  • HTTPS (Nginx + TLS), firewall, reverse proxy, restricted ports (8069 internal only).

Infrastructure Layer

  • SSH hardening (keys only), OS patching, secrets management, monitoring.

Recommended: all production layers; local dev is per §41.

35. Data Protection

  • Data classification, sensitive-information handling, access control, encryption, backup, retention, deletion, audit logs.
  • Follow applicable Indian data-protection requirements and contractual obligations where relevant.

36. Audit Logging Implemented

An audit log model magetech.audit.log exists with access rules Implemented:

Access ruleReadWriteCreateDelete
Odoo Admin (base.group_system)✓✓✓✓
Super Administrator✓✓✓✓
Management✓———

Target events (capture as they occur): login, logout, record creation/modification/deletion, permission changes, configuration changes, financial changes. Each audit entry should record user, action, record, timestamp, relevant metadata.

37. File Storage

Attachment storage options: local filesystem Implemented (default filestore), object storage, cloud storage Recommended. Production target: Odoo → Object Storage using secure signed (pre-signed) URLs where appropriate.

38. Backup Architecture

Back up: PostgreSQL database, filestore, configuration (odoo.conf, env), custom modules (Git), deployment configuration.

ItemRecommendation
FrequencyDaily full DB + filestore; continuous WAL (PgBouncer/WAL archiving) in production Recommended
Retentione.g. 30 days daily, 12 monthly, 7 yearly (TBD)
EncryptionEncrypted backups at rest (TBD tooling)
Off-site storagePush encrypted copies to a second region/bucket
Restore testingQuarterly restore drills; documented runbook

39. Disaster Recovery

Targets (to confirm with business): RPO ≤ 24h daily backups (stretch: minutes with WAL), RTO ≤ 4h (TBD). Restoration order: restore PostgreSQL → filestore → config → application (modules from Git) → verify login/financial books → DNS/SSL as applicable. A full DR procedure is Recommended.

VII Deployment, DevOps & Operations

40. Deployment Architecture

Internet
↓
Cloud Load Balancer / Firewall
↓
Nginx
↓
Odoo
↓
PostgreSQL
↓
Backup / Object Storage

Staging and production are documented separately in §41. Development currently runs on Windows with a local Python venv; production target is Ubuntu Linux + Nginx.

41. Environments

EnvironmentPurposeStatus
DevelopmentLocal coding on --dev=assets, odoo.log outputImplemented (this workspace)
Testing / QAAutomated + manual test runsPlanned
StagingProduction-like validationPlanned
ProductionLive business environmentPlanned
Rule: never use production credentials in development; never commit secrets.

42. CI/CD Planned

Developer↓ Git Commit↓ Pull Request↓ Automated Tests↓ Code Review↓ Build↓ Staging Deployment↓ QA↓ Production Approval↓ Production Deployment

43. Version Control Implemented

Git is in use on this repository. Recommended branching strategy:

main
develop
feature/*
bugfix/*
release/*
hotfix/*
  • Commit conventions: concise conventional messages; one logical change per commit.
  • Pull requests with code review before merge to main.
  • Version tags (v1.0.0...) aligned to module version fields.

44. Testing Strategy

  • Unit Testing — models and functions (Odoo test framework).
  • Integration Testing — module interactions.
  • API Testing — endpoint contracts (once APIs exist).
  • UI Testing — frontend/flows (Playwright available in the toolchain).
  • Security Testing — permissions and vulnerability review.
  • Performance Testing — expected workloads.
  • User Acceptance Testing — business validation.

Status: baseline QA via manual + scripted browser verification Implemented; full automated suite Planned.

45. Test Case Documentation

Each case: Test ID, Description, Preconditions, Steps, Expected result, Actual result, Status.

Test IDDescriptionPreconditionsSteps (summary)ExpectedStatus
TC-01LoginUser existsOpen /web/login, enter creds, submitRedirect to app shellPassed
TC-02Customer creationSales rightsCreate partner, saveRecord visible in partnersPassed
TC-03Lead creationCRM moduleCreate crm.leadLead in pipelinePassed
TC-04QuotationProduct + partnerCreate SO (draft), add lines, confirmQuotation → Sales OrderPassed
TC-05InvoiceConfirmed SOCreate invoice, validatePosted invoiceTBD
TC-06PaymentPosted invoiceRegister paymentInvoice paidTBD
TC-07Project creationProject rightsCreate projectProject listedPassed
TC-08Task assignmentProject existsCreate task, assign userAssignment savedPassed
TC-09Employee creationHR rightsCreate hr.employeeEmployee listedPassed
TC-10Leave requestHR moduleCreate hr.leaveLeave in validation flowTBD
TC-11Expense approvalHR expenseCreate + approve expenseApproved/rejected per policyTBD
TC-12Inventory transactionStock moduleReceive/deliver goodsStock move doneTBD
TC-13Report generationData presentRun QWeb reportPDF renderedTBD
TC-14PermissionsMultiple groupsAttempt cross-role accessDenied as configuredTBD

46. Performance Architecture

  • Database indexing, query optimization, pagination, caching (Odoo asset/field caching), asset optimization (bundles, SCSS compile), background jobs (cron workers), worker configuration.
  • Avoid loading large datasets unnecessarily (dashboard uses aggregated reads).

Status: progressive improvements Recommended; baseline acceptable at current data volumes.

47. Scalability

Load Balancer
↓
Odoo Worker 1
Odoo Worker 2
Odoo Worker 3
↓
PostgreSQL
↓
Object Storage

Horizontal scaling (multi-worker/multi-instance behind LB), vertical scaling (CPU/RAM), database scaling (optimized queries → read replicas/PCI), worker scaling, file-storage scaling (object storage). Recommended for production.

48. Monitoring

Monitor server CPU, memory, disk, database, Odoo workers, request latency, error rates, background jobs, backup status. Define alerts for critical conditions (e.g., 5xx rate, disk > 85%, worker saturation, backup failure). Tooling: Prometheus + Grafana, app error tracking Sentry Recommended.

49. Logging

Centralize Odoo logs, Nginx logs, PostgreSQL logs, application errors, security events.

Never log: passwords, API keys, authentication tokens, or sensitive customer information unnecessarily.

50. Environment Variables

Provide .env.example (not .env) in the repository; never commit secrets.

# .env.example — copy to .env and fill with real values. NEVER commit .env
ODOO_DB_HOST=127.0.0.1
ODOO_DB_PORT=5432
ODOO_DB_USER=change_me
ODOO_DB_PASSWORD=change_me
ODOO_ADMIN_PASSWORD=change_me
SMTP_HOST=change_me
SMTP_PORT=587
SMTP_USERNAME=change_me
SMTP_PASSWORD=change_me
AI_API_KEY=change_me            # only if AI enabled
STORAGE_ACCESS_KEY=change_me    # only if object storage used
STORAGE_SECRET_KEY=change_me

51. Configuration Management

Separate application configuration, environment configuration, secrets, and business configuration. Do not hard-code production settings. Locally, odoo.conf holds dev connection values; production uses env-injected secrets.

VIII Demo Data, Migration & Standards

52. Sample Data Implemented

The magetech_demo module seeds DEMO data idempotently via a post_init_hook (hooks.py). Every record set is clearly informational/demo — no production data.

DatasetCountSample entries (actual seeded values)
Customers (companies)20Tata Digital Workspaces, Delhi Logistics Hub, Nimblecloud Infotech, GlobalSprint Solutions, ArrowAuto Components, Heritage Retail Group, VertexMed Devices, GreenGrid Energy, Royal Textile Exports, NorthBeam Electronics, OrangeFarm AgriTech, Kerala Spice Exporters, SaffronAI Analytics, DiamondCity Jewels, TexPro Garments, Himalaya Constructs, Sunshine Hospitality, MarinePort Shipping, MadhyaBio Pharma, GangaMart Retail
Contacts (people)12Rahul Verma, Sneha Kulkarni, Manoj Tripathi, Pooja Bhatt, Karthik Reddy, Neha Gupta, Suresh Pillai, Divya Menon, Arnav Jain, Tanvi Shah, Nikhil Rao, Lakshmi Devi
Leads / opportunities50Templates: "Website inquiry – ERP demo", "Referral – Anand & Sons", "Trade show – SaasCon", "LinkedIn outreach", "Cold email campaign", "Partner referral", "Website inquiry – POS", "Trade show – NASSCOM", "Referral – BluePeak", "Product demo request"
Projects10ERP rollout – Tata Digital, CRM migration – Nimblecloud, Dashboard build – GlobalSprint, Inventory automation – ArrowAuto, Website revamp – Heritage Retail, Field service app – VertexMed, Billing integration – GreenGrid, Analytics stack – SaffronAI, Portal build – Royal Textile, Onboarding support – GangaMart
Employees20Aarav Kapoor, Diya Sharma, Rohan Mehta, Ishita Rao, Kabir Singh, Ananya Iyer, Vihaan Patel, Myra Joshi, Advik Gupta, Sara Das, Arjun Menon, Navya Nair, Vivaan Kohli, Kavya Reddy, Ayaan Shah, Riya Bose, Shaurya Yadav, Anika Mishra, Aaradhya Nayak, Reyansh Kulkarni
Products5MageTech ERP License (User/Yr) ₹12,000; Implementation Day ₹8,000; Custom Report Build ₹15,000; Annual Support Plan ₹24,000; BI Dashboard Pack ₹30,000
Sales orders12Generated across sample customers with product lines; feed dashboard Revenue KPI
Sample data is DEMO data. Remove or refresh before production go-live as required by the business.

53. Data Migration

Source Data↓ Data Cleaning↓ Mapping↓ Validation↓ Import↓ Verification

Possible sources: Excel, CSV, existing CRM, existing accounting software, existing ERP. TBD until a source is confirmed. Never directly import unvalidated production data.

54. Third-Party Integrations

Integration architecture for: payment gateway, email, SMS, WhatsApp, Google services, Microsoft services, AI providers, cloud storage.

For each: purpose, API, authentication, data exchanged, failure handling, rate limits, security. All currently Planned/TBD — none are wired into production yet.

55. Error Handling

User-facing errors must be clear. Example: "Unable to create invoice" — "Please verify the customer and invoice details and try again." Technical errors are logged internally.

Never expose stack traces, database errors, API keys, or internal paths to normal users.

56. API Error Format

Consistent API response contract (target):

// Failure
{
  "success": false,
  "error": {
    "code": "CUSTOMER_NOT_FOUND",
    "message": "Customer could not be found."
  }
}

// Success
{
  "success": true,
  "data": {}
}

57. Development Coding Standards

LanguageStandards
PythonPEP 8, Odoo conventions, meaningful names, small reusable methods, proper documentation
JavaScriptModular code, clear naming, reusable components, no unnecessary global state (OWL)
XMLConsistent formatting, meaningful IDs (module-prefixed record ids), proper inheritance
SCSSReusable variables (CSS custom properties), component-based styles, avoid excessive overrides

58. Odoo Development Rules

  1. Avoid modifying Odoo core files.
  2. Use inheritance (_inherit / QWeb xpath with hasclass()).
  3. Use custom modules for all changes.
  4. Use ORM methods rather than raw SQL (except where strictly necessary).
  5. Define proper access rights.
  6. Define record rules for row-level security.
  7. Add module dependencies correctly in __manifest__.py.
  8. Provide upgrade scripts when necessary.
  9. Keep business logic server-side.
  10. Avoid hard-coded configuration.

IX Administration, Usage & Troubleshooting

59. Administration Guide

  • Creating users, assigning roles, creating companies, configuring email, accounting, warehouses, products, managing permissions, managing backups, monitoring system health.
  • Role assignment uses the groups from §24; admin console at /web#action=base_setup.act_base_settings.

60. User Guide Structure

AudienceSections
ManagementDashboard, Reports, Approvals
SalesCRM, Leads, Quotations, Orders
FinanceInvoices, Payments, Expenses
HREmployees, Attendance, Leave
Project TeamProjects, Tasks, Timesheets
OperationsInventory, Purchasing

61. Troubleshooting Guide

IssueCause / DiagnosisSolutionVerification
Odoo not startingPort in use, missing config, import error. Check odoo.log.Free port 8069; validate odoo.conf; traceback in logServer responds on /web/login
PostgreSQL connection failureService down, wrong host/user/passwordStart postgresql-x64 service; verify `db_user`/`db_password`psql -U odoo -c 'select 1'
Database authentication failurePassword mismatch or pg_hba ruleReset DB password; check pg_hba.confLogin to /web works
Email not sendingSMTP misconfig / blocked portConfigure outgoing mail server in settingsSend test email
Module installation failureMissing dependency / data errorFix deps in manifest; check log tracebackModule listed installed
Permission deniedMissing ACL/rulesAdd ir.model.access or record rulesAccess succeeds for role
Slow dashboardHeavy aggregated queries, no indexOptimize queries/indexes; paginateLoad < target ms
Scheduled jobs not runningCron not triggered / workers limitedVerify cron rules, worker modelJob timestamps update
File upload failureFilestore permission/size limitFix filestore perms; adjust limitsAttachment uploads OK
Backup failureDisk space, pg_dump path, encryption keyFree space; verify dump toolingBackup job success
SSL problemsCert renewal / proxy misconfigRe-issue cert; fix Nginx SSL blockhttps:// loads with valid cert

X Appendices, Checklist & Roadmap

62. Security Checklist (before production)

  • HTTPS enabled
  • Strong database password
  • Strong Odoo admin password
  • Default accounts secured
  • Debug mode disabled
  • Database ports restricted
  • Firewall configured
  • Backups enabled
  • Backup restoration tested
  • Secrets removed from source
  • Access permissions reviewed
  • Audit logging enabled
  • Dependencies updated

63. Production Deployment Checklist

Infrastructure

  • Server configured
  • PostgreSQL configured
  • Odoo configured
  • Nginx configured
  • SSL configured

Application

  • Custom modules installed
  • Configuration verified
  • Demo data removed if required
  • Production data imported

Security

  • Users configured
  • Permissions verified
  • Secrets secured
  • Firewall enabled

Backup

  • Database backup configured
  • Filestore backup configured
  • Restore tested

Monitoring

  • Logs configured
  • Alerts configured
  • Server monitoring enabled

64. Technical Risks

Probability and Impact are estimates only and must be validated with evidence before use in planning.

Risk IDRiskProbability (est.)Impact (est.)MitigationOwnerStatus
R-01Database growthMediumMediumIndexing, archival, monitoringTBDOpen
R-02Third-party API outageLowHighRetries, circuit breaker, fallbacksTBDOpen
R-03Incorrect permissionsMediumHighReview process, security testsTBDOpen
R-04Data lossLowCriticalBackups, DR drills, off-site copiesTBDOpen
R-05Performance degradationMediumMediumProfiling, indexes, cachingTBDOpen
R-06AI API costMediumLowToken budgets, rate limitsTBDOpen
R-07Email delivery failureMediumMediumReliable SMTP, SPF/DKIM, monitoringTBDOpen
R-08Backup failureLowHighAlerting, restore testsTBDOpen
R-09Security vulnerabilitiesMediumHighUpdates, audits, least privilegeTBDOpen

65. Future Roadmap

PhaseCapabilitiesStatus
Phase 2Advanced AI, mobile applications, customer portal, vendor portalPlanned
Phase 3Multi-company enhancements, advanced BI, AI forecasting, workflow automationPlanned
Phase 4SaaS commercialization, tenant management, subscription billing, partner portal, marketplace integrationsPlanned
Planned/roadmap items are separate from currently implemented functionality and are not claimed as available.

66. Technical Glossary

TermDefinition
ERPEnterprise Resource Planning — integrated business management software
CRMCustomer Relationship Management — processes and tools for managing customer relationships/pipeline
ORMObject Relational Mapping — mapping model classes to database tables
OdooOpen-source Python ERP/CRM framework used as the MageTech platform foundation
OWLOdoo Web Library — the reactive JavaScript component framework used by the Odoo 19 UI, adopted for MageTech components
PostgreSQLOpen-source relational database used as the primary data store
APIApplication Programming Interface — contract for software-to-software communication
RESTRepresentational State Transfer — HTTP-based API style
WebhookHTTP callback triggered by an event, used for push integration
RBACRole-Based Access Control — permissions granted by role/group
ACLAccess Control List — model-level permission grants (ir.model.access)
Record RuleRow-level access restriction in Odoo
CI/CDContinuous Integration / Continuous Delivery — automated build, test, deploy
RPORecovery Point Objective — max acceptable data loss on recovery
RTORecovery Time Objective — max acceptable downtime after disaster
SaaSSoftware as a Service — cloud-hosted, subscription-based software
Multi-companyOne installation serving multiple companies with per-company data
Multi-tenancyOne platform instance serving multiple isolated tenants

67. Documentation Rules

  1. Do not invent implementation details.
  2. Clearly distinguish Implemented, Planned, and Recommended functionality.
  3. Do not claim an API exists unless it has actually been implemented.
  4. Do not claim an integration exists unless configured.
  5. Do not expose credentials or secrets.
  6. Use diagrams wherever they improve understanding.
  7. Include tables for configuration and module information.
  8. Include code snippets only where useful.
  9. Use consistent terminology.
  10. Maintain version history.

68. Document Version History

VersionDateAuthorChanges
1.02026-09-24MageTech SolutionsInitial technical architecture

Document Control: Owner — MageTech Solutions Architecture. Review cycle — quarterly or on significant architecture change.

69. Final Document Structure

The document contains: Cover Page, Document Control, Revision History, Table of Contents (auto-generated), Executive Summary, Product Overview, System Scope, Functional Architecture, Technical Architecture, Technology Stack, Odoo Architecture, Custom Module Architecture, Database Architecture, ER Diagram, API Architecture, Security Architecture, Authentication & Authorization, Business Workflows, AI Architecture, Reporting Architecture, Integration Architecture, Deployment Architecture, Infrastructure, CI/CD, Testing Strategy, Performance, Scalability, Monitoring, Backup & Disaster Recovery, Administration, Troubleshooting, Security Checklist, Production Checklist, Technical Risks, Future Roadmap, Glossary, Appendices.

70. Final Quality Requirement

This document is intended to look like a professional technical document prepared by an enterprise software architecture team: detailed, structured, professional, developer-friendly, implementation-oriented, easy to maintain, suitable for client/internal documentation, future developers, and deployment/operations teams. Missing or un-finalized information is explicitly marked TBD / Planned / Recommended — the current implementation, planned features, and future recommendations are always distinguishable.

XI Commercial & Pricing

71. Pricing & Commercial Model

This section defines the commercial framework for delivering and supporting MageTech ERP. 2026 India market reference: ordinary Odoo implementations range from a few lakhs for smaller deployments to ₹15 lakh+ for more customized implementations; complex multi-company / custom ERP projects go substantially higher. Odoo also separates its subscription/licensing from implementation services — MageTech ERP follows the same structure: implementation + deployment + annual maintenance as distinct components.

Recommended MageTech ERP Packages

PackageSuitable ForOne-Time Development / ImplementationAnnual Maintenance
Starter ERPSmall business₹2,50,000 – ₹4,00,000₹60,000 – ₹1,00,000
Business ERPGrowing SME₹5,00,000 – ₹8,00,000₹1,20,000 – ₹1,80,000
Professional ERP RecommendedMulti-department company₹8,00,000 – ₹15,00,000₹1,80,000 – ₹3,00,000
Enterprise ERPComplex / multi-company₹15,00,000 – ₹30,00,000+₹3,00,000 – ₹6,00,000+
Recommended
💎 MageTech ERP — Professional
₹9,90,000
One-Time Implementation & Custom Development, onwards
+ applicable taxes
🛡️ Annual AMC
₹1,98,000
per year, onwards · + applicable taxes
≈ 20% of implementation value — consistent with the general Indian Odoo/ERP support range
A good customer-facing starting price for the full scope (CRM + Sales + Projects + Finance + HR + Inventory + Purchase + Support + Dashboards + AI + custom workflows) is ₹9,90,000 + applicable taxes, with an Annual AMC of ₹1,98,000 + applicable taxes — approximately 20% of the implementation value.

What ₹9,90,000 Can Include

🧱ERP FoundationInstall & configuration · company config · users · roles & permissions · security
🤝CRMLeads · opportunities · customer management · follow-ups · activities · pipeline · Customer 360°
💰SalesQuotations · sales orders · products/services · pricing · discounts · invoicing workflow
🛠️Project ManagementProjects · milestones · tasks · subtasks · assignments · timesheets · project dashboards
🧾FinanceInvoices · payments · expenses · receivables · payables · financial dashboards
👥HREmployees · departments · attendance · leave · approvals · employee documents
📦Inventory & PurchaseProducts · vendors · purchase orders · stock · warehouses · inventory movements
🎧Customer SupportTickets · assignment · priority · SLA · resolution tracking
📊Management DashboardRevenue · expenses · profit · leads · sales · projects · employees · inventory · receivables
🎨MageTech UI/UXBranding · custom dashboard · corporate theme · responsive interface · custom menus · icons · KPI cards · charts
🤖AI Features*Lead scoring · customer summary · AI sales assistance · business summary · project insights · AI reporting

*AI features depend on the actual implementation; AI API usage costs are billed separately (usage-based) rather than absorbed into the AMC.

Scope Boundaries — Included vs. Additional

✅ Included (agreed scope)
  • Up to 25 users
  • 1 company
  • Standard Odoo modules + agreed MageTech customizations
  • Defined number of custom reports
  • Defined integrations
  • Data migration from agreed source
  • User training
  • Go-live support
➕ Additional — charged separately
  • Additional users, if applicable
  • Additional companies
  • Major new modules
  • New integrations
  • Mobile application
  • Large-scale data migration
  • Custom third-party integrations
  • Advanced AI features
  • Custom reports outside agreed scope / major workflow changes
  • Dedicated infrastructure
  • Odoo Enterprise subscription · Odoo.sh / cloud hosting
  • SMS / WhatsApp / API charges

Annual AMC Options

Basic Support
Bug fixes + basic support
₹1,20,000per year
  • Bug fixing
  • Odoo configuration support
  • User support
  • Database health checks
Business Support
Support + minor enhancements
₹1,98,000per year
  • Bug fixing
  • Odoo configuration support
  • User support
  • Minor UI changes
  • Minor workflow modifications
  • Database health checks
  • Backup monitoring
  • Security / update assistance
  • Performance monitoring
  • Monthly maintenance review
Premium Support
Priority support + continuous improvements
₹2,98,000per year
  • Everything in Business Support
  • Priority response
  • Continuous improvements

Major new features are managed as separate change requests — not unlimited development inside the AMC.

Better Commercial Model — Three Stages

StageInvestmentWhat It Includes
Phase 1 — Discovery & Business Analysis₹50,000 – ₹1,00,000Requirement workshops · existing workflow study · module identification · process mapping · customization analysis · technical architecture · final implementation proposal. Adjustable against the implementation fee if the customer proceeds.
Phase 2 — MageTech ERP Implementation₹9,90,000 onwardsIncludes the agreed ERP scope — modules, customizations, configuration, training and go-live support.
Phase 3 — Annual Maintenance (AMC)From ₹1,98,000 / yearStarts after the included post-go-live support period.

Suggested Payment Schedule (₹9,90,000 Implementation)

Milestone%Amount
Project confirmation30%₹2,97,000
UI/Architecture + initial development20%₹1,98,000
Core modules completed20%₹1,98,000
UAT / Customer testing20%₹1,98,000
Production Go-Live10%₹99,000
Total100%₹9,90,000

Milestone-based billing is much safer than collecting the entire amount only at the end of the project.

Customer-Facing Positioning

Position MageTech ERP not as “Odoo customization” but as — “MageTech ERP — Customized Enterprise Business Management Solution”, built on the Odoo ERP foundation and customized to the customer’s business processes.

Implementation & Custom Development: starting from ₹9,90,000 + applicable taxes
Annual Maintenance: starting from ₹1,98,000 + applicable taxes
Odoo licensing / subscription, hosting and third-party service charges: charged separately, based on the selected configuration.

Toward a Repeatable Product Pricing Model

Because MageTech ERP is being built as a commercial product for multiple customers, MageTech Solutions maintains a standardized pricing model instead of negotiating every customer from zero.

🏷️Starter / Business / Professional / Enterprise tiers
⚙️One-time implementation
🧑‍💻Custom development rates
🛡️AMC / support tiers
☁️Hosting
📜Odoo license & user pricing
🤖AI usage pricing
🔗Integration pricing
⏱️SLA / support tiers
📝Change-request pricing
MageTech ERP mobile logo
MAGE TECH SOLUTIONS · MageTech ERP — One Platform. Complete Business Control.
Manage. Automate. Grow. · www.magetechsol.com
End of Technical Design & Architecture Specification — v1.0