Metadata-Version: 2.1
Name: odoo-addon-l10n_es_genci_purchase
Version: 16.0.1.1.0
Summary: Gestión tarifas GENCI - Compras
Home-page: https://github.com/sygel-technology/sy-l10n-spain
Author: Sygel
License: AGPL-3
Classifier: Programming Language :: Python
Classifier: Framework :: Odoo
Classifier: Framework :: Odoo :: 16.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Requires-Python: >=3.10
Requires-Dist: odoo-addon-l10n-es-genci-account<16.1dev,>=16.0dev
Requires-Dist: odoo<16.1dev,>=16.0a

====================
Tasa Genci - Compras
====================

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

.. |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
.. |badge3| image:: https://img.shields.io/badge/github-sygel--technology%2Fsy--l10n--spain-lightgray.png?logo=github
    :target: https://github.com/sygel-technology/sy-l10n-spain/tree/16.0/l10n_es_genci_purchase
    :alt: sygel-technology/sy-l10n-spain

|badge1| |badge2| |badge3|

This module extends ``l10n_es_genci_account`` to integrate GENCI
functionality into the Purchase workflow.

It automatically creates GENCI rate lines in purchase orders when
products subject to GENCI are added, and ensures correct linkage of
GENCI amounts with vendor bills.

Key Features
------------

- **"Apply GENCI" checkbox** on purchase orders to control GENCI
  application
- **Automatic creation of GENCI lines** based on product rules and
  purchased quantities
- **Consolidation of multiple products sharing the same GENCI rule**
  into a single GENCI line
- **Display of GENCI amounts on purchase order reports** (when enabled
  in company settings)

**Table of contents**

.. contents::
   :local:

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

To install this module, you need to:

- Only install

Usage
=====

Prerequisites
=============

Before using this module, ensure that the base module
**``l10n_es_genci_account``** is properly configured:

- Company GENCI is enabled *(Settings → Companies → GENCI tab)*
- GENCI rules are created with validity dates if necessary
- Products purchased from suppliers are configured as **"Subject to
  GENCI"** with linked rules
- Vendors have **"Subject to GENCI"** enabled when appropriate

For detailed configuration instructions, refer to the
**``l10n_es_genci_account``** module documentation.

1. Create a Purchase Order
==========================

1. Go to **Purchase → Orders → Requests for Quotation → Create**
2. Select a vendor that has **"Subject to GENCI"** enabled

2. Apply GENCI Checkbox
=======================

- The **"Apply GENCI"** checkbox appears in the order header *(only when
  company GENCI is enabled)*
- If the vendor is GENCI-subject, this box should be checked to apply
  GENCI rules
- If left unchecked, **GENCI lines will not be created**, even if
  products require it

3. Add Products
===============

- Add products that are configured as **"Subject to GENCI"**
- Products must have a valid GENCI rule assigned
- The rule’s validity dates must include the purchase order date

4. Automatic GENCI Line Creation
================================

GENCI lines are automatically generated when:

- You save the purchase order
- Or you modify order lines

Behavior:

- **One GENCI line is created per distinct GENCI rule**
- **Quantity = sum of all purchased quantities using that rule**
- GENCI lines appear at the bottom of the order lines

Application Logic
=================

**Conditions for GENCI Application**

GENCI logic is applied only when:

- The company has GENCI enabled
- The **"Apply GENCI"** checkbox is enabled on the purchase order
- The vendor is subject to GENCI
- The fiscal position (if defined) allows GENCI
- Products have valid GENCI rules for the purchase order date

If any requirement is not met, GENCI lines will not be generated.

Known issues / Roadmap
======================

Pending Features:

- **Product GENCI flag type** The ``genci_subject`` field on products is
  currently a selection (``yes`` / ``no``), inherited from
  ``l10n_es_genci_account``. Once this field is migrated to a Boolean in
  the parent module, this module should be updated accordingly to use a
  Boolean flag.

- **GENCI logic reuse** Purchase and Sale modules currently share very
  similar GENCI logic. As a future improvement or during a migration,
  this logic should be extracted into a shared mixin to reduce
  duplication and improve maintainability.

- **Units of Measure handling for GENCI calculations** GENCI amounts are
  currently computed per purchased unit (product_qty), without applying
  any Unit of Measure (UoM) conversion. This is an intentional design
  decision, as GENCI rules are defined per product unit. If future
  requirements introduce UoM-dependent GENCI rules (e.g. weight or
  volume based), this logic should be reviewed and adapted accordingly.

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

Bugs are tracked on `GitHub Issues <https://github.com/sygel-technology/sy-l10n-spain/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 <https://github.com/sygel-technology/sy-l10n-spain/issues/new?body=module:%20l10n_es_genci_purchase%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Sygel

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

- `Sygel <https://www.sygel.es>`__:

  - Ángel Rivas
  - Valentín Vinagre

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

This module is part of the `sygel-technology/sy-l10n-spain <https://github.com/sygel-technology/sy-l10n-spain/tree/16.0/l10n_es_genci_purchase>`_ project on GitHub.

You are welcome to contribute.
