Escolar Documentos
Profissional Documentos
Cultura Documentos
Roll-Up 5 do
Dynamics AX 2009
Agosto de 2010
1
Agenda
2
Recursos Disponíveis
• PartnerSource
• Microsoft Dynamics Developer Center
– http://msdn.microsoft.com/pt-
br/dynamics/default.aspx
• Blogs
– www.joelpereira.com – Joel Pereira
– www.daniellandi.com – Daniel Landi
– www.fabiovazquez.com – Fabio Vazquez
– www.eduardomiranda.net – Eduardo Miranda
3
Transferência de Crédito de ICMS
Fábio Vazquez
Software Development Engineer
Contextualizando
• Setup
• Lançamento de Nota Fiscal de saída para
transferência de crédito de ICMS para filial
Modelo de Dados
Tabelas Novas
Tabelas existentes
Tax supporting classes
Nova classe
Tax
Classes existentes
TaxFiscalDocument_BR TaxFiscalDocument_Invoice_BR
Tax supporting classes
Classes existentes
FiscalDocumentCalcTax_BR
FiscalDocumentCalcTax_Invoice_BR FiscalDocumentCalcTax_Order_BR
Tax supporting classes
TradeTotals
Novas classes
Classe existente
FiscalDocumentTotals_BR
FiscalDocumentTotals_Invoice_BR
FiscalDocPostJob_BR
• RunBaseBatch
• Algumas responsabilidades importantes:
– Criar números de voucher/nota fiscal
– Gerar transações de taxas /contábeis
– Gerar dados nas tabelas
FiscalDocPostedJour_BR/FiscalDocPostedTrans_BR
– Chamar o processo de post de notas fiscais/NF-e
Upgrade Scripts
AX 2009 – RU5
17
Agenda
Numeração de Livros
Termo de Abertura/Encerramento
Validações / Relatórios alterados
Aspectos técnicos
Substituição Tributária - Compras
Exemplo
Texto de Transação
Juros
Multa
Retenção
18
Numeração de Livros
Termo de Abertura/Encerramento
Todos os Livros Fiscais possuem termos de abertura e encerramento
Texto
Presença de “marcadores” para substituição por dados pré-definidos
- Book number (%1), page number (%2), company name (%3), address (%4), CNPJ (%5)
19
Numeração de Livros
Livros
Máximo de páginas 500 (incluindo o Termo de
Abertura e Encerramento)
Impressão do número do Livro
Informação fornecida pelo usuário
Impressão do número da página (obrigatória se o
número do livro for informado)
Informação fornecida pelo usuário
Validações
Número da pagina (se informado o número do livro)
Intervado possível do número da pagina (2 – 499)
20
Numeração de Livros
Relatórios modificados
Diário
Balancete
Financial Statement Report
Razão
Detalhe Técnico
Todas as validações são controladas por uma única nova classe
21
Substituição Tributária
Definição
A Substituição Tributária pode ser conceituada
como sendo o regime pelo qual a
responsabilidade pelo ICMS devido em relação às
operações ou prestações de serviços é atribuída a
outro contribuinte
Esta funcionalidade já esta existe no AX, no
processamento de Vendas (AR)
22
Texto de Transação
Visão Geral
Todas as transações contábeis devem ter um texto
(histórico contábil) que define/explica a transaçao
Juros, multas e retenção agora possuem textos de
transação
Novo “marcador” (%7) disponível para os textos de
transação (representando nome do Fornecedor /
Cliente)
Obrigatoriedade dos Textos de transação nos
pagamentos
Upgrade script
Private & Confidential 23
Texto de Transação
24
Texto de Transação
Juros e Multa
Classe CustVendSettle é responsável também por definir os textos de
juros e multa
Enumeração “ledgerTransTxt” é definido dependendo do tipo de transação
25
Texto de Transação
Retenção
LedgerTransTxt will be setup with new element for withholding tax
26
Texto de Transação
Tela de pagamento
Os marcadores dos textos de transação são
substituídos tão logo o usuário informa o texto
(histórico).
O texto de transação é apagado toda vez que
alguma informação referenciada pelos marcadores
é alterada.
27
Texto de Transação
Upgrade Script
Textos de transações serão atualizados conforme
regra abaixo, na instalação do RU5
Juros e Multas (Compras /Vendas)
“fatura” + “: ” + %2 + “ – “ + %3 + “ – “ + %7
28
NF-e federal - AX2009
Versão 4.0
29
Agenda
• Review NF-e
• Mudanças no design
• Novas funcionalidades
30
Sobre a NF-e
• Substitui a nota fiscal impressa
• NF-e consiste nos seguintes processos:
- Envio do documento em xml para o governo
- SEFAZ processa a NF-e e retorna uma mensagem de confirmação para a
empresa. O retorno pode ser: aprovado, negado ou rejeitado
- Uma vez aprovada, a empresa imprime a DANFE.
- A empresa deve imprimir a DANFE em contigência em caso de problemas de
comunicação.
- NF-e pode ser cancelada a quealquer momento em um prazo máximo de 7
dias após a aprovação
31
Sobre a NF-e
• NF-e:
– Nota fiscal de venda
– Nota fiscal de texto livre
– Devolução de compra
– Nota fiscal de compra quando o fornecedor não é contribuinte de ICMS
• Não é NF-e:
– Devoluções de venda – cliente envia nota fiscal de devolução, a empresa somente recebe a
nota fiscal.
– Pedidos de compra quando o fornecedor é contribuinte de ICMS
– Nota de crédito gerada pelo processo de cancelamento de uma nota fiscal ja emitida.
• Fora de escopo (localização):
– Devolução de venda – emissão da devolução pela prórpia empresa
• Fora de escopo (NF-e)
– Delivery Slip
– Nota Fiscal de projetos
32
Modelo Operacional
34
Setup da NF-e até RU4
• Imporar o certificado digital
– Dar permissão de leitura ao usuário do AOS
• Setup dos Web Services
– Criar Web Services (NF-e, Retorno NF-
e,Cancelamento, Inutilização, Consulta)
– Configurar o WCF client para utilizar o certificado
• Códigos de Retorno
– Carregar codigos de retorno
• Tipo de Documento Fiscal
– Criar novo para modelo 55
Estados e mensages
36
Certificado Digital
Se o certificado não apresentar uma
chave significa que a chave privada
não foi importada e não sera
possível assinar o xml da NF-e
MUDANÇAS NO DESIGN
38
Mudanças na UI
• Parâmetros Brasileiros
– Versão da NF-e
• Nenhuma nota fiscal deve estar no estado rejeitado ou
mensagem no estado enviado
– Arquivo de esquema da NF-e
– Seleção do formato pela versão ao invés da classe
• Form Nota Fiscal eletrônica – NF-e
– Saída/Entrada ao invés de Cliente/Fornecedor
– Tempo médio de resposta
39
Setup da NF-e RU5 (v4.0)
• Imporar o certificado digital
– Dar permissão de leitura ao usuário do AOS
• Setup dos Web Services
– Criar Web Services (NF-e, Retorno NF-
e,Cancelamento, Inutilização, Consulta)
– Configurar o WCF client para utilizar o certificado
• Códigos de Retorno
– Carregar codigos de retorno
• Tipo de Documento Fiscal
– Criar novo para modelo 55
40
Modelo estatico – RU4
41
Principais mudanças
42
RU4 and New RU5 Design
EFDocClassFactory
+createMsgFormat(in webServiceEnum)
+createSendTransport(in messageTypeEnum)
+createReturnTransport(in messageTypeEnum)
+createInquireTransport(in messageTypeEnum)
+createValidation(in common)
+generateAccessKey(in eFdocument : EFiscalDocument_BR)
-generateAccessKeyV3()
-generateAccessKeyV4()
+createFormatLookup()
43
Validation – Post Invoice
• RU4 • RU5
constructFromCustInvoiceJour constructFromCustInvoiceJour
createValidation
new() new()
checkPerLine
checkPerLine() checkTaxesPerLine()
44
Access key
• RU4 • RU5
efDocState efDocState
createFromFiscalDoc() createFromFiscalDoc
new
new()
initFromFiscalDoc
initFromFiscalDoc()
initializeEFDocument
initializeEFDocument()
generateNumericCode
classFactory
generateNumericCode()
generateAccessKey
generateAccessKeyV3()
generateAccessKey() {OR}
generateAccessKeyV4()
accessKey
return
return
45
RU4 – Format class
«implementation class» «implementation class» «implementation class» «implementation class»
exporter TransportFactory
transport stream message format
getSendTransport(messageTypeEnum)
newFromWebService(webServiceEnum) new:=new()
createFromMessageType:=createFromMessageType(messageType)
send(list, transport)
getSendStream:=getSendStream()
createMsgFormat(webServiceEnum)
construct
write(sendStream, list)
write(msgContent)
send()
callWebService(setup, msgData)
write(returnData)
getSendStream:=getSendStream()
«implementation class»
read(returnData, returnInfo) eFDocState
saveMsg()
messageSent(eFDocument, returnInfo)
46
RU5 – Format Class
47
RU4: Chamada web service
48
RU5- Chamada web service
49
Mudanças no modelo de dados
CustInvoiceJour
1..1
1..1
EFiscalDocument_BR VendInvoiceJour
1..1
1..1
FiscalDocJour_BR
Alterações relacionadas à NF-e
VendInvoiceJour
CustInvoiceJour
Alterações relacionadas à NF-e
FiscalDocJour_BR
Entradas
Saídas
EFDocMsgExporter_BR
53
EFDocState_BR
54
NF-e v4.0
NEW FEATURES
55
New Features
• XML viewer
• XML schema validation
56
RU4 – Bugs corrigidos
57
Know issues
58
Problemas com o SEFAZ/PR
60
Importação direta
61
Agenda
62
Importação Direta
63
Processo
64
Incidência de impostos
• Imposto de importação
• IPI
• PIS/COFINS
– Factor = (1+%ICMS *( %II+%IPI *(1+%II))) / (( 1 -
%PIS - %COFINS) *(1 - %ICMS))
• ICMS
– Fator = (∑impostos)/(1-%ICMS)
65
Encargos aplicados
• Freight
• Insurance
• SISCOMEX charge (somente ao ICMS)
66
Contabilidade
Ledger account Account name Currency Amount currency Posting type Amount
2102010299 FORNECEDORES ESTRANGEIROS USD -1000 Vendor balance -2200
1104010601 IMPORTACOES EM ANDAMENTO USD -63,63 Purchase fee -139,99
1104010601 IMPORTACOES EM ANDAMENTO USD -661,15 Sales tax -1454,53
1104010301 MATERIAS PRIMAS USD 63,63 Purchase, receipt 139,99
1104010301 MATERIAS PRIMAS USD 1100 Purchase, receipt 2420
1103060109 COFINS A COMPENSAR USD 110,81 Sales tax 243,78
1103060108 PIS A COMPENSAR USD 24,06 Sales tax 52,93
1103060102 ICMS A COMPENSAR USD 311,28 Sales tax 684,82
1103060101 IPI A COMPENSAR USD 115 Sales tax 253
67
FEATURES
68
Novos requisitos de setup
70
ER AND SEQUENCE DIAGRAMS
new(purchCalcTax)
getTaxParm_BR()
nextLine()
baseAmount:=baseAmount()
insertLineInInternal(baseAmount)
determineSign_BR() {isFinalUser}
determineFinalUserBase_BR() {isDirectImport}
determineDirectImportBase_BR()
{TaxLimitBase != Invoice}
insertInternalStructure(taxCode, baseAmountMST)
calcTax()
taxAmount
post(ledgerVoucher)
updateAndPost()
post