gerarDasCodigoBarras method
GERARDASCODBARRA22 - Gerar DAS apenas com código de barras
Gera o Documento de Arrecadação do Simples Nacional contendo apenas código de barras, sem PDF, para contribuintes MEI
cnpj CNPJ do contribuinte MEI
periodoApuracao Período no formato AAAAMM
dataConsolidacao Data de consolidação no formato AAAAMMDD (opcional)
contratanteNumero CNPJ da empresa contratante (opcional)
autorPedidoDadosNumero CPF/CNPJ do autor (opcional)
Implementation
Future<GerarDasCodigoBarrasResponse> gerarDasCodigoBarras({
String? cnpj,
required String periodoApuracao,
String? dataConsolidacao,
String? contratanteNumero,
String? autorPedidoDadosNumero,
}) async {
final resolvedCnpj =
cnpj ??
_apiClient.contribuinteNumero ??
(throw ArgumentError('CNPJ do contribuinte é obrigatório'));
// Validações de entrada
ValidacoesUtils.validateCNPJ(resolvedCnpj);
final validacaoPeriodo = PgmeiValidations.validarPeriodoApuracao(
periodoApuracao,
);
if (validacaoPeriodo != null) throw ArgumentError(validacaoPeriodo);
if (dataConsolidacao != null) {
final validacao = PgmeiValidations.validarDataConsolidacao(
dataConsolidacao,
);
if (validacao != null) throw ArgumentError(validacao);
}
// Criação dos dados de entrada
final requestData = GerarDasRequest(
periodoApuracao: periodoApuracao,
dataConsolidacao: dataConsolidacao,
);
// Montagem da requisição
final request = BaseRequest(
contribuinteNumero: resolvedCnpj,
pedidoDados: PedidoDados(
idSistema: 'PGMEI',
idServico: 'GERARDASCODBARRA22',
versaoSistema: '1.0',
dados: requestData.toJsonString(),
),
);
// Chamada à API
final response = await _apiClient.post(
'/Emitir',
request,
contratanteNumero: contratanteNumero,
autorPedidoDadosNumero: autorPedidoDadosNumero,
);
return GerarDasCodigoBarrasResponse.fromJson(response);
}