terça-feira, 2 de dezembro de 2008

MSBuild tasks for Dynamics Ax updated!!!

Fiz um upload de um projeto de exemplo hoje, ele limpa um AOS, pega a ultima versão do SourceSafe, gera um xpo, importa e compila, deixando o diretório com um aod pronto, porém falta completar o projeto para copiar o aod pronto para a pasta de build, alguem se habilita?

Coloquei o feed do projeto no nosso blog, assim so vou postar major updates no blog, o resto da atualizações podem ser conferidas pelo feed.

Abs,
Rodrigo

Blog Dynamics Funcional

Pessoal,


Nosso amigo Cristo Cavazzana Melios, que já trabalhou com muitos dos autores do Axapta Brasil, criou em parceria com o Márcio Hipólito Nojima, um blog dedicado à questões funcionais do AX.

Uma excelente referência para os consultores funcionais e até mesmo novos desenvolvedores conhecerem os processos de negócio, na linguagem do Microsoft Dynamics AX.

O blog oferece uma visão prática dos processos brasileiros dentro do sistema, sendo um excelente complemento ao material oficial.

Essencial!


domingo, 23 de novembro de 2008

MSBuild tasks for Dynamics Ax project released!

O objetivo do projeto é disponbilizar um conjunto de tasks para compilar, criar builds e fazer o deploy do Dynamics Ax.

O codigo fonte pode ser acessado na pagina do projeto: http://www.codeplex.com/daxMsBuild

Interessados em contribuir entrar em contato comigo através do site do projeto.

MSBuild é a ferramenta que o Visual Studio utiliza para construir (build) seus projetos através de arquivos XML que podem ser criados e adaptados para criar builds para qualquer tipo de projto não somente os de .net. Mais informações sobre o MSBuild em: http://msdn.microsoft.com/en-us/library/wea2sca5.aspx

sexta-feira, 24 de outubro de 2008

Smart customizations Ax

Seguindo meu post sobre upgrade de versão, segue um link de um webcast feito por Michael Fruergaard, arquiteto do time de Ax da microsoft, que explica como customizar o Ax de uma maneira a simplicficar futuros upgrades.
Com o lançamento do Ax 2009, é muito importante todos os desenvolvedores de Ax pensarem também como lidar com o upgrade das customizaçòes feitas para seus clientes.

Dynamics AX 4.0 - Smart customizations

Rodrigo

segunda-feira, 20 de outubro de 2008

Removendo Dados de Utilização de Usuários

Boa tarde a todos,


Uma das funcionalidades mais impressionantes, por assim assim dizer, que o DAX possuí é a capacidade do usuário de realizar diferentes tipos de pesquisas, sejam quais forem os critérios. Muitas vezes você terá relacionamentos 1:n ou n:1 disponíveis e com isso o proprio operador do sistema tem em mãos pesquisas completamente personalizadas, valendo-se sempre a ressalva:"Desde de que saiba-se o que está fazendo".
Hoje, utilizando essas pesquisas , me deparei com um problema um tanto quanto inusitado. Quando são utilizadas as queries do sistema para filtrar-se as informações, se novas tabelas forem incluídas e a consulta seja salva, não é mais possível deleta-las de um modo simples e voltar para a funcionalidade standard.


fig.1 - Proposta de pagamento standard




Utilizando como base o filtro da proposta de pagamento do contas a receber, incluí uma nova tabela (linhas do diário). Na figura 2 vemos o exemplo do formulário assim que a tabela é incluida com a opção de exclusão habilitada. Já a figura 3 mesmo contando com as mesmas tabelas da figura 2 não tem mais disponível a opção de exclusão.


fig.2 - Opção de exclusão habilitada



fig.3 - Opção de exclusão inexistente



Caso utilize-se o debug do processo, a "volta" pelas classes do sistema será grande e com certeza passará por muitos objetos SYS, o que não é muito bom por assim dizer, tendo como adendo o tempo gasto, que será alto e muitas vezes sem qualquer conclusão. Nesse caso, o DAX oferece de uma forma até que bem simples para que a pesquisa standard sejá reestabelecida.

Para isso, basta entrar na tela de opções do usuário (Administração > Usuários > Opções do usuário) ou ir direto utilizando o menu (Ferramentas > opções). Na sequencia utilizando o botão Dados de utilização visualizamos o formulário, onde todas as informações especificas do usuário que fogem do padrão do sistema, então caso você tenha mudado a ordem dos campos em uma grid ou no nosso caso alterado os critérios de pesquisa, podemos visualizar utilizando esse formulário. Fica o alerta para não usar o botão de Redefinição indiscriminadamente, pois como o formuláruo frisa, TODAS as configurações do usuário selecionado serão excluídas.
No momento em que altera-se a pesquisa padrão, a tabela SysLastValue é preenchida com as novas configurações, e o que tem-se a fazer é encontrar o registro e remove-lo na sequencia conforme a figura 4. Após esse procedimento, a pesquisa em questão volta ao seu status standard.


fig.4 - Visualização das configurações do usuário




Vale lembrar que esse mesmo procedimento pode ser utilizado para recuperar as configurações originais de tamanho de tela, campos que estão invisíveis, botões, campos em grid, etc etc etc.

Até o próximo post,

Daniel Zanni

quarta-feira, 15 de outubro de 2008

Query negando valores

Pessoal,


Uma dúvida recorrente entre o pessoal que está iniciando no Ax é : como negar valores num objeto Query?


Fiz esse pequeno exemplo para ilustrar uma possível forma.
No snippet abaixo, ele traz todos os clientes não iniciados pelo caractere '3'.


Obs: A utilização da function queryValue(anyType A) faz uma chamada estática a SysQuery::value(a), que por sua vez irá tratar os dados enviados no parâmetro A, como por exemplo, se eu envio um Enum, queryValue(MeuEnum) retorna o valor correspondente, e assim por diante.


static void exemploQueryRunNegativo(Args _args)
{
Query query = new query();
QueryRun queryRun;
QueryBuildDataSource qbds;
CustTable custTable;

;
qbds = query.addDataSource(TableNum(CustTable));
qbds.addRange(FieldNum(CustTable, AccountNum)).value("!" + queryValue("3") + "*");
queryRun = new queryRun(query);

while(queryRun.next())
{
custTable = queryRun.get(TableNum(CustTable));
print(custTable.AccountNum);
}
pause;
}

sexta-feira, 3 de outubro de 2008

Rejeitar sessões do AOS.

Para evitar que os usuários se conectem no AOS, por exemplo em uma manutenção, vá até a tela 
Administração / Usuários Online.

Clique no botão Rejeitar novos Clientes.

E se você fez isso e saiu da sua sessão ? :-(

Atualize o campo [Status] para 1 na tabela SysServerSessions pelo SQL e acesse o AX normalmente.

Um Abraço!

terça-feira, 16 de setembro de 2008

Microsoft Brasil abre vagas para núcleo de desenvolvimento de software Dynamics em SP

A Microsoft Brasil amplia sua área de desenvolvimento local de software Dynamics, localizada em São Paulo, e contrata mais engenheiros de software.

Os pré-requisitos para concorrer às vagas incluem conhecimento em linguagem de programação orientada a objetos (C#, C++, .Net, Java) e criação de códigos; graduação em Ciências da Computação, Engenharia ou Tecnologia da Informação; excelente capacidade de comunicação; e inglês fluente. A experiência no desenvolvimento de aplicações de negócios pode ser uma vantagem no processo de seleção.

Os profissionais criarão novas funcionalidades das soluções de gestão empresarial e do relacionamento com o cliente, Dynamics ERP e Dynamics CRM, respectivamente.

O centro de desenvolvimento de software foi inaugurado em 2006 e agora, com as novas contratações, dobrará de tamanho. A divisão Microsoft Business Solutions, responsável pela linha de produtos Dynamics, é a que mais cresce em todo o mundo, sendo que registrou 140% de aumento no volume de negócios no último ano fiscal, encerrado em junho de 2008.

Para se candidatar, os interessados devem acessar: http://ms.peoplehr.com.br.

terça-feira, 29 de julho de 2008

Parâmetro Ultimo preço de custo - Form de Itens

Os diários de inventário utilizam o custo padrão quando o usuário faz um ajuste positivo (entende-se: entrada) no estoque.

Em muitos casos o custo padrão (Item\Aba Price/Discount\Grupo de campos Cost\Price) pode estar com o valor zero, fazendo com que o custo total deste ajuste positivo também seja zero, como consequencia, o custo médio no estoque pode sofrer uma séria distorção.

Para que o sistema atualize o custo automaticamente a cada entrada (produção/compra/diarios de estoque), basta marcar a opção 'Ultimo preço de custo'. O custo da ultima transação é atualizado nesse campo.

Exemplo, após a entrada de um ordem de produção de 100 pcs com valor total de $2500, o campo é atualizado com o valor $25

--- Editado ---
Na versão 2009, o valor utilizado é o custo médio (Item\On-Hand\Aba On-Hand\Cost price) ao invés do custo da transação.

Exemplo, o custo atual do inventário é de $1000 para 1 peça, após a entrada de um ordem de produção de 1 pc com valor total de $800, o campo é atualizado com o valor $900

quarta-feira, 9 de julho de 2008

Demo data for Dynamics AX 2009

O demo data foi disponibilizado hoje no partnersource.

Agora o demo data é disponibilizado em arquivos DAT e arquivos SQL BAK, que podem ser restaurados diretamente no SQL Server 2005.

Existem 2 sets diferentes de dados:
· Contoso Base: Contoso base demo data, quase sem transações
· Contoso Trans: Contoso transactional demo data, com 2 anos de transações, de 1/07/2006 até 1/7/2008 para alguns módulos.

A base com transações pode levar até 2,5 horas para ser importada enquanto o backup sql leva 4 minutos. A base sem transações leva 25 minutos e 2 minutos respectivamente.

Sobre a demo company Contoso:

Contoso Entertainment Systems (CES) is a home electronics manufacturing,
distribution and retail company that includes a Professional Services
department. Its headquarters are in the USA with a key distribution subsidiary
based in Germany and it works with the relevant currencies. CES distributes
televisions, projectors, Digital Video Recorders and Players, and audio
receivers. It manufactures speakers and assembles home theatre systems. CES’s
customers are primarily based in North America and Europe and include Major
Accounts (such as hotel chains), Wholesalers (of differing sizes), Retail stores
(that are self-owned and operated).


PartnerSource: https://spa.mail.microsoft.com/OWA/redir.aspx?C=da4494e5349c4ee3973f7d831166082d&URL=https%3a%2f%2fmbs.microsoft.com%2fpartnersource%2fsupport%2fselfsupport%2fproductreleases%2fAX2009DemoData.htm

sexta-feira, 6 de junho de 2008

Using Microsoft Dynamics AX 2009” web site is now live

O portal disponibiliza documentação do produto incluindo: Installation Guide, Implementation Guide, Upgrade Guide, System Requirements, What’s New.

Links com um cadeado ao lado requerem autenticação no partnersource

sábado, 24 de maio de 2008

RTM do AX2009

Foi disponibilizado no PartnerSource o RTM (Release To Manufacturing) do AX 2009.

O link abaixo leva ao partnersource para download.

RTM do AX2009[requer autenticação]

mais infomrações em breve!

segunda-feira, 28 de abril de 2008

eBook Grátis Disponível para Download: Inside Microsoft Dynamics AX 4.0

Saudações caros,
A Microsoft disponibilizou para download gratuito o livro Inside Microsoft Dynamics AX 4.0
Este livro custa em média R$ 115,00 aqui no Brasil.

Vocês podem baixá-lo gratuitamente através do link oficial da Microsoft:
622579eBook.pdf

Link da Amazon.com para "Search Inside":
http://www.amazon.com/gp/reader/0735622574/ref=sib_dp_pt#reader-link

Grande abraço a todos,
Lana

quinta-feira, 24 de abril de 2008

Integração Dynamics AX x Source Safe

Durante minhas pesquisa no Google sobre Dynamics AX achei esse link interessante e muito útil para os desenvolvedores. Ele descreve a experiência dele em instalar e configurar o Source Safe para ser utilizado dentro do AX.

Segue o Link abaixo
http://axaptabuilder.blogspot.com/2006/06/notes-about-my-experience-in-setup-of.html

Outro link interessante é o vídeo de demonstração de como utilizar o Source Safe com o AX:
http://www.erpcoder.at/dynamics/vcs/SourceSafe%20in%20Dynamics%20AX.html

Mais pra frente conto a minha experiência na Integração dessas ferramentas bem como minhas impressões sobre sua utilização.

quarta-feira, 16 de abril de 2008

Upgrade de codigo

Tenho visto muitas duvidas em relação a upgrade de versão ou mesmo de service pack para o Ax no forum do Ax no MSDN Brasil. Provavelmente este ano clientes e parceiros terão mais um upgrade que será no lançamento da versão 2009, sem contar o service pack 3 para a versão 4.0.

Então, como se preparar para a atualização de código?

A primeira tarefa é entender como funciona a tecnologia de camadas do Ax.


{imagem 01}

As camadas são uma hierarquia de niveis no código fonte da aplicação para garantir que mudanças e adições possam ser feitas sem interfirir em elementos da aplicação em um nível abaixo da camada em que se esta fazendo a alteração.

Cada camada é gravada em um arquivo separado chamado Ax.aod, por exemplo Axgls.aod para a camada GLS, onde nossa localização foi desenvolvida.

Ainda exista as camadas de patch, elas são chamadas de SYP, GLP, DIP e assim por diante, elas são utilizadas por exemplo no release de service packs. A ideia basica é que quando uma pequena correção ou atualização é feita, ela deva ser distribuida em uma camada de patch, sem modificar a aplicação existente.

Conteúdo das camadas e overlaying

Os elementos da aplicação podem variar em tamanho, enquanto forms e relatórios contém grande quantidade de código, campos, grupo de campos, class methods, table methods contém menor quantidade de código.


Customizando esses elementos em uma camada limpa, por exemplo a VAR, o Ax copia o elemento da camada abaixo para camada que você esta customizando, sobrepondo seu conteúdo original, o compilador passa a executar o elemento modificado e não mas o elemento original. Na figura, os objetos modificados são representados por quadrados verde um pouco mais escuro.





{imagem 02}


Durante o upgrade de versão (ou service pack) conflitos podem occorer quando:
  • Você customizou um elemento E a Microsoft também alterou o elemento original.

{imagem 03}

Na figura acima, podemos ver que uma série de objetos foram modificados por uma nova versão (ou service pack), quadrados que eram verdes e passaram a laranja são aqueles que sofreram alterações. Aqueles em que a alteração da Microsoft tenha coincidido com a alteração feita para o cliente devem ser atualizados.

Não há uma ferramenta mágica para que o codigo seja atualizado, quanto mais automaticamente, para a nova versão. Porém o Ax compara individualmente os seguintes elementos:

  • EDTs
  • Base Enums
  • Table fields
  • Table field groups
  • Table methods
  • Class methods
  • Forms
  • Reports

Percebam que a granularidade aplicada a table fields, table methods e class methods (que são elementos menores de elementos principais como Table e Class) não se aplica a Forms e Reports, que tem uma granularidade é bem maior, isso significa que uma minima alteração em forms ou reports faz com que o elemento inteiro seja copiado da camada inferior para a sua camada, dificultando em muito a atualização do código.

Para resolver os conflitos de atualização de código, um projeto de atualização deve ser criado. Ele pode ser acessado a partir de: Ferramentas\Ferramentas de Desenvolvimento\Atualização de versão\Criar projeto de atualização

Abaixo a seguinte lógica é aplicada quando executamos o processo de criação do projeto de atualização (Upgrade Project).



Apenas elementos em que tenha havido conflito vão ser inseridos no projeto de atualização, o trabalho a ser feito agora é comparar elemento a elemento e trazer para sua camada a atualização feita tanto pelo service pack quanto pela nova versão.

Para isso o Ax tem a ferramenta de comparação, em que é possivel, em muitos casos trazer (ou remover) a modificação da camada inferior para a sua camada de trabalho apenas clicando em flechas que indicam que o codigo deva ser inserido, removido ou realojado dentro do método.

Nos proximos posts eu devo voltar a configuração e utilização dos impostos retidos e trazer algumas dicas na fase de programação da solução para o cliente para tentar minimizar o code upgrade em novas versões.

Links uteis:
Upgrade Methodology (em ingles) - não deixe de conferir e seguir TODO o processo de upgrade descrito Implementation Guide.

Forum do MSDN Brasil para o Dynamics AX

quarta-feira, 2 de abril de 2008

Dynamics AX 2009 - Primeiras impressões

Olá a todos,

Finalmente depois de alguns GB's de download e mais alguns para a descompactação dos arquivos, rodei a VPC de apresentação da futura versão 2009 do DAX e estou postando algumas comentários iniciais. Esse post é apenas um aperitivo do que vem por aí, e posso adiantar que com certeza, há muita coisa a ser analisada nessa nova versão que posteriormente será comentada nesse blog.
De cara o que dá pra notar é que houve uma significativa mudança (e para melhor) na navegação do sistema. Logo de cara, temos o impacto inicial ao visualizarmos a Breadcrumb(BCB) bar. Temos nela um visual muito similar ao adotado pelo Windows Vista onde temos:

  • Travel Buttons - Permitem ao usuário retornar à página anterior ou avançar.

  • Address Bar - Utilizada da mesma forma que no Windows Vista onde pode-se até mesmo digitar um endereço. Ex: CEU/Administration

Para não dizer que tudo é novidade, temos também o nosso velho conhecido Navigation Pane, mas que também sofreu modificações e agora passa a atuar diretamente com a Area Page que concentra todo o conteúdo do módulo selecionado de maneira agrupada por seções.

Acima uma imagem da do módulo de contabilidade em sua tela inicial. Ficam para os próximos post's um detalhamento maior das novas funções desta versão, mas de antemão posso dizer que os proximos post's terão assuntos como:

  • Requisições de compra
  • Workflow
  • Gestão da qualidade,
  • Melhorias no X++

Abraço!

sexta-feira, 28 de março de 2008

Pre-release Dynamics Ax 2009

A Microsoft disponibilizou no partner source (site para parceiros) um pre-release do dynamics Ax 2009, nova versão do Dynamics Ax.

Fiquem atentos pois essa nova versão tem muitas novidades!

Microsoft Dynamics AX 2009 Pre-Release (CTP3) Demonstration Toolkit (necessita acesso e autenticação)

quinta-feira, 27 de março de 2008

Impostos no AX - Impostos retidos nos pagamento

No meu ultimo post, explorei um pouco os impostos sobre o faturamento, que faz parte do Ax original e foi modificado para que funcionasse no Brasil.



Vou explorar agora os impostos retidos no pagamento, que no Ax original, em inglês, é chamado de withholding tax.



Vale a pena comentar que a tradução ficou diferente, "Retenção de impostos", quando a denominaçaõ deveria ser algo como "Impostos retidos", termo que estamos mais acostumados no dia a dia.



Esses impostos são calculados quando um titulo é marcado para liquidação. Contudo, as seguintes condições devem ser verdadeiras para que o sistema calcule os impostos:



1. O campo "Grupo de retenção de impostos" na linha do diário (ledgerJournalTrans) estar preenchido.

2. Ser um pagamento de uma transação criada junto com a nota fiscal (registro de pedido de compra e pedido de venda).

3. Campo "calcular retenção de imposto" estiver marcado no cadastro de fornecedor (para ctas a pagar) e nos parametros do contas a receber (para retenção a partir do ctas a receber).

4. Campo "calcular retenção de imposto" estiver marcado para o título (tanto ctas a receber quanto ctas a pagar).

5. Quando uma nota fiscal for registrada dos pedidos, um item tipo SERVIÇO seja utilizado OU quando uma nota fiscal for registrada dos Diários de Notas Fiscais de fornecedores, o campo "Nota fiscal de serviços" (aba Nota Fiscal) estiver marcado.



No proximo post comento sobre as configurações necessarias para o calculo do imposto.

quinta-feira, 20 de março de 2008

Contrapartida Padrão

Olá a todos!

Existe um recurso interessante do AX, que, eu e o César Palmieri, utilizamos ao parametrizar o módulo de projetos , para lançamento de diários de projeto.

Dependendo do funcionário selecionado, a contrapartida é automaticamente preenchida.

Configura-se pela seguinte opção do menu:




Em seguida, deve ser selecionado o Funcionário, o tipo e a conta de contrapartida padrão, que será inicializada nos diários de despesas.


A contrapartida pode ser dos tipos:

  • Cliente
  • Fornecedor
  • Banco
  • Razão

Sim. Uma funcionalidade padrão, mas o Post é justamente para apresentar uma pequena correção que deve ser feita no método Classes\LedgerJournalEngine\setProjDefaultOffsetAccount

após a inicialização do OffsetAccountType e do OffsetAccount, para o Brasil, é necessário inicializar alguns campos.

Como as tabelas já se encontram inicializadas nesse contexto, utilizei os métodos de inicialização de clientes e fornecedores:




   1:  (...)

   2:   

   3:      _ledgerJournalTrans.OffsetAccountType     = projDefaultOffsetSetup.getLedgerOffsetType();

   4:      _ledgerJournalTrans.OffsetAccount         = projDefaultOffsetSetup.AccountNum;

   5:   

   6:      switch (_ledgerJournalTrans.OffsetAccountType) 

   7:      {

   8:          case LedgerJournalACType::Vend:

   9:              this.initFromVendTable(_ledgerJournalTrans);

  10:              break;

  11:          case LedgerJournalACType::Cust:

  12:              this.initFromCustTable(_ledgerJournalTrans); 

  13:              break;

  14:      }



Isso evita que o sistema dispare um erro sobre seleção de tipo de documento fiscal e série.

Boa páscoa a todos!

terça-feira, 19 de fevereiro de 2008

Número por extenso

Para retornar um número escrito por extenso, como no preenchimento dos cheques, basta utilizar a função numeralsToTxt_BR.

Essa função esta escrita na classe Global e pode ser modificada caso necessário.

static void Job1(Args _args)
{
;
info(numeralsToTxt_BR(25.22));
}

Esse job simples mostra: Vinte e cinco Reais e vinte e dois centavos


Chegamos a 500 page views, que ja é alguma coisa para uma comunidade com tão poucos profissionais!

Abs

quinta-feira, 7 de fevereiro de 2008

Brasileiro assume gerencia de desenvolvimento de localização em todas as americas

a noticia é de 17 de janeiro mas antes tarde do que nunca:

A Microsoft Brasil anuncia a promoção do executivo Joel Pereira para a posição de gerente de desenvolvimento para as Américas da Microsoft. Pereira ficará baseado no Brasil e será responsável pelo gerenciamento dos times de localização do software de gestão, ou seja, no desenvolvimento de novas funcionalidades necessárias para a comercialização da solução de ERP para as Américas (América Latina, Estados Unidos e Canadá). Ao todo 50 profissionais fazem parte da equipe nos países.

O executivo trabalhou na Microsoft Corporation, nos Estados Unidos, por seis anos, e antes de assumir a atual posição foi gerente de desenvolvimento de software do produto Microsoft Dynamics AX para América Latina. Graduado em Engenharia Elétrica pela FEI e com mestrado em Engenharia da Computação pela Escola Politécnica participou do desenvolvimento dos produtos Application Center 2000, Microsoft Operations Manager, Microsoft SQL Server e Winfs. Por dois anos, se dedicou ao desenvolvimento da plataforma tecnológica para próxima geração dos produtos Microsoft Dynamics.

Parabéns ao Joel, isso mostra que o Brasil tem condições de aparecer no cenario internacional de desenvolvimento de software e sistemas de gestão.

quarta-feira, 30 de janeiro de 2008

Impostos no AX - Visão Geral parte 2

Decidi retomar esse post, porém de uma forma um pouco mais didatica e um pouco menos técnica.

A partir do AX 4.0, existem 2 tipos de impostos que podem ser calulados no sistema:
1. Impostos sobre vendas - Sales Tax
2. Impostos retidos - Withholding Taxes (erroneamente traduzido para Retenção de Impostos)

Os impostos sobre são venda podem ser calculados nos pedidos de venda, pedidos de compra, notas fiscais de fornecedores e diários da contabilidade (a partir do SP2)

Os impostos que devem retidos quando há pagamento são calculados SOMENTE nos diários de pagamentos (fornecedor e cliente) - com o detalhe que, para o Brasil, somente são calculados caso um produto do tipo serviço tenha sido utilizado no registro do pedido e para os casos em que a nota fiscal e registrada a partir do diário de notas fiscais, a opção Nota Fiscal de serviços tenha sido marcada na aba Nota Fiscal.


Impostos sobre vendas (Contabilidade/Configuração/Impostos sobre Vendas)

Os impostos são calculados da junção de 2 grupos - grupos de impostos de venda e grupos de impostos de venda do item.

Os impostos cadastrados par ao Brasil devem seguir uma configuração: impostos retidos no reistro da nota fiscal devem ser configurados como "Retidos", exemplos de impostos retidos: IRRF, INSS, ISS para alguns municípios.

Os impostos configurados como impostos retidos, quando registrados na compra, são registrado como impostos a pagar, e o seu valor é deduzido do valor a ser pago ao fornecedor. Nos pedidos de venda, o Ax segue o mesmo funcionamento, porém, o valor a receber registrado é deduzido dos impostos.





Um erro comum de configuração que leva o Ax a fazer coisas "estranhas" é configurar o imposto da seguinte maneira:

Percebam que o campo Base Marginal esta configurado como: Valor líquido do saldo de nota fiscal, esse é valor padrão do Ax quando se cadastra um novo imposto. A consequência para essa configuração é o registro errado da nota fiscal, consequentemente dos impostos retidos.
Na figura abaixo a contabilização da nota fiscal, uma nota fiscal de R$3.000,00, deveria gera um valor a pagar R$2.955,00 porém gerou um valor a pagar de R$3.045,00.

O correto é seria:


O PIS, COFINS e CSLL (sobre serviços)podem ser configurados aqui, mas isso depende mais de uma decisão do contador da empresa do que do sistema. Legalmente eu também não saberia dizer se existe algum problema em reter ja na nota fiscal.


Impostos que ja estão incluídos nos preços de compra e venda devem ser configurados como "Incluidos", os exemplos clássicos são: ICMS, PIS e COFINS. Sendo essa a única solução par ao calculo correto dos impostos, fica como efeito colateral no sistema uma margem de venda bruta, com impostos, ja que normalmente as empresas trabalham com tabelas de preços ou preços padrão ja com esse impostos embutidos no preço, ou mesmo mantém tabelas de preços distintas para regiões diferentes do Brasil. (A venda para nordeste, a partir de são paulo por exemplo, tem um ICMS de 7% enquanto vendas para dentro de são paulo, tem 18%, impactando diretamente no preço).

No próximo post vou retomar com os impostos retidos a partir dos diário de pagamentos(withholding taxes).

Abs,






quinta-feira, 10 de janeiro de 2008

Interface com Cobre Bem para o AX

Cobre bem é uma DLL (paga) que cria arquivos de cobrança (CNAB) e emite boletos bancários. Muito facil de utilizar.



Criei uma interface para esse DLL que esta no link http://www.axaptapedia.com/Cobre_Bem, a ideia é mante-la como um projeto.



Postei uma versão 0.0b, portanto, usem por conta sua conta e risco, mas a ideia é implementar todas as funcionalidades disponiveis na versão.


A DLL é de propriedade da Cobre Bem Tecnologia http://www.cobrebem.com.br/


* Mais informações sobre a DLL em http://www.cobrebem.com.br/testecbx.html

* Download da versão de testes em http://www.cobrebem.com.br/downloads.html

* Informações sobre licenciamento em http://www.cobrebem.com.br/modelolicenciamento.html

* Gerar licença demo http://www.cobrebem.com/cgi-bin/GeraArquivoLicencaTeste/