addons-cm/website_sale_aplicoop
2026-02-12 17:15:33 +01:00
..
controllers Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
data Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
i18n Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
migrations Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
models Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
readme Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
security Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
static Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
tests Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
views [IMP] website_sale_aplicoop: Add product origin fields to product cards 2026-02-12 16:40:01 +01:00
.codeclimate.yml Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
.editorconfig Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
.gitignore Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
.pre-commit-config.yaml Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
__init__.py Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
__manifest__.py update pylint10, corrije authors manifest 2026-02-12 17:15:33 +01:00
LICENSE.txt Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
README.md Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
README.rst Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00
setup.py Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00

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

  1. Place addon in Odoo addons folder: /addons/website_sale_aplicoop
  2. Activate developer mode
  3. Go to AppsUpdate Apps List
  4. Search for "Website Sale - Aplicoop"
  5. 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

  1. Go to Website SaleGroup Orders (or CoopsÓrdenes de Grupo)
  2. Click Create
  3. 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
  4. Save

2. Configure Pickup Dates

  1. Go to SettingsWebsiteShop Settings
  2. Configure Pickup Days: Define which days are available
  3. Set Group Settings: Default locations, delivery partners

3. Add Group Members

  1. Open a Group Order
  2. In the Members tab, click Add
  3. Select partner(s)
  4. Set active/inactive status
  5. Save

Customer Experience

For Group Members on Website

  1. Browse Products: Members see products with eco-ribbons, pricing, margin info
  2. Add to Cart: Select items (cart is separate per group order)
  3. Review Cart: See order summary before cutoff date
  4. Submit Order: Confirm before cutoff time
  5. Receive Notification: Get email with pickup details
  6. Pickup: Collect order on designated pickup date

Order Workflow

Draft → Confirmed → Collected → Invoiced → Completed
  ↓
Cancelled (if member opts out)

Configuration

Basic Configuration

Required:

  1. Create group orders with collection/cutoff/pickup dates
  2. Assign group members to orders
  3. Set available pickup dates

Optional:

  1. Configure custom email templates
  2. Set up product-specific group restrictions
  3. 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].po files
  • Auto-extracted from templates
  • See docs/TRANSLATION_CONVENTIONS.md for translation patterns

Website Customization

Edit templates in: views/website_templates.xml

Key customizable sections:

  • eskaera_page: Main group order display
  • eskaera_details: Order details view
  • member_cart: Individual member cart interface

Technical Details

Core Models

group.order (Main group order)

  • name (Char): Order identifier
  • group_id (Many2one): Link to group
  • state (Selection): draft/confirmed/collected/invoiced/completed/cancelled
  • collection_date (Date): When group collects
  • cutoff_date (Datetime): Last moment to order
  • pickup_date (Date): Member pickup day
  • line_ids (One2many): Order lines
  • member_ids (One2many): Group members
  • active (Boolean): Soft delete

group.order.line (Order items per member)

  • order_id (Many2one): Parent group order
  • member_id (Many2one): Which group member
  • product_id (Many2one): Ordered product
  • quantity (Float): Amount ordered
  • unit_price (Float): Price per unit
  • subtotal (Float): Computed (qty × price)

group.partner (Group member tracking)

  • partner_id (Many2one): Odoo partner
  • group_id (Many2one): Which group
  • active (Boolean): Active member status
  • role (Selection): admin/member

Extended Models

product.template

  • group_order_allowed (Boolean): Can be in group orders
  • eco_ribbon_id (Many2one): Environmental ribbon
  • margin_type_id (Many2one): Pricing margin

sale.order

  • group_order_id (Many2one): Parent group order (if applicable)

Views & Templates

Backend Views:

  • group.order list/form views
  • group.order.line inline form
  • group.partner configuration view

Frontend Templates:

  • eskaera_page: Main group order display
  • eskaera_details: Order details/summary
  • member_cart: Individual cart interface
  • group_members: Member list view

Integration Points

This addon integrates with:

  • Product Modules

    • product_eco_ribbon - Eco-friendly product indicators
    • product_margin_type - Dynamic product pricing
    • product_pricing_margins - Cost management
  • Website/E-commerce

    • elika_bilbo_website_theme - Custom website theme
    • website_sale - Core shop functionality
    • website_legal_es - Legal compliance (Spanish)
  • Sales/Accounting

    • sale - Sales order generation
    • account - 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:

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
  • product_eco_ribbon - Product environmental classification
  • product_margin_type - Dynamic product pricing
  • product_pricing_margins - Complete pricing system
  • elika_bilbo_website_theme - Custom website theme
  • website_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