Documentación operativa DIPSA

Guía para Comercial, Administración, Contabilidad y QA.

Guía para usuarios de Comercial, Administración y Contabilidad, y para QA. Cubre el flujo de reserva y venta de lotes, menús del sistema, plan de cuentas, facturas, cobros y pagos, gastos por CDC, comisiones, liquidaciones de propietarios y niveles de acceso.


¿Qué consulta tenés?

Usá estos enlaces para ir directo a la sección que necesitás:

Consulta Ir a
¿Cómo se relacionan los módulos? Arquitectura de módulos
¿Cómo funciona el flujo reserva → venta de lotes? Flujo reserva → venta
¿Qué hace Comercial vs Administrativo? Desglose por área
¿Dónde está cada menú? Mapa de menús
¿Cómo configuro el plan de cuentas? Plan de cuentas
¿Cómo emito facturas de cliente? Emitir facturas
¿Cómo registro cobros y pagos? Pagos clientes y proveedores
¿Cómo configuro comisiones de vendedores? Comisiones
¿Cómo liquido a propietarios? Liquidaciones de propietarios
¿Cómo cargo una factura de gasto con CDC? Carga CDC gastos
¿Cómo clasifico proyecto vs gasto administrativo? Clasificación de gastos
¿Dónde están los libros contables? Libros contables
¿Qué permisos necesita cada perfil? Niveles de acceso
¿Qué debo probar (QA)? Checklist QA

Índice

  1. Arquitectura de módulos
  2. Flujo reserva → venta
  3. Desglose por área
  4. Mapa de menús
  5. Plan de cuentas
  6. Emitir facturas
  7. Pagos clientes y proveedores
  8. Comisiones
  9. Liquidaciones de propietarios
  10. Carga CDC gastos
  11. Clasificación de gastos
  12. Libros contables
  13. Niveles de acceso
  14. Checklist QA
  15. Referencias técnicas

Arquitectura de módulos

Módulos principales

Módulo Rol
py_ctrm_inmobiliaria_base Proyecto, FML, reserva, SEPRELAD, boleta
py_ctrm_inmobiliaria_crm Reserva desde CRM / oportunidad
py_ctrm_inmobiliaria_contratos Pedido, cuotero, contrato e cuotas
py_ctrm_inmobiliaria_liquidacion Acuerdos, comisiones internas, liquidación propietarios
py_ctrm_account_entry_plan Plantillas de asiento (venta, cobro, liquidación, comisiones)
py_ctrm_account App Contabilidad DIPSA, plan de cuentas, menús
py_ctrm_expenses Carga de facturas de gasto por CDC
py_ctrm_sifen_ventas Import CDC de ventas (pedido / factura cliente)
account_payment_paraguay Recibos, pagos proveedor PY, cheques, transferencias

Cómo trabajan juntos (flujo entre módulos)

flowchart TB
    subgraph comercial [Comercial]
        CRM[py_ctrm_inmobiliaria_crm]
        BASE[py_ctrm_inmobiliaria_base]
        CTR[py_ctrm_inmobiliaria_contratos]
    end

    subgraph admin [Admin y liquidacion]
        LIQ[py_ctrm_inmobiliaria_liquidacion]
        PLAN[py_ctrm_account_entry_plan]
    end

    subgraph contabilidad [Contabilidad]
        ACC[py_ctrm_account]
        PAY[account_payment_paraguay]
        EXP[py_ctrm_expenses]
        SIF[py_ctrm_sifen_ventas]
    end

    CRM -->|"crea reserva"| BASE
    BASE -->|"SEPRELAD + pago 1a + boleta"| CTR
    CTR -->|"pedido + cuotero + contrato"| LIQ
    LIQ -->|"cobros / liquidar propietarios"| PLAN
    PLAN -->|"asientos parametrizados"| ACC
    BASE -->|"pago 1a / factura"| PLAN
    PLAN --> PAY
    LIQ -->|"pagar propietario"| PAY
    EXP -->|"factura proveedor CDC"| ACC
    SIF -->|"CDC ventas"| ACC
    ACC --> PAY

Dependencias Odoo (quién depende de quién)

flowchart BT
    BASE[py_ctrm_inmobiliaria_base]
    CTR[py_ctrm_inmobiliaria_contratos]
    CRM[py_ctrm_inmobiliaria_crm]
    LIQ[py_ctrm_inmobiliaria_liquidacion]
    PAY[account_payment_paraguay]
    ACC[py_ctrm_account]
    PLAN[py_ctrm_account_entry_plan]
    EXP[py_ctrm_expenses]
    SIF[py_ctrm_sifen_ventas]

    CTR --> BASE
    CRM --> BASE
    CRM --> CTR
    LIQ --> BASE
    LIQ --> CTR
    LIQ --> PAY
    EXP --> BASE
    EXP --> PAY
    PLAN --> ACC
    PLAN --> PAY
    PLAN --> CTR
    PLAN --> LIQ

Diagrama de clases (modelos clave)

classDiagram
    direction TB

    class inmobiliaria_project {
        +name
        +vendor_commission_percent
        +active_agreement_id
    }
    class inmobiliaria_fml {
        +name
        +state
        +vendor_commission_percent
    }
    class inmobiliaria_lot_reservation {
        +state
        +buyer_name
        +buyer_ci
    }
    class inmobiliaria_seprelad_kyc {
        +is_complete
        +reservation_id
    }
    class sale_order {
        +fml_id
        +reservation_id
        +inm_contract_id
    }
    class inmobiliaria_sale_installment {
        +sequence
        +invoice_id
    }
    class inmobiliaria_contract {
        +partner_id
        +fml_id
        +sale_order_id
    }
    class inmobiliaria_contract_installment {
        +sequence
        +invoice_id
    }
    class inmobiliaria_project_agreement {
        +state
        +account_owner_payable_id
    }
    class inmobiliaria_commission_accrual {
        +state
        +amount
    }
    class inmobiliaria_owner_settlement {
        +state
        +move_id
        +commission_move_id
        +payment_group_id
    }
    class account_move {
        +move_type
        +cdc_number
        +inmobiliaria_project_id
    }
    class account_payment_paraguay {
        +receiptbook_id
    }
    class entry_plan_template {
        +event_type
    }
    class hr_expense {
        +cdc_number
        +is_administrative_expense
        +inmobiliaria_project_id
    }

    inmobiliaria_project "1" --> "*" inmobiliaria_fml : project_id
    inmobiliaria_fml "1" --> "*" inmobiliaria_lot_reservation : fml_id
    inmobiliaria_lot_reservation "1" --> "0..1" inmobiliaria_seprelad_kyc : seprelad_kyc_id
    inmobiliaria_lot_reservation "1" --> "0..1" sale_order : reservation_id
    inmobiliaria_fml "1" --> "0..1" sale_order : fml_id
    sale_order "1" --> "*" inmobiliaria_sale_installment : inm_installment_ids
    sale_order "1" --> "0..1" inmobiliaria_contract : inm_contract_id
    inmobiliaria_lot_reservation --> inmobiliaria_contract : contract_id
    inmobiliaria_contract "1" --> "*" inmobiliaria_contract_installment : installment_ids
    inmobiliaria_contract --> inmobiliaria_fml : fml_id
    inmobiliaria_sale_installment --> account_move : invoice_id
    inmobiliaria_contract_installment --> account_move : invoice_id
    inmobiliaria_project "1" --> "*" inmobiliaria_project_agreement : agreement_ids
    inmobiliaria_project_agreement --> inmobiliaria_owner_settlement : agreement_id
    inmobiliaria_owner_settlement --> inmobiliaria_commission_accrual : commission_accrual_ids
    inmobiliaria_owner_settlement --> account_move : move_id
    inmobiliaria_owner_settlement --> account_payment_paraguay : payment_group_id
    entry_plan_template ..> account_move : genera asiento
    entry_plan_template ..> inmobiliaria_owner_settlement : owner_settlement / commission
    hr_expense --> account_move : vendor bill CDC
    hr_expense --> inmobiliaria_project : inmobiliaria_project_id

Lectura rápida del diagrama

  1. Base define proyecto → FML → reserva (+ SEPRELAD).
  2. CRM alimenta la reserva desde la oportunidad.
  3. Contratos arma sale.order + cuotero; al procesar la cuota 1 crea inmobiliaria.contract.
  4. Liquidación usa cobros del contrato + acuerdo de proyecto para liquidar propietarios y comisiones internas.
  5. Entry plan traduce eventos (venta, cobro, liquidación, comisión) en account.move.
  6. Account + payment Paraguay concentran facturas, cobros, pagos y recibos.
  7. Expenses carga facturas proveedor por CDC; sifen_ventas importa CDC de ventas (flujo aparte).

Flujo reserva → venta

Objetivo

Pasar un lote de reserva a contrato, con SEPRELAD (KYC), pago de la 1ª, boleta, pedido + cuotero y contrato inmobiliario.

Estados de la reserva

stateDiagram-v2
    [*] --> active: Crear reserva
    active --> confirmed: Pago 1ª
    active --> expired: Vence plazo 1ª
    active --> cancelled: Cancelar
    confirmed --> converted: Contrato (cuota 1 cuotero)
    confirmed --> forfeited: Sin 2ª en plazo
    confirmed --> cancelled: Cancelar
    expired --> [*]
    forfeited --> [*]
    cancelled --> [*]
    converted --> [*]
Estado Significado
active Activa (plazo para pagar 1ª)
confirmed Confirmada (1ª pagada)
converted Convertida a contrato
expired Expirada (sin 1ª a tiempo)
forfeited Recuperada (sin 2ª a tiempo)
cancelled Cancelada (libera FML)

Happy path (paso a paso)

  1. Reservar lote desde CRM (oportunidad) o desde FML libre → Inmobiliaria → Reservas.
  2. Completar datos del comprador (nombre, CI, estado civil, etc.).
  3. Completar SEPRELAD / KYC (obligatorio). Guardar y, si hace falta, previsualizar PDF.
  4. Registrar pago 1ª (efectivo, transferencia con adjuntos, o plan de asiento de cobro).

- Se genera/valida la factura de la 1ª.

- La reserva pasa a confirmed.

  1. Generar boleta / recibo (solo con 1ª pagada y datos comprador).
  2. Crear pedido + cuotero (reutiliza la factura de la 1ª si ya existe; no debe duplicarla).
  3. Al procesar / enlazar la cuota 1 del cuotero se crea el contrato, la reserva pasa a converted y el FML a sold.

Camino alternativo

  1. Crear pedido + cuotero primero (sin haber pagado la 1ª desde la reserva).
  2. Registrar el pago enlazando la cuota 1; el sistema reutiliza o genera la factura y continúa hacia el contrato.

Importante: el contrato se crea al procesar la 1ª cuota del cuotero, no en la 2ª.


Desglose por área

Comercial (vendedor / gerente comercial)

Grupos típicos: Vendedor Inmobiliaria, Gerente comercial Inmobiliaria, Usuario Inmobiliaria.

Administrativo / Contabilidad

Grupos típicos: Administrador Inmobiliaria, Facturación (account.group_account_invoice), Administrador contable, Usuario/Administrador Liquidación Inmobiliaria, planes de asiento.


Mapa de menús

Rutas exactas en la interfaz (App → Menú → Submenú).

Contabilidad (app DIPSA)

Necesidad Ruta
Plan de cuentas Contabilidad → Contabilidad → Plan de cuentas
Impuestos Contabilidad → Contabilidad → Impuestos
Diarios Contabilidad → Contabilidad → Diarios
Asientos Contabilidad → Transacciones → Asientos contables
Facturas cliente Contabilidad → Clientes → Facturas
Pagos / cobros cliente Contabilidad → Clientes → Pagos
Facturas proveedor Contabilidad → Proveedores → Facturas
Pagos proveedor Contabilidad → Proveedores → Pagos
Libro diario Contabilidad → Informes → Libro diario
Libro mayor Contabilidad → Informes → Libro mayor
Balance Contabilidad → Informes → Balance
Libro IVA Contabilidad → Informes → Libro IVA
Cargar plan DIPSA Contabilidad → Configuración → Cargar plan DIPSA
Ajustes contables Contabilidad → Configuración → Ajustes

Paraguay / pagos extendidos

Necesidad Ruta
Recibos de clientes Contabilidad → Clientes → Recibos de Clientes
Pagos a proveedores (PY) Contabilidad → Proveedores → Pagos a Proveedores
Órdenes de pago Contabilidad → Proveedores → Órdenes de pago
Cargar factura por CDC Contabilidad → Proveedores → Cargar factura por CDC
Cartera / depósito de cheques Contabilidad → Cartera de Cheques / Depósito de Cheques
Transferencia interna Contabilidad → Transferencia Interna
Talonarios timbrado Contabilidad → Configuración → Talonarios Timbrado

Planes de asiento

Necesidad Ruta
Planes asiento venta Contabilidad → Configuración → Planes asiento venta
Planes compra / NC Contabilidad → Configuración → Planes asiento compra/NC
Planes de cobro Contabilidad → Configuración → Planes de cobro
Planes pago proveedor Contabilidad → Configuración → Planes de pago proveedor
Planes liquidación propietarios Contabilidad → Configuración → Planes liquidación propietarios
Planes comisiones internas Contabilidad → Configuración → Planes comisiones internas

Inmobiliaria

Necesidad Ruta
Proyectos Inmobiliaria → Proyectos
Lotes (FML) Inmobiliaria → FML (Lotes)
Reservas Inmobiliaria → Reservas
Recuperaciones Inmobiliaria → Recuperaciones
Contratos Inmobiliaria → Contratos
Acuerdos de proyecto Inmobiliaria → Liquidaciones → Acuerdos de proyecto
Liquidaciones de propietarios Inmobiliaria → Liquidaciones → Liquidaciones de propietarios
Generar liquidaciones Inmobiliaria → Liquidaciones → Generar liquidaciones
Devengamientos de comisión Inmobiliaria → Liquidaciones → Devengamientos de comisión

l10n_py_chart no tiene menú propio: se usa al ejecutar Cargar plan DIPSA.


Plan de cuentas

Quién puede configurarlo

Usuario con rol de Administrador de contabilidad (account.group_account_manager).

Pasos

  1. Ir a Contabilidad → Configuración → Cargar plan DIPSA (carga la plantilla Paraguay / DIPSA basada en l10n_py_chart).
  2. Revisar y ajustar cuentas en Contabilidad → Contabilidad → Plan de cuentas.
  3. Configurar diarios (Contabilidad → Contabilidad → Diarios) y asociar cuentas bancarias / caja.
  4. Revisar impuestos IVA venta y compra.
  5. Configurar Talonarios Timbrado y vincularlos a los diarios de facturación.
  6. Crear o revisar planes de asiento (venta, cobro, compra, pago, liquidación, comisiones) para que los flujos inmobiliarios y de gastos usen las cuentas correctas.
  7. En acuerdos de proyecto, asignar cuentas de pasivo propietario, ingresos, comisiones y retenciones.

Emitir facturas

Factura de cliente (manual)

  1. Contabilidad → Clientes → Facturas → Nuevo.
  2. Completar cliente (RUC/CI), diario de ventas, líneas, impuestos y timbrado.
  3. Confirmar / publicar según el proceso interno.

Factura desde venta de lote

Precondiciones


Pagos clientes y proveedores

Cobros de clientes

Camino Ruta / acción
Estándar DIPSA Contabilidad → Clientes → Pagos
Recibos Paraguay Contabilidad → Clientes → Recibos de Clientes
Inmobiliaria (1ª) En la reserva: botón / wizard Registrar pago 1ª (requiere SEPRELAD completo)

Documentar método (efectivo, transferencia). En transferencia, adjuntar comprobantes cuando el sistema lo exija.

Pagos a proveedores

Camino Ruta / acción
Estándar DIPSA Contabilidad → Proveedores → Pagos
Pagos Paraguay Contabilidad → Proveedores → Pagos a Proveedores
Con autorización Contabilidad → Proveedores → Órdenes de pago (crear → enviar → autorizar → generar pago)

También existen Cartera de Cheques, Depósito de Cheques y Transferencia Interna bajo Contabilidad.


Comisiones

Hay dos capas distintas. No confundirlas.

A) Comisión vendedor (precio del lote)

B) Comisiones internas DIPSA (configuración → devengo → liquidación)

  1. Ir a Inmobiliaria → Liquidaciones → Acuerdos de proyecto y crear un acuerdo en borrador.
  2. Completar pestañas:

- Propietarios: partners y % de participación.

- Reglas comisión (contrato): disparadores venta / cobro (o cargar contrato DIPSA).

- Grupos de comisión interna: tipos (Venta, Cobranza, Admin, Intereses, Cuotas impares), %, base y miembros (los % del grupo suman 100).

- Parámetros de liquidación: % admin/impares/intereses, retenciones IVA/IRE, cuentas contables.

  1. Opcional: asignar plantilla en Contabilidad → Configuración → Planes comisiones internas.
  2. Activar el acuerdo.
  3. Al activar contratos y registrar cobros se crean devengamientos (accruedsettledpaid).
  4. Consultar en Inmobiliaria → Liquidaciones → Devengamientos de comisión.
  5. La contabilización y el pago se cierran junto con la liquidación de propietarios.

Permisos: Usuario / Administrador Liquidación Inmobiliaria.


Liquidaciones de propietarios

Configuración previa

  1. Proyecto con acuerdo activo (propietarios, reglas, cuentas, días de liquidación).
  2. Contratos activos y cobros del período.
  3. (Opcional) Contabilidad → Configuración → Planes liquidación propietarios.

Proceso

  1. Inmobiliaria → Liquidaciones → Generar liquidaciones → elegir proyecto y período (y propietarios si aplica).
  2. El sistema crea borradores y permite Calcular.
  3. En cada liquidación: CalcularContabilizarPagar propietarioVista previa PDF.
  4. Estados: draftcalculatedpostedpaid (o cancelada).

Lógica resumida

Cobranza del período − comisiones (impares / admin / intereses) → pool × % participación del propietario − retenciones → neto a pagar.


Carga CDC gastos

Menú principal

Contabilidad → Proveedores → Cargar factura por CDC

Alternativas: botones en gasto (hr.expense) o en factura de proveedor en borrador.

Precondiciones

Pasos

  1. Abrir el wizard Cargar factura por CDC.
  2. Ingresar CDC de 44 dígitos (o QR) y consultar.
  3. Revisar preview (proveedor, líneas, montos).
  4. Asignar cuenta contable por línea (o en bloque).
  5. Marcar gasto administrativo o seleccionar proyecto inmobiliario (uno de los dos es obligatorio al confirmar).
  6. Confirmar → se genera la factura de proveedor.

Distinción con CDC de ventas

La importación CDC de ventas (py_ctrm_sifen_ventas, típico desde pedido/factura de cliente) es otro flujo. Esta sección es solo para gastos / compras.


Clasificación de gastos

No hay un módulo custom de “etiquetas” tipo mail.tag para gastos. La clasificación operativa es:

Clasificación Campo Cuándo
Gasto administrativo is_administrative_expense Gastos de oficina / no imputables a un proyecto
Proyecto inmobiliario inmobiliaria_project_id Gastos del desarrollo / obra / proyecto
Categoría producto Categorías estándar Odoo Usadas en planes de asiento / productos
category_name en líneas CDC Dato SIFEN Solo lectura informativa

Al validar una factura de gasto cargada por CDC debe existir proyecto o flag administrativo.


Libros contables

Menús disponibles hoy:

Libro Ruta
Libro diario Contabilidad → Informes → Libro diario
Libro mayor Contabilidad → Informes → Libro mayor
Balance Contabilidad → Informes → Balance
Libro IVA Contabilidad → Informes → Libro IVA

Módulo: py_ctrm_account_report.

Pendiente (deadline viernes 24 jul 2026): ampliar esta sección con parámetros de cada wizard, exportación Excel/PDF, precondiciones y checklist QA de informes. Los menús anteriores ya están operativos.


Niveles de acceso

Asignación: Ajustes → Usuarios y compañías → Usuarios → pestaña de derechos / grupos.

Perfil Grupos a asignar (nombres) Qué habilita
Vendedor Vendedor Inmobiliaria (+ Usuario Inmobiliaria) Reservas, FML, SEPRELAD, operaciones comerciales básicas
Gerente comercial Gerente comercial Inmobiliaria Amplía comerciales (importaciones / recuperaciones según ACL)
Admin inmobiliaria Administrador Inmobiliaria Configuración de proyectos/FML y control total inmobiliario base
Facturación / cobros Facturación (account.group_account_invoice) Facturas y pagos cliente/proveedor, CDC gastos
Contabilidad lectura Solo lectura contabilidad Plan de cuentas (lectura), asientos, informes
Admin contable Administrador de contabilidad Diarios, cargar plan DIPSA, configuración
Liquidaciones Usuario / Administrador Liquidación Inmobiliaria Acuerdos, liquidaciones, devengamientos
Planes de asiento Usuario / Responsable planes de asiento Plantillas de asiento
Órdenes de pago Usuario / Aprobador orden de pago proveedor Flujo de autorización de pagos a proveedores
Gastos Aprobador equipo gastos (Odoo) + facturación Gastos y botones CDC en hr.expense

Checklist QA

Marcá cada caso con resultado esperado.

Reserva y venta

Contabilidad (smoke)

CDC gastos

Comisiones y liquidaciones

CDC ventas (no mezclar)


Referencias técnicas

Área Modelos / wizards clave
Reserva / SEPRELAD / boleta inmobiliaria.lot.reservation, inmobiliaria.seprelad.kyc, boleta preview
Pedido / cuotero / contrato sale.order, inmobiliaria.contract, inmobiliaria.contract.cuotero.wizard
Planes de asiento / pago 1ª py_ctrm_account_entry_plan, wizard de pago 1ª
CDC gastos hr.expense.vendor.bill.wizard, py_ctrm.cdc.service
Liquidaciones inmobiliaria.owner.settlement, inmobiliaria.project.agreement, inmobiliaria.commission.accrual
Informes py_ctrm_account_report (libro diario, mayor, IVA, balance)

Archivos de menú (desarrollo)