-- ------------------------------------------------------------
-- Tabela {usuario} Versao {026}  Esquema {padrao} Descricao {Cadastro de Usuarios}
-- ------------------------------------------------------------

CREATE TABLE usuario (
  usuario character varying(20) NOT NULL,
  tipo character(10) NOT NULL,
  nome character varying(50),
  email character varying(50),
  datanasc date,
  cad_cadastro_id INT4,
  impressora character varying(50),
  desativado boolean,
  consultar boolean,
  inserir boolean,
  alterar boolean,
  excluir boolean,
  alterar_docto_emitido boolean DEFAULT false,
  excluir_docto_emitido boolean DEFAULT false,
  alterar_parcela_docto_emitido boolean DEFAULT false,
  excluir_parcela_docto_emitido boolean DEFAULT false,
  rule boolean,
  superusuario boolean,
  trigger boolean,
  referenciar boolean,
  copiar boolean,
  senha character varying(90),
  butils boolean DEFAULT false,
  bprincipal boolean,
  bfaturamento boolean,
  bfinanceiro boolean,
  bos boolean,
  bfactoring boolean,
  bgrafico boolean,
  blctoframe boolean,
  blctonfceframe boolean,
  instanciarnovasvendas boolean,
  dataalteracao date,
  horaalteracao time without time zone,
  usuarioalteracao character varying(20),
  datainclusao date,
  horainclusao time without time zone,
  usuarioinclusao character varying(20),
  CONSTRAINT usuario_pkey PRIMARY KEY (usuario)
);

-- ------------------------------------------------------------
-- Tabela {jkedit} Versao {002}  Esquema {Empresa} Descricao {configuracoes de controle}
-- ------------------------------------------------------------

CREATE TABLE jkedit (
	Rotina    VARCHAR( 30),
	Variavel  VARCHAR( 10),
	Conteudo  VARCHAR(100),
	PRIMARY KEY (rotina, variavel)
); 

-- ------------------------------------------------------------
-- Tabela {jk_rel} Versao {001}  Esquema {padrao} Descricao {Relatorios do sistema}
-- ------------------------------------------------------------

CREATE TABLE padrao.jk_rel (
  id SERIAL NOT NULL,
  grupo VARCHAR(20) NOT NULL,
  repositorio VARCHAR(100) NOT NULL,
  titulo VARCHAR(100) NOT NULL,
  nome VARCHAR(100) NOT NULL,
  desativado BOOL NULL DEFAULT 'false',
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_cotacao} Versao {001}  Esquema {Empresa} Descricao {Cotacao}
-- ------------------------------------------------------------

CREATE TABLE fat_cotacao (
  id SERIAL NOT NULL,
  cad_filial_id INT NULL,
  emissao DATE NULL,
  finalidade TEXT NULL,
  observacao TEXT NULL,
  PRIMARY KEY(id)
);


-- ------------------------------------------------------------
-- Tabela {fat_tabela_cest} Versao {001}  Esquema {padrao} Descricao {Tabela CEST}
-- ------------------------------------------------------------

CREATE TABLE fat_tabela_cest (
  id SERIAL NOT NULL,
  cest VARCHAR(20) NOT NULL,
  ncm VARCHAR(20) NULL,
  descricao TEXT NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {cad_arquivos} Versao {001} Esquema {Empresa} Descricao {Cadastro - arquivos}
-- ------------------------------------------------------------

CREATE TABLE cad_arquivos (
  id SERIAL NOT NULL,
  nome VARCHAR NOT NULL,
  arquivo bytea NOT NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_cst_key} Versao {001}  Esquema {padrao} Descricao {Cadastro de CSTs (IPI,PIS,COFINS,ICMS)}
-- ------------------------------------------------------------

CREATE TABLE fat_cst_key (
  tipo CHAR(06) NOT NULL,
  valor CHAR(02) NOT NULL,
  grupo VARCHAR(20) NOT NULL,
  descricao VARCHAR(80) NOT NULL,
  isento BOOL NULL DEFAULT 'false',
  requertag VARCHAR(80) NULL,
  PRIMARY KEY(tipo, valor)
);

-- ------------------------------------------------------------
-- Tabela {fat_tabela_anp} Versao {001}  Esquema {padrao} Descricao {Cadastro tabela ANP}
-- ------------------------------------------------------------

CREATE TABLE fat_tabela_anp (
  id SERIAL NOT NULL,
  codigo VARCHAR(20) NOT NULL,
  descricao TEXT NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_classtributaria} Versao {001}  Esquema {padrao}  Descricao {Tabela de Classificacao Triburaria}
-- ------------------------------------------------------------

CREATE TABLE fat_classtributaria (
  id VARCHAR(10) NOT NULL,
  descricao VARCHAR(50) NULL,
  codigoricms VARCHAR(20) NULL,
  cst VARCHAR(20) NULL,
  textopadrao TEXT NULL,
  dataalteracao DATE NULL,
  incidesobretotal BOOL NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_classtributaria_modbc} Versao {001}  Esquema {padrao}  Descricao {Tabela de Classificacao Triburaria - Modalidade de determinacao da BC }
-- ------------------------------------------------------------

CREATE TABLE fat_classtributaria_modbc (
  fat_classtributaria_id VARCHAR(10) NOT NULL,
  codigo_modalidade CHAR(1) NULL,
  descricao VARCHAR(40) NULL,
  PRIMARY KEY(fat_classtributaria_id, codigo_modalidade),
  FOREIGN KEY(fat_classtributaria_id)
    REFERENCES fat_classtributaria(id)
      ON DELETE CASCADE
      ON UPDATE NO ACTION
);
-- ------------------------------------------------------------
-- Tabela {fat_especifitecnica} Versao {002}  Esquema {padrao}  Descricao {Tabela de especificacao tecnica para analise}
-- ------------------------------------------------------------

CREATE TABLE fat_especifitecnica (
  id SERIAL NOT NULL,
  descricao VARCHAR(50) NOT NULL,
  especificacao_min NUMERIC(7,3) DEFAULT 0.000,
  especificacao_max NUMERIC(7,3) NOT NULL,
  observacao TEXT NULL, 
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_condpg} Versao {003}  Esquema {Empresa} Descricao {Cadastro de Condicoes de Pagamento }
-- ------------------------------------------------------------

CREATE TABLE fat_condpg (
  id SERIAL NOT NULL,
  parcelas INT4 NOT NULL,
  descricao VARCHAR(40) NOT NULL,
  prazoparcelas VARCHAR(25) NOT NULL,
  vctoapartir VARCHAR(25) NOT NULL,
  alteraparcela BOOL NULL,
  desativado BOOL NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_diretiva} Versao {002} Esquema {padrao} Descricao {Cadastro de Diretivas}
-- ------------------------------------------------------------

CREATE TABLE fat_diretiva (
  id SERIAL NOT NULL,
  desativado BOOL NULL,
  descricao VARCHAR(120) NOT NULL,
  descricaoresumida VARCHAR(50) NULL,
  valorpadrao VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_docto_nfe_lote} Versao {001} Esquema {Empresa} Descricao {docto - integracao com nfe - lote}
-- ------------------------------------------------------------

CREATE TABLE fat_docto_nfe_lote (
  id_lote INT8 NOT NULL,
  data_transmissao TIMESTAMP NULL,
  num_recibo VARCHAR(15) NULL,
  retorno_proc CHAR(1) NULL,
  xml_retorno BYTEA NULL,
  data_proc TIMESTAMP NULL,
  PRIMARY KEY(id_lote)
);

-- ------------------------------------------------------------
-- Tabela {fat_grupoprodutos} Versao {003} Esquema {Empresa} Descricao {Cadastro de Grupos de Produtos}
-- ------------------------------------------------------------

CREATE TABLE fat_grupoprodutos (
  id SERIAL NOT NULL,
  descricao VARCHAR(40) NULL,
  classificacao VARCHAR(20) NULL,
  ordemlistapreco VARCHAR(20) NULL,
  sequencia VARCHAR(10) NULL,
  desativado BOOL NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);


-- ------------------------------------------------------------
-- Tabela {fat_docto_c} Versao {106} Esquema {empresa} Descricao {Movimentacao Documentos Cabecalho}
-- ------------------------------------------------------------

CREATE TABLE fat_docto_c (
  controle BIGSERIAL NOT NULL,
  tabcfop_id VARCHAR(20) NULL,
  fat_transacao_id INT4 NOT NULL,
  serie_id VARCHAR(20) NULL,
  seriedocto_id INT NULL,
  seriedocto_codigo CHAR(3) NULL,
  serie_natureza VARCHAR(20) NULL,
  cad_filial_id INT4 NULL,
  numero_docto INT8 NOT NULL,
  emissao DATE NOT NULL,
  emissaoTime TIMESTAMP  NULL,
  dataentradasaida DATE NOT NULL,
  cad_cadastro_id INT4 NOT NULL,
  cad_cadastro_iddest INT4 NULL,
  cad_cadastro_idremet INT4 NULL,
  cad_cadastro_idconsig INT4 NULL,
  cad_cadastro_idexped INT4 NULL,
  cad_mun_idorigem INT NULL,
  cad_mun_iddestino INT NULL,
  cad_estado_iddescarga INT NULL,
  nome VARCHAR(60) NULL,
  endereco VARCHAR(60) NULL,
  endereco_numero VARCHAR(20) NULL,
  complemento VARCHAR(60) NULL,
  bairro VARCHAR(60) NULL,
  cidade VARCHAR(30) NULL,
  uf VARCHAR(2) NULL,
  cnpj_cpf Varchar(20) NULL,
  ie_rg Varchar(20) NULL,
  cadastro_vendedor_id INT4 NULL,
  fat_listapre_id INT4 NULL,
  fat_listapre_tabela_tabela INT4 NULL,
  tipolcto INT NULL,
  statuslcto INT NULL,
  statusdocto VARCHAR(80) NULL,
  fat_condpg_id INT4 NULL,
  totalprodutos DECIMAL(16,4) NULL,
  totalliquidoprodutos DECIMAL(16,4) NULL,
  ipi_valor DECIMAL(14,2) NULL,
  iss_valor DECIMAL(14,2) NULL,
  icms_basecalculo DECIMAL(14,2) NULL,
  icms_valor DECIMAL(14,2) NULL,
  icmssubst_basecalculo DECIMAL(14,2) NULL,
  icmssubst_valor DECIMAL(14,2) NULL,
  ncmtotalvlimposto DECIMAL(14,2) NULL,
  irf_bc DECIMAL(16,4) NULL,
  irf_perc DECIMAL(14,5) NULL,
  irf_outras DECIMAL(16,4) NULL,
  irf_isentas DECIMAL(16,4) NULL,
  funrural_perc DECIMAL(14,5) NULL,
  funrural_valor DECIMAL(16,4) NULL,
  inss_perc DECIMAL(14,5) NULL,
  inss_valor DECIMAL(16,4) NULL,
  pis_valor DECIMAL(16,4) NULL,
  cofins_valor DECIMAL(16,4) NULL,
  desconto_perc DECIMAL(14,5) NULL,
  desconto_valor DECIMAL(16,4) NULL,
  descontopromo_perc DECIMAL(14,5) NULL,
  descontopromo_valor DECIMAL(16,4) NULL,
  descontodocto_perc DECIMAL(14,5) NULL,
  descontodocto_valor DECIMAL(16,4) NULL,
  descontocliente_perc DECIMAL(14,5) NULL,
  descontocliente_valor DECIMAL(16,4) NULL,
  valortotal_docto DECIMAL(16,4) NULL,
  valorarredtotaldocto DECIMAL(16,4) NULL,
  infocustodescpgto DECIMAL(16,4) NULL,
  infocustojurosvendor DECIMAL(16,4) NULL,
  infocustooutrasdesp DECIMAL(16,4) NULL,
  infocustofretepagar DECIMAL(16,4) NULL,
  icr_descontopgto DECIMAL(16,4) NULL,
  icr_jurosvendor DECIMAL(16,4) NULL,
  icr_OutrasDespesas DECIMAL(16,4) NULL,
  icr_freteapagar DECIMAL(16,4) NULL,
  comissaofaturamento DECIMAL(16,4) NULL,
  comissaorecebimento DECIMAL(16,4) NULL,
  comissao_avista DECIMAL(16,6) NULL,
  comissao_aprazo DECIMAL(16,6) NULL,
  prazoentrega NUMERIC NULL,
  validade NUMERIC NULL,
  frete_substvalorfrete DECIMAL(16,4) NULL,
  frete_substvaloricms DECIMAL(16,4) NULL,
  frete_valor DECIMAL(16,4) NULL,
  frete_tabtrib INT4 NULL,
  frete_tabred INT4 NULL,
  frete_basecalculo DECIMAL(16,4) NULL,
  frete_pericms DECIMAL(16,4) NULL,
  valortotal_docto_2 DECIMAL(16,4) NULL,
  frete_isentos DECIMAL(16,4) NULL,
  frete_outros DECIMAL(16,4) NULL,
  frete_percipi DECIMAL(16,4) NULL,
  frete_valoripi DECIMAL(16,4) NULL,
  despesa_valor DECIMAL(16,4) NULL,
  despesa_tabtri INT4 NULL,
  despesa_tabred INT4 NULL,
  despesa_basecalculo DECIMAL(16,4) NULL,
  despesa_percicms DECIMAL(14,5) NULL,
  despesa_valoricms DECIMAL(16,4) NULL,
  despesa_isentos DECIMAL(16,4) NULL,
  despesa_outros DECIMAL(16,4) NULL,
  despesa_percipi DECIMAL(14,5) NULL,
  despesa_valoripi DECIMAL(16,4) NULL,
  seguro_valor DECIMAL(16,4) NULL,
  seguro_tabtri INT4 NULL,
  seguro_tabred INT4 NULL,
  seguro_basecalculo DECIMAL(16,4) NULL,
  seguro_percicms DECIMAL(14,5) NULL,
  seguro_valoricms DECIMAL(16,4) NULL,
  seguro_isentos DECIMAL(16,4) NULL,
  seguro_outros DECIMAL(16,4) NULL,
  jnfe_lote_id INT NULL,
  nfefinalidadeemissao VARCHAR(30) NULL,
  nfeformaemissao VARCHAR(30) NULL,
  nfetipoemissaodanfe VARCHAR(30) NULL,
  nfesituacao VARCHAR(150) NULL,
  nfedanfeimpresso BOOL NULL,
  nfechaveacesso VARCHAR(44) NULL,
  nfeexportada BOOL NULL,
  nfemodelo Varchar(20) NULL,
  nfedigestvalue VARCHAR(255) NULL,
  nfeambiente VARCHAR(20) NULL,
  nfeprotocolo VARCHAR(15) NULL,
  nfeprotocoloCanc VARCHAR(15) NULL,
  nfexmotivo VARCHAR(250) NULL,
  nfexmotivocanc VARCHAR(250) NULL,
  nfecstat VARCHAR(3) NULL,
  nfecstatcanc VARCHAR(3) NULL,
  nfejustificativa VARCHAR(250) NULL,
  nfedescevento VARCHAR(30) NULL,
  nfeeventos TEXT NULL,
  nfelog TEXT NULL,
  nfe_qrcode VARCHAR(600) NULL,
  nfexml TEXT NULL,
  nfexmldistribuicao TEXT NULL,
  nfexmlcanc TEXT NULL,
  nfexmlcancdistribuicao TEXT NULL,
  nfexmlretEnviNFe TEXT NULL,
  nfexmlretConsSitNFe TEXT NULL,
  nferef_documento VARCHAR(20),
  nferef_chaveacesso VARCHAR(64) NULL,
  nferef_emissao DATE,
  nferef_cad_cadastro_id INT,
  nferef_numerodocto INT,
  nferef_numerocoo INT,
  cad_veiculo_id INT NULL,
  mdfe_tipo_emitente varchar(50) default '2-Carga Propria',
  mdfe_totalmercadorias DECIMAL(16,4) NULL,
  mdfe_pesobrutocarga DECIMAL(16,4) NULL,
  mdfe_un_pesobrutocarga CHAR(3) NULL,
  defeitoReclamado TEXT NULL,
  defeitoConstatado TEXT NULL,
  volumes NUMERIC(14,3) NULL,
  especie VARCHAR(40) NULL,
  marca VARCHAR(40) NULL,
  pesobruto DECIMAL(16,4) NULL,
  pesoliquido DECIMAL(16,4) NULL,
  fat_produto_idpred  INT NULL,
  cad_cadastro_idtransp INT4 NULL,
  transp_nome VARCHAR(60) NULL,
  transp_endereco VARCHAR(60) NULL,
  transp_cidade VARCHAR(30) NULL,
  transp_uf VARCHAR(2) NULL,
  transp_cnpj_cpf VARCHAR(20) NULL,
  transp_ie_rg VARCHAR(20) NULL,
  transp_placaveiculo VARCHAR(20) NULL,
  transp_placaveiculo_reboque1 Varchar(20) NULL,
  transp_placaveiculo_reboque2 Varchar(20) NULL,
  transp_placaveiculo_reboque3 Varchar(20) NULL,
  transp_descricaoveiculo VARCHAR(50) NULL,
  transp_ufveiculo VARCHAR(2) NULL,
  transp_rntrc VARCHAR(10) NULL,
  transp_idmotorista INT4 NULL,
  transp_tipocarroceria VARCHAR(30) NULL,
  transp_tiporodado VARCHAR(30) NULL,
  transp_taraveiculo NUMERIC(14,3) NULL,
  transp_ciot VARCHAR(12) NULL,
  frete VARCHAR(30) NULL,
  descarga VARCHAR(30) NULL,
  dadosadicionais TEXT NULL,
  dadosadicionaiscontribuinte TEXT NULL,
  observacao TEXT NULL,
  ctrl_agrupados TEXT NULL,
  cte_modal Varchar(50) NULL,
  cte_tipo_servico Varchar(50) NULL,
  cte_finalidade_emissao Varchar(50) NULL,
  cte_total_carga DECIMAL(16,4) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(controle)
);

-- ------------------------------------------------------------
-- Tabela {fat_aliqirrf} Versao {002} Esquema {padrao} Descricao {Cadastro  de Aliquotas  de IRRF}
-- ------------------------------------------------------------

CREATE TABLE fat_aliqirrf (
  id SERIAL NOT NULL,
  descricao VARCHAR(60) NULL,
  aliquota NUMERIC(16,4) NULL,
  valorminimoparairrf NUMERIC(16,4) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_aliqissqn} Versao {031}  Esquema {padrao} Descricao {Cadastro  de Aliquotas  de ISSQN}
-- ------------------------------------------------------------

CREATE TABLE fat_aliqissqn (
  id SERIAL NOT NULL,
  descricao VARCHAR(60) NULL,
  aliquota NUMERIC(16,4) NULL,
  cnae_codigo VARCHAR(10) NULL,
  cnae_descricao TEXT NULL,
  servico_codigo VARCHAR(10) NULL,
  servico_descricao TEXT NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fac_pmed_c} Versao {015}  Esquema {empresa} Descricao {Factoring - Prazo medio}
-- ------------------------------------------------------------

CREATE TABLE fac_pmed_c (
  id SERIAL NOT NULL,
  cheque BOOL NULL,
  duplicata BOOL NULL,
  vendaaprazo BOOL NULL,
  simulado BOOL NULL,
  data_base DATE NULL,
  taxa DECIMAL(5,2) NULL,
  tarifa_por_titulo DECIMAL(12,6) NULL,
  tipotarifa VARCHAR(20) NULL,
  tac DECIMAL (12,6) NULL,
  iof DECIMAL (12,6) NULL,
  iofadicional DECIMAL (12,6) NULL,
  taxaantecipada BOOL NULL,
  considera_sab_dom BOOL NULL,
  total DECIMAL(16,4) NULL,
  juros DECIMAL(12,6) NULL,
  tipojuro VARCHAR(20) NULL,
  prazomedio DECIMAL(14,4) NULL,
  cadastro_id INT NULL,
  fiador_id INT NULL,
  campo_livre VARCHAR(50) NULL,
  obs TEXT NULL,
  lotefechado BOOL NULL,
  datafechamento DATE NULL,
  total_liquido DECIMAL(16,4) NULL,
  total_iof DECIMAL(16,4) NULL,
  total_iof_adicional DECIMAL(16,4) NULL,
  total_tarifa_por_titulo DECIMAL(16,4) NULL,
  fat_condpg_id INT4 NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {ef_textocartas} Versao {001}  Esquema {padrao} Descricao {Escrita Fiscal - Cadastro de texto para carta de correcao}
-- ------------------------------------------------------------

CREATE TABLE ef_textocartas (
  modelo SERIAL NOT NULL,
  texto TEXT NULL,
  parte_texto VARCHAR(30) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(modelo)
);

-- ------------------------------------------------------------
-- Tabela {fat_aliqinss} Versao {002} Esquema {padrao} Descricao {Cadastro  de Aliquotas de INSS Rural e de Servicos}
-- ------------------------------------------------------------

CREATE TABLE fat_aliqinss (
  id SERIAL NOT NULL,
  descricao VARCHAR(60) NULL,
  aliquotapfisica NUMERIC(16,4) NULL,
  aliquotapjuridica NUMERIC(16,4) NULL,
  reterinsspfisica BOOL NULL,
  reterinsspjuridica BOOL NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_aliquotas} Versao {001}  Esquema {padrao} Descricao {Cadastro  de Aliquotas}
-- ------------------------------------------------------------

CREATE TABLE fat_aliquotas (
  id SERIAL NOT NULL,
  classtributaria_id VARCHAR(10) NULL,
  descricao VARCHAR(50) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_classorigem} Versao {001} Esquema {padrao} Descricao {Cadastro de Classificacao de Origem do Produto}
-- ------------------------------------------------------------

CREATE TABLE fat_classorigem (
  id VARCHAR(02) NOT NULL,
  descricao VARCHAR(50) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_classtipi} Versao {029}  Esquema {padrao}  Descricao {Tabela de Classificacao TIPI}
-- ------------------------------------------------------------
 
CREATE TABLE fat_classtipi (
  id SERIAL NOT NULL,
  codigoncm VARCHAR(20) NOT NULL,
  cest VARCHAR(20) NULL,
  descricao TEXT NULL,
  abreviaturanf VARCHAR(20) NULL,
  unidadepadrao VARCHAR(20) NULL,
  unidadedigitacao VARCHAR(20) NULL,
  chave VARCHAR(128) NULL,
  versao_ VARCHAR(128) NULL,
  fonte VARCHAR(128) NULL,
  fator NUMERIC(16,4) NULL,
  aliquota NUMERIC(16,4) NULL,
  reducaobase NUMERIC(16,4) NULL,
  preimpresso BOOL NULL,
  ex VARCHAR(20) NULL,
  tabela VARCHAR(20) NULL,
  aliqnac NUMERIC(16,4) NULL,
  aliqest NUMERIC(16,4) NULL,
  aliqmun NUMERIC(16,4) NULL,
  aliqimp NUMERIC(16,4) NULL,
  aliq_dest_id INT NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  vigencia_inicio DATE NULL,
  vigencia_fim DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_classtipi_aliq} Versao {005}  Esquema {padrao}  Descricao {Tabela de Classificacao TIPI - alquotas} 
-- ------------------------------------------------------------

CREATE TABLE fat_classtipi_aliq (
  id SERIAL NOT NULL,
  codigoncm VARCHAR(20) NULL,
  ex VARCHAR(20) NULL,
  tabela VARCHAR(20) NULL,
  descricao TEXT NULL,
  aliqnac NUMERIC(16,4) NULL,
  aliqimp NUMERIC(16,4) NULL,
  versao VARCHAR(20) NULL,
  PRIMARY KEY(id)
 );

-- ------------------------------------------------------------
-- Tabela {fat_almoxarifado} Versao {001}  Esquema {Empresa} Descricao {Cadastro de Almoxarifado}
-- ------------------------------------------------------------

CREATE TABLE fat_almoxarifado (
  id SERIAL NOT NULL,
  descricao VARCHAR(60) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_classfiscal} Versao {001} Esquema {padrao} Descricao {Tabela de Classificacao Fiscal}
-- ------------------------------------------------------------

CREATE TABLE fat_classfiscal (
  id VARCHAR(20) NOT NULL,
  descricao VARCHAR(150) NULL,
  descricaoreduzida VARCHAR(50) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {financ_formapag} Versao {002} Esquema {Empresa} Descricao {Cadastro de Formas de Pagamentos}
-- ------------------------------------------------------------

CREATE TABLE financ_formapag (
  id SERIAL NOT NULL,
  financ_classificacao_g VARCHAR(20) NULL,
  descricao VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaaltercao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {financ_moeda} Versao {003}  Esquema {padrao} Descricao {Cadastro  de moeda}
-- ------------------------------------------------------------

CREATE TABLE financ_moeda (
  id SERIAL NOT NULL,
  descricao VARCHAR(40) NULL,
  codigoMoeda VARCHAR(20),
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {financ_banco} Versao {003}  Esquema {padrao} Descricao {Cadastro de Bancos}
-- ------------------------------------------------------------

CREATE TABLE financ_banco (
  id INT4 NOT NULL,
  descricao VARCHAR(40) NULL,
  digito_verificador VARCHAR(1) NULL,
  tagbanco VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {financ_classificacao_g} Versao {005}  Esquema {Empresa} Descricao {Cadastro de classificacao gerencial}
-- ------------------------------------------------------------

CREATE TABLE financ_classificacao_g (
  id SERIAL NOT NULL,
  classificacao_g VARCHAR(20) NULL,
  descricao VARCHAR(40) NULL,
  natureza CHAR(7) NULL,
  atualizarregimecaixa BOOL NULL,
  atualizarregimecompetencia BOOL NULL,
  desativado BOOL NULL,
  despesafixa BOOL NULL,
  custovariavel BOOL NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {financ_portador} Versao {002}  Esquema {padrao} Descricao {Cadasro de Portador}
-- ------------------------------------------------------------

CREATE TABLE financ_portador (
  id SERIAL NOT NULL,
  descricao VARCHAR(40) NULL,
  desativado BOOL NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {financ_tipo_cc} Versao {001}  Esquema {padrao} Descricao {Cadastro de Tipos de Conta Corrente}
-- ------------------------------------------------------------

CREATE TABLE financ_tipo_cc (
  id SERIAL NOT NULL,
  descricao VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {frentecaixa} Versao {001}  Esquema {Empresa} Descricao {Frente Caixa - cabecalho}
-- ------------------------------------------------------------

CREATE TABLE frentecaixa (
  sequencia SERIAL NOT NULL,
  emissao DATE NULL,
  fat_produto_id INT NULL,
  qtde NUMERIC(16,4) NULL,
  valor_unitario NUMERIC(16,4) NULL,
  valor_total NUMERIC(16,4) NULL,
  PRIMARY KEY(sequencia)
);



-- ------------------------------------------------------------
-- Tabela {financ_tipocobranca} Versao {010}  Esquema {padrao} Descricao {Cadastro  Tipo de Cobran?a}
-- ------------------------------------------------------------

CREATE TABLE financ_tipocobranca (
  id SERIAL NOT NULL,
  desativado BOOL NULL,
  descricao VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  tipojuro VARCHAR(10) NULL,
  tipotaxa VARCHAR(12) NULL,
  multa NUMERIC(14,4) NULL,
  juro NUMERIC(14,4) NULL,
  acrescimo NUMERIC(14,4) NULL,
  carencia NUMERIC (4) NULL,
  desconto NUMERIC (14,4) NULL,
  desc_ate NUMERIC (4) NULL,
  ocorrencia VARCHAR(10) NULL,
  bloqcred INT NULL,
  restrcred INT NULL,
  manterjuro  VARCHAR (4) NULL,
  desc_ant NUMERIC (14,4) NULL,
  def_juros VARCHAR (60) NULL,
    
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_parameters} Versao {095}  Esquema {Empresa} Descricao {Parametros gerais do sistema}
-- ------------------------------------------------------------

CREATE TABLE fat_parameters (
  fatfilialpadrao integer NOT NULL,
  fatlistaprecopadrao integer,
  fattabelavendapadrao integer,
  fattabelavendapadrao2 integer,
  fatlistaprecopadrao2 integer,
  fattabelavendapadraol2_1 integer,
  fattabelavendapadraol2_2 integer,
  fattransacaopadraovenda integer,
  fattransacaopadraotelevendas integer,
  fatcondpgtopadraovenda integer,
  fatclientepadraovenda integer,
  fat_encargo_id integer,
  fat_romaneio_espelhar_pedido boolean DEFAULT FALSE,
  financmoedapadrao VARCHAR(20),
  financjurosmora numeric(12,6),
  financacrescimo numeric(12,6),
  financmulta numeric(12,6),
  nfegerenciar boolean,
  nfedatabaseintegrar boolean,
  nfeurlintegracao VARCHAR(150),
  nfe_id_csc_1 VARCHAR(6),
  nfe_csc_1 VARCHAR(36),
  nfe_id_csc_2 VARCHAR(6),
  nfe_csc_2 VARCHAR(36),
  nfedatabaseurl VARCHAR(90),
  nfeservidorproxy VARCHAR(80),
  nfeservidorproxyporta integer,
  nfeservidorproxyusername VARCHAR(40),
  nfeservidorproxypassword VARCHAR(40),
  nfediretoriodpeclotesgerado VARCHAR(80),
  nfediretoriodpeclotesautorizados VARCHAR(80),
  nfeintervaloentretentativastransmissao integer,
  nfeintervaloentreconsultasprocessamentopendente integer,
  nfeintegraapenasdfe boolean,
  nfeemitente integer,
  nfenomeoperador VARCHAR(40),
  nfeambiente character(1),
  nfeseriepadrao_id integer,
  nfetransacao_venda_padrao_id integer,
  nfetransacao_compra_padrao_id integer,
  chathostname VARCHAR(80),
  monitor_caminho_ini VARCHAR(250),
  monitor_caminho_txt VARCHAR(250),
  monitor_caminho_xml VARCHAR(250),
  facclientepadrao integer,
  facfiadorpadrao integer,
  factipojuropadrao VARCHAR(20),
  facbancopadrao integer,
  facagenciapadrao VARCHAR(15),
  facccpadrao VARCHAR(10),
  faciof numeric(12,8),
  faciofadicional numeric(12,8),
  factaxapadrao numeric(5,2),
  facprodutopadrao integer,
  facprodutopadrao2 integer,
  facprodutopadrao3 integer,
  facclassgdesconto integer,
  facclassgjuros integer,
  facclassgiof integer,
  facclassgtaxas integer,
  facclassgdescontocheque integer,
  financtransacaochpd integer,
  financcarencia numeric(12,6),
  financdesconto numeric(12,6),
  financbloqcred numeric(12,6),
  financrestrcred numeric(12,6),
  financtipotaxa VARCHAR(20),
  financtipojuro VARCHAR(20),
  financdescate numeric(12,6),
  financdescanterior numeric(12,6),
  financjurosrecebidos INT,
  financdescconcedidos INT,
  financdevrecebidas INT,
  financdespacessoriasrec INT,
  financjurospagos INT,
  financdescobtidos INT,
  financdevenviadas INT,
  financdespacessoriaspag INT,
  financclassgjuros integer,
  facclassgdescontoduplicata integer,
  monitor_caminho_comando_ini VARCHAR(250),
  monitor_caminho_comando_xml VARCHAR(250),
  fat_t_receitas_despesas VARCHAR(100),
  fat_t_vendas_compras VARCHAR(100),
  financ_cc_caixa integer,
  nfeformaemissao VARCHAR,
  nfecertificado VARCHAR(250),
  nfecertificadosenha VARCHAR(60),
  nfelogotipo VARCHAR(60),
  nfecertificadotipo VARCHAR(20),
  fat_np_produtopadraoid integer,
  fat_np_transacaopadraoid integer,
  fat_np_tipopesagempadrao VARCHAR(15),
  fat_t_vendasbalcao VARCHAR(100),
  financ_fc_contasprovisao VARCHAR(100),
  financ_fc_contascorrente VARCHAR(100),
  financ_fc_tiposcobranca VARCHAR(100),
  financidmoedapadrao integer,
  financtransacao_rec_a_vista integer,
  financtransacao_rec_a_prazo integer,
  financtransacao_pag_a_vista integer,
  financtransacao_pag_a_prazo integer,
  fattransacaopadraovenda_nfce integer,
  fattransacaopadraovenda_lcto integer,
  fattransacaopadrao_mdfe integer,
  fattransacaopadrao_cte integer,
  fattransacaopadrao_carrinho integer,
  fat_mask_qtde VARCHAR(50) default '###,##0.000000;###,###.######',
  fat_mask_valor VARCHAR(50) default'###,##0.000000;###,###.######',
  PRIMARY KEY(fatfilialpadrao)
);

-- ------------------------------------------------------------
-- Tabela {fat_produto_classtrib} Versao {002}  Esquema {Empresa} Descricao {Produto - Classificacao Tributaria por ESTADO}
-- ------------------------------------------------------------

CREATE TABLE fat_produto_classtrib (
  id SERIAL NOT NULL,
  fat_produto_id INT NOT NULL,
  uf CHAR(2) NOT NULL,
  classtributaria_id VARCHAR(10) NOT NULL,
  PRIMARY KEY(id),
  CONSTRAINT unique_index_fat_produto_classtrib UNIQUE (fat_produto_id, uf)
);

-- ------------------------------------------------------------
-- Tabela {fat_listapre} Versao {003} Esquema {Empresa} Descricao {Cadastro de Lista de Precos}
-- ------------------------------------------------------------

CREATE TABLE fat_listapre (
  id SERIAL NOT NULL,
  descricao VARCHAR(40) NULL,
  desativado BOOL NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_marca} Versao {002}  Esquema {padrao} Descricao {Cadastro de Marca de Produto}
-- ------------------------------------------------------------

CREATE TABLE fat_marca (
  id SERIAL NOT NULL,
  descricao VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_romaneio} Versao {004}  Esquema {Empresa} Descricao {Romaneio de carga}
-- ------------------------------------------------------------

CREATE TABLE fat_romaneio (
  id SERIAL NOT NULL,
  dataemissao DATE DEFAULT current_date,
  datasaida DATE DEFAULT current_date,
  cad_cadastro_idtransp INT NOT NULL,
  cad_filial_id INT NOT NULL,
  transp_nome VARCHAR(60) NULL,
  transp_endereco VARCHAR(60) NULL,
  transp_cidade VARCHAR(30) NULL,
  transp_uf CHAR(2) NULL,
  transp_cnpj_cpf VARCHAR(20) NULL,
  transp_ie_rg VARCHAR(20) NULL,
  transp_placaveiculo VARCHAR(20) NULL,
  transp_placaveiculo_reboque1 VARCHAR(20) NULL,
  transp_placaveiculo_reboque2 VARCHAR(20) NULL,
  transp_placaveiculo_reboque3 VARCHAR(20) NULL,
  transp_descricaoveiculo VARCHAR(50) NULL,
  transp_ufveiculo CHAR(2) NULL,
  transp_idmotorista INT NULL,
  frete VARCHAR(30) NULL,
  descarga VARCHAR(30) NULL,
  PRIMARY KEY(id),
  CONSTRAINT unique_index_fat_rimaneio UNIQUE (id, cad_cadastro_idtransp)
);

-- ------------------------------------------------------------
-- Tabela {fat_transacao} Versao {002}  Esquema {Empresa} Descricao {Cadastro de Transacao}
-- ------------------------------------------------------------

CREATE TABLE fat_transacao (
  id SERIAL NOT NULL,
  desativado BOOL NULL,
  financ_classificacao_g VARCHAR(80) NULL,
  descricao VARCHAR(40) NULL,
  natureza Varchar(20) NULL,
  tipodocto Varchar(20) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_unmedida} Versao {003}  Esquema {padrao} Descricao {Cadastro  unidade de medida}
-- ------------------------------------------------------------

CREATE TABLE fat_unmedida (
  id VARCHAR(4) NOT NULL,
  descricao VARCHAR(40) NULL,
  permitefracao BOOL NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao Varchar(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_serie} Versao {008}  Esquema {padrao} Descricao {Cadastro  de Serie de Documentos}
-- ------------------------------------------------------------

CREATE TABLE fat_serie (
  id SERIAL NOT NULL,
  seriemodelo CHAR(2) NOT NULL,
  serienumero INT NOT NULL,
  codigo Varchar(20) NOT NULL,
  natureza Varchar(20) NOT NULL,
  tipodocto VARCHAR(20) NOT NULL,
  idseriejnfe INT NULL,
  desativado BOOL NULL DEFAULT 'FALSE',
  descricao VARCHAR(20) NULL,
  seguirnumeracao BOOL NULL DEFAULT 'FALSE',
  fatorcorrecao INT4  NULL DEFAULT 0,
  nomeseq VARCHAR(60) NULL,
  numeracaoinicial INT NULL,
  numeracaofinal INT NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {fat_tabsubstrib} Versao {004}  Esquema {padrao} Descricao {Cadastro  Tabela para calculo  do ICMS Substituicao}
-- ------------------------------------------------------------

CREATE TABLE fat_tabsubstrib (
  id INT4 NOT NULL,
  descricao VARCHAR(60) NULL,
  regraparacalculo VARCHAR(60) NULL,
  valorparabasecalculo VARCHAR(60) NULL,
  aliquotadoicmssubstituicao VARCHAR(60) NULL,
  percentualparaprecoestadual NUMERIC(16,4) NULL,
  percentualparaprecointerestadual NUMERIC(16,4) NULL,
  aliquotareducaobasecalculo NUMERIC(16,4) NULL,
  retervalorsubstituicao BOOL NULL,
  estadosexcluso VARCHAR(160) NULL,
  formulabasecalculosubstituicao VARCHAR(160) NULL,
  formulabasecalculoicmsnormal VARCHAR(160) NULL,
  dataalateracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {co_planocon_centrocusto} Versao {002} Esquema {Empresa} Descricao {Contabilidade - Plano de Contas - Centros de Custo}
-- ------------------------------------------------------------

CREATE TABLE co_planocon_centrocusto (
  co_planocon_id INT4 NOT NULL,
  co_centrocusto_id INT4 NOT NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(co_planocon_id, co_centrocusto_id)
);

-- ------------------------------------------------------------
-- Tabela {cad_cnae} Versao {002}  Esquema {padrao} Descricao {Cadastro de CNAE}
-- ------------------------------------------------------------

CREATE TABLE cad_cnae (
  id VARCHAR(20) NOT NULL,
  descricao VARCHAR(255) NOT NULL,
  iniobrigato DATE NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {cad_estado} Versao {001}  Esquema {padrao}  Descricao {Cadastro  de Estado}
-- ------------------------------------------------------------

CREATE TABLE cad_estado (
  id INT4 NOT NULL,
  estado VARCHAR(30) NULL,
  uf VARCHAR(4) NULL,
  pais_id INT NULL,
  codigoibge INT4 NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {co_saldocontab} Versao {001}  Esquema {Empresa} Descricao {Contabilidade - Saldos}
-- ------------------------------------------------------------

CREATE TABLE co_saldocontab (
  co_planocon_id INT4 NOT NULL,
  cad_filial_id INT4 NULL,
  data_saldo DATE NULL,
  creditos NUMERIC(16,4) NULL,
  debitos NUMERIC(16,4) NULL, codigo_csosn VARCHAR(120) NULL,
  saldo NUMERIC(16,4) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(co_planocon_id)
);

-- ------------------------------------------------------------
-- Tabela {cad_classificacao_reg} Versao {009}  Esquema {padrao} Descricao {Cadastro de classificacao de registros}
-- ------------------------------------------------------------

CREATE TABLE cad_classificacao_reg (
  tabela VARCHAR(40) NOT NULL,
  coluna VARCHAR(60) NOT NULL,
  classificacao VARCHAR(60) NOT NULL,
  labelcoluna VARCHAR(60) NULL,
  sequencial INT4 NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(tabela, coluna, classificacao)
);

-- ------------------------------------------------------------
-- Tabela {co_razaocontab} Versao {001}  Esquema {Empresa} Descricao {Contabilidade - Razao}
-- ------------------------------------------------------------

CREATE TABLE co_razaocontab (
  id SERIAL NOT NULL,
  cad_filial_id INT4 NULL,
  datalcto DATE NULL,
  natureza VARCHAR(20) NULL,
  co_planocon_id INT4 NULL,
  planocon_classificacao VARCHAR(50) NULL,
  planocon_id_origem INT4 NULL,
  planocon_id_contrapartida INT4 NULL,
  valor NUMERIC(16,4) NULL,
  saldo NUMERIC(16,4) NULL,
  dataalalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {cad_estado_trib} Versao {002}  Esquema {padrao} Descricao {Cadastro  de Estado - Tributacao - Aliquotas}
-- ------------------------------------------------------------

CREATE TABLE cad_estado_trib (
  fat_aliquotas_id INT NOT NULL,
  uf VARCHAR(2) NOT NULL,
  aliquota_icms_contribuinte NUMERIC(16,4) NULL,
  aliquota_icms_naocontribuinte NUMERIC(16,4) NULL,
  textopadrao TEXT NULL,
  aliquota_dif_contribuinte NUMERIC(16,4) NULL,
  aliquota_dif_naocontribuinte NUMERIC(16,4) NULL,
  textopadrao_dif TEXT NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(fat_aliquotas_id, uf)
);

-- ------------------------------------------------------------
-- Tabela {co_centrocusto} Versao {001}  Esquema {Empresa} Descricao {Contabilidade - Cadastro Centro de Custos}
-- ------------------------------------------------------------

CREATE TABLE co_centrocusto (
  id SERIAL NOT NULL,
  desativado BOOL NULL,
  classificacao VARCHAR(40) NULL,
  descricao VARCHAR(60) NULL,
  percentualrateio NUMERIC(16,4) NULL,
  fat_produto_id INT4 NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {cad_unidade} Versao {001}  Esquema {Empresa} Descricao {Cadastro  de Unidade da empresa}
-- ------------------------------------------------------------

CREATE TABLE cad_unidade (
  id SERIAL NOT NULL,
  descricao VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  dataInclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {cad_setor} Versao {001} Esquema {Empresa} Descricao {cadatro de setor}
-- ------------------------------------------------------------

CREATE TABLE cad_setor (
  id SERIAL NOT NULL,
  descricao VARCHAR(60) NOT NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {co_histopad} Versao {001}  Esquema  {Empresa}  Descricao {Contabilidade - Historico Padrao}
-- ------------------------------------------------------------

CREATE TABLE co_histopad (
  id SERIAL NOT NULL,
  descricao VARCHAR(256) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {cad_mun} Versao {004}  Esquema {padrao} Descricao {Cadastro de Municipio}
-- ------------------------------------------------------------

CREATE TABLE cad_mun (
  id SERIAL NOT NULL,
  municipio VARCHAR(40) NULL,
  logradouro VARCHAR(60) NULL,
  uf VARCHAR(02) NULL,
  codigoibge INT NULL,
  cad_estado_id INT NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioInclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {cad_pais} Versao {001}  Esquema {padrao} Descricao {Cadastro de Pais}
-- ------------------------------------------------------------

CREATE TABLE cad_pais (
  id INT NOT NULL,
  pais VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {ef_maparesumo} Versao {001} Esquema {Empresa} Descricao {Escrita Fiscal - Mapa resumo ECF}
-- ------------------------------------------------------------

CREATE TABLE ef_maparesumo (
  numeromapa SERIAL NOT NULL,
  emissao DATE NOT NULL,
  numeroecf INT4 NOT NULL,
  numeroserieecf VARCHAR(40) NOT NULL,
  cad_filial_id INT4 NOT NULL,
  modelodocto VARCHAR(02) NULL,
  contadororigem INT8 NULL,
  contadorfinal INT8 NULL,
  nrcupominicial INT8 NULL,
  nrcupomfinal INT8 NULL,
  contadorreducaoz INT8 NULL,
  grantotalinicial NUMERIC NULL,
  vendabrutadia NUMERIC NULL,
  grantotalfinal NUMERIC NULL,
  substituicaotrib NUMERIC NULL,
  isento NUMERIC NULL,
  naoincidencia NUMERIC NULL,
  cancelamentos NUMERIC NULL,
  descontos NUMERIC NULL,
  issqn NUMERIC NULL,
  perc_simples NUMERIC NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(numeromapa, emissao, numeroecf, numeroserieecf, cad_filial_id)
);

-- ------------------------------------------------------------
-- Tabela {ef_tabimpostosimples} Versao {001}  Esquema {Empresa} Descricao {Escrita Fiscal - Tabela de aliquotas de imposto simples}
-- ------------------------------------------------------------

CREATE TABLE ef_tabimpostosimples (
  data_vigor DATE NOT NULL,
  vencimento DATE NULL,
  valor1 NUMERIC NULL,
  percentual1 NUMERIC NULL,
  deducao1 NUMERIC NULL,
  valor2 NUMERIC NULL,
  percentual2 NUMERIC NULL,
  deducao2 NUMERIC NULL,
  valor3 NUMERIC NULL,
  percentual3 NUMERIC NULL,
  deducao3 NUMERIC NULL,
  valor4 NUMERIC NULL,
  percentual4 NUMERIC NULL,
  deducao4 NUMERIC NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(data_vigor)
);

-- ------------------------------------------------------------
-- Tabela {cad_atendimento} Versao {015} Esquema  {Empresa} Descricao {Registro de Atendimentos}
-- ------------------------------------------------------------

CREATE TABLE cad_atendimento (
  protocolo SERIAL NOT NULL,
  solicitante VARCHAR(60) NOT NULL,
  cad_cadastro_id INT4 NOT NULL,
  cliente VARCHAR(50) NULL,
  assunto VARCHAR(80) NULL,
  usuario VARCHAR(20) NULL,
  classificacao VARCHAR(30) NULL,
  contato VARCHAR(30) NULL,
  suporte VARCHAR(60) NULL,
  dataatendimento DATE NULL,
  hora TIME NULL,
  relatorio TEXT NULL,
  doc_html_rtf TEXT NULL,
  gerarsolicitacao BOOL NULL DEFAULT 'false',
  incluirmanual BOOL NULL DEFAULT 'false',
  emailenviado BOOL NULL DEFAULT 'false',
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao Varchar(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(protocolo, solicitante)
);

-- ------------------------------------------------------------
-- Tabela {ef_tabcfop} Versao {001}  Esquema {padrao}  Descricao {Tabela CFOP}
-- ------------------------------------------------------------

CREATE TABLE ef_tabcfop (
  id VARCHAR(10) NOT NULL,
  desativado BOOL NULL,
  descricao TEXT NULL,
  descricao2 VARCHAR(120) NULL,
  acvalorcontabil NUMERIC(16,4) NULL,
  acbasecalculo NUMERIC(16,4) NULL,
  acimpostocreditado NUMERIC(16,4) NULL,
  acisentasnaotributadas NUMERIC(16,4) NULL,
  acoutras NUMERIC(16,4) NULL,
  imprimecarimbo BOOL NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {co_tbcampos} Versao {001}  Esquema {padrao}  Descricao {Tabela de campos auxiliar de lancamentos} 
-- ------------------------------------------------------------

CREATE TABLE co_tbcampos (
  id CHAR(4) NOT NULL,
  grupo CHAR(5) NOT NULL,
  descricao VARCHAR(60) NULL,
  PRIMARY KEY(id, grupo)
);

-- ------------------------------------------------------------
-- Tabela {cad_cadastro_cnae} Versao {001}  Esquema {Empresa} Descricao {Cadastro geral  - CNAE}
-- ------------------------------------------------------------

CREATE TABLE cad_cadastro_cnae (
  cad_cadastro_id INT NULL,
  cnae_id VARCHAR(20) NULL,
  obs TEXT NULL
);

-- ------------------------------------------------------------
-- Tabela {ef_irregularidade} Versao {001}  Esquema {padrao} Descricao {Escrita Fiscal - Cadastro de irregularidades para carta de correcao}
-- ------------------------------------------------------------

CREATE TABLE ef_irregularidade (
  id SERIAL NOT NULL,
  especificacao VARCHAR(120) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {cad_cadastro_grupo} Versao {001}  Esquema  {Empresa} Descricao {Cadastro de Grupo do Cadastro Geral }
-- ------------------------------------------------------------

CREATE TABLE cad_cadastro_grupo (
  id SERIAL NOT NULL,
  classificacao VARCHAR(20) NULL,
  descricao VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id)
);

-- ------------------------------------------------------------
-- Tabela {cad_filial} Versao {027} Esquema {empresa} Descricao {Cadastro  de Filial}
-- ------------------------------------------------------------

CREATE TABLE cad_filial (
  id SERIAL NOT NULL,
  cad_mun_id INT NOT NULL,
  pessoa VARCHAR(20) NULL,
  desativado BOOL NULL,
  razaosocial VARCHAR(60) NULL,
  nomefantasia VARCHAR(60) NULL,
  endereco VARCHAR(60) NULL,
  numero VARCHAR(20) NULL,
  bairro VARCHAR(60) NULL,
  complemento VARCHAR(60) NULL,
  cep VARCHAR(20) NULL,
  telefone1 VARCHAR(15) NULL,
  obstelefone1 VARCHAR(60) NULL,
  telefone2 VARCHAR(15) NULL,
  obstelefone2 VARCHAR(60) NULL,
  celular VARCHAR(15) NULL,
  fax VARCHAR(15) NULL,
  email VARCHAR(60) NULL,
  website VARCHAR(60) NULL,
  inscricaofederal VARCHAR(20) NULL,
  inscricaoestadual VARCHAR(20) NULL,
  inscricaomunicipal VARCHAR(20) NULL,
  datacadastro DATE NULL,
  contabilista VARCHAR(60) NULL,
  contabilista_crc Varchar(20) NULL,
  contabilista_uf VARCHAR(2) NULL,
  contabilista_fone VARCHAR(15) NULL,
  contabilista_email VARCHAR(60) NULL,
  nomejuntacomercial VARCHAR(60) NULL,
  registrojuntacomercial Varchar(20) NULL,
  dataregistrojuntacomercial DATE NULL,
  registro_maara VARCHAR(60) NULL,
  registro_cnae VARCHAR(60) NULL,
  atividadeeconomica_e VARCHAR(60) NULL,
  atividadeeconomica_f VARCHAR(60) NULL,
  regimetributacao VARCHAR(50) NULL,
  atividade_industrial boolean default false,
  filialestoque INT4 NULL,
  numeroControle INT4 NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  aliquota_csosn NUMERIC(16,4) NULL,
  csosn_padrao VARCHAR(3) DEFAULT '',
  PRIMARY KEY(id),
  FOREIGN KEY(cad_mun_id)
    REFERENCES cad_mun(id)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);

-- ------------------------------------------------------------
-- Tabela {fat_romaneio_pedido} Versao {007}  Esquema {Empresa} Descricao {Romaneio de carga - pedido}
-- ------------------------------------------------------------

CREATE TABLE fat_romaneio_pedido (
  id SERIAL NOT NULL,
  fat_docto_c_controle INT8 NOT NULL,
  fat_romaneio_id INT NOT NULL,
  fat_transacao_id INT NOT NULL,
  nffaturada BOOL NULL DEFAULT 'false',
  emailenviado BOOL NULL DEFAULT 'false',
  sequenciacarregamento INT NULL,
  fat_docto_c_controle_g INT8,
  PRIMARY KEY(id),
  CONSTRAINT unique_index_fat_rimaneio_pedido UNIQUE (fat_docto_c_controle, fat_romaneio_id),
  FOREIGN KEY(fat_romaneio_id)
    REFERENCES fat_romaneio(id)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);

-- ------------------------------------------------------------
-- Tabela {cad_setor_cidade} Versao {001} Esquema {Empresa} Descricao {setor - cidades}
-- ------------------------------------------------------------

CREATE TABLE cad_setor_cidade (
  cad_setor_id INT NOT NULL,
  cad_mun_id INT NOT NULL,
  PRIMARY KEY(cad_setor_id, cad_mun_id),
  FOREIGN KEY(cad_setor_id)
    REFERENCES cad_setor(id)
      ON DELETE CASCADE
      ON UPDATE NO ACTION
);

-- ------------------------------------------------------------
-- Tabela {fat_romaneio_item} Versao {004}  Esquema {Empresa} Descricao {Romaneio de carga - Item do pedido}
-- ------------------------------------------------------------

CREATE TABLE fat_romaneio_item (
  id SERIAL NOT NULL,
  fat_romaneio_id INT8 NOT NULL,
  fat_produto_id INT NOT NULL,
  fat_docto_c_controle INT8 NOT NULL,
  qtde DECIMAL(14,6) NULL,
  qtde_atendida DECIMAL(14,6) NULL,
  qtde_cancelada DECIMAL(14,6) NULL,
  obs VARCHAR(20) DEFAULT '',
  PRIMARY KEY(id),
  CONSTRAINT unique_index_fat_romaneio_item UNIQUE (fat_romaneio_id, fat_docto_c_controle, fat_produto_id),
  FOREIGN KEY(fat_docto_c_controle, fat_romaneio_id)
    REFERENCES fat_romaneio_pedido(fat_docto_c_controle, fat_romaneio_id)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);

-- ------------------------------------------------------------
-- Tabela {fat_transacao_d} Versao {003}  Esquema {Empresa} Descricao {Cadastro de Transacoes  Diretivas de Lancamento}
-- ------------------------------------------------------------

CREATE TABLE fat_transacao_d (
  fat_transacao_id INT NOT NULL,
  fat_diretiva_id INT NOT NULL,
  observacao VARCHAR(1000) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(fat_transacao_id, fat_diretiva_id),
  FOREIGN KEY(fat_transacao_id)
    REFERENCES fat_transacao(id)
      ON DELETE CASCADE
      ON UPDATE NO ACTION
);

-- ------------------------------------------------------------
-- Tabela {fat_transacao_dr} Versao {006}  Esquema {Empresa} Descricao {Cadastro de Transacoes  Diretivas de Lancamento - Regras}
-- ------------------------------------------------------------

CREATE TABLE fat_transacao_dr (
  fat_transacao_d_fat_transacao_id INT NOT NULL,
  fat_transacao_d_fat_diretiva_id INT NOT NULL,
  diretiva_regra_id INT4 NOT NULL,
  diretiva_regra_propriedade VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(fat_transacao_d_fat_transacao_id, fat_transacao_d_fat_diretiva_id, diretiva_regra_id),
  FOREIGN KEY(fat_transacao_d_fat_transacao_id, fat_transacao_d_fat_diretiva_id)
    REFERENCES fat_transacao_d(fat_transacao_id, fat_diretiva_id)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);

-- ------------------------------------------------------------
-- Tabela {financ_rpmovcl} Versao {001}  Esquema {Empresa} Descricao {Movimentacao classes do receber/pagar}
-- ------------------------------------------------------------

--CREATE TABLE financ_rpmovcl (
--  lancamento SERIAL NOT NULL,
--  financ_classificacao_g_id INT NOT NULL,
--  cad_cadastro_id INT NOT NULL,
--  fatura INT NOT NULL,
--  parcela INT NOT NULL,
--  baixa_lancamento INT NULL,
--  tipo CHAR(2) NOT NULL,
--  regimecaixa BOOL NULL,
--  regimecompetencia BOOL NULL,
--  natureza CHAR(7) NOT NULL,
--  datalcto DATE NULL,
--  valor DECIMAL(14,2) NULL,
--  PRIMARY KEY(lancamento, financ_classificacao_g_id, cad_cadastro_id, fatura, parcela),
--  FOREIGN KEY(financ_classificacao_g_id)
--    REFERENCES financ_classificacao_g(id)
--      ON DELETE CASCADE
--      ON UPDATE NO ACTION
--);


-- ------------------------------------------------------------
-- Tabela {financ_agencia} Versao {003} Esquema {padrao} Descricao {Cadastro de Agencia}
-- ------------------------------------------------------------

CREATE TABLE financ_agencia (
  id VARCHAR(15) NOT NULL,
  dv VARCHAR(5) NULL,
  financ_banco_id INT4 NOT NULL,
  municipio INT4 NULL,
  nome VARCHAR(40) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(id, financ_banco_id),
  FOREIGN KEY(financ_banco_id)
    REFERENCES financ_banco(id)
      ON DELETE CASCADE
      ON UPDATE CASCADE
);

-- ------------------------------------------------------------
-- Tabela {co_planocon} Versao {001} Esquema {Empresa} Descricao {Contabilidade - Plano de Contas}
-- ------------------------------------------------------------

CREATE TABLE co_planocon (
  id SERIAL NOT NULL,
  classificacao VARCHAR(50) NULL,
  descricao VARCHAR(60) NULL,
  co_histopad_id INT NOT NULL,
  observacao VARCHAR(120) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(20) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  usuarioinclusao VARCHAR(20) NULL,
  PRIMARY KEY(id),
  FOREIGN KEY(co_histopad_id)
    REFERENCES co_histopad(id)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);

-- ------------------------------------------------------------
-- Tabela {fat_diretiva_regra} Versao {007} Esquema {padrao} Descricao {Cadastro de diretivas - regras}
-- ------------------------------------------------------------

CREATE TABLE fat_diretiva_regra (
  fat_diretiva_id INT NOT NULL,
  id SERIAL NOT NULL,
  descricao VARCHAR(120) NOT NULL,
  tipoentradadados Varchar(20) NULL,
  dataalteracao DATE NULL,
  horaalteracao TIME NULL,
  usuarioalteracao VARCHAR(40) NULL,
  datainclusao DATE NULL,
  horainclusao TIME NULL,
  propriedade VARCHAR(120) NULL,
  usuarioinclusao VARCHAR(40) NULL,
  PRIMARY KEY(fat_diretiva_id, id),
  FOREIGN KEY(fat_diretiva_id)
    REFERENCES fat_diretiva(id)
      ON DELETE CASCADE
      ON UPDATE NO ACTION
);

-- ------------------------------------------------------------
-- Tabela {fat_encargopadrao} Versao {001}  Esquema {Empresa} Descricao {Tabela de Encargo padrao}
-- ------------------------------------------------------------

CREATE TABLE fat_encargopadrao(
  id SERIAL NOT NULL,
  cad_filial_id int NULL,
  icms DECIMAL(14,6) NULL,
  ipi DECIMAL(14,6) NULL,
  pis DECIMAL(14,6) NULL,
  cofins DECIMAL(14,6) NULL,
  irrf DECIMAL(14,6) NULL,
  iss DECIMAL(14,6) NULL,
  contrsoc DECIMAL(14,6),
  impsimples DECIMAL(14,6) NULL,
  subtotimp DECIMAL(14,6) NULL,
  acrescfin DECIMAL(14,6) NULL,
  despop DECIMAL(14,6) NULL,
  outros DECIMAL(14,6) NULL,
  comissao DECIMAL(14,6) NULL,
  subtotenc DECIMAL(14,6) NULL,
  totencarg DECIMAL(14,6) NULL,
  PRIMARY KEY(id),
  CONSTRAINT unique_index_fat_encargopadrao UNIQUE (cad_filial_id)
);

