- Changed xpath from div[@id='website_info_settings'] to block[@id='website_info_settings'] - Fixes RPC error when loading res.config.settings view [FIX] product_price_category_supplier: Convert README to reStructuredText - Converted README.md to README.rst for proper Odoo documentation - Fixed docutils warnings and formatting issues - Updated reStructuredText syntax for code blocks and literals |
||
|---|---|---|
| .. | ||
| controllers | ||
| data | ||
| i18n | ||
| migrations | ||
| models | ||
| readme | ||
| security | ||
| static | ||
| tests | ||
| views | ||
| .codeclimate.yml | ||
| .editorconfig | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| __init__.py | ||
| __manifest__.py | ||
| LICENSE.txt | ||
| README.md | ||
| README.rst | ||
| setup.py | ||
Website Sale - Aplicoop
Author: Criptomart License: AGPL-3 Maintainer: Criptomart SL
Summary
Modern replacement for legacy Aplicoop - Cooperative group ordering system with separate carts and multi-language support.
Description
Website Sale Aplicoop provides a complete group ordering system designed for cooperative consumption groups. It replaces the legacy Aplicoop system with a modern, scalable solution where customers organize collaborative orders, manage group memberships, and handle separate shopping carts. Perfect for food cooperatives, buying groups, and collective purchasing organizations.
Features
- ✅ Group order management with full lifecycle (draft → confirmed → completed)
- ✅ Separate shopping carts per order group
- ✅ Group membership tracking with active/inactive states
- ✅ Order collection and cutoff dates with validation
- ✅ Pickup day configuration and fulfillment tracking
- ✅ Multi-language support (ES, PT, GL, CA, EU, FR, IT)
- ✅ Partner location management for group coordination
- ✅ Product ecosystem integration (ribbons, pricing, margins)
- ✅ Order state transitions with email notifications
- ✅ Delivery tracking and group order fulfillment
- ✅ Financial tracking per group member
- ✅ Automatic translation of UI elements
Installation
- Place addon in Odoo addons folder:
/addons/website_sale_aplicoop - Activate developer mode
- Go to Apps → Update Apps List
- Search for "Website Sale - Aplicoop"
- Click Install
Requirements
- Odoo 18.0+
- Website module
- Sale module
- Product module
- Account module
Dependencies
- base
- web
- website
- sale
- product
- account
Usage
Administrator Setup
1. Create a Group Order
- Go to Website Sale → Group Orders (or Coops → Órdenes de Grupo)
- Click Create
- Fill in:
- Name: e.g., "Weekly Cooperative Order #5"
- Group: Select the cooperative group
- Collection Date: When orders will be collected
- Cutoff Date: Last moment to add items
- Pickup Date: When group members collect their orders
- Save
2. Configure Pickup Dates
- Go to Settings → Website → Shop Settings
- Configure Pickup Days: Define which days are available
- Set Group Settings: Default locations, delivery partners
3. Add Group Members
- Open a Group Order
- In the Members tab, click Add
- Select partner(s)
- Set active/inactive status
- Save
Customer Experience
For Group Members on Website
- Browse Products: Members see products with eco-ribbons, pricing, margin info
- Add to Cart: Select items (cart is separate per group order)
- Review Cart: See order summary before cutoff date
- Submit Order: Confirm before cutoff time
- Receive Notification: Get email with pickup details
- Pickup: Collect order on designated pickup date
Order Workflow
Draft → Confirmed → Collected → Invoiced → Completed
↓
Cancelled (if member opts out)
Configuration
Basic Configuration
Required:
- Create group orders with collection/cutoff/pickup dates
- Assign group members to orders
- Set available pickup dates
Optional:
- Configure custom email templates
- Set up product-specific group restrictions
- Customize group order report
Multi-Language Setup
The addon automatically translates:
- Interface elements
- Form labels
- Report headers
- Email notifications
Supported Languages: ES, PT, GL, CA, EU, FR, IT
Translations are managed in:
i18n/[language].pofiles- Auto-extracted from templates
- See
docs/TRANSLATION_CONVENTIONS.mdfor translation patterns
Website Customization
Edit templates in: views/website_templates.xml
Key customizable sections:
eskaera_page: Main group order displayeskaera_details: Order details viewmember_cart: Individual member cart interface
Technical Details
Core Models
group.order (Main group order)
name(Char): Order identifiergroup_id(Many2one): Link to groupstate(Selection): draft/confirmed/collected/invoiced/completed/cancelledcollection_date(Date): When group collectscutoff_date(Datetime): Last moment to orderpickup_date(Date): Member pickup dayline_ids(One2many): Order linesmember_ids(One2many): Group membersactive(Boolean): Soft delete
group.order.line (Order items per member)
order_id(Many2one): Parent group ordermember_id(Many2one): Which group memberproduct_id(Many2one): Ordered productquantity(Float): Amount orderedunit_price(Float): Price per unitsubtotal(Float): Computed (qty × price)
group.partner (Group member tracking)
partner_id(Many2one): Odoo partnergroup_id(Many2one): Which groupactive(Boolean): Active member statusrole(Selection): admin/member
Extended Models
product.template
group_order_allowed(Boolean): Can be in group orderseco_ribbon_id(Many2one): Environmental ribbonmargin_type_id(Many2one): Pricing margin
sale.order
group_order_id(Many2one): Parent group order (if applicable)
Views & Templates
Backend Views:
group.orderlist/form viewsgroup.order.lineinline formgroup.partnerconfiguration view
Frontend Templates:
eskaera_page: Main group order displayeskaera_details: Order details/summarymember_cart: Individual cart interfacegroup_members: Member list view
Integration Points
This addon integrates with:
-
Product Modules
product_eco_ribbon- Eco-friendly product indicatorsproduct_margin_type- Dynamic product pricingproduct_pricing_margins- Cost management
-
Website/E-commerce
elika_bilbo_website_theme- Custom website themewebsite_sale- Core shop functionalitywebsite_legal_es- Legal compliance (Spanish)
-
Sales/Accounting
sale- Sales order generationaccount- Invoicing
Testing
Run tests with:
cd /home/snt/Documentos/lab/odoo/kidekoop/odoo-addons
python -m pytest website_sale_aplicoop/tests/ -v
Test Coverage:
- ✅ Group order creation/deletion
- ✅ Member management
- ✅ Order line addition/removal
- ✅ State transitions
- ✅ Cutoff date validation
- ✅ Pickup date assignment
- ✅ Translation extraction (7 languages)
- ✅ Website template rendering
Known Limitations
- Group orders are company-specific
- Cannot change pickup date after order is confirmed
- Members cannot modify orders after cutoff
- Automatic invoicing must be triggered manually
Changelog
18.0.1.2.0 (2026-02-02)
- UI Improvements:
- Increased cart text size (2x) for better readability
- Increased cart icon sizes (1.2rem) with proper button proportions
- Enlarged "Save as Draft" button in checkout (2x text and icon)
- Date Calculation Fixes:
- Fixed pickup_date calculation (was adding extra week incorrectly)
- Simplified pickup_date computation logic
- Display Enhancements:
- Added delivery_date display to all order pages
- Improved date field visibility on order cards and product pages
18.0.1.0.0 (2024-12-20)
- Initial release
- Core group order functionality
- Multi-language translation support
- Complete member management
- Order state machine implementation
18.0.1.1.0 (2025-01-10)
- Fixed translation extraction for "Pickup day" and "Cutoff day"
- Improved QWeb template for better performance
- Added comprehensive documentation
Support
For issues, feature requests, or contributions:
- Repository: https://git.criptomart.net/KideKoop/kidekoop/odoo-addons
- Main Documentation:
/docs/folder (transversal docs) - Addon Documentation: This README +
/docs/ODOO18_TRANSLATIONS_LEARNINGS.md - Maintainer: Criptomart SL
Documentation References
- Translation Patterns: See
docs/TRANSLATION_CONVENTIONS.md - Translation Examples: See
docs/TRANSLATION_EXAMPLES.md - Odoo 18 Translation Guide: See
docs/ODOO18_TRANSLATIONS_LEARNINGS.md - Project Architecture: See
docs/ARCHITECTURE.md
Related Modules
product_eco_ribbon- Product environmental classificationproduct_margin_type- Dynamic product pricingproduct_pricing_margins- Complete pricing systemelika_bilbo_website_theme- Custom website themewebsite_legal_es- Legal compliance
Version: 18.0.1.2.0 Odoo: 18.0+ License: AGPL-3 Maintainer: Criptomart SL Repository: https://git.criptomart.net/KideKoop/kidekoop/odoo-addons