Estructura Datos

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)✓