Documentación de Base de Datos - proyecto ORDEN

empresas - Empresas Cliente

Almacena la información de las empresas que utilizan el sistema para gestionar sus reportes fiscales ante la DGII. El sistema es multi-tenant, cada empresa tiene sus propios datos aislados.

CampoDescripciónTipoNullable
idIdentificador único de la empresaINTEGER (PK)
nombreRazón social de la empresaVARCHAR(255)
correoCorreo electrónico de contacto principalVARCHAR(255)
telefonoTeléfono de contactoVARCHAR(50)
tipo_documento_idTipo de identificación (RNC, Cédula)INTEGER (FK → tipos_documentos)
numero_documentoNúmero de RNC o Cédula de la empresaVARCHAR(50)

ciclo - Períodos Fiscales

Define los períodos fiscales (mensuales) para los cuales se generan los reportes 606 y 607. Cada ciclo representa un mes específico de reporte.

CampoDescripciónTipoNullable
idIdentificador único del cicloINTEGER (PK)
anyoAño del período fiscalINTEGER
mesMes del período fiscal (1-12)INTEGER
identificadorIdentificador único del período (ej: “202501”)VARCHAR(6)

tipos_documentos - Tipos de Documentos de Identificación

Catálogo de tipos de documentos de identificación válidos en República Dominicana (RNC, Cédula, Pasaporte).

CampoDescripciónTipoNullable
idIdentificador único del tipoINTEGER (PK)
nombreNombre del tipo de documento (ej: “RNC”, “Cédula”, “Pasaporte”)VARCHAR(100)

contactos - Proveedores y Clientes

Almacena la información de terceros (proveedores y clientes) con los que las empresas realizan transacciones. Un contacto puede ser proveedor, cliente o ambos.

CampoDescripciónTipoNullable
idIdentificador único del contactoINTEGER (PK)
nombreNombre o razón social del contactoVARCHAR(255)
tipo_documento_idTipo de identificaciónINTEGER (FK → tipos_documentos)
numero_documentoNúmero de RNC, Cédula o PasaporteVARCHAR(50)

gastos - Compras y Gastos (Formulario 606)

Registra todas las compras y gastos realizados por las empresas. Estos datos alimentan el formulario 606 que se reporta mensualmente a la DGII.

CampoDescripciónTipoNullable
idIdentificador único del gastoINTEGER (PK)
empresa_idEmpresa a la que pertenece el gastoINTEGER (FK → empresas)
lineaNúmero de línea en el reporte 606INTEGER
ciclo_idPeríodo fiscal del gastoINTEGER (FK → ciclo)
contacto_idProveedor del bien o servicioINTEGER (FK → contactos)
tipo_idTipo de documento fiscalINTEGER (FK → tipos_documentos)
tipo_bien_servicio_comprado_idClasificación del bien o servicio según DGIIINTEGER (FK)
ncfNúmero de Comprobante FiscalVARCHAR(50)
ncf_modificadoNCF del documento que modifica (en caso de notas de crédito/débito)VARCHAR(50)
fecha_comprobanteFecha de emisión del comprobanteDATE
dia_comprobanteDía del mes del comprobanteINTEGER
fecha_pagoFecha en que se realizó el pagoDATE
dia_pagoDía del mes del pagoINTEGER
monto_facturado_serviciosMonto facturado en servicios (sin ITBIS)DECIMAL(15,2)
monto_facturado_bienesMonto facturado en bienes (sin ITBIS)DECIMAL(15,2)
total_monto_facturadoTotal facturado (servicios + bienes)DECIMAL(15,2)
itbis_facturadoITBIS (impuesto) del comprobanteDECIMAL(15,2)
itbis_retenidoITBIS retenido por la empresaDECIMAL(15,2)
itbis_sujeto_proporcionalidadITBIS sujeto a proporcionalidad según Art. 349DECIMAL(15,2)
itbis_llevado_costoITBIS que se lleva al costo (no deducible)DECIMAL(15,2)
itbis_adelantarITBIS por adelantar en períodos futurosDECIMAL(15,2)
itbis_percibido_comprasITBIS percibido en la compraDECIMAL(15,2)
tipo_retencion_isrTipo de retención de Impuesto Sobre la RentaVARCHAR(50)
monto_retencion_rentaMonto retenido de ISRDECIMAL(15,2)
isr_comprasISR percibido en comprasDECIMAL(15,2)
impuesto_selectivo_consumoImpuesto selectivo al consumoDECIMAL(15,2)
otros_impuestos_tasasOtros impuestos o tasas aplicablesDECIMAL(15,2)
forma_pago_idForma de pago utilizadaINTEGER (FK → formas_de_pago)
sumatoriaSuma de todos los conceptosDECIMAL(15,2)
total_facturaTotal final de la facturaDECIMAL(15,2)
diferenciaDiferencia entre sumatoria y total (para validación)DECIMAL(15,2)
monedaCódigo de moneda (DOP, USD, EUR, etc.)VARCHAR(10)
comercioIndicador de tipo de comercioVARCHAR(100)
productosDescripción de productos/serviciosTEXT

ingresos - Ventas e Ingresos (Formulario 607)

Registra todas las ventas e ingresos de las empresas. Estos datos alimentan el formulario 607 que se reporta mensualmente a la DGII.

CampoDescripciónTipoNullable
idIdentificador único del ingresoINTEGER (PK)
ciclo_idPeríodo fiscal del ingresoINTEGER (FK → ciclo)
contacto_idCliente que realizó la compraINTEGER (FK → contactos)
tipo_consecutivo_dgii_idTipo de NCF utilizadoINTEGER (FK → tipos_consecutivos_dgii)
forma_de_pago_idForma de pago principalINTEGER (FK → formas_de_pago)
empresa_idEmpresa que realizó la ventaINTEGER (FK → empresas)
fecha_comprobanteFecha de emisión del comprobanteDATE
numero_facturaNúmero del comprobante fiscal (NCF)VARCHAR(50)
vnd¿Vendedor o código interno?VARCHAR(50)
subtotalSubtotal antes de impuestosDECIMAL(15,2)
itbis18ITBIS calculado al 18%DECIMAL(15,2)
itbis16ITBIS calculado al 16%DECIMAL(15,2)
totalTotal de la facturaDECIMAL(15,2)
ncfNúmero de Comprobante FiscalVARCHAR(50)
ncf_afeNCF afectado (en caso de modificaciones)VARCHAR(50)
balanceBalance pendienteDECIMAL(15,2)
es_anuladoIndica si el comprobante fue anuladoBOOLEAN
valor_exentoValor exento de impuestosDECIMAL(15,2)
valor_gravadoValor gravado con impuestosDECIMAL(15,2)
tipo_ingreso_idClasificación del tipo de ingreso según DGIIINTEGER (FK → tipos_ingreso)
fecha_retencionFecha de retención (si aplica)DATE
monto_facturadoMonto total facturadoDECIMAL(15,2)
itbis_facturadoITBIS total facturadoDECIMAL(15,2)
itbis_retenido_tercerosITBIS retenido por tercerosDECIMAL(15,2)
itbis_percibidoITBIS percibidoDECIMAL(15,2)
monto_propina_legalMonto de propina legal (10%)DECIMAL(15,2)
efectivoMonto pagado en efectivoDECIMAL(15,2)
cheque_transferencia_depositoMonto pagado por cheque, transferencia o depósitoDECIMAL(15,2)
tarjeta_debito_creditoMonto pagado con tarjetaDECIMAL(15,2)
venta_creditoMonto vendido a créditoDECIMAL(15,2)
otras_formas_ventasOtras formas de pagoDECIMAL(15,2)
tasaTasa de ITBIS aplicadaDECIMAL(5,2)
valor_dolaresValor en dólares (si aplica)DECIMAL(15,2)
lineaNúmero de línea en el reporte 607INTEGER

formas_de_pago - Formas de Pago

Catálogo de las formas de pago aceptadas según la clasificación de la DGII.

CampoDescripciónTipoNullable
idIdentificador únicoINTEGER (PK)
codigoCódigo de la forma de pago según DGIIVARCHAR(2)
nombreNombre descriptivo (ej: “Efectivo”, “Tarjeta”, “Transferencia”)VARCHAR(100)

tipos_consecutivos_dgii - Tipos de NCF

Catálogo de los tipos de Números de Comprobante Fiscal (NCF) autorizados por la DGII para diferentes tipos de transacciones.

CampoDescripciónTipoNullable
idIdentificador únicoINTEGER (PK)
PrefijoPrefijo del NCF (ej: “B01”, “B02”, “B14”, etc.)VARCHAR(10)
digitosCantidad de dígitos del número consecutivoINTEGER
descripcionDescripción del tipo de comprobanteVARCHAR(255)
nombreNombre corto del tipoVARCHAR(100)
formatoFormato completo del NCF (ej: “B01XXXXXXXXX”)VARCHAR(50)

paquete_consecutivos_dgii - Paquetes de NCF Autorizados

Registra los paquetes de NCF autorizados por la DGII para cada empresa. Cada paquete tiene un rango de números válidos y fechas de vigencia.

CampoDescripciónTipoNullable
idIdentificador único del paqueteINTEGER (PK)
tipo_consecutivo_dgii_idTipo de NCF del paqueteINTEGER (FK → tipos_consecutivos_dgii)
desdeNúmero inicial del rango autorizadoINTEGER
hastaNúmero final del rango autorizadoINTEGER
fecha_vencimientoFecha de vencimiento del paqueteDATE
empresa_idEmpresa propietaria del paqueteINTEGER (FK → empresas)

contador_consecutivos - Control de NCF Utilizados

Lleva el control de los NCF que han sido utilizados por cada empresa, asegurando que no se dupliquen y que se mantengan dentro de los rangos autorizados.

CampoDescripciónTipoNullable
idIdentificador únicoINTEGER (PK)
numeroÚltimo número de NCF utilizadoINTEGER
tipo_consecutivo_dgii_idTipo de NCFINTEGER (FK → tipos_consecutivos_dgii)
empresa_idEmpresa que utiliza el consecutivoINTEGER (FK → empresas)

monedas - Catálogo de Monedas

Lista de monedas utilizadas en las transacciones para manejo de conversiones y reportes multi-moneda.

CampoDescripciónTipoNullable
idIdentificador únicoINTEGER (PK)
nombreNombre de la moneda (ej: “Peso Dominicano”, “Dólar Americano”)VARCHAR(100)

tasas_conversion_dgii - Tasas de Cambio Oficiales

Almacena las tasas de cambio oficiales publicadas por la DGII para la conversión de monedas extranjeras a pesos dominicanos.

CampoDescripciónTipoNullable
idIdentificador únicoINTEGER (PK)
fechaFecha de la tasa de cambioDATE
valorValor de la tasa de cambioDECIMAL(10,4)
moneda_idMoneda de referenciaINTEGER (FK → monedas)

tipos_ingreso - Tipos de Ingresos

Catálogo de clasificación de ingresos según la DGII para el formulario 607.

CampoDescripciónTipoNullable
idIdentificador únicoINTEGER (PK)
nombreNombre del tipo de ingresoVARCHAR(100)
codigoCódigo según clasificación DGIIVARCHAR(10)

tipos_bienes_servicios_comprados - Clasificación de Bienes y Servicios

Catálogo de clasificación de bienes y servicios comprados según la DGII para el formulario 606.

CampoDescripciónTipoNullable
idIdentificador únicoINTEGER (PK)
nombreNombre del tipo de de bien adquiridoVARCHAR(100)
codigoCódigo según clasificación DGIIVARCHAR(10)