import { DpsConsultaPorId, NFSeNFP_EnviarLoteRps, NFSeNFP_V2_PedidoEnvioLoteRPS, NFSeAlteracaoBeneficioMunicipal, NFSeAlteracaoRetencoes, NFSeConfig, NFSeConsultaAliquota, NFSeConsultaBeneficio, NFSeConsultaConvenio, NFSeConsultaHistoricoAliquotas, NFSeConsultaPorChave, NFSeConsultaRegimesEspeciais, NFSeDistribuicaoPorNSU, NFSeEventoConsulta, NFSeEventoRequest, NFSeEventosPorChave, NFSe as NFSeType, NFSeGerarDanfseProps } from '@treeunfe/types'; export default class NFSe { private environment; private axios; private utility; private xmlBuilder; private saveFiles; private gerarConsulta; private loadEnvironmentPromise; constructor(config: NFSeConfig); /** * Autorização de NFSe * * Quando o prestador (emissor) for do município de São Paulo/SP (cLocEmi = '3550308'), * o fluxo é redirecionado automaticamente para `Autorizacao_NFP_SP`, pois a cidade de SP * ainda não aderiu ao padrão nacional REST e utiliza WebService SOAP próprio. * Nesse caso, o parâmetro `data` deve seguir o formato `NFSeNFP_EnviarLoteRps`. */ Autorizacao(data: NFSeType | NFSeNFP_EnviarLoteRps): Promise<{ success: boolean; response: import("@treeunfe/types").NFSeAutorizacaoResponse | import("@treeunfe/types").GenericObject; xmls?: { NFSe: import("@treeunfe/types").LayoutNFSe; }[]; } | import("@treeunfe/types").NFSeNFP_AutorizacaoResponse>; /** * Consulta NFSe por chave de acesso */ Consulta(data: NFSeConsultaPorChave): Promise; /** * Consulta DPS por ID */ ConsultaDPS(data: DpsConsultaPorId): Promise; /** * Registro de Eventos */ RegistrarEvento(data: NFSeEventoRequest): Promise; /** * Consulta de Eventos */ ConsultarEvento(data: NFSeEventoConsulta): Promise; /** * Distribuição por NSU */ DistribuicaoPorNSU(data: NFSeDistribuicaoPorNSU): Promise; /** * Eventos por chave de acesso */ EventosPorChave(data: NFSeEventosPorChave): Promise; /** * Consulta Alíquota */ ConsultarAliquota(data: NFSeConsultaAliquota): Promise; /** * Consulta Histórico de Alíquotas */ ConsultarHistoricoAliquotas(data: NFSeConsultaHistoricoAliquotas): Promise; /** * Consulta Benefício Municipal */ ConsultarBeneficio(data: NFSeConsultaBeneficio): Promise; /** * Consulta Convênio Municipal */ ConsultarConvenio(data: NFSeConsultaConvenio): Promise; /** * Consulta Regimes Especiais */ ConsultarRegimesEspeciais(data: NFSeConsultaRegimesEspeciais): Promise; /** * Alterar Benefício Municipal */ AlterarBeneficioMunicipal(data: NFSeAlteracaoBeneficioMunicipal): Promise; /** * Alterar Retenções */ AlterarRetencoes(data: NFSeAlteracaoRetencoes): Promise; /** * Gerar DANFSe * * Gera localmente o PDF do DANFSe (Documento Auxiliar da NFS-e Nacional) * conforme NT-008 v1.0 (SE/CGNFS-e, 05/05/2026), a partir do `LayoutNFSe` * tipado. Substitui o método HTTP legado (API SefIN suspensa em 01/07/2026). * * Use `parseNFSeXml` + `decodeNFSeB64Gzip` exportados de `@treeunfe/nfse` para * converter o `nfseXmlGZipB64` retornado pela `Autorizacao` em `LayoutNFSe`. */ GerarDanfse(data: NFSeGerarDanfseProps): Promise<{ success: boolean; message: string; }>; /** * Autorização de NFS-e no padrão próprio Nota Fiscal Paulistana (NFP) para a Prefeitura de São Paulo (SP). * * Utilizado para municípios que NÃO aderiram ao padrão nacional REST. * São Paulo mantém seu próprio WebService SOAP (LoteNFe), com namespace http://www.prefeitura.sp.gov.br/nfe. * * WebService: https://nfews.prefeitura.sp.gov.br/lotenfe.asmx * Operação: EnviarLoteRpsSincrono * * @example * const result = await client.Autorizacao_NFP_SP({ * LoteRps: { * NumeroLote: '1', * Cnpj: '00000000000000', * InscricaoMunicipal: '00000000', * QuantidadeRps: 1, * ListaRps: { * Rps: { * InfRps: { * IdentificacaoRps: { Numero: '1', Serie: 'A1', Tipo: 1 }, * DataEmissao: '2026-01-01T00:00:00', * NaturezaOperacao: 1, * OptanteSimplesNacional: 2, * IncentivadorCultural: 2, * Servico: { * Valores: { ValorServicos: 100.00, IssRetido: 2 }, * ItemListaServico: '01.01', * Discriminacao: 'Serviço prestado', * CodigoMunicipio: 3550308, * ExigibilidadeISS: 1, * }, * Prestador: { Cnpj: '00000000000000', InscricaoMunicipal: '00000000' }, * } * } * } * } * }); */ Autorizacao_NFP_SP(data: NFSeNFP_EnviarLoteRps): Promise; /** * Autorização de NFS-e no padrão Nota Fiscal Paulistana (NFP) - VERSÃO 1 * * Layout antigo (fato gerador até 31/12/2025) * Usa PedidoEnvioLoteRPS_v01.xsd * * WebService: https://nfews.prefeitura.sp.gov.br/lotenfe.asmx * Operação: EnvioLoteRPS * * @example * const result = await client.Autorizacao_NFP_SP_V1({ * LoteRps: { * NumeroLote: '1', * Cnpj: '00000000000000', * InscricaoMunicipal: '00000000', * QuantidadeRps: 1, * ListaRps: { * Rps: { * InfRps: { * IdentificacaoRps: { Numero: '1', Serie: 'A1', Tipo: 1 }, * DataEmissao: '2025-12-31T00:00:00', * NaturezaOperacao: 1, * OptanteSimplesNacional: 2, * IncentivadorCultural: 2, * Servico: { * Valores: { * ValorServicos: 100.00, * ValorDeducoes: 0.00, * IssRetido: 2, * Aliquota: 0.05 * }, * ItemListaServico: '01.01', * Discriminacao: 'Serviço prestado', * CodigoMunicipio: 3550308, * ExigibilidadeISS: 1, * }, * Prestador: { Cnpj: '00000000000000', InscricaoMunicipal: '00000000' }, * Tomador: { * IdentificacaoTomador: { * CpfCnpj: { Cnpj: '00000000000000' } * }, * RazaoSocial: 'Tomador Exemplo' * } * } * } * } * } * }); */ Autorizacao_NFP_SP_V1(data: NFSeNFP_EnviarLoteRps): Promise; /** * Autorização de NFS-e no padrão Nota Fiscal Paulistana (NFP) - REFORMA TRIBUTÁRIA 2026 * * Novo formato que usa PedidoEnvioLoteRPS (Layout versão 2.x) * Para uso a partir de Janeiro/2026 * * WebService: https://nfews.prefeitura.sp.gov.br/lotenfe.asmx * Operação: EnvioLoteRPS * * @example * const today = new Date(); * const result = await client.Autorizacao_NFP_SP_V2({ * Cabecalho: { * CPFCNPJRemetente: { CNPJ: '00000000000000' }, * dtInicio: '2026-01-01', * dtFim: '2026-01-31', * QtdRPS: 1, * Versao: '2', * }, * RPS: { * InfRps: { * IdentificacaoRps: { Numero: '1', Serie: 'A1', Tipo: 1 }, * DataEmissao: '2026-01-01T00:00:00', * NaturezaOperacao: 1, * OptanteSimplesNacional: 2, * IncentivadorCultural: 2, * Servico: { * Valores: { ValorServicos: 100.00, IssRetido: 2 }, * ItemListaServico: '01.01', * Discriminacao: 'Serviço prestado', * CodigoMunicipio: 3550308, * ExigibilidadeISS: 1, * }, * Prestador: { Cnpj: '00000000000000', InscricaoMunicipal: '00000000' }, * IBSCBS: { * cClassTrib: '123456', * CST: '01', * vBC: 100.00, * pAliqIBS: 0.025, * vIBS: 2.50, * pAliqCBS: 0.015, * vCBS: 1.50, * } * } * } * }); */ Autorizacao_NFP_SP_V2(data: NFSeNFP_V2_PedidoEnvioLoteRPS): Promise; /** * TESTE de Autorização de NFS-e no padrão Nota Fiscal Paulistana (NFP) - REFORMA TRIBUTÁRIA 2026 * * Este método NÃO gera NFS-e real, apenas valida a estrutura XML. * Use para testar a integração durante a fase de adaptação. * * WebService: https://nfews.prefeitura.sp.gov.br/lotenfe.asmx * Operação: TesteEnvioLoteRPS * * @example * const result = await client.TesteAutorizacao_NFP_SP_V2({ * Cabecalho: { * CPFCNPJRemetente: { CNPJ: '00000000000000' }, * dtInicio: '2026-01-01', * dtFim: '2026-01-31', * QtdRPS: 1, * Versao: '2', * }, * RPS: { ... } * }); */ TesteAutorizacao_NFP_SP_V2(data: NFSeNFP_V2_PedidoEnvioLoteRPS): Promise; }