commission
Esta página combina orientación editorial con evidencia extraída de la rama oficial indicada. Pruebe siempre el flujo con sus permisos y configuración.
Propósito
El módulo commission incorpora o amplía funciones relacionadas con commission. Su alcance real se determina por los modelos, acciones y dependencias documentados a continuación; no debe activarse únicamente por su nombre.
Descripción oficial de la rama (idioma original)
The Commission Module allows you to manage commission for sale's agent. A commission move is created when posting the invoice, following the agent's commission plan.
El análisis encontró 13 archivos Python, 39 archivos XML, 29 vistas, 36 acciones, 8 menús y 0 informes.
Guía funcional para el usuario
A quién le sirve
Este módulo interesa a las personas responsables de los procesos relacionados con commission, a quienes configuran la compañía y a quienes revisan sus resultados. Los administradores deben participar cuando se activen dependencias, permisos o secuencias.
Qué podrá hacer
Al finalizar la configuración podrá reconocer los registros que aporta commission, ejecutar sus acciones con el estado correcto y comprender qué información termina compartiendo con otros módulos.
Requisitos y preparación
Antes de activarlo confirme la compañía, moneda, usuarios y grupos aplicables. Instale y configure primero sus dependencias obligatorias. Si existen datos reales, ensaye la activación y actualización sobre una copia restaurada.
Active primero las dependencias, revise la configuración de la compañía y ensaye el flujo completo antes de usarlo en producción.
Dependencias obligatorias
account— debe estar instalado y configurado antes de probar este módulo.account_invoice— debe estar instalado y configurado antes de probar este módulo.account_product— debe estar instalado y configurado antes de probar este módulo.company— debe estar instalado y configurado antes de probar este módulo.ir— debe estar instalado y configurado antes de probar este módulo.party— debe estar instalado y configurado antes de probar este módulo.product— debe estar instalado y configurado antes de probar este módulo.res— debe estar instalado y configurado antes de probar este módulo.
Integraciones opcionales
account_invoice_stock— habilita una integración adicional; pruebe la combinación explícitamente.sale— habilita una integración adicional; pruebe la combinación explícitamente.stock— habilita una integración adicional; pruebe la combinación explícitamente.
Configuración inicial recomendada
- Active el módulo y vuelva a iniciar la sesión para cargar menús y permisos.
- Revise las nuevas opciones de configuración de compañía y los valores por defecto.
- Asigne grupos a usuarios de prueba aplicando mínimo privilegio.
- Cree datos maestros pequeños y verificables antes de importar información masiva.
- Ejecute un caso completo desde borrador hasta su estado final y revise los registros relacionados.
Objetos y conceptos del módulo
- account.invoice: agrupa 4 modelo(s), entre ellos
account.invoice,account.invoice.credit,account.invoice.credit.start,account.invoice.line. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - account.journal: agrupa 1 modelo(s), entre ellos
account.journal. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - commission: agrupa 1 modelo(s), entre ellos
commission. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - commission.agent: agrupa 2 modelo(s), entre ellos
commission.agent,commission.agent.selection. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - commission.create_invoice: agrupa 2 modelo(s), entre ellos
commission.create_invoice,commission.create_invoice.ask. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - commission.plan: agrupa 2 modelo(s), entre ellos
commission.plan,commission.plan.line. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - commission.reporting: agrupa 3 modelo(s), entre ellos
commission.reporting.agent,commission.reporting.agent.time_series,commission.reporting.context. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - ir.email: agrupa 1 modelo(s), entre ellos
ir.email.template. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - party.erase: agrupa 1 modelo(s), entre ellos
party.erase. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - party.party: agrupa 1 modelo(s), entre ellos
party.party. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - party.replace: agrupa 1 modelo(s), entre ellos
party.replace. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - product.product: agrupa 1 modelo(s), entre ellos
product.product. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - product.template: agrupa 1 modelo(s), entre ellos
product.template. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - product.template-commission: agrupa 1 modelo(s), entre ellos
product.template-commission.agent. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - sale.line: agrupa 1 modelo(s), entre ellos
sale.line. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - sale.sale: agrupa 1 modelo(s), entre ellos
sale.sale. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - stock.move: agrupa 1 modelo(s), entre ellos
stock.move. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - stock.reporting: agrupa 1 modelo(s), entre ellos
stock.reporting.margin.context. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
Flujo de trabajo habitual
- Seleccione la compañía y fecha correctas antes de crear el documento.
- Complete primero los datos maestros y luego las líneas o detalles.
- Use los botones del formulario para cambiar de estado; guardar no equivale a validar o contabilizar.
- Revise advertencias, totales, documentos relacionados y trazabilidad.
- Compruebe el efecto en los módulos dependientes antes de cerrar el proceso.
Acciones, estados y asistentes
invoice— acción o transición que inicia invoice. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.cancelled— acción o transición que inicia cancelled. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.paid— acción o transición que inicia paid. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.quotation— acción o transición que inicia quotation. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.commission.create_invoice— asistente que reúne datos y ejecuta commission › create invoice. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
Controles antes de producción
- Defina quién crea, revisa, confirma, cancela y consulta.
- Pruebe períodos cerrados, usuarios sin permisos y datos incompletos.
- Verifique numeración, moneda, redondeo y zona horaria cuando correspondan.
- Documente cómo corregir un error sin editar directamente la base de datos.
- Incluya sus tablas y archivos en el procedimiento de copia y restauración.
Diagnóstico y resolución de problemas
- Si no aparece el menú, compruebe activación, actualización de la lista de módulos, grupos y nueva sesión.
- Si un campo no acepta un valor, revise su dominio, compañía, estado y dependencias configuradas.
- Si un botón está oculto o deshabilitado, revise permisos y transición válida; no modifique el estado con SQL.
- Si los resultados no coinciden, reproduzca un caso mínimo y compare registros relacionados antes y después.
- Conserve el traceback completo, versión, módulos activos y datos mínimos para diagnosticar un error.
Guía para desarrolladores
Arquitectura y puntos de extensión
El paquete contiene 26 clases Python y declara o extiende 26 modelos. Utiliza Boolean, Char, Date, Function, Integer, Many2Many, Many2One, Numeric, One2Many, Reference, Selection. Los desarrolladores deben localizar primero si una clase crea un modelo nuevo o usa PoolMeta para extender uno existente, conservar las llamadas a super() y no duplicar reglas disponibles en las dependencias.
Modelos registrados o extendidos
account.invoiceaccount.invoice.creditaccount.invoice.credit.startaccount.invoice.lineaccount.journalcommissioncommission.agentcommission.agent.selectioncommission.create_invoicecommission.create_invoice.askcommission.plancommission.plan.linecommission.reporting.agentcommission.reporting.agent.time_seriescommission.reporting.contextir.email.templateparty.eraseparty.partyparty.replaceproduct.productproduct.templateproduct.template-commission.agentsale.linesale.salestock.movestock.reporting.margin.context
Tipos de campos utilizados
BooleanCharDateFunctionIntegerMany2ManyMany2OneNumericOne2ManyReferenceSelection
Clases y métodos públicos detectados
Clases: AbstractCommissionMixin, Agent, AgentSelection, AgentTimeseries, Commission, Context, CreateInvoice, CreateInvoiceAsk, CreditInvoice, CreditInvoiceStart, EmailTemplate, Erase, FormulaError, Invoice, InvoiceLine, Journal, Line, Move, Party, Plan, PlanLines, Product, Replace, Sale, Template, Template_Agent
Métodos: account(), agent_plans_used(), cancel(), chat_language(), check_erase_company(), check_formula(), compute(), copy(), create_commissions(), default_commission_method(), default_company(), default_currency(), default_formula(), default_from_date(), default_include_commission(), default_period(), default_to_date(), default_type(), default_type_(), default_with_agent(), do_create_(), email_models(), fields_to_replace(), get_amount(), get_commissions(), get_context_formula(), get_domain(), get_invoice_line(), get_invoice_state(), get_journal(), get_origin(), get_pending_amount(), get_rec_name(), get_trend(), invoice(), match(), on_change_active(), on_change_agent(), on_change_company(), on_change_product(), on_change_with_base_amount(), on_change_with_company(), on_change_with_currency(), on_change_with_type_(), paid(), principal(), quote(), search_company(), search_rec_name(), set_agent(), set_commissions_date(), stock_moves(), table_query(), time_series_all(), update_unit_price(), validate_fields(), view_attributes()
Mapa del código
Se detectaron 13 archivos Python, 39 XML y 0 archivos explícitos de acceso. Los XML conectan modelos con vistas, menús, acciones e informes; los CSV de acceso establecen permisos iniciales.
__init__.pyaccount.pyaccount.xmlcommission.pycommission.xmlcommission_reporting.pycommission_reporting.xmldoc/conf.pyexceptions.pyinvoice.pyinvoice.xmlir.pymessage.xmlparty.pyparty.xmlproduct.pyproduct.xmlsale.pysale.xmlstock.pystock.xmlstock_reporting_margin.pystock_reporting_margin.xmlview/account_invoice_credit_start_form.xmlview/agent_form.xmlview/agent_list.xmlview/agent_selection_form.xmlview/agent_selection_list.xmlview/agent_selection_list_sequence.xmlview/commission_create_invoice_ask_form.xmlview/commission_form.xmlview/commission_list.xmlview/invoice_form.xmlview/invoice_line_form.xmlview/party_form.xmlview/plan_form.xmlview/plan_line_form.xmlview/plan_line_list.xmlview/plan_line_list_sequence.xmlview/plan_list.xmlview/reporting_agent_graph_amount.xmlview/reporting_agent_graph_number.xmlview/reporting_agent_list.xmlview/reporting_agent_time_series_graph_amount.xmlview/reporting_agent_time_series_graph_number.xmlview/reporting_agent_time_series_list.xmlview/reporting_context_form.xmlview/sale_form.xmlview/sale_line_form.xmlview/stock_move_form.xml
Plan de pruebas
- Activación en una base vacía y actualización desde la revisión anterior.
- Creación, modificación, copia y eliminación según estado y permisos.
- Cada botón, transición y asistente con casos válidos e inválidos.
- Reglas multicompañía, traducciones, zonas horarias y monedas aplicables.
- Instalación conjunta con dependencias obligatorias e integraciones opcionales.
- Copia y restauración de registros, adjuntos e informes producidos.
Compatibilidad y actualización
Mantenga servidor y módulos en la serie 8.0. Antes de actualizar compare tryton.cfg, migraciones de __register__, cambios de estados, XML IDs y permisos. Una compilación exitosa no reemplaza una migración ensayada ni la conciliación funcional de datos.
Evidencia documental oficial
Temas encontrados: Design · Agent · Agent Selection · Plan · Commission · Wizards · Create Commission Invoice · Commission Reporting Agent · Product · Party · Sale · Invoice · Commission Module · Usage · Setting automatically the agent when selling to a customer · Rewarding employee salesman with commission
-
- doc/design.rst: The Commission Module introduces and extends the following concepts:
-
- doc/index.rst: The Commission Module allows you to manage commission for sale's agent. A commission move is created when posting the invoice, following the agent's commission plan.
-
- doc/usage.rst: Setting automatically the agent when selling to a customer