-- TABLAS PARA EL PROGRAMA DE FACTURACIÓN ELECTRÓNICA. -- ESTAS TABLAS NO SON PARTE DEL ESQUEMA OFICIAL DE FIT. -- DE PREFERENCIA DEBERÍAN CREARSE SOBRE UN USUARIO DIFERENTE AL USUARIO PRINCIPAL DE LA APLICACIÓN. CREATE TABLE FEFACTURA ( CCODIGO NUMBER(10) NOT NULL, AMBIENTE NUMBER(1) NOT NULL, TIPOEMISION NUMBER(1) NOT NULL, RAZONSOCIAL VARCHAR2(300) NOT NULL, NOMBRECOMERCIAL VARCHAR2(300), RUC VARCHAR2(13) NOT NULL, CLAVEACCESO VARCHAR2(48) NOT NULL, CODDOC VARCHAR2(2) NOT NULL, ESTAB VARCHAR2(3) NOT NULL, PTOEMI VARCHAR2(3) NOT NULL, SECUENCIAL VARCHAR2(9) NOT NULL, DIRMATRIZ VARCHAR2(300) NOT NULL, FECHAEMISION DATE NOT NULL, DIRESTABLECIMIENTO VARCHAR2(300), CONTRIBUYENTEESPECIAL VARCHAR2(13), OBLIGADOCONTABILIDAD VARCHAR2(2), TIPOIDENTIFICACIONCOMPRADOR VARCHAR2(2) NOT NULL, RAZONSOCIALCOMPRADOR VARCHAR2(300) NOT NULL, DIRCOMPRADOR VARCHAR2(300), IDENTIFICACIONCOMPRADOR VARCHAR2(20) NOT NULL, TOTALSINIMPUESTOS NUMBER(19,2) NOT NULL, TOTALDESCUENTO NUMBER(19,2) NOT NULL, PROPINA NUMBER(19,2) NOT NULL, IMPORTETOTAL NUMBER(19,2) NOT NULL, MONEDA VARCHAR2(15), FENVIO DATE, RESP CLOB, NUMEROAUTORIZACION VARCHAR2(40), PRIMARY KEY (CCODIGO) ); CREATE TABLE FEFACTURADETALLES ( CCODIGO NUMBER(10) NOT NULL, CCODIGODETALLE NUMBER(5) NOT NULL, CODIGOPRINCIPAL VARCHAR2(25), CODIGOAUXILIAR VARCHAR2(25), DESCRIPCION VARCHAR2(150) NOT NULL, CANTIDAD NUMBER(19,6) NOT NULL, PRECIOUNITARIO NUMBER(19,2) NOT NULL, DESCUENTO NUMBER(19,2) NOT NULL, PRECIOTOTALSINIMPUESTO NUMBER(19,2) NOT NULL, PRIMARY KEY (CCODIGO, CCODIGODETALLE) ); ALTER TABLE FEFACTURADETALLES ADD CONSTRAINT FKFEFACTDET FOREIGN KEY (CCODIGO) REFERENCES FEFACTURA (CCODIGO); CREATE TABLE FEFACTURADETALLESADICIONALES ( CCODIGO NUMBER(10) NOT NULL, CCODIGODETALLE NUMBER(5) NOT NULL, SECUENCIA NUMBER(5) NOT NULL, NOMBRE VARCHAR2(100) NOT NULL, VALOR VARCHAR2(300) NOT NULL, PRIMARY KEY (CCODIGO, CCODIGODETALLE, SECUENCIA) ); ALTER TABLE FEFACTURADETALLESADICIONALES ADD CONSTRAINT FKFEFACTDETADI FOREIGN KEY (CCODIGO, CCODIGODETALLE) REFERENCES FEFACTURADETALLES (CCODIGO, CCODIGODETALLE); CREATE TABLE FEFACTURAIMPUESTOS ( CCODIGO NUMBER(10) NOT NULL, CODIGOIMPUESTO VARCHAR2(2) NOT NULL, CODIGOPORCENTAJE VARCHAR2(4) NOT NULL, BASEIMPONIBLE NUMBER(19,2) NOT NULL, TARIFA NUMBER(19,2), VALOR NUMBER(19,2) NOT NULL, PRIMARY KEY (CCODIGO, CODIGOIMPUESTO) ); ALTER TABLE FEFACTURAIMPUESTOS ADD CONSTRAINT FKFEFACIMP FOREIGN KEY (CCODIGO) REFERENCES FEFACTURA (CCODIGO); CREATE TABLE FEFACTURADETALLESIMPUESTOS ( CCODIGO NUMBER(10) NOT NULL, CCODIGODETALLE NUMBER(5) NOT NULL, CODIGOIMPUESTO VARCHAR2(2) NOT NULL, CODIGOPORCENTAJE VARCHAR2(4) NOT NULL, TARIFA NUMBER(19,2) NOT NULL, BASEIMPONIBLE NUMBER(19,2) NOT NULL, VALOR NUMBER(19,2) NOT NULL, PRIMARY KEY (CCODIGO, CCODIGODETALLE, CODIGOIMPUESTO) ); ALTER TABLE FEFACTURADETALLESIMPUESTOS ADD CONSTRAINT FKFEFACTDETIMP FOREIGN KEY (CCODIGO, CCODIGODETALLE) REFERENCES FEFACTURADETALLES (CCODIGO, CCODIGODETALLE); CREATE TABLE FEFACTURAINFOADICIONAL ( CCODIGO NUMBER(10) NOT NULL, SECUENCIA NUMBER(4) NOT NULL, NOMBRE VARCHAR2(100) NOT NULL, VALOR VARCHAR2(300) NOT NULL, PRIMARY KEY (CCODIGO, SECUENCIA) ); ALTER TABLE FEFACTURAINFOADICIONAL ADD CONSTRAINT FKFEFACTINFOADI FOREIGN KEY (CCODIGO) REFERENCES FEFACTURA (CCODIGO); -- NOTAS DE CRÉDITO CREATE TABLE FENOTACREDITO ( CCODIGO NUMBER(10) NOT NULL, AMBIENTE NUMBER(1) NOT NULL, TIPOEMISION NUMBER(1) NOT NULL, RAZONSOCIAL VARCHAR2(300) NOT NULL, NOMBRECOMERCIAL VARCHAR2(300), RUC VARCHAR2(13) NOT NULL, CLAVEACCESO VARCHAR2(48) NOT NULL, CODDOC VARCHAR2(2) NOT NULL, ESTAB VARCHAR2(3) NOT NULL, PTOEMI VARCHAR2(3) NOT NULL, SECUENCIAL VARCHAR2(9) NOT NULL, DIRMATRIZ VARCHAR2(300) NOT NULL, FECHAEMISION DATE NOT NULL, DIRESTABLECIMIENTO VARCHAR2(300), CONTRIBUYENTEESPECIAL VARCHAR2(13), OBLIGADOCONTABILIDAD VARCHAR2(2), TIPOIDENTIFICACIONCOMPRADOR VARCHAR2(2) NOT NULL, RAZONSOCIALCOMPRADOR VARCHAR2(300) NOT NULL, IDENTIFICACIONCOMPRADOR VARCHAR2(20) NOT NULL, RISE VARCHAR2(40), CODDOCMODIFICADO VARCHAR2(2) NOT NULL, NUMDOCMODIFICADO VARCHAR2(15) NOT NULL, FECHAEMISIONDOCSUSTENTO DATE NOT NULL, TOTALSINIMPUESTOS NUMBER(19,2) NOT NULL, VALORMODIFICACION NUMBER(19,2) NOT NULL, MOTIVO VARCHAR2(300) NOT NULL, MONEDA VARCHAR2(15), FENVIO DATE, RESP CLOB, NUMEROAUTORIZACION VARCHAR2(40), PRIMARY KEY (CCODIGO) ); CREATE TABLE FENOTACREDITODETALLES ( CCODIGO NUMBER(10) NOT NULL, CCODIGODETALLE NUMBER(5) NOT NULL, CODIGOINTERNO VARCHAR2(25), CODIGOADICIONAL VARCHAR2(25), DESCRIPCION VARCHAR2(300) NOT NULL, CANTIDAD NUMBER(19,6) NOT NULL, PRECIOUNITARIO NUMBER(19,2) NOT NULL, DESCUENTO NUMBER(19,2), PRECIOTOTALSINIMPUESTO NUMBER(19,2) NOT NULL, PRIMARY KEY (CCODIGO, CCODIGODETALLE) ); alter table FENOTACREDITODETALLES ADD CONSTRAINT FKNOTCREDDET FOREIGN KEY (CCODIGO) REFERENCES FENOTACREDITO (CCODIGO); CREATE TABLE FENOTACREDITODETALLESADICIONAL ( CCODIGO NUMBER(10) NOT NULL, CCODIGODETALLE NUMBER(5) NOT NULL, SECUENCIA NUMBER(4) NOT NULL, NOMBRE VARCHAR2(100) NOT NULL, VALOR VARCHAR2(300) NOT NULL, PRIMARY KEY (CCODIGO, CCODIGODETALLE, SECUENCIA) ); CREATE TABLE FENOTACREDITOIMPUESTOS ( CCODIGO NUMBER(10) NOT NULL, CODIGOIMPUESTO VARCHAR2(2) NOT NULL, CODIGOPORCENTAJE VARCHAR2(4) NOT NULL, BASEIMPONIBLE NUMBER(19,2) NOT NULL, VALOR NUMBER(19,2) NOT NULL, PRIMARY KEY (CCODIGO, CODIGOIMPUESTO) ); ALTER TABLE FENOTACREDITOIMPUESTOS ADD CONSTRAINT FKNOTCREDIMP FOREIGN KEY (CCODIGO) REFERENCES FENOTACREDITO (CCODIGO); CREATE TABLE FENOTACREDITODETALLESIMPUESTOS ( CCODIGO NUMBER(10) NOT NULL, CCODIGODETALLE NUMBER(5) NOT NULL, CODIGOIMPUESTO VARCHAR2(2) NOT NULL, CODIGOPORCENTAJE VARCHAR2(4) NOT NULL, TARIFA NUMBER(19,2) NOT NULL, BASEIMPONIBLE NUMBER(19,2) NOT NULL, VALOR NUMBER(19,2) NOT NULL, PRIMARY KEY (CCODIGO, CCODIGODETALLE, CODIGOIMPUESTO) ); ALTER TABLE FENOTACREDITODETALLESIMPUESTOS ADD CONSTRAINT FKNOTCREDDETIMP FOREIGN KEY (CCODIGO, CCODIGODETALLE) REFERENCES FENOTACREDITODETALLES (CCODIGO, CCODIGODETALLE); CREATE TABLE FENOTACREDITOINFOADICIONAL ( CCODIGO NUMBER(10) NOT NULL, SECUENCIA NUMBER(4) NOT NULL, NOMBRE VARCHAR2(100) NOT NULL, VALOR VARCHAR2(300) NOT NULL, PRIMARY KEY (CCODIGO, SECUENCIA) ); ALTER TABLE FENOTACREDITOINFOADICIONAL ADD CONSTRAINT FKNOTCREDINFADI FOREIGN KEY (CCODIGO) REFERENCES FENOTACREDITO (CCODIGO); -- NOTA DÉBITO CREATE TABLE FENOTADEBITO ( CCODIGO NUMBER(10) NOT NULL, AMBIENTE NUMBER(1) NOT NULL, TIPOEMISION NUMBER(1) NOT NULL, RAZONSOCIAL VARCHAR2(300) NOT NULL, NOMBRECOMERCIAL VARCHAR2(300), RUC VARCHAR2(13) NOT NULL, CLAVEACCESO VARCHAR2(48) NOT NULL, CODDOC VARCHAR2(2) NOT NULL, ESTAB VARCHAR2(3) NOT NULL, PTOEMI VARCHAR2(3) NOT NULL, SECUENCIAL VARCHAR2(9) NOT NULL, DIRMATRIZ VARCHAR2(300) NOT NULL, FECHAEMISION DATE NOT NULL, DIRESTABLECIMIENTO VARCHAR2(300), CONTRIBUYENTEESPECIAL VARCHAR2(13), OBLIGADOCONTABILIDAD VARCHAR2(2), TIPOIDENTIFICACIONCOMPRADOR VARCHAR2(2) NOT NULL, RAZONSOCIALCOMPRADOR VARCHAR2(300) NOT NULL, IDENTIFICACIONCOMPRADOR VARCHAR2(13) NOT NULL, RISE VARCHAR2(40), CODDOCMODIFICADO VARCHAR2(2) NOT NULL, NUMDOCMODIFICADO VARCHAR2(15) NOT NULL, FECHAEMISIONDOCSUSTENTO DATE NOT NULL, TOTALSINIMPUESTOS NUMBER(19,2) NOT NULL, VALORTOTAL NUMBER(19,2) NOT NULL, FENVIO DATE, RESP CLOB, NUMEROAUTORIZACION VARCHAR2(40), PRIMARY KEY (CCODIGO) ); CREATE TABLE FENOTADEBITOIMPUESTOS ( CCODIGO NUMBER(10) NOT NULL, CODIGOIMPUESTO VARCHAR2(2) NOT NULL, CODIGOPORCENTAJE VARCHAR2(4) NOT NULL, TARIFA NUMBER(19,2) NOT NULL, BASEIMPONIBLE NUMBER(19,2) NOT NULL, VALOR NUMBER(19,2) NOT NULL, PRIMARY KEY (CCODIGO, CODIGOIMPUESTO) ); ALTER TABLE FENOTADEBITOIMPUESTOS ADD CONSTRAINT FKNOTDEBIMP FOREIGN KEY (CCODIGO) REFERENCES FENOTADEBITO (CCODIGO); CREATE TABLE FENOTADEBITOINFOADICIONAL ( CCODIGO NUMBER(10) NOT NULL, SECUENCIA NUMBER(4) NOT NULL, NOMBRE VARCHAR2(100) NOT NULL, VALOR VARCHAR2(300) NOT NULL, PRIMARY KEY (CCODIGO, SECUENCIA) ); ALTER TABLE FENOTADEBITOINFOADICIONAL ADD CONSTRAINT FKNOTDEBINFADI FOREIGN KEY (CCODIGO) REFERENCES FENOTADEBITO (CCODIGO); CREATE TABLE FENOTADEBITOMOTIVOS ( CCODIGO NUMBER(10) NOT NULL, SECUENCIA NUMBER(4) NOT NULL, RAZON VARCHAR2(300) NOT NULL, VALOR NUMBER(19,2) NOT NULL, PRIMARY KEY (CCODIGO, SECUENCIA) ); ALTER TABLE FENOTADEBITOMOTIVOS ADD CONSTRAINT FKNOTDEBMOT FOREIGN KEY (CCODIGO) REFERENCES FENOTADEBITO (CCODIGO); -- RETENCIONES CREATE TABLE FERETENCION ( CCODIGO NUMBER(10) NOT NULL, AMBIENTE NUMBER(1) NOT NULL, TIPOEMISION NUMBER(1) NOT NULL, RAZONSOCIAL VARCHAR2(300) NOT NULL, NOMBRECOMERCIAL VARCHAR2(300), RUC VARCHAR2(13) NOT NULL, CLAVEACCESO VARCHAR2(48) NOT NULL, CODDOC VARCHAR2(2) NOT NULL, ESTAB VARCHAR2(3) NOT NULL, PTOEMI VARCHAR2(3) NOT NULL, SECUENCIAL VARCHAR2(9) NOT NULL, DIRMATRIZ VARCHAR2(300) NOT NULL, FECHAEMISION DATE NOT NULL, DIRESTABLECIMIENTO VARCHAR2(300), CONTRIBUYENTEESPECIAL VARCHAR2(13), OBLIGADOCONTABILIDAD VARCHAR2(2), TIPOIDENTIFICACIONSUJETO VARCHAR2(2) NOT NULL, RAZONSOCIALSUJETO VARCHAR2(300) NOT NULL, IDENTIFICACIONSUJETO VARCHAR2(13) NOT NULL, PERIODOFISCAL VARCHAR2(7) NOT NULL, -- PERIODO FISCAL DEBE ESTAR EN FORMATO MM/aaaa FENVIO DATE, RESP CLOB, NUMEROAUTORIZACION VARCHAR2(40), PRIMARY KEY (CCODIGO) ); CREATE TABLE FERETENCIONIMPUESTOS ( CCODIGO NUMBER(10) NOT NULL, CODIGOIMPUESTO VARCHAR2(2) NOT NULL, CODIGORETENCION VARCHAR2(5) NOT NULL, BASEIMPONIBLE NUMBER(19,2) NOT NULL, PORCENTAJERETENER NUMBER(19,2) NOT NULL, VALORRETENIDO NUMBER(19,2) NOT NULL, CODDOCSUSTENTO VARCHAR2(2) NOT NULL, NUMDOCSUSTENTO VARCHAR2(15), FECHAEMISIONDOCSUSTENTO DATE, PRIMARY KEY (CCODIGO, CODIGOIMPUESTO, CODIGORETENCION) ); ALTER TABLE FERETENCIONIMPUESTOS ADD CONSTRAINT FKRETIMP FOREIGN KEY (CCODIGO) REFERENCES FERETENCION (CCODIGO); CREATE TABLE FERETENCIONINFOADICIONAL ( CCODIGO NUMBER(10) NOT NULL, SECUENCIA NUMBER(4) NOT NULL, NOMBRE VARCHAR2(100) NOT NULL, VALOR VARCHAR2(300) NOT NULL, CONSTRAINT IPKFETINFADI PRIMARY KEY (CCODIGO, SECUENCIA) ); ALTER TABLE FERETENCIONINFOADICIONAL ADD CONSTRAINT FKRETIMPADI FOREIGN KEY (CCODIGO) REFERENCES FERETENCION (CCODIGO);