# Modelo de Datos: Account **Modulo:** account **Total Modelos:** 55 **Modelos Documentados:** 6 (principales) --- ## 1. Indice de Modelos Principales | Modelo | Descripcion | Campos | Archivo | |--------|-------------|--------|---------| | account.move | Asientos/Facturas | 50+ | account_move.py | | account.move.line | Lineas | 40+ | account_move_line.py | | account.account | Cuentas | 15+ | account_account.py | | account.journal | Diarios | 20+ | account_journal.py | | account.tax | Impuestos | 20+ | account_tax.py | | account.payment | Pagos | 25+ | account_payment.py | --- ## 2. Detalle por Modelo ### 2.1 account.move (Asientos/Facturas) **Archivo:** `models/account_move.py` **Descripcion:** Journal Entry / Invoice **Hereda de:** portal.mixin, mail.thread, mail.activity.mixin, sequence.mixin #### Estado Principal (state) | Estado | Descripcion | |--------|-------------| | draft | Borrador | | posted | Publicado | | cancel | Cancelado | #### Estado de Pago (payment_state) | Estado | Descripcion | |--------|-------------| | not_paid | No pagado | | in_payment | En proceso de pago | | paid | Pagado | | partial | Parcialmente pagado | | reversed | Revertido | | blocked | Bloqueado | #### Campos Principales | Campo | Tipo | Req | Descripcion | |-------|------|-----|-------------| | name | Char | No | Numero de asiento | | ref | Char | No | Referencia | | date | Date | Si | Fecha del asiento | | state | Selection | Si | Estado | | move_type | Selection | Si | Tipo de movimiento | | journal_id | Many2one | Si | Diario | | company_id | Many2one | Si | Empresa | | currency_id | Many2one | Si | Moneda | | partner_id | Many2one | No | Socio | | line_ids | One2many | No | Lineas | #### Campos de Facturacion | Campo | Tipo | Descripcion | |-------|------|-------------| | invoice_date | Date | Fecha factura | | invoice_date_due | Date | Fecha vencimiento | | invoice_payment_term_id | Many2one | Terminos de pago | | invoice_line_ids | One2many | Lineas de factura | | amount_untaxed | Monetary | Subtotal | | amount_tax | Monetary | Impuestos | | amount_total | Monetary | Total | | amount_residual | Monetary | Monto debido | | payment_state | Selection | Estado de pago | --- ### 2.2 account.move.line (Lineas) **Archivo:** `models/account_move_line.py` **Descripcion:** Journal Item **Hereda de:** analytic.mixin #### Campos Principales | Campo | Tipo | Req | Descripcion | |-------|------|-----|-------------| | move_id | Many2one | Si | Asiento padre | | account_id | Many2one | Si | Cuenta contable | | name | Char | No | Etiqueta | | debit | Monetary | No | Debito | | credit | Monetary | No | Credito | | balance | Monetary | No | Saldo (computed) | | amount_currency | Monetary | No | Monto en moneda | | currency_id | Many2one | Si | Moneda | | partner_id | Many2one | No | Socio | | tax_ids | Many2many | No | Impuestos | | tax_line_id | Many2one | No | Impuesto origen | | reconciled | Boolean | No | Reconciliado | | amount_residual | Monetary | No | Pendiente | | full_reconcile_id | Many2one | No | Reconciliacion completa | --- ### 2.3 account.account (Cuentas) **Archivo:** `models/account_account.py` **Descripcion:** Account #### Campos | Campo | Tipo | Req | Descripcion | |-------|------|-----|-------------| | code | Char | Si | Codigo de cuenta | | name | Char | Si | Nombre | | account_type | Selection | Si | Tipo de cuenta | | reconcile | Boolean | Si | Permite reconciliacion | | currency_id | Many2one | No | Moneda especifica | | company_id | Many2one | Si | Empresa | | active | Boolean | No | Activo | --- ### 2.4 account.journal (Diarios) **Archivo:** `models/account_journal.py` **Descripcion:** Journal #### Campos | Campo | Tipo | Req | Descripcion | |-------|------|-----|-------------| | name | Char | Si | Nombre | | code | Char | Si | Codigo (5 chars) | | type | Selection | Si | Tipo de diario | | default_account_id | Many2one | No | Cuenta por defecto | | company_id | Many2one | Si | Empresa | | currency_id | Many2one | No | Moneda | --- ### 2.5 account.tax (Impuestos) **Archivo:** `models/account_tax.py` **Descripcion:** Tax #### Campos | Campo | Tipo | Req | Descripcion | |-------|------|-----|-------------| | name | Char | Si | Nombre | | type_tax_use | Selection | Si | Uso: sale, purchase, none | | amount_type | Selection | Si | Tipo: percent, fixed, group, division | | amount | Float | No | Monto/porcentaje | | company_id | Many2one | Si | Empresa | | children_tax_ids | One2many | No | Impuestos hijos (si grupo) | --- ### 2.6 account.payment (Pagos) **Archivo:** `models/account_payment.py` **Descripcion:** Payment #### Estado | Estado | Descripcion | |--------|-------------| | draft | Borrador | | in_process | En proceso | | paid | Pagado | | canceled | Cancelado | | rejected | Rechazado | #### Campos | Campo | Tipo | Req | Descripcion | |-------|------|-----|-------------| | name | Char | No | Numero | | state | Selection | Si | Estado | | date | Date | Si | Fecha | | amount | Monetary | Si | Monto | | payment_type | Selection | Si | outbound/inbound | | partner_type | Selection | Si | customer/supplier | | partner_id | Many2one | No | Socio | | journal_id | Many2one | Si | Diario | | move_id | Many2one | No | Asiento | --- ## 3. Diagrama Entidad-Relacion ``` ┌───────────────────────┐ line_ids ┌───────────────────────┐ │ account.move │────────────────────►│ account.move.line │ │ │ │ │ │ - name │ move_id │ - debit │ │ - state │◄─────────────────────│ - credit │ │ - move_type │ │ - balance │ │ - amount_total │ │ - account_id ──────►│ └───────────┬───────────┘ │ - partner_id │ │ │ - tax_ids │ │ journal_id └───────────┬───────────┘ ▼ │ ┌───────────────────────┐ │ account_id │ account.journal │ ▼ │ │ ┌───────────────────────┐ │ - type │ │ account.account │ │ - code │ │ │ │ - default_account_id │ │ - code │ └───────────────────────┘ │ - account_type │ │ - reconcile │ └───────────────────────┘ ┌───────────────────────┐ move_id ┌───────────────────────┐ │ account.payment │────────────────────►│ account.move │ │ │ │ │ │ - state │ │ (genera asiento) │ │ - amount │ │ │ │ - payment_type │ └───────────────────────┘ └───────────────────────┘ ┌───────────────────────┐ │ account.tax │ │ │ │ - amount_type │ │ - amount │ │ - type_tax_use │ └───────────────────────┘ ``` --- **Referencias:** - Carpeta models: `addons/account/models/`