Tasa Genci - Compras

Beta License: AGPL-3 sygel-technology/sy-l10n-spain

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

Table of contents

Installation

To install this module, you need to:

  • Only install

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. 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.

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

Authors

Contributors

Maintainers

This module is part of the sygel-technology/sy-l10n-spain project on GitHub.

You are welcome to contribute.