addons-cm/product_origin_char
snt c8b83cc333 [ADD] product_origin_char: Free text origin field per supplier
New addon to replace structured country/state fields with flexible
free-text origin descriptions.

Features:
- Translatable origin_text field in product.supplierinfo
- Computed origin field in products based on main_seller_id
- Support for creative supplier origin descriptions
- Full OCA documentation structure
- ES/EU translations included
- 8 unit tests (all passing)

Replaces product_origin for use cases where suppliers use non-standardized
origin descriptions (e.g., 'Valencia, Spain', 'Huerta de...', etc.)

Depends on: product, product_main_seller
Author: Criptomart
Funding: Elika Bilbo
2026-02-25 18:42:54 +01:00
..
i18n [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00
models [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00
readme [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00
static/description [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00
tests [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00
views [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00
__init__.py [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00
__manifest__.py [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00
pyproject.toml [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00
README.rst [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00
README_DEV.md [ADD] product_origin_char: Free text origin field per supplier 2026-02-25 18:42:54 +01:00

==================
Product Origin Text
==================

..
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:todo
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3

|badge1| |badge2|

This module replaces the structured country/state origin fields from ``product_origin``
with a flexible free-text field that can be defined per supplier.

**Problem:**

The standard ``product_origin`` module provides structured fields (country + state) for
product origin. However, suppliers often use creative and varied formats to describe
product origin:

* "Valencia, Spain"
* "Huerta de Ana, Aragón"
* "Organic Farm - Northern Italy"
* "Local producer - Basque Country"
* "Fair Trade - Colombia"

These free-form descriptions don't fit into structured country/state fields.

**Solution:**

This module adds a translatable ``origin_text`` field to ``product.supplierinfo`` that:

* Allows free-form text to describe product origin
* Is stored per supplier (different suppliers may have different origin info)
* Is translatable (can be described differently in each language)
* Is automatically displayed on the product based on the main vendor
  (from ``product_main_seller`` module)

**Features:**

* Free-text ``Origin`` field in supplier info (Purchase tab of product)
* Computed ``Origin`` field in product form (shows main vendor's origin)
* Field is visible in product list view (optional column)
* Full translation support for multiple languages
* Compatible with existing supplier management workflows

**Table of contents**

.. contents::
   :local:

Installation
============

This module depends on:

* ``product`` - Base product management
* ``product_main_seller`` - To determine the main vendor for products

To install:

#. Install the required dependencies
#. Install this module through the Odoo Apps menu

Configuration
=============

No configuration is needed. The module works automatically after installation.

The origin text displayed on a product is based on the **main vendor** as determined
by ``product_main_seller`` (the first supplier in the vendors list).

Usage
=====

**To add origin information to a product:**

#. Go to a product form
#. Open the **Purchase** tab
#. In the **Vendors** section, select a supplier line
#. Fill in the **Origin** field with free-form text describing the origin
   (e.g., "Valencia, Huerta de..., Spain")
#. Save the product

**To view origin information:**

* The **Origin** field will be automatically displayed on the product form
  (below the **Main Vendor** field in the Purchase tab)
* The origin shown is from the **main vendor** (first supplier in the list)
* You can also add the Origin column to product list views

**To change the displayed origin:**

* Reorder the vendors list to change which is the main vendor
* The origin text will automatically update to show the new main vendor's origin

**Multi-language support:**

* The origin text is translatable
* Switch to another language and edit the supplier info to provide a translation
* Each language can have a different description of the origin

Bug Tracker
===========

Bugs are tracked on `Criptomart GitLab Issues
<https://git.criptomart.net/criptomart/addons-cm/issues>`_.

In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
feedback.

Credits
=======

Contributors
------------

* `Criptomart <https://criptomart.net>`_:

  * Development and implementation

Financiers
----------

**Development:**

* `Criptomart <https://criptomart.net>`_

**Funding:**

* `Elika Bilbo <https://elikabilbo.eus>`_

This module was developed by Criptomart with funding from Elika Bilbo.

Maintainers
-----------

This module is maintained by Criptomart.

.. image:: https://criptomart.net/logo.png
   :alt: Criptomart
   :target: https://criptomart.net

This module is part of the `addons-cm <https://git.criptomart.net/criptomart/addons-cm>`_ project.