UNPKG

node-dfe

Version:

Geração e integração de NF-e/NFC-e para node.js

424 lines (423 loc) 9.51 kB
import { WebProxy } from "../../webservices/webserviceHelper"; export declare enum ServicosSefaz { autorizacao = "autorizacao", retAutorizacao = "retAutorizacao", consultarStatusServico = "consultarStatusServico", evento = "recepcaoEvento", inutilizacao = "inutilizacao", protocolo = "consultarProtocolo", cadastro = "consultarCadastro" } export interface RetornoProcessamentoNF { success: boolean; error: string; nfe: Object; confirmada: boolean; envioNF: RetornoProcessamento; consultaProc: RetornoProcessamento; retornoContingenciaOffline: RetornoContingenciaOffline; } export interface RetornoContingenciaOffline { xml_gerado: string; } export interface RetornoProcessamento { xml_enviado: string; xml_recebido: string; status: number; success: boolean; data: Object; error: string; } export interface NFeBase { docFiscal: DocumentoFiscal; destinatario: Destinatario; produtos: Produto[]; total: Total; transporte: Transporte; infoAdicional: InfoAdicional; } export interface NFeDocumento extends NFeBase { cobranca: Cobranca; pagamento: Pagamento; } export interface NFCeDocumento extends NFeBase { pagamento: Pagamento; } export interface DocumentoFiscal { serie: string; modelo: string; numeroNota: string; naturezaOperacao: string; ambiente: string; dhEmissao: string; dhSaiEnt: string; codUF: string; tipoDocumentoFiscal: string; identificadorDestinoOperacao: string; codIbgeFatoGerador: string; tipoImpressao: string; tipoEmissao: string; finalidadeEmissao: string; indPresenca: string; indConsumidorFinal: string; processoEmissao: string; versaoAplicativoEmissao: string; dhContingencia: string; justificativaContingencia: string; isContingenciaOffline: boolean; indIntermed?: string; } export interface Produto { prod: DetalhesProduto; imposto: Imposto; infoAdicional: string; numeroItem: string; } export interface DetalhesProduto { codigo: string; cEAN: string; descricao: string; cest: string; NCM: string; CFOP: string; unidadeComercial: string; quantidadeComercial: string; valorUnitarioComercial: string; valorTotal: string; cEANTrib: string; unidadeTributavel: string; quantidadeTributavel: string; valorUnitarioTributavel: string; valorFrete: string; valorSeguro: string; valorDesconto: string; valorOutro: string; indicadorTotal: string; numeroPedido: string; numeroItemPedido: string; cNPJFab: string; cBenef: string; eXTIPI: string; percentualDevolucao: number; valorIPIDevolucao: number; } export interface impostoDevol { pDevol: number; vIPIDevol: number; } export interface Imposto { valorAproximadoTributos: string; icms: Icms; pis: Pis; cofins: Cofins; ipi: Ipi; ii: II; issqn: Issqn; pisst: PisST; cofinsst: CofinsST; icmsUfDest: IcmsUfDest; } export interface Icms { orig: string; CST: string; modBC: string; pRedBC: string; vBC: string; pICMS: string; vICMS: string; modBCST: string; pMVAST: string; pRedBCST: string; vBCST: string; pICMSST: string; vICMSST: string; vBCSTRet: string; vICMSSTRet: string; vBCSTDest: string; vICMSSTDest: string; motDesICMS: string; pBCOp: string; UFST: string; CSOSN: string; pCredSN: string; vCredICMSSN: string; vICMSDeson: string; vICMSOp: string; pDif: string; vICMSDif: string; vBCFCP: string; pFCP: string; vFCP: string; vBCFCPST: string; pFCPST: string; vFCPST: string; vBCFCPSTRet: string; pFCPSTRet: string; vFCPSTRet: string; pST: string; pICMSEfet: string; pRedBCEfet: string; vBCEfet: string; vICMSEfet: string; } export interface IcmsUfDest { vBCUFDest: number; vBCFCPUFDest: number; pFCPUFDest: number; pICMSUFDest: number; pICMSInter: number; pICMSInterPart: number; vFCPUFDest: number; vICMSUFDest: number; vICMSUFRemet: number; } export interface Pis { CST: string; vBC: number; pPIS: number; vPIS: number; vBCProd: number; vAliqProd: number; qBCProd: number; } export interface PisST { vBC: number; pPIS: number; qBCProd: number; vAliqProd: number; vPIS: number; } export interface CofinsST { vBC: number; pCOFINS: number; qBCProd: number; vAliqProd: number; vCOFINS: number; } export interface Cofins { CST: string; vBC: number; pCOFINS: number; vCOFINS: number; qBCProd: number; vAliqProd: number; } export interface Ipi { cEnq: string; CST: string; vBC: number; qUnid: number; vUnid: number; pIPI: number; vIPI: number; CNPJProd: string; cSelo: string; qSelo: string; } export interface II { vBC: number; vDespAdu: number; vII: number; vIOF: number; } export interface Issqn { vBC: string; vAliq: string; vISSQN: string; cMunFG: string; cListServ: string; vDeducao: string; vOutro: string; vDescIncond: string; vDescCond: string; vISSRet: string; indISS: string; cServico: string; cMun: string; cPais: string; nProcesso: string; indIncentivo: string; } export interface Total { icmsTot: IcmsTot; issqnTot: IssqnTot; retTrib: RetTrib; } export interface IcmsTot { vBC: string; vICMS: string; vICMSDeson: string; vFCPUFDest: string; vICMSUFDest: string; vICMSUFRemet: string; vFCP: string; vBCST: string; vST: string; vFCPST: string; vFCPSTRet: string; vProd: string; vFrete: string; vSeg: string; vDesc: string; vII: string; vIPI: string; vIPIDevol: string; vPIS: string; vCOFINS: string; vOutro: string; vNF: string; vTotTrib: string; } export interface IssqnTot { vServ: string; vBC: string; vISS: string; vPIS: string; vCOFINS: string; dCompet: string; vDeducao: string; vOutro: string; vDescIncond: string; vDescCond: string; vISSRet: string; cRegTrib: string; } export interface RetTrib { vRetPIS: string; vRetCOFINS: string; vRetCSLL: string; vBCIRRF: string; vIRRF: string; vBCRetPrev: string; vRetPrev: string; } export interface Transporte { modalidateFrete: string; } export interface Cobranca { fatura: Fatura; duplicatas: Duplicata[]; } export interface Fatura { nFatura: string; vOriginal: number; vDesconto: number; vLiquido: number; } export interface Duplicata { nDuplicata: string; dVencimento: string; vDuplicatata: Number; } export interface Pagamento { valorTroco: string; pagamentos: DetalhePagamento[]; } export interface DetalhePagamento { indicadorFormaPagamento: string; formaPagamento: string; valor: string; dadosCartao: DetalhePgtoCartao; descricaoFormaPagamento: string; } export interface DetalhePgtoCartao { tipoIntegracao: string; cnpj: string; bandeira: string; codAutorizacao: string; } export interface InfoAdicional { infoComplementar: string; infoFisco: string; } export interface Empresa { cnpj: string; razaoSocial: string; nomeFantasia: string; inscricaoEstadual: string; inscricaoEstadualST: string; inscricaoMunicipal: string; CNAE: string; codRegimeTributario: string; endereco: Endereco; certificado: Certificado; idCSC: string; CSC: string; } export interface ResponsavelTecnico { cnpj: string; contato: string; email: string; fone: string; idCSRT?: string; CSRT?: string; } export interface Destinatario { documento: string; nome: string; endereco: Endereco; indicadorIEDestinario: string; email: string; inscricaoEstadual: string; inscricaoMunicipal: string; inscricaoSuframa: string; isEstrangeiro: boolean; } export interface Endereco { logradouro: string; numero: string; complemento: string; bairro: string; codMunicipio: string; municipio: string; uf: string; cUf: string; cep: string; codPais: string; pais: string; telefone: string; } export interface Certificado { key: any; pfx: any; password: string; opcoes?: OpcoesCertificado; } export interface OpcoesCertificado { stringfyPassphrase?: boolean; removeRejectUnauthorized?: boolean; } export declare function fromJsonixObj<T>(json: any): T; export interface Geral { ambiente: string; versao: string; modelo: string; } export interface Webservices { tentativas: number; aguardarConsultaRetorno: number; } export interface Arquivos { salvar: boolean; pastaEnvio: string; pastaRetorno: string; pastaXML: string; } export declare enum TipoEvento { cancelamento = "110111", cartaCorrecao = "110110", manifestacaoConfirmacaoOperacao = "210200", manifestacaoCienciaEmissao = "210210", manifestacaoDesconhecimentoOperacao = "210220", manifestacaoOperacaoNaoRealizada = "210240", epec = "110140" } export interface Configuracoes { empresa: Empresa; webProxy?: WebProxy; certificado: Certificado; geral: Geral; webservices: Webservices; responsavelTecnico?: ResponsavelTecnico; arquivos: Arquivos; }