This repository contains the complete implementation of Milestone 1 for the GYPEX Odoo project, fully aligned with the specifications.
Client: GYPEX (Plaster tiles & coatings manufacturer)
System: Odoo Community Edition v19
Status: Milestone 1 Complete ✅
Next: Milestone 2 (Deliveries, Transport, DMS, EDI)
cd /home/user/Documents/Odoo
./setup.sh./start_odoo.sh- Open:
http://localhost:8069 - Create database (with demo data)
- Apps → Update Apps List
- Install "GYPEX Customizations"
See RUN_MILESTONE1.md for detailed step-by-step instructions.
/home/user/Documents/Odoo/
├── custom-addons/
│ └── gypex_custom/ # Main custom module
│ ├── models/ # Business logic
│ ├── views/ # User interface
│ ├── security/ # Access control
│ ├── data/ # Initial data
│ ├── reports/ # Report templates
│ └── README.md # Module documentation
├── odoo-19/ # Odoo source (after setup)
├── config/
│ └── odoo.conf # Odoo configuration
├── logs/ # Log files
├── data/ # Odoo data directory
├── backups/ # Database backups
├── setup.sh # Setup script
├── start_odoo.sh # Start script
├── stop_odoo.sh # Stop script
├── README.md # This file
├── RUN_MILESTONE1.md # Step-by-step setup guide
└── TEST_MILESTONE1.md # Complete testing guide
- N (Salesperson): See own team and assigned records
- N+1 (Manager): See own team and child teams
- N+2 (Director): See all teams
- Territory-based access control
- Record rules for hierarchical visibility
- Price List Types: Standard, Client-Specific, Contract
- Per-UoM Pricing: Different prices for m², palette, wagon, sack, unit
- Volume Discount Tiers: Quantity-based discounts
- Priority System: Contract > Exception > Family > Standard
- Contract Management: Dates, indexation framework
- Price Computation: Fully functional per-UoM price calculation
- Client-specific product references
- Dual reference display (GYPEX + Client)
- Reference mapping on all sales documents
- One reference per client per product
- GYPEX reference auto-generation
- Client reference display
- Both references on order lines
- References in printed reports
- Unit conversion display
- Framework ready for IMAP/SMTP
- Configuration via Settings
- Auto-logging capability (requires IMAP/SMTP server configuration)
- Automatic invoice creation when delivery is confirmed
- Integrated with stock picking workflow
- Supports Proof of Delivery (POD) scenarios
- Credit limit per client
- Real-time credit usage calculation
- Automatic credit check on order confirmation
- Order blocking if credit exceeded
- Product families (Tiles, Coatings, Accessories)
- GYPEX reference auto-generation
- Tile attributes (thickness, type, finish)
- Validation rules for tile combinations
- Unit conversion matrix framework
- Odoo standard multi-language support
- User-selectable language
- All custom fields translatable
| Document | Purpose |
|---|---|
| README.md | Main project overview (this file) |
| RUN_MILESTONE1.md | Step-by-step setup and installation guide |
| TEST_MILESTONE1.md | Complete testing checklist and procedures |
| custom-addons/gypex_custom/README.md | Module features and usage guide |
- Odoo: v19 Community Edition
- Python: 3.10+
- PostgreSQL: 12+
- Framework: Odoo ORM, XML Views, Python Models
product.template- Extended with GYPEX fieldsproduct.product- Extended with client reference lookupres.partner- Extended with client category, territory, creditsale.order- Extended with credit checksale.order.line- Extended with reference displaycrm.team- Extended with hierarchyproduct.pricelist- Extended with contract managementproduct.pricelist.item- Extended with per-UoM pricingstock.picking- Extended with auto-invoicegypex.client.reference- Client reference mappinggypex.territory- Sales territoriesgypex.unit.conversion- Unit conversion matrixgypex.pricelist.uom.price- Per-UoM pricinggypex.volume.discount.tier- Volume discounts
- Product form/tree/search views
- Sale order form/tree views
- Partner form/tree views
- CRM team form view
- Pricelist item form view
- Settings view
- Model access rights
- Record rules for hierarchical visibility
- Territory-based access control
See TEST_SCENARIOS_MILESTONE1.md for detailed test scenarios covering:
- ✅ All product variants and validations
- ✅ All pricing scenarios (per-UoM, volume discounts)
- ✅ All CRM hierarchy scenarios
- ✅ All credit management cases
- ✅ All sales order scenarios
- ✅ Auto-invoice on delivery
- ✅ Edge cases and error handling
- ✅ 70+ detailed test cases with step-by-step instructions
See TEST_MILESTONE1.md for quick testing guide.
- Create tile product → Verify GYPEX reference
- Create client → Add client reference
- Create sales order → Verify both references
- Set credit limit → Test credit check
- Configure per-UoM pricing → Test price computation
- Confirm delivery → Verify auto-invoice
After Milestone 1 testing:
-
Deliveries & Transport
- FEFO/FIFO picking
- SSCC/GS1-128 barcodes
- Transport zone pricing
- Carrier comparison
-
Document Management
- PDF attachments
- Document versioning
- Full-text search
-
EDI Integration
- ORDERS message
- DESADV message
- INVOIC message
Module not appearing:
- Check
custom-addons/gypex_customexists - Update Apps List
- Check logs:
logs/odoo.log
Import errors:
- Check Python syntax
- Verify
__init__.pyincludes all models - Restart Odoo
Permission errors:
chmod -R 755 /home/user/Documents/OdooDatabase connection:
sudo systemctl start postgresql- Check documentation files
- Review module README:
custom-addons/gypex_custom/README.md - Check Odoo logs:
logs/odoo.log - Review error messages in Odoo interface
- ✅ Proper Odoo module structure
- ✅ Python coding standards
- ✅ XML view inheritance
- ✅ Security rules implemented
- ✅ Documentation included
- ✅ Error handling
- ✅ Validation rules
- ✅ Clean codebase (no temporary fix files)
- Sales order creation: ✅
- Order confirmation: ✅
- Credit check: ✅
- Reference display: ✅
- Auto-invoice on delivery: ✅
- Framework ready: ✅
- IMAP/SMTP config: ⏳ (requires server setup)
- Hierarchical visibility: ✅
- Territory-based access: ✅
- GYPEX reference: ✅
- Client reference: ✅
- Both on documents: ✅
- Per-UoM pricing: ✅
- Volume discounts: ✅
- Priority system: ✅
| Milestone | Status | Progress |
|---|---|---|
| Milestone 1: CRM, Sales & Invoicing | ✅ Complete | 100% |
| Milestone 2: Deliveries, Transport, DMS, EDI | ⏳ Pending | 0% |
| Milestone 3: Inventory, Purchasing, Planning | ⏳ Pending | 0% |
| Milestone 4: Production Tiles (Phases 1-3) | ⏳ Pending | 0% |
| Milestone 5: Enduits, Reporting, Maintenance | ⏳ Pending | 0% |
- Odoo Documentation: https://www.odoo.com/documentation/19.0/
- Odoo Development: https://www.odoo.com/documentation/19.0/developer/
- Odoo Forum: https://www.odoo.com/forum
LGPL-3 (Odoo Community Edition)
- Read:
RUN_MILESTONE1.md - Install: Run
./setup.sh - Start: Run
./start_odoo.sh - Install Module: Follow installation steps
- Test: See
TEST_MILESTONE1.md
Happy Coding! 🎉