Transcript Funcionalidades do Dynamics Ax RU5
Novas funcionalidades brasileiras no Roll-Up 5 do Dynamics AX 2009 Agosto de 2010
1
Agenda
• • • • • Transferência de crédito de ICMS – 40 minutos Melhorias na área contábil – 30 minutos Coffee Break – 20 minutos Nota Fiscal Eletrônica – 30 minutos Importação – 30 minutos 2
Recursos Disponíveis
• • • PartnerSource Microsoft Dynamics Developer Center – http://msdn.microsoft.com/pt br/dynamics/default.aspx
Blogs – www.joelpereira.com
– www.daniellandi.com
– – – Joel Pereira – Daniel Landi www.fabiovazquez.com
– Fabio Vazquez www.eduardomiranda.net
– Eduardo Miranda – www.daxdev.com.br
– Rodrigo Matiazo 3
Transferência de Crédito de ICMS
Fábio Vazquez Software Development Engineer
Contextualizando
• • • • • • Quando uma empresa brasileira compra produtos, ela acumula crédito de ICMS Quando ela vende produtos, ICMS é devido ao fisco Algumas vezes, o crédito de ICMS é maior Nesses casos, a empresa pode transferir o crédito para outras empresas A nova funcionalidade suporta a operação de transferência de crédito entre estabelecimentos de mesma titularidade Operações de transferência de crédito de ICMS requerem a emissão de uma Nota Fiscal
Contabilização
• Quando uma empresa transfere crédito de ICMS para outra:
Debita Credita Conta do Passivo ICMS a Recuperar
• Quando uma empresa recebe crédito de ICMS:
Debita Credita ICMS a Recuperar Conta do Ativo
Transações
• Transações criadas por uma operação de transferência de crédito de ICMS: – Contabilidade (LedgerTrans) – Imposto (TaxTrans)
Desafios
• • • • • Ax não oferecia nenhum tipo de documento que suportasse os requerimentos de uma operação de transferência de crédito de ICMS Assim, desenvolvemos um tipo completamente novo de documento para registrar essas operações Suporte para cancelamento O “posting” de impostos deveria ser desenvolvido dentro do design de classes do Ax (Hierarquia de classes Tax) Suporte para NF-e
Setup
• • • Contas a Receber > Perfis de Lançamento Contas a Pagar > Perfis de Lançamento Parâmetros Brasileiros (para configuração da integração fiscal)
Demo
• • 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
Tax
Nova classe Classes existentes
TaxFiscalDocument_BR TaxFiscalDocument_Invoice_BR
Tax supporting classes
TradeCalcTax
Nova classe 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
• Dois novos scripts (ReleaseUpdateDB60_Cust): – updateAccountTypeFieldInFiscalDocJour_BR • Atualiza a coluna AccountType (Customer|Vendor) que foi adicionada à tabela FiscalDocJour_BR.
– updateReferencesInEFDocument_BR • Todas as referências em EFDocument_BR apontam agora para FiscalDocJour_BR.
RU5 Funcionalidades
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 Termo de Abertura é sempre a primeira página do livro fiscal Termo de Encerramento é sempre a última página do livro fiscal 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
As seguintes transações contábeis agora possuem textos de transação : Vendas – Retençao (Customer Payment withholding tax) Vendas – Multa (Customer Payment Fine) Vendas – juros (Customer Payment Interest) Compras – Retenção (Vendor Payment Withholding Tax) Compras – Multa (Vendor Payment Fine) Compras – Juros (Vendor Payment Interest) Textos de transação agora são obrigatórios nos pagamentos Substituição de marcadores nos textos de transação nas telas de pagamento Placeholders %1 (data), %2 (form), % 3 (voucher)... %7 (customer name) 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 Retenção (Compras / Vendas) %5 + “ - ” + “fatura” + “: ” %2+ “ – “ + %3 + “ – “ + %7 ( %5 = withholding tax type) 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
• • • Empresa gera um XML que deve ser assinado digitalmente utilizando um certificado digital XML é transmitido para a SEFAZ, que faz uma validação e devolve uma autorização de uso. Sem essa autorização não pode haver trânsito da mercadoria Para acompanhar a mercadoria é impresso uma representação da NF-e chamada DANFE que contém a chave de acesso e código de barras.
33
Comunicação
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
Private & Confidential
37
NF-e v4.0
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
• • • Transport: acesso direto as classes WCF client Validações no registro da nota – V3: ICMS obrigatório para todas linha da nota – V4: ISS ou ICMS obrigatório para todas linha da nota Chave de acesso é diferente entre v3 e v4 42
RU4 and New RU5 Design
• • RU4: Cada objeto é responsável por instanciar sua classe. RU5: Transferência de responsabilidade para uma nova classe que instancia a classe baseada na versão ativa
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 validation constructFromCustInvoiceJour validation constructFromCustInvoiceJour createValidation classFactory new() new() checkPerLine checkPerLine() checkTaxesPerLine() 44
Access key
• RU4 efDocState createFromFiscalDoc() new() initFromFiscalDoc() initializeEFDocument() generateNumericCode() generateAccessKey() return • RU5 efDocState createFromFiscalDoc new initFromFiscalDoc initializeEFDocument generateNumericCode classFactory generateAccessKey generateAccessKeyV3() {OR} generateAccessKeyV4() accessKey return 45
exporter
RU4 – Format class
TransportFactory «implementation class» transport «implementation class» stream «implementation class» message getSendTransport(messageTypeEnum) newFromWebService(webServiceEnum) new:=new() createFromMessageType:=createFromMessageType(messageType) send(list, transport) getSendStream:=getSendStream() «implementation class» format createMsgFormat(webServiceEnum) construct send() callWebService(setup, msgData) write(returnData) getSendStream:=getSendStream() write(sendStream, list) write(msgContent) read(returnData, returnInfo) «implementation class» eFDocState saveMsg() messageSent(eFDocument, returnInfo) 46
RU5 – Format Class
47
RU4: Chamada web service
• • • Chama os proxies por .net reflection Usuário precisa configurar manualmente o app.config do cliente WCF para usar o certificado Todos os webservices tem duas strings como argumentos – XML Version – XML data 48
RU5- Chamada web service
• • • Chama WFC client por .net reflection Não usa o WCF app.config, usuário não precisa configurar o app.config
Todos os webservices tem xmlNodes como argumento 49
Mudanças no modelo de dados
1..1
CustInvoiceJour EFiscalDocument_BR 1..1
1..1
VendInvoiceJour 1..1
FiscalDocJour_BR
Alterações relacionadas à NF-e
CustInvoiceJour VendInvoiceJour
Alterações relacionadas à NF-e
Saídas
EFDocMsgExporter_BR
• • RU4: Queries baseadas na tabelas Cust/Vend invoiceJour RU5: Queries feita diretamente na tabela FiscalDocJour_BR 53
EFDocState_BR
• • RU4: Acoplado com tabelas Cust/Vend invoiceJour tables, que causa uma série de chamadas switch/case nos métodos RU5: Somente acoplada com a FiscalDocJour table 54
NF-e v4.0
NEW FEATURES
55
New Features
• • XML viewer XML schema validation 56
RU4 – Bugs corrigidos
• • • Somente a primeira NF-e é aprovado quando mais de uma nota fislcal é enviada Distinghished name do certificado muito longo Nós de valores das linhas não eram criado quando o valor era zero 57
Know issues
• • • Função de exportar notas fiscais aprovadas sem assinatura Erro na validação do CPF quando é emitida uma NF-e para uma pessoa física Nem todas as mensagens XML tem a tag 58
Problemas com o SEFAZ/PR
• • Problema: A SEFAZ/PR implementou o WSDL webservices Consulta da Nf-e, Cancelamento, dos Recepção, Retorno do processamento do Lote e Inutilização de uma maneira diferente da SEFAZ/SP e SEFAZ/RS.
Baixe o WSDL do site da SEFAZ/RS , descompacte em um diretório, verifique se o usuário do AOS tem acesso de leitura a esse diretório, atribua o acesso de leitura ao diretório caso ele não tenha.
59
Private & Confidential
Other resources
• • Chapter 8 of Administration in Microsoft Dynamics® AX 2009 - Batch Framework Web services de teste 60
Importação direta
61
Agenda
• • • Overview da importação direta Feature Walktrought – Novos requisitos de setup – Novas informação necessárias no faturamento – Novos forms de consulta Visão geral do design e implementação – Class diagrams – E/R diagrams 62
Importação Direta
• • Nota Fiscal emitida para declarar a compra de produtos de um fornecedor estrangeiro Encargos da importação são adicionados no processo de desembaraço, não são pagos ao fornecedor estrangeiro mas fazem parte da base de calculo dos impostos 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 2102010299 FORNECEDORES ESTRANGEIROS Currency Amount currency Posting type USD -1000 Vendor balance 1104010601 IMPORTACOES EM ANDAMENTO USD 1104010601 IMPORTACOES EM ANDAMENTO USD -63,63 Purchase fee -661,15 Sales tax 1104010301 MATERIAS PRIMAS 1104010301 MATERIAS PRIMAS 1103060109 COFINS A COMPENSAR 1103060108 PIS A COMPENSAR 1103060102 ICMS A COMPENSAR 1103060101 IPI A COMPENSAR USD USD USD USD USD USD 63,63 Purchase, receipt 1100 Purchase, receipt 110,81 Sales tax 24,06 Sales tax 311,28 Sales tax 115 Sales tax Amount -2200 -139,99 -1454,53 139,99 2420 243,78 52,93 684,82 253 67
FEATURES
68
Novos requisitos de setup
• • • Importação direta é ativado ao usar CFOP 3.### Impostos – Campo “Marginal Base” deve ser “Net amount of invoice balance” – Todos os impostos devem ser marcados como “Use Tax” no form de grupo de impostos Encargos – Novo tipo de encargo: SISCOMEX 69
Private & Confidential
New Features
• • • • Form de declaração de importação Mudança nos totais para apresentação dos impostos brasileiros Ajustes na Nota Fiscal e DANFE Ajustes no xml da NF-e (formato 1.10 e 2.00) 70
ER AND SEQUENCE DIAGRAMS
Private & Confidential
71
Added Tables
Private & Confidential
72
Calculation Sequence diagram
«implementation class» «implementation class» PurchCalcTax TaxPurch new(purchCalcTax) getTaxParm_BR() calc() nextLine() for each document line baseAmount:=baseAmount() insertLineInInternal(baseAmount) for each taxWorkTrans determineSign_BR() {isFinalUser} determineFinalUserBase_BR() {isDirectImport} determineDirectImportBase_BR() {TaxLimitBase != Invoice} insertInternalStructure(taxCode, baseAmountMST) calcTax() taxAmount
Private & Confidential
73
Post Sequence Diagram
«implementation class» PurchCalcTax post(ledgerVoucher) «implementation class» TaxPurchInvoice new(post, purchCalcTax, ledgerVoucher, tmpTaxWorkTrans) foreach line updateAndPost()
saveAndPost post
Tax foreach taxWorkTrans
Private & Confidential
74
Upgrade scripts
• Todos os campos de valores da tabela FiscalDocJour_BR são atualizados na moeda da empresa
Private & Confidential
75
76