DAP (Declaração de Aptidão ao PRONAF)
A Declaração de Aptidão ao Pronaf (DAP) é a comprovação de enquadramento do agricultor como pequeno produtor. É indispensável para acesso a políticas públicas como o Pronaf, o Programa de Aquisição de Alimentos, Merenda Escolar e Habitação Rural.
Passo a passo
- Cadastre a DAP do produtor em Cadastros > Clientes e Fornecedores > Fornecedores > Declaração de Aptidão ao PRONAF (F095DAP):
- Informe o código da DAP. Esse código é obtido após efetuar o credenciamento junto aos orgãos e entidades autorizados que atuam como emissores de DAP;
- Defina os dados da DAP nos campos do cabeçalho da tela, conforme descrito na declaração;
- Na grade DAP Acessória Associadas é possível cadastrar DAPs utilizadas para identificação dos dependentes agregados a uma unidade familiar de produção rural.
- Habilite os identificadores CPR-440CALSB01 (no caso do Compras) e VEN-140CALSB01 (no caso do Devoluções), na tela de Cadastro de Identificadores de Regras (F098REG) e
informe como deve ser calculado o valor do subsídio, nestes identificadores. Os campos abaixo devem ser utilizados para informar este valor:
- Campo E440IPC.VlrSub para Notas de Entrada: Este campo no item somente será alimentado utilizando o identificador de regra CPR-440CALSB01 que será chamado após o cálculo do item, disponibilizando toda a tabela Dados Gerais (E440NFC) e Itens de Produto (E440IPC) para consulta na regra. Nos recálculos também será chamada a regra;
- Campo E140IPV.VlrSub para Notas de Saída: Este valor é totalizado nos dados gerais da nota fiscal de saída e somente receberá valor através de regra existente no identificador de regras VEN-140CALSB01.
O valor do subsídio é pago ao produtor apenas com base nas entradas de produtos, porém é necessário informar o subsídio para as saídas, porque o produtor pode dar entrada em um produto, e depois solicitar a devolução. Assim, o sistema calcula o saldo a pagar para o produtor, que é o valor das entradas menos o valor das saídas.
- Campo E440IPC.VlrSub para Notas de Entrada: Este campo no item somente será alimentado utilizando o identificador de regra CPR-440CALSB01 que será chamado após o cálculo do item, disponibilizando toda a tabela Dados Gerais (E440NFC) e Itens de Produto (E440IPC) para consulta na regra. Nos recálculos também será chamada a regra;
- Calcule o imposto do tipo 45 (Subsídio). Este cálculo é feito na tela de Apuração dos Impostos, em Controladoria > Gestão de Tributos > Operações e Cálculos Fiscais > Cálculos > Apuração (F661PAI). Nesta tela deve ser selecionado o imposto SUB - Subsídio e clicar em Calcular.
- Ao apurar o imposto, o sistema calcula o valor de subsídio de todas entradas e diminui pelo valor de subsídio de todas as saídas (devoluções). Com o valor do saldo é gerado um título a pagar para o produtor.
Neste exemplo consideramos a seguinte situação: Para o produto SOJ001, deverá ser pago R$1,00 por saca. Desde que o produtor tenha a DAP dentro do prazo de validade.
Veja como ocorreu o processo:
- A DAP foi cadastrada na tela de Declaração de Aptidão ao PRONAF (F075DAP)
- As regras foram cadastradas para os dois identificadores
- O produtor entregou 10.000 Kg do produto SOJ001 na empresa, como entrada a depósito. Neste momento, o sistema calcula o valor do subsídio conforme determinado pela regra, que é: 10.000 / 60 *1 = 166,666. Então o valor do subsídio é de R$166,66. O produtor não recebe este valor quando a entrada é gerada, apenas ao apurar o imposto na tela F661I13.
- O produtor solicitou a devolução de 5.000 Kg. Neste caso, o valor do subsídio calculado no passo anterior, deverá ter uma redução. Este valor será calculado conforme o cadastro da regra, que é 5.000 / 60 *1 = 83,33. Ou seja, R$ 83,33 serão subtraídos do valor de R$ 166,666.
- O imposto do tipo 45 é apurado. Neste momento, o sistema realiza o cálculo do subsídio automaticamente e gera um título a pagar para o produtor no valor de R$83,33 (166,66 menos 83,33 = valor do título), conforme as configurações realizadas para o imposto.
definir numero VSCodigoFornecedor;
definir numero VSCPF;
definir alfa VSCalcular;
definir numero VSDataAtual;
VSDataAtual = DatSis;
VSCalcular = "N";
VSCodigoFornecedor = E440NFC.CODFOR;
inicio
definir cursor cursor_E095FOR;
cursor_E095FOR.SQL "SELECT CGCCPF FROM E095FOR \
WHERE CODFOR = :VSCodigoFornecedor";
cursor_E095FOR.AbrirCursor();
se (cursor_E095FOR.Achou)
VSCPF = cursor_E095FOR.CGCCPF;
cursor_E095FOR.FecharCursor();
fim;
inicio
definir cursor cursor_E095DAP;
cursor_E095DAP.SQL "SELECT CodDap FROM E095DAP \
WHERE DATVAL >= :VSDataAtual and \
CPFTI1 = :VSCPF or \
CPFTI2 = :VSCPF ";
cursor_E095DAP.AbrirCursor();
se (cursor_E095DAP.Achou)
VSCalcular = "S";
cursor_E095DAP.FecharCursor();
fim;
Se (VSCalcular = "S")
inicio
CprNVlrSub = (E440IPC.QtdRec / 60 * 1);
E440IPC.VlrSub = CprNVlrSub;
fim
Senao
CprNVlrSub = 0;
definir numero VenNCodCli;
definir numero VSCPF;
definir alfa VSCalcular;
definir numero VSDataAtual;
definir numero VSCodigoCliente;
definir numero ACodigoEmpresa;
definir numero ACodigoFilial;
definir alfa ACodigoSerieNota;
definir numero ANumeroNota;
ACodigoEmpresa = E140IPV.CODEMP;
ACodigoFilial = E140IPV.CODFIL;
ACodigoSerieNota = E140IPV.CODSNF;
ANumeroNota = E140IPV.NUMNFV;
VSDataAtual = DatSis;
VSCalcular = "N";
inicio
definir cursor cursor_E140NFV;
cursor_E140NFV.SQL "SELECT CODCLI FROM E140NFV \
WHERE CODEMP = :ACodigoEmpresa AND \
CODFIL = :ACodigoFilial AND \
CODSNF = :ACodigoSerieNota AND \
NUMNFV = :ANumeroNota ";
cursor_E140NFV.AbrirCursor();
se (cursor_E140NFV.Achou)
VSCodigoCliente = cursor_E140NFV.CODCLI;
cursor_E140NFV.FecharCursor();
fim;
inicio
definir cursor cursor_E085CLI;
cursor_E085CLI.SQL "SELECT CGCCPF FROM E085CLI \
WHERE CODCLI = :VenNCodCli";
cursor_E085CLI.AbrirCursor();
se (cursor_E085CLI.Achou)
VSCPF = cursor_E085CLI.CGCCPF;
cursor_E085CLI.FecharCursor();
fim;
inicio
definir cursor cursor_E095DAP;
cursor_E095DAP.SQL "SELECT CodDap FROM E095DAP \
WHERE DATVAL >= :VSDataAtual and \
CPFTI1 = :VSCPF or \
CPFTI2 = :VSCPF ";
cursor_E095DAP.AbrirCursor();
se (cursor_E095DAP.Achou)
VSCalcular = "S";
cursor_E095DAP.FecharCursor();
fim;
Se (VSCalcular = "S")
inicio
E140IPV.VlrSub = (E140IPV.QtdFat / 60 * 1);
fim
Senao
E140IPV.VlrSub = 0;