ALTER TABLE INTG_NOTAFISCAL ADD CDTIPOFATURADTE VARCHAR2(10) 
/

ALTER TABLE INTG_NOTAFISCAL DROP CONSTRAINT CKC_IDDOCFISCELE
/

ALTER TABLE INTG_NOTAFISCAL
 	 ADD CONSTRAINT CKC_IDDOCFISCELE CHECK (IDDOCFISCELE IS NULL OR (IDDOCFISCELE IN ('0', '1', '2')))
/

ALTER TABLE INTG_ITEMPRODUTO MODIFY CDPRODUTO VARCHAR2(80)
/

ALTER TABLE INTG_ITEMPRODUTO MODIFY NMPRODUTO VARCHAR2(80)
/

ALTER TABLE INTG_ITEMPRODUTO ADD CDIMPADIC VARCHAR2(06)
/

ALTER TABLE INTG_ITEMPRODUTO MODIFY NRAUTOFORN VARCHAR2(18)
/

ALTER TABLE PRODFORNXML MODIFY CDPRODUTOXML VARCHAR2(80)
/

ALTER TABLE PRODFORNXML MODIFY NMPRODUTOXML VARCHAR2(80)
/

ALTER TABLE PRODFORNXMLFIL MODIFY CDPRODUTOXML VARCHAR2(80)
/

ALTER TABLE PRODFORNXMLFIL MODIFY NMPRODUTOXML VARCHAR2(80)
/

ALTER TABLE ENCARGO ADD CDPRODIMPENC VARCHAR2(10)
/

ALTER TABLE ENCARGO
   ADD CONSTRAINT FKFIS00864PRODUTO FOREIGN KEY (CDPRODIMPENC)
      REFERENCES PRODUTO (CDPRODUTO)
/

CREATE INDEX FIS00864_FK ON ENCARGO (CDPRODIMPENC ASC)
/

ALTER TABLE ENCARGO ADD CONSTRAINT UK_ENCARGO_CDPRODIMPENC UNIQUE (CDPRODIMPENC)
/

CREATE TABLE OUTRIMPOERETE
(
   CDOUTRIMPOERETE 	 VARCHAR2(03) 	 NOT NULL,
   NMOUTRIMPOERETE 	 VARCHAR2(255) 	 NOT NULL,
   DSOUTRIMPOERETE 	 VARCHAR2(255) 	 NOT NULL,
   CDIMPOSTO 		 VARCHAR2(02) 	 NULL,
   NRORG             NUMBER 	     DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') 		NOT NULL,
   IDATIVO           VARCHAR2(1)     DEFAULT 'S'					NOT NULL,
   DTINCLUSAO        DATE            DEFAULT SYSDATE,
   DTULTATU          DATE            DEFAULT SYSDATE,
   NRORGINCLUSAO     NUMBER          DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg')		NULL,
   CDOPERINCLUSAO    VARCHAR2(12)    DEFAULT '1' 					NULL,
   NRORGULTATU       NUMBER          DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg')		NULL,
   CDOPERULTATU      VARCHAR2(12)    DEFAULT '1',
		CONSTRAINT CKC_IDATIVO_OUTRIMPOERETE CHECK (IDATIVO IN ('S','N')),
		CONSTRAINT PK_OUTRIMPOERETE PRIMARY KEY (CDOUTRIMPOERETE),
		CONSTRAINT FKFIS00865IMPOSTO FOREIGN KEY (CDIMPOSTO) REFERENCES IMPOSTO (CDIMPOSTO)
)
/

CREATE INDEX FIS00865_FK ON OUTRIMPOERETE (CDIMPOSTO ASC)
/


DECLARE
   V_EXISTE INTEGER;
BEGIN
   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '14';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('14',
          'IVA de margen de comercializacion',
          'Para Facturas de venta del contribuyente.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '15';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('15',
          'IVA retenido total',
          'Corresponde al IVA retenido en Facturas de compra del contribuyente que genera el libro. Suma de retenciones con tasa de IVA.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '17';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('17',
          'IVA ANTICIPADO FAENAMIENTO CARNE',
          'Tasa de 5% sobre Monto base faenamiento. Se registra el monto de IVA anticipado cobrado al cliente.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '18';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('18',
          'VA ANTICIPADO CARNE',
          'Tasa de 5%. Se registra el monto de IVA anticipado cobrado al cliente.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '19';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('19',
          'IVA ANTICIPADO HARINA',
          'Tasa de 12%. Se registra el monto de IVA anticipado cobrado al cliente.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '23';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('23',
          'IMPUESTO ADICIONAL Art 37 Letras a, b, c',
          'Tasa del 15%. a) articulos oro, platino, marfil. b) Joyas, piedras preciosas. c) Pieles finas');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '24';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('24',
          'DL 825/74, ART. 42, letra b)',
          'Tasa del 31,5% Licores, Piscos, whisky, aguardiente, y vinos licorosos o aromatizados.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '25';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('25',
          'DL 825/74, ART. 42, letra c)',
          'Tasa del 20,5% Vinos.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '26';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('26',
          'DL 825/74, ART. 42, letra c)',
          'Tasa del 20,5% Cervezas y bebidas alcoholicas.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '27';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('27',
          'DL 825/74, ART. 42, letra a)',
          'Tasa del 10% Bebidas analcoholicas y minerales.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '271';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('271',
          'DL 825/74, ART. 42, letra a) Inciso Segundo',
          'Tasa del 18% Bebidas analcoholicas y Minerales con elevado contenido de azucares. (segun indica la ley)');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '28';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('28',
          'Impuesto especifico diesel',
          '1,5 UTM por m3. Traspasado al comprador por compra de diesel. Articulo 6, Ley N 18.502, y articulos 1 y 3 del Decreto Supremo N 311/86.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '30';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('30',
          'IVA RETENIDO LEGUMBRES',
          'Normalmente 10% retencion. Si se retuvo el 10%, el monto retenido se registra en el IEC en Retencion parcial. Si se retuvo el total del IVA, por ser NDF se registra tambien en Retencion Total.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '31';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('31',
          'IVA RETENIDO SILVESTRES',
          'Total del IVA retencion. El monto retenido se registra en el IEC en Retencion total.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '32';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('32',
          'IVA RETENIDO GANADO',
          'Normalmente 8% retencion. Si se retuvo el 8%, el monto retenido se registra en el IEC en Retencion parcial. Si se retuvo el total del IVA, por ser NDF, se registra en el IEC en Retencion Total.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '33';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('33',
          'IVA RETENIDO MADERA',
          'Normalmente 8% retencion. Si se retuvo el 8%, el monto retenido se registra en el IEC en Retencion parcial. Si se retuvo el total del IVA, por ser NDF, se registra en el IEC en Retencion Total.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '34';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('34',
          'IVA RETENIDO TRIGO',
          'Normalmente 4% retencion. Si se retuvo el 4%, el monto retenido se registra en el IEC en Retencion parcial. Si se retuvo el total del IVA por ser NDF se registra en el IEC en Retencion Total.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '35';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('35',
          'Impuesto especifico gasolina',
          '4,5 a 6 UTM por m3. Articulo 6, Ley N 18.502, y articulos 1 y 3 del Decreto Supremo N 311/86. No da derecho a credito. Se considera rebaja transitoria del componente variable dispuesto por la Ley 20.259.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '36';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('36',
          'IVA RETENIDO ARROZ',
          'Normalmente 10% retencion. Si se retuvo el 10%, el monto retenido se registra en el IEC en Retencion parcial. Si se retuvo el total del IVA por ser NDF se registra en el IEC en Retencion Total.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '37';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('37',
          'IVA RETENIDO HIDROBIOLO GICAS',
          'Normalmente 10% retencion. Si se retuvo el 10%, el monto retenido se registra en el IEC en Retencion parcial. Si se retuvo el total del IVA por ser NDF se registra en el IEC en Retencion Total.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '38';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('38',
          'IVA RETENIDO CHATARRA',
          'Total del IVA retencion. El monto retenido se registra en el IEC en Retencion total.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '39';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('39',
          'IVA RETENIDO PPA',
          'Total del IVA retencion. El monto retenido se registra en el IEC en Retencion total.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '41';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('41',
          'IVA RETENIDO CONSTRUCCION',
          'Se retiene el total del IVA.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '44';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('44',
          'IMPUESTO ADICIONAL Art 37 Letras e, h, I, l',
          'Tasa del 15% en 1era venta. a) Alfombras, tapices. b) Casa rodantes. c) Caviar. d) Armas de aire o gas');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '45';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('45',
          'IMPUESTO ADICIONAL Art 37 Letras',
          'Tasa del 50% en 1era venta. a) Pirotecnia');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '46';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('46',
          'IVA RETENIDO ORO',
          'Retencion del 100% del IVA.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '47';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('47',
          'IVA RETENIDO CARTONES',
          'Retencion Total.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '48';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('48',
          'IVA RETENIDO FRAMBUESAS',
          'Retencion 14%.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '49';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('49',
          'FACTURA DE COMPRA SIN RETENCION (hoy utilizada solo por Bolsa de Productos de Chile, lo cual es validado por el sistema)',
          '0% de retencion.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '50';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('50',
          'IVA de margen de comercializacion de instrumentos de prepago',
          'Para Facturas de venta del contribuyente.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '51';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('51',
          'Impuesto gas natural comprimido; 1,93 UTM/KM3, Art. 1, Ley N 20.052',
          'Para Facturas de venta del contribuyente.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '52';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('52',
          'Impuesto gas licuado de petroleo; 1,40 UTM/M3, Art 1, Ley N 20.052',
          'Para Facturas de venta del contribuyente.');
      COMMIT;
   END IF;

   BEGIN
      SELECT NVL(COUNT(*), 0)
        INTO V_EXISTE
        FROM OUTRIMPOERETE
       WHERE CDOUTRIMPOERETE = '53';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN BEGIN
          V_EXISTE := 0;
       END;
   END;
   IF V_EXISTE = 0 THEN
      INSERT INTO OUTRIMPOERETE
         (CDOUTRIMPOERETE,
          NMOUTRIMPOERETE,
          DSOUTRIMPOERETE)
      VALUES
         ('53',
          'Impuesto Retenido Suplementeros Art 74 N 5 Ley de la Renta',
          'Para Facturas de venta del contribuyente, retencion del 0,5% sobre el precio de venta al publico.');
      COMMIT;
   END IF;
END;
/