gerarDocumentoArrecadacao method

Future<GerarGuiaResponse> gerarDocumentoArrecadacao({
  1. String? contribuinteNumero,
  2. required CategoriaDctf categoria,
  3. required String anoPA,
  4. String? mesPA,
  5. String? diaPA,
  6. int? cnoAfericao,
  7. int? numeroReciboEntrega,
  8. String? numProcReclamatoria,
  9. int? dataAcolhimentoProposta,
  10. List<SistemaOrigem>? idsSistemaOrigem,
  11. String? contratanteNumero,
  12. String? autorPedidoDadosNumero,
})

Gera documento de arrecadação (DARF/DAE) para uma declaração ATIVA

contribuinteNumero CPF ou CNPJ do contribuinte categoria Categoria da declaração (pode ser enum ou código numérico) anoPA Ano do período de apuração (formato: AAAA) mesPA Mês do período de apuração (formato: MM) - obrigatório exceto para 13º salário diaPA Dia do período de apuração (formato: DD) - apenas para espetáculo desportivo cnoAfericao Número da obra - apenas para aferição numeroReciboEntrega Número do recibo - opcional, usa a declaração mais recente se não informado numProcReclamatoria Número do processo - apenas para reclamatória trabalhista dataAcolhimentoProposta Data proposta para pagamento (formato: AAAAMMDD) idsSistemaOrigem Lista de sistemas de origem das receitas

Implementation

Future<GerarGuiaResponse> gerarDocumentoArrecadacao({
  String? contribuinteNumero,
  required CategoriaDctf categoria,
  required String anoPA,
  String? mesPA,
  String? diaPA,
  int? cnoAfericao,
  int? numeroReciboEntrega,
  String? numProcReclamatoria,
  int? dataAcolhimentoProposta,
  List<SistemaOrigem>? idsSistemaOrigem,
  String? contratanteNumero,
  String? autorPedidoDadosNumero,
}) async {
  final resolvedContribuinte =
      contribuinteNumero ??
      _apiClient.contribuinteNumero ??
      (throw ArgumentError('CPF/CNPJ do contribuinte é obrigatório'));
  final dctfRequest = DctfWebRequest(
    categoria: categoria,
    anoPA: anoPA,
    mesPA: mesPA,
    diaPA: diaPA,
    cnoAfericao: cnoAfericao,
    numeroReciboEntrega: numeroReciboEntrega,
    numProcReclamatoria: numProcReclamatoria,
    dataAcolhimentoProposta: dataAcolhimentoProposta,
    idsSistemaOrigem: idsSistemaOrigem,
  );

  final request = BaseRequest(
    contribuinteNumero: resolvedContribuinte,
    pedidoDados: PedidoDados(
      idSistema: 'DCTFWEB',
      idServico: 'GERARGUIA31',
      dados: dctfRequest.toDadosJson(),
    ),
  );
  final response = await _apiClient.post(
    '/Emitir',
    request,
    contratanteNumero: contratanteNumero,
    autorPedidoDadosNumero: autorPedidoDadosNumero,
  );
  return GerarGuiaResponse.fromJson(response);
}