 (Half Day),(Meio Dia)
 and year: ,e ano:
 by Role ,por função
 is not set,não está definido
""" does not exists",""" Não existe"
%  Delivered,Entregue %
% Amount Billed,Valor faturado %
% Billed,Faturado %
% Completed,% Concluído
% Delivered,Entregue %
% Installed,Instalado %
% Received,Recebido %
% of materials billed against this Purchase Order.,% de materiais faturado contra esta Ordem de Compra.
% of materials billed against this Sales Order,% de materiais faturados contra esta Ordem de Venda
% of materials delivered against this Delivery Note,% de materiais entregues contra esta Guia de Remessa
% of materials delivered against this Sales Order,% de materiais entregues contra esta Ordem de Venda
% of materials ordered against this Material Request,% De materiais encomendados contra este pedido se
% of materials received against this Purchase Order,% de materiais recebidos contra esta Ordem de Compra
%(conversion_rate_label)s is mandatory. Maybe Currency Exchange record is not created for %(from_currency)s to %(to_currency)s,% ( conversion_rate_label ) s é obrigatória. Talvez recorde Câmbios não é criado para % ( from_currency ) s para% ( to_currency ) s
'Actual Start Date' can not be greater than 'Actual End Date',' Real data de início ' não pode ser maior que ' Actual Data Final '
'Based On' and 'Group By' can not be same,'Baseado ' e ' Grupo por ' não pode ser o mesmo
'Days Since Last Order' must be greater than or equal to zero,' Dias desde a última Ordem deve ser maior ou igual a zero
'Entries' cannot be empty,' Entradas ' não pode estar vazio
'Expected Start Date' can not be greater than 'Expected End Date',""" Data de Início esperado ' não pode ser maior que' Data Final Esperado '"
'From Date' is required,'From Date' é necessária
'From Date' must be after 'To Date','De Data ' deve ser depois de ' To Date '
'Has Serial No' can not be 'Yes' for non-stock item,'Não tem de série ' não pode ser 'Sim' para o item não- estoque
'Notification Email Addresses' not specified for recurring invoice,"«Notificação endereços de email "" não especificadas para fatura recorrentes"
'Profit and Loss' type Account {0} used be set for Opening Entry,""" Lucros e Perdas "" Tipo de conta {0} usado ser definida para abertura de entrada"
'Profit and Loss' type account {0} not allowed in Opening Entry,""" Lucros e Perdas "" tipo de conta {0} não é permitido na abertura de entrada"
'To Case No.' cannot be less than 'From Case No.',&quot;Para Processo n º &#39; não pode ser inferior a &#39;From Processo n&#39;
'To Date' is required,' To Date ' é necessária
'Update Stock' for Sales Invoice {0} must be set,"'Atualizar Estoque ""para vendas Invoice {0} deve ser definido"
* Will be calculated in the transaction.,* Será calculado na transação.
"1 Currency = [?] Fraction
For e.g. 1 USD = 100 Cent",
1. To maintain the customer wise item code and to make them searchable based on their code use this option,1. Para manter o código de item do cliente e para torná-los pesquisáveis ​​com base em seu código use esta opção
2 days ago,Há 2 dias
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer grupo""> Adicionar / Editar </ a>"
"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item grupo""> Adicionar / Editar </ a>"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> Adicionar / Editar </ a>"
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Um grupo de clientes existente com o mesmo nome, por favor altere o nome do cliente ou renomear o grupo de clientes"
A Customer exists with same name,Um cliente existe com mesmo nome
A Lead with this email id should exist,Um Prospecto com esse endereço de e-mail deve existir
A Product or Service,Um produto ou serviço
A Supplier exists with same name,Um Fornecedor existe com mesmo nome
A symbol for this currency. For e.g. $,Um símbolo para esta moeda. Por exemplo: $
AMC Expiry Date,Data de Validade do CAM
Abbr,Abrev
Abbreviation cannot have more than 5 characters,Abreviatura não pode ter mais de 5 caracteres
About,Sobre
Above Value,Acima de Valor
Absent,Ausente
Acceptance Criteria,Critérios de Aceitação
Accepted,Aceito
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Aceito Rejeitado + Qt deve ser igual a quantidade recebida por item {0}
Accepted Quantity,Quantidade Aceita
Accepted Warehouse,Almoxarifado Aceito
Account,conta
Account Balance,Saldo em Conta
Account Created: {0},Conta Criada : {0}
Account Details,Detalhes da Conta
Account Head,Conta
Account Name,Nome da Conta
Account Type,Tipo de Conta
Account for the warehouse (Perpetual Inventory) will be created under this Account.,Conta para o depósito ( inventário permanente ) será criado nessa conta.
Account head {0} created,Cabeça Conta {0} criado
Account must be a balance sheet account,Conta deve ser uma conta de balanço
Account with child nodes cannot be converted to ledger,Conta com nós filhos não pode ser convertido em livro
Account with existing transaction can not be converted to group.,Conta com a transação existente não pode ser convertido em grupo.
Account with existing transaction can not be deleted,Conta com a transação existente não pode ser excluído
Account with existing transaction cannot be converted to ledger,Conta com a transação existente não pode ser convertido em livro
Account {0} already exists,Conta {0} já existe
Account {0} can only be updated via Stock Transactions,Conta {0} só pode ser atualizado através de transações com ações
Account {0} cannot be a Group,Conta {0} não pode ser um grupo
Account {0} does not belong to Company {1},Conta {0} não pertence à empresa {1}
Account {0} does not exist,Conta {0} não existe
Account {0} has been entered more than once for fiscal year {1},Conta {0} foi inserido mais de uma vez para o ano fiscal {1}
Account {0} is frozen,Conta {0} está congelado
Account {0} is inactive,Conta {0} está inativo
Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item,"Conta {0} deve ser do tipo "" Ativo Fixo "" como item {1} é um item de ativos"
Account {0} must be sames as Credit To Account in Purchase Invoice in row {0},Conta {0} deve ser sames como crédito para a conta no factura de compra na linha {0}
Account {0} must be sames as Debit To Account in Sales Invoice in row {0},Conta {0} deve ser sames como de débito em conta em Vendas fatura em linha {0}
Accounting,Contabilidade
"Accounting Entries can be made against leaf nodes, called","Lançamentos contábeis podem ser feitas contra nós folha , chamado"
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Registro contábil congelado até a presente data, ninguém pode fazer / modificar entrada exceto papel especificado abaixo."
Accounting journal entries.,Lançamentos no livro Diário.
Accounts,Contas
Accounts Browser,Contas Navegador
Accounts Frozen Upto,Contas congeladas até
Accounts Payable,Contas a Pagar
Accounts Receivable,Contas a Receber
Accounts Settings,Configurações de contas
Actions,ações
Active,Ativo
Active: Will extract emails from ,Ativo: Será que extrair e-mails a partir de
Activity,Atividade
Activity Log,Log de Atividade
Activity Log:,Activity Log :
Activity Type,Tipo da Atividade
Actual,Real
Actual Budget,Orçamento Real
Actual Completion Date,Data de Conclusão Real
Actual Date,Data Real
Actual End Date,Data Final Real
Actual Invoice Date,Actual Data da Fatura
Actual Posting Date,Actual Data lançamento
Actual Qty,Qtde Real
Actual Qty (at source/target),Qtde Real (na origem / destino)
Actual Qty After Transaction,Qtde Real Após a Transação
Actual Qty: Quantity available in the warehouse.,Qtde real: a quantidade disponível em armazém.
Actual Quantity,Quantidade Real
Actual Start Date,Data de Início Real
Add,Adicionar
Add / Edit Taxes and Charges,Adicionar / Editar Impostos e Encargos
Add Attachments,Adicionar Anexos
Add Bookmark,Adicionar marcadores
Add Child,Adicionar Criança
Add Column,Adicionar Coluna
Add Message,Adicionar Mensagem
Add Reply,Adicione Resposta
Add Serial No,Adicionar Serial No
Add Taxes,Adicionar Impostos
Add Taxes and Charges,Adicionar Impostos e Taxas
Add This To User's Restrictions,Adicione isto a Restrições do Usuário
Add attachment,Adicionar anexo
Add new row,Adicionar nova linha
Add or Deduct,Adicionar ou Deduzir
Add rows to set annual budgets on Accounts.,Adicionar linhas para definir orçamentos anuais nas Contas.
Add to Cart,Adicionar ao carrinho
Add to To Do,Adicionar à Lista de Tarefas
Add to To Do List of,Adicionar à Lista de Tarefas de
Add to calendar on this date,Adicionar ao calendário nesta data
Add/Remove Recipients,Adicionar / Remover Destinatários
Address,Endereço
Address & Contact,Address &amp; Contact
Address & Contacts,Endereço e Contatos
Address Desc,Descrição do Endereço
Address Details,Detalhes do Endereço
Address HTML,Endereço HTML
Address Line 1,Endereço Linha 1
Address Line 2,Endereço Linha 2
Address Title,Título do Endereço
Address Title is mandatory.,Endereço de título é obrigatório.
Address Type,Tipo de Endereço
Address master.,Mestre de endereços.
Administrative Expenses,despesas administrativas
Advance Amount,Quantidade Antecipada
Advance amount,Valor do adiantamento
Advances,Avanços
Advertisement,Anúncio
After Sale Installations,Instalações Pós-Venda
Against,Contra
Against Account,Contra Conta
Against Bill {0} dated {1},Contra Bill {0} {1} datado
Against Docname,Contra Docname
Against Doctype,Contra Doctype
Against Document Detail No,Contra Detalhe do Documento nº
Against Document No,Contra Documento nº
Against Expense Account,Contra a Conta de Despesas
Against Income Account,Contra a Conta de Rendimentos
Against Journal Voucher,Contra Comprovante do livro Diário
Against Purchase Invoice,Contra a Nota Fiscal de Compra
Against Sales Invoice,Contra a Nota Fiscal de Venda
Against Sales Order,Contra Ordem de Vendas
Against Voucher,Contra Comprovante
Against Voucher Type,Contra Tipo de Comprovante
Ageing Based On,Envelhecimento Baseado em
Ageing Date is mandatory for opening entry,Envelhecimento Data é obrigatória para a abertura de entrada
Ageing date is mandatory for opening entry,Data Envelhecer é obrigatória para a abertura de entrada
Agent,Agente
Aging Date,Data de Envelhecimento
Aging Date is mandatory for opening entry,Envelhecimento Data é obrigatória para a abertura de entrada
All Addresses.,Todos os Endereços.
All Contact,Todo Contato
All Contacts.,Todos os contatos.
All Customer Contact,Todo Contato do Cliente
All Customer Groups,Todos os grupos de clientes
All Day,Dia de Todos os
All Employee (Active),Todos os Empregados (Ativos)
All Item Groups,Todos os grupos de itens
All Lead (Open),Todos Prospectos (Abertos)
All Products or Services.,Todos os Produtos ou Serviços.
All Sales Partner Contact,Todo Contato de Parceiros de Vendas
All Sales Person,Todos os Vendedores
All Supplier Contact,Todo Contato de Fornecedor
All Supplier Types,Todos os tipos de fornecedores
All Territories,Todos os Territórios
"All export related fields like currency, conversion rate, export total, export grand total etc are available in Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Todas as exportações campos relacionados, como moeda, taxa de conversão , a exportação total, a exportação total etc estão disponíveis na nota de entrega , POS, Cotação , Vendas fatura , Ordem de vendas etc"
"All import related fields like currency, conversion rate, import total, import grand total etc are available in Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Todos os campos de importação relacionados, como moeda , taxa de conversão total de importação , importação total etc estão disponíveis no Recibo de compra , fornecedor de cotação , factura de compra , ordem de compra , etc"
All items have already been transferred for this Production Order.,Todos os itens já foram transferidos para esta ordem de produção .
All these items have already been invoiced,Todos esses itens já foram faturados
Allocate,Alocar
Allocate leaves for a period.,Alocar folhas por um período .
Allocate leaves for the year.,Alocar licenças para o ano.
Allocated Amount,Montante alocado
Allocated Budget,Orçamento alocado
Allocated amount,Montante alocado
Allow Bill of Materials,Permitir Lista de Materiais
Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item,"Permitir Lista de Materiais deve ser ""sim"" . Porque uma ou várias listas de materiais ativos presentes para este item"
Allow Children,permitir que as crianças
Allow Dropbox Access,Permitir Dropbox Acesso
Allow Google Drive Access,Permitir acesso Google Drive
Allow Negative Balance,Permitir saldo negativo
Allow Negative Stock,Permitir Estoque Negativo
Allow Production Order,Permitir Ordem de Produção
Allow User,Permitir que o usuário
Allow Users,Permitir que os usuários
Allow the following users to approve Leave Applications for block days.,Permitir que os usuários a seguir para aprovar aplicações deixam para os dias de bloco.
Allow user to edit Price List Rate in transactions,Permitir ao usuário editar Lista de Preços Taxa em transações
Allowance Percent,Percentual de tolerância
Allowance for over-delivery / over-billing crossed for Item {0},Provisão para over- entrega / sobre- faturamento cruzou para item {0}
Allowed Role to Edit Entries Before Frozen Date,Permitidos Papel para editar entradas Antes Congelado Data
"Allowing DocType, DocType. Be careful!","Permitindo DocType , DocType . Tenha cuidado !"
Alternative download link,Link para download Alternativa
Amend,Corrigir
Amended From,Corrigido De
Amount,Quantidade
Amount (Company Currency),Amount (Moeda Company)
Amount <=,Quantidade &lt;=
Amount >=,Quantidade&gt; =
Amount to Bill,Elevar-se a Bill
An Customer exists with same name,Existe um cliente com o mesmo nome
"An Item Group exists with same name, please change the item name or rename the item group","Um grupo de itens existe com o mesmo nome, por favor, mude o nome do item ou mudar o nome do grupo de itens"
"An item exists with same name ({0}), please change the item group name or rename the item","Um item existe com o mesmo nome ( {0}) , por favor, altere o nome do grupo de itens ou renomear o item"
Annual,anual
Another Period Closing Entry {0} has been made after {1},Outra entrada Período de Encerramento {0} foi feita após {1}
Another Salary Structure {0} is active for employee {0}. Please make its status 'Inactive' to proceed.,"Outra estrutura salarial {0} está ativo para empregado {0}. Por favor, faça seu status ' inativo ' para prosseguir ."
"Any other comments, noteworthy effort that should go in the records.","Quaisquer outros comentários, esforço notável que deva ir para os registros."
Applicability,aplicabilidade
Applicable For,aplicável
Applicable Holiday List,Lista de Férias Aplicável
Applicable Territory,Território aplicável
Applicable To (Designation),Aplicável Para (Designação)
Applicable To (Employee),Aplicável Para (Funcionário)
Applicable To (Role),Aplicável Para (Função)
Applicable To (User),Aplicável Para (Usuário)
Applicant Name,Nome do Requerente
Applicant for a Job.,Requerente de uma Job.
Application of Funds (Assets),Aplicações de Recursos ( Ativos )
Applications for leave.,Pedidos de licença.
Applies to Company,Aplica-se a Empresa
Apply On,aplicar Em
Appraisal,Avaliação
Appraisal Goal,Meta de Avaliação
Appraisal Goals,Metas de Avaliação
Appraisal Template,Modelo de Avaliação
Appraisal Template Goal,Meta do Modelo de Avaliação
Appraisal Template Title,Título do Modelo de Avaliação
Appraisal {0} created for Employee {1} in the given date range,Appraisal {0} criado para Employee {1} no intervalo de datas
Approval Status,Estado da Aprovação
Approval Status must be 'Approved' or 'Rejected',"Status de Aprovação deve ser ""Aprovado"" ou "" Rejeitado """
Approved,Aprovado
Approver,Aprovador
Approving Role,Função Aprovadora
Approving Role cannot be same as role the rule is Applicable To,Aprovando Papel não pode ser o mesmo que papel a regra é aplicável a
Approving User,Usuário Aprovador
Approving User cannot be same as user the rule is Applicable To,Aprovando usuário não pode ser o mesmo que usuário a regra é aplicável a
Are you sure you want to STOP ,
Are you sure you want to UNSTOP ,
Are you sure you want to delete the attachment?,Tem certeza de que deseja excluir o anexo?
Arrear Amount,Quantidade em atraso
"As Production Order can be made for this item, it must be a stock item.","Como ordem de produção pode ser feita para este item , deve ser um item de estoque."
As per Stock UOM,Como UDM do Estoque
"As there are existing stock transactions for this item, you can not change the values of 'Has Serial No', 'Is Stock Item' and 'Valuation Method'","Como existem operações com ações existentes para este item , você não pode alterar os valores de 'não tem de série ', ' é Stock Item' e ' Método de avaliação '"
Ascending,Ascendente
Assign To,Atribuir a
Assigned To,Atribuído a
Assignments,Atribuições
Atleast one warehouse is mandatory,Pelo menos um almoxarifado é obrigatório
Attach Document Print,Anexar Cópia do Documento
Attach Image,anexar imagem
Attach Letterhead,anexar timbrado
Attach Logo,anexar Logo
Attach Your Picture,Fixe sua imagem
Attach as web link,Anexar como link da web
Attachments,Anexos
Attendance,Comparecimento
Attendance Date,Data de Comparecimento
Attendance Details,Detalhes do Comparecimento
Attendance From Date,Data Inicial de Comparecimento
Attendance From Date and Attendance To Date is mandatory,Atendimento De Data e Atendimento à data é obrigatória
Attendance To Date,Data Final de Comparecimento
Attendance can not be marked for future dates,Atendimento não pode ser marcado para datas futuras
Attendance for employee {0} is already marked,Atendimento para empregado {0} já está marcado
Attendance record.,Registro de comparecimento.
Authorization Control,Controle de autorização
Authorization Rule,Regra de autorização
Auto Accounting For Stock Settings,Contabilidade Auto para o estoque Configurações
Auto Material Request,Pedido de material Auto
Auto-raise Material Request if quantity goes below re-order level in a warehouse,Auto-raise solicitar material se a quantidade for inferior a reordenar nível em um armazém
Automatically compose message on submission of transactions.,Compor automaticamente mensagem na apresentação de transações.
Automatically extract Job Applicants from a mail box ,
Automatically extract Leads from a mail box e.g.,"Extrair automaticamente Leads de uma caixa de correio , por exemplo,"
Automatically updated via Stock Entry of type Manufacture/Repack,Atualizado automaticamente através do lançamento de Estoque do tipo Fabricação/Reempacotamento
Autoreply when a new mail is received,Responder automaticamente quando um novo e-mail é recebido
Available,disponível
Available Qty at Warehouse,Qtde Disponível em Almoxarifado
Available Stock for Packing Items,Estoque disponível para embalagem itens
"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Disponível em BOM, nota de entrega , factura de compra , ordem de produção , ordem de compra , Recibo de compra , nota fiscal de venda , ordem de venda , Stock entrada , quadro de horários"
Average Age,Idade Média
Average Commission Rate,Média Comissão Taxa
Average Discount,Desconto Médio
Awesome Products,produtos impressionantes
Awesome Services,impressionante Serviços
BOM Detail No,Nº do detalhe da LDM
BOM Explosion Item,Item da Explosão da LDM
BOM Item,Item da LDM
BOM No,Nº da LDM
BOM No. for a Finished Good Item,Nº da LDM para um Item Bom Acabado
BOM Operation,Operação da LDM
BOM Operations,Operações da LDM
BOM Replace Tool,Ferramenta de Substituição da LDM
BOM number is required for manufactured Item {0} in row {1},BOM número é necessário para manufaturados item {0} na linha {1}
BOM number not allowed for non-manufactured Item {0} in row {1},Número BOM não é permitido para os não- manufaturado item {0} na linha {1}
BOM recursion: {0} cannot be parent or child of {2},BOM recursão: {0} não pode ser pai ou filho de {2}
BOM replaced,LDM substituída
BOM {0} for Item {1} in row {2} is inactive or not submitted,BOM {0} para {1} item na linha {2} está inativo ou não submetido
BOM {0} is not active or not submitted,BOM {0} não está ativo ou não submetidos
BOM {0} is not submitted or inactive BOM for Item {1},BOM {0} não for apresentado ou inativo BOM por item {1}
Backup Manager,Backup Manager
Backup Right Now,Faça backup Right Now
Backups will be uploaded to,Backups serão enviados para
Balance Qty,Balanço Qtde
Balance Sheet,Balanço
Balance Value,Valor Patrimonial
Balance for Account {0} must always be {1},Saldo Conta {0} deve ser sempre {1}
Balance must be,Equilíbrio deve ser
"Balances of Accounts of type ""Bank"" or ""Cash""","Saldos das contas do tipo "" Banco"" ou ""Cash """
Bank,Banco
Bank A/C No.,Nº Cta. Bancária
Bank Account,Conta Bancária
Bank Account No.,Nº Conta Bancária
Bank Accounts,Contas Bancárias
Bank Clearance Summary,Banco Resumo Clearance
Bank Name,Nome do Banco
Bank Overdraft Account,Conta Garantida Banco
Bank Reconciliation,Reconciliação Bancária
Bank Reconciliation Detail,Detalhe da Reconciliação Bancária
Bank Reconciliation Statement,Declaração de reconciliação bancária
Bank Voucher,Comprovante Bancário
Bank/Cash Balance,Banco / Saldo de Caixa
Barcode,Código de barras
Barcode {0} already used in Item {1},Barcode {0} já utilizado em item {1}
Based On,Baseado em
Basic,básico
Basic Info,Informações Básicas
Basic Information,Informações Básicas
Basic Rate,Taxa Básica
Basic Rate (Company Currency),Taxa Básica (Moeda Company)
Basic Section,Seção Básico
Batch,Lote
Batch (lot) of an Item.,Lote de um item.
Batch Finished Date,Data de Término do Lote
Batch ID,ID do Lote
Batch No,Nº do Lote
Batch Started Date,Data de Início do Lote
Batch Time Logs for billing.,Tempo lote Logs para o faturamento.
Batch-Wise Balance History,Por lotes História Balance
Batched for Billing,Agrupadas para Billing
Better Prospects,Melhores perspectivas
Bill Date,Data de Faturamento
Bill No,Fatura Nº
Bill No {0} already booked in Purchase Invoice {1},Bill Não {0} já reservado na factura de compra {1}
Bill of Material,Lista de Materiais
Bill of Material to be considered for manufacturing,Lista de Materiais a serem considerados para a fabricação
Bill of Materials (BOM),Lista de Materiais (LDM)
Billable,Faturável
Billed,Faturado
Billed Amount,valor faturado
Billed Amt,Valor Faturado
Billing,Faturamento
Billing Address,Endereço de Cobrança
Billing Address Name,Faturamento Nome Endereço
Billing Status,Estado do Faturamento
Bills raised by Suppliers.,Contas levantada por Fornecedores.
Bills raised to Customers.,Contas levantdas para Clientes.
Bin,Caixa
Bio,Bio
Birthday,aniversário
Block Date,Bloquear Data
Block Days,Dias bloco
Block leave applications by department.,Bloquear deixar aplicações por departamento.
Blog Post,Blog Mensagem
Blog Subscriber,Assinante do Blog
Blood Group,Grupo sanguíneo
Bookmarks,Marcadores
Both Warehouse must belong to same Company,Ambos Warehouse devem pertencer a mesma empresa
Box,caixa
Branch,Ramo
Brand,Marca
Brand Name,Marca
Brand master.,Cadastro de Marca.
Brands,Marcas
Breakdown,Colapso
Budget,Orçamento
Budget Allocated,Orçamento Alocado
Budget Detail,Detalhe do Orçamento
Budget Details,Detalhes do Orçamento
Budget Distribution,Distribuição de Orçamento
Budget Distribution Detail,Detalhe da Distribuição de Orçamento
Budget Distribution Details,Detalhes da Distribuição de Orçamento
Budget Variance Report,Relatório Variance Orçamento
Budget cannot be set for Group Cost Centers,Orçamento não pode ser definido por centros de custo do grupo
Build Report,Criar relatório
Built on,construído sobre
Bundle items at time of sale.,Empacotar itens no momento da venda.
Buying,Compras
Buying & Selling,Compra e Venda
Buying Amount,Comprar Valor
Buying Settings,Comprar Configurações
C-Form,Formulário-C
C-Form Applicable,Formulário-C Aplicável
C-Form Invoice Detail,Detalhe Fatura do Formulário-C
C-Form No,Nº do Formulário-C
C-Form records,Registros C -Form
Calculate Based On,Calcule Baseado em
Calculate Total Score,Calcular a Pontuação Total
Calendar,Calendário
Calendar Events,Calendário de Eventos
Call,Chamar
Calls,chamadas
Campaign,Campanha
Campaign Name,Nome da Campanha
Campaign Name is required,Nome da campanha é necessária
Campaign Naming By,Campanha de nomeação
Campaign-.####,Campanha - . # # # #
Can be approved by {0},Pode ser aprovado pelo {0}
"Can not filter based on Account, if grouped by Account","Não é possível filtrar com base em conta , se agrupados por Conta"
"Can not filter based on Voucher No, if grouped by Voucher","Não é possível filtrar com base no Comprovante Não, se agrupados por voucher"
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Pode se referir linha apenas se o tipo de acusação é 'On Anterior Valor Row ' ou ' Previous Row Total'
Cancel,Cancelar
Cancel Material Visit {0} before cancelling this Customer Issue,Cancelar material Visita {0} antes de cancelar este problema do cliente
Cancel Material Visits {0} before cancelling this Maintenance Visit,Cancelar Materiais Visitas {0} antes de cancelar este Manutenção Visita
Cancelled,Cancelado
Cancelling this Stock Reconciliation will nullify its effect.,Cancelando este Stock Reconciliação vai anular seu efeito.
Cannot Cancel Opportunity as Quotation Exists,Não é possível cancelar Opportunity como Cotação existe
Cannot approve leave as you are not authorized to approve leaves on Block Dates,Não foi possível aprovar a licença que você não está autorizado a aprovar folhas em datas Bloco
Cannot cancel because Employee {0} is already approved for {1},Não pode cancelar porque Employee {0} já está aprovado para {1}
Cannot cancel because submitted Stock Entry {0} exists,Não pode cancelar por causa da entrada submetido {0} existe
Cannot carry forward {0},Não é possível levar adiante {0}
Cannot change Year Start Date and Year End Date once the Fiscal Year is saved.,Não é possível alterar Ano Data de Início e Fim de Ano Data vez o Ano Fiscal é salvo.
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Não é possível alterar a moeda padrão da empresa, porque existem operações existentes. Transações devem ser canceladas para alterar a moeda padrão."
Cannot convert Cost Center to ledger as it has child nodes,"Não é possível converter Centro de Custo de contabilidade , uma vez que tem nós filhos"
Cannot covert to Group because Master Type or Account Type is selected.,Não é possível converter ao Grupo porque Type Master ou Tipo de Conta é selecionado.
Cannot deactive or cancle BOM as it is linked with other BOMs,"Não pode desativados ou cancle BOM , pois está relacionada com outras BOMs"
"Cannot declare as lost, because Quotation has been made.","Não pode declarar como perdido , porque Cotação foi feita."
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Não pode deduzir quando é para categoria ' Avaliação ' ou ' Avaliação e Total'
"Cannot delete Serial No {0} in stock. First remove from stock, then delete.","Não é possível excluir Sem Serial {0} em estoque. Primeiro retire do estoque , em seguida, exclua ."
"Cannot directly set amount. For 'Actual' charge type, use the rate field","Não é possível definir diretamente montante. Para ' Actual ' tipo de carga , use o campo taxa"
Cannot edit standard fields,Não é possível editar campos padrão
Cannot open instance when its {0} is open,"Não é possível abrir instância , quando o seu {0} é aberto"
Cannot open {0} when its instance is open,Não é possível abrir {0} quando sua instância está aberta
"Cannot overbill for Item {0} in row {0} more than {1}. To allow overbilling, please set in 'Setup' > 'Global Defaults'","Não pode overbill para item {0} na linha {0} mais de {1}. Para permitir o superfaturamento , defina em ""Setup"" > "" padrões globais """
Cannot print cancelled documents,Não é possível imprimir documentos cancelados
Cannot produce more Item {0} than Sales Order quantity {1},Não é possível produzir mais item {0} do que a quantidade Ordem de Vendas {1}
Cannot refer row number greater than or equal to current row number for this Charge type,Não é possível consultar número da linha superior ou igual ao número da linha atual para este tipo de carga
Cannot return more than {0} for Item {1},Não pode retornar mais de {0} para {1} item
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,"Não é possível selecionar o tipo de carga como "" Valor Em linha anterior ' ou ' On Anterior Row Total ' para a primeira linha"
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for valuation. You can select only 'Total' option for previous row amount or previous row total,"Não é possível selecionar o tipo de carga como "" Valor Em linha anterior ' ou ' On Anterior Row Total ' para a avaliação. Você pode selecionar apenas a opção ' Total' para montante linha anterior ou linha anterior total de"
Cannot set as Lost as Sales Order is made.,Não é possível definir como perdida como ordem de venda é feita.
Cannot set authorization on basis of Discount for {0},Não é possível definir a autorização com base em desconto para {0}
Capacity,Capacidade
Capacity Units,Unidades de Capacidade
Capital Account,Conta Capital
Capital Equipments,Equipamentos Capitais
Carry Forward,Encaminhar
Carry Forwarded Leaves,Encaminhar Licenças
Case No(s) already in use. Try from Case No {0},Processo n º (s) já está em uso . Tente de Processo n {0}
Case No. cannot be 0,Caso n não pode ser 0
Cash,Numerário
Cash In Hand,Dinheiro na mão
Cash Voucher,Comprovante de Caixa
Cash or Bank Account is mandatory for making payment entry,Dinheiro ou conta bancária é obrigatória para a tomada de entrada de pagamento
Cash/Bank Account,Conta do Caixa/Banco
Casual Leave,Casual Deixar
Cell Number,Telefone Celular
Change UOM for an Item.,Alterar UDM de um item.
Change the starting / current sequence number of an existing series.,Alterar o número sequencial de início/atual de uma série existente.
Channel Partner,Parceiro de Canal
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Charge do tipo ' real ' na linha {0} não pode ser incluído no item Taxa
Chargeable,Taxável
Charity and Donations,Caridade e Doações
Chart Name,Nome do gráfico
Chart of Accounts,Plano de Contas
Chart of Cost Centers,Plano de Centros de Custo
Check for Duplicates,Verifique a existência de duplicatas
Check how the newsletter looks in an email by sending it to your email.,Verifique como a newsletter é exibido em um e-mail enviando-o para o seu e-mail.
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Marque se é uma nota fiscal recorrente, desmarque para parar a recorrência ou colocar uma Data Final adequada"
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Marque se você precisa de notas fiscais recorrentes automáticas. Depois de enviar qualquer nota fiscal de venda, a seção Recorrente será visível."
Check if you want to send salary slip in mail to each employee while submitting salary slip,Marque se você quiser enviar a folha de pagamento pelo correio a cada empregado ao enviar a folha de pagamento
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Marque esta opção se você deseja forçar o usuário a selecionar uma série antes de salvar. Não haverá nenhum padrão se você marcar isso.
Check this if you want to show in website,Marque esta opção se você deseja mostrar no site
Check this to disallow fractions. (for Nos),Marque esta opção para não permitir frações. (Para n)
Check this to pull emails from your mailbox,Marque esta a puxar os e-mails de sua caixa de correio
Check to activate,Marque para ativar
Check to make Shipping Address,Marque para criar Endereço de Remessa
Check to make primary address,Marque para criar Endereço Principal
Cheque,Cheque
Cheque Date,Data do Cheque
Cheque Number,Número do cheque
Child account exists for this account. You can not delete this account.,Conta Criança existe para esta conta. Você não pode excluir esta conta.
City,Cidade
City/Town,Cidade / Município
Claim Amount,Valor Requerido
Claims for company expense.,Os pedidos de despesa da empresa.
Class / Percentage,Classe / Percentual
Classic,Clássico
Clear Cache,Limpar Cache
Clear Table,Limpar Tabela
Clearance Date,Data de Liberação
Clearance Date not mentioned,Apuramento data não mencionada
Clearance date cannot be before check date in row {0},Apuramento data não pode ser anterior à data de verificação na linha {0}
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,Clique em &#39;Criar Fatura de vendas&#39; botão para criar uma nova factura de venda.
Click on a link to get options to expand get options ,
Click on row to view / edit.,Clique na fila para ver / editar .
Click to Expand / Collapse,Clique para Expandir / Recolher
Client,Cliente
Close,Fechar
Close Balance Sheet and book Profit or Loss.,Fechar Balanço e livro ou perda .
Close: {0},Fechar: {0}
Closed,Fechado
Closing Account Head,Conta de Fechamento
Closing Account {0} must be of type 'Liability',Fechando Conta {0} deve ser do tipo ' responsabilidade '
Closing Date,Data de Encerramento
Closing Fiscal Year,Encerramento do exercício fiscal
Closing Qty,fechando Qtde
Closing Value,fechando Valor
CoA Help,Ajuda CoA
Code,Código
Cold Calling,Cold Calling
Collapse,colapso
Color,Cor
Comma separated list of email addresses,Lista separada por vírgulas de endereços de e-mail
Comment,Comentário
Comments,Comentários
Commercial,comercial
Commission Rate,Taxa de Comissão
Commission Rate (%),Taxa de Comissão (%)
Commission on Sales,Comissão sobre Vendas
Commission rate cannot be greater than 100,Taxa de comissão não pode ser maior do que 100
Communication,Comunicação
Communication HTML,Comunicação HTML
Communication History,Histórico da comunicação
Communication Medium,Meio de comunicação
Communication log.,Log de Comunicação.
Communications,Comunicações
Company,Empresa
Company (not Customer or Supplier) master.,Company ( não cliente ou fornecedor ) mestre.
Company Abbreviation,Sigla Empresa
Company Details,Detalhes da Empresa
Company Email,Empresa E-mail
"Company Email ID not found, hence mail not sent","Empresa E-mail ID não foi encontrado , daí mail não enviado"
Company Info,Informações da Empresa
Company Name,Nome da Empresa
Company Settings,Configurações da empresa
Company is missing in warehouses {0},Empresa está em falta nos armazéns {0}
Company is required,Companhia é obrigada
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,"Números de registro da empresa para sua referência. Exemplo: CNPJ, IE, etc"
Company registration numbers for your reference. Tax numbers etc.,"Números da empresa de registro para sua referência. Números fiscais, etc"
"Company, Month and Fiscal Year is mandatory","Empresa , Mês e Ano Fiscal é obrigatória"
Compensatory Off,compensatória Off
Complete,Completar
Complete By,Completar em
Complete Setup,Instalação concluída
Completed,Concluído
Completed Production Orders,Ordens de produção concluídas
Completed Qty,Qtde concluída
Completion Date,Data de Conclusão
Completion Status,Estado de Conclusão
Computers,informática
Confirmation Date,confirmação Data
Confirmed orders from Customers.,Pedidos confirmados de clientes.
Consider Tax or Charge for,Considere Imposto ou Encargo para
Considered as Opening Balance,Considerado como Saldo
Considered as an Opening Balance,Considerado como um saldo de abertura
Consultant,Consultor
Consumable,Consumíveis
Consumable Cost,Custo dos consumíveis
Consumable cost per hour,Custo de consumíveis por hora
Consumed Qty,Qtde consumida
Contact,Contato
Contact Control,Controle de Contato
Contact Desc,Descrição do Contato
Contact Details,Detalhes do Contato
Contact Email,E-mail do Contato
Contact HTML,Contato HTML
Contact Info,Informações para Contato
Contact Mobile No,Celular do Contato
Contact Name,Nome do Contato
Contact No.,Nº Contato.
Contact Person,Pessoa de Contato
Contact Type,Tipo de Contato
Contact master.,Contato mestre.
Contacts,Contactos
Content,Conteúdo
Content Type,Tipo de Conteúdo
Contra Voucher,Comprovante de Caixa
Contract End Date,Data Final do contrato
Contract End Date must be greater than Date of Joining,Data Contrato Final deve ser maior que Data de Participar
Contribution (%),Contribuição (%)
Contribution to Net Total,Contribuição para o Total Líquido
Conversion Factor,Fator de Conversão
Conversion Factor is required,Fator de Conversão é necessária
Conversion factor cannot be in fractions,Fator de conversão não pode estar em frações
Conversion factor for default Unit of Measure must be 1 in row {0},Fator de conversão de unidade de medida padrão deve ser 1 na linha {0}
Conversion rate cannot be 0 or 1,A taxa de conversão não pode ser 0 ou 1
Convert into Recurring Invoice,Converter em Nota Fiscal Recorrente
Convert to Group,Converter em Grupo
Convert to Ledger,Converter para Ledger
Converted,Convertido
Copy,Copie
Copy From Item Group,Copiar do item do grupo
Cost Center,Centro de Custos
Cost Center Details,Detalhes do Centro de Custo
Cost Center Name,Nome do Centro de Custo
Cost Center Name already exists,Centro de Custo nome já existe
Cost Center is mandatory for Item {0},Centro de Custo é obrigatória para item {0}
Cost Center is required for 'Profit and Loss' account {0},"Centro de custo é necessário para "" Lucros e Perdas "" conta {0}"
Cost Center is required in row {0} in Taxes table for type {1},Centro de Custo é necessária na linha {0} no Imposto de mesa para o tipo {1}
Cost Center with existing transactions can not be converted to group,Centro de custo com as operações existentes não podem ser convertidos em grupo
Cost Center with existing transactions can not be converted to ledger,Centro de custo com as operações existentes não podem ser convertidos em livro
Cost Center {0} does not belong to Company {1},Centro de Custo {0} não pertence a Empresa {1}
Cost of Goods Sold,Custo dos Produtos Vendidos
Costing,Custeio
Country,País
Country Name,Nome do País
"Country, Timezone and Currency","País , o fuso horário e moeda"
Create Bank Voucher for the total salary paid for the above selected criteria,Criar Comprovante Bancário para o salário total pago para os critérios acima selecionados
Create Customer,criar Cliente
Create Material Requests,Criar Pedidos de Materiais
Create New,criar Novo
Create Opportunity,criar Opportunity
Create Production Orders,Criar Ordens de Produção
Create Quotation,criar cotação
Create Receiver List,Criar Lista de Receptor
Create Salary Slip,Criar Folha de Pagamento
Create Stock Ledger Entries when you submit a Sales Invoice,Criar entradas da Razão quando você enviar uma fatura de vendas
"Create and manage daily, weekly and monthly email digests.","Criar e gerenciar diários, semanais e mensais digere e-mail."
Create rules to restrict transactions based on values.,Criar regras para restringir operações com base em valores.
Created By,Criado por
Creates salary slip for above mentioned criteria.,Cria folha de pagamento para os critérios acima mencionados.
Creation / Modified By,Criação / Modificado por
Creation Date,Data de criação
Creation Document No,Criação de Documentos Não
Creation Document Type,Tipo de Documento de Criação
Creation Time,Data de Criação
Credentials,Credenciais
Credit,Crédito
Credit Amt,Montante de Crédito
Credit Card Voucher,Comprovante do cartão de crédito
Credit Controller,Controlador de crédito
Credit Days,Dias de Crédito
Credit Limit,Limite de Crédito
Credit Note,Nota de Crédito
Credit To,Crédito Para
Currency,Moeda
Currency Exchange,Câmbio
Currency Name,Nome da Moeda
Currency Settings,Configurações Moeda
Currency and Price List,Moeda e Preço
Currency exchange rate master.,Mestre taxa de câmbio .
Current Address,Endereço Atual
Current Address Is,Endereço atual é
Current Assets,Ativo Circulante
Current BOM,LDM atual
Current BOM and New BOM can not be same,Atual BOM e Nova BOM não pode ser o mesmo
Current Fiscal Year,Ano Fiscal Atual
Current Liabilities,passivo circulante
Current Stock,Estoque Atual
Current Stock UOM,UDM de Estoque Atual
Current Value,Valor Atual
Current status,Estado Atual
Custom,Personalizado
Custom Autoreply Message,Mensagem de resposta automática personalizada
Custom Message,Mensagem personalizada
Custom Reports,Relatórios personalizados
Customer,Cliente
Customer (Receivable) Account,Cliente (receber) Conta
Customer / Item Name,Cliente / Nome do item
Customer / Lead Address,Cliente / Chumbo Endereço
Customer / Lead Name,Cliente / Nome de chumbo
Customer Account Head,Cliente Cabeça Conta
Customer Acquisition and Loyalty,Aquisição de Cliente e Fidelização
Customer Address,Endereço do cliente
Customer Addresses And Contacts,Endereços e contatos do cliente
Customer Code,Código do Cliente
Customer Codes,Códigos de Clientes
Customer Details,Detalhes do Cliente
Customer Feedback,Comentário do Cliente
Customer Group,Grupo de Clientes
Customer Group / Customer,Grupo de cliente / cliente
Customer Group Name,Nome do grupo de Clientes
Customer Intro,Introdução do Cliente
Customer Issue,Questão do Cliente
Customer Issue against Serial No.,Emissão cliente contra Serial No.
Customer Name,Nome do cliente
Customer Naming By,Cliente de nomeação
Customer database.,Banco de dados do cliente.
Customer is required,É necessário ao cliente
Customer master.,Mestre de clientes.
Customer required for 'Customerwise Discount',Necessário para ' Customerwise Discount ' Cliente
Customer {0} does not belong to project {1},Cliente {0} não pertence ao projeto {1}
Customer {0} does not exist,Cliente {0} não existe
Customer's Item Code,Código do Item do Cliente
Customer's Purchase Order Date,Do Cliente Ordem de Compra Data
Customer's Purchase Order No,Ordem de Compra do Cliente Não
Customer's Purchase Order Number,Ordem de Compra Número do Cliente
Customer's Vendor,Vendedor do cliente
Customers Not Buying Since Long Time,Os clientes não compra desde há muito tempo
Customerwise Discount,Desconto referente ao Cliente
Customize,Personalize
Customize the Notification,Personalize a Notificação
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,Personalize o texto introdutório que vai como uma parte do que e-mail. Cada transação tem um texto introdutório separado.
DN Detail,Detalhe DN
Daily,Diário
Daily Time Log Summary,Resumo Diário Log Tempo
Database Folder ID,ID Folder Database
Database of potential customers.,Banco de dados de clientes potenciais.
Date,Data
Date Format,Formato da data
Date Of Retirement,Data da aposentadoria
Date Of Retirement must be greater than Date of Joining,Data da aposentadoria deve ser maior que Data de Juntando
Date is repeated,Data é repetido
Date must be in format: {0},A data deve estar no formato : {0}
Date of Birth,Data de Nascimento
Date of Issue,Data de Emissão
Date of Joining,Data da Efetivação
Date of Joining must be greater than Date of Birth,Data de Juntando deve ser maior do que o Data de Nascimento
Date on which lorry started from supplier warehouse,Data em que o caminhão partiu do almoxarifado do fornecedor
Date on which lorry started from your warehouse,Data em que o caminhão partiu do seu almoxarifado
Dates,Datas
Days Since Last Order,Dias desde Last Order
Days for which Holidays are blocked for this department.,Dias para que feriados são bloqueados para este departamento.
Dealer,Revendedor
Dear,Caro
Debit,Débito
Debit Amt,Montante de Débito
Debit Note,Nota de Débito
Debit To,Débito Para
Debit and Credit not equal for this voucher. Difference is {0}.,Débito e Crédito não é igual para este voucher. A diferença é {0}.
Debit must equal Credit. The difference is {0},Débito deve ser igual a crédito . A diferença é {0}
Deduct,Subtrair
Deduction,Dedução
Deduction Type,Tipo de dedução
Deduction1,Deduction1
Deductions,Deduções
Default,Padrão
Default Account,Conta Padrão
Default BOM,LDM padrão
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,Conta do Banco/Caixa padrão será atualizada automaticamente na nota fiscal do PDV quando este modo for selecionado.
Default Bank Account,Conta Bancária Padrão
Default Buying Cost Center,Compra Centro de Custo Padrão
Default Buying Price List,Compra Lista de Preços Padrão
Default Cash Account,Conta Caixa padrão
Default Company,Empresa padrão
Default Cost Center for tracking expense for this item.,Centro de Custo padrão para controle de despesas para este item.
Default Currency,Moeda padrão
Default Customer Group,Grupo de Clientes padrão
Default Expense Account,Conta Despesa padrão
Default Income Account,Conta de Rendimento padrão
Default Item Group,Grupo de Itens padrão
Default Price List,Lista de Preços padrão
Default Purchase Account in which cost of the item will be debited.,Conta de compra padrão em que o custo do item será debitado.
Default Selling Cost Center,Venda Padrão Centro de Custo
Default Settings,Configurações padrão
Default Source Warehouse,Almoxarifado da origem padrão
Default Stock UOM,Padrão da UDM do Estouqe
Default Supplier,Fornecedor padrão
Default Supplier Type,Tipo de fornecedor padrão
Default Target Warehouse,Almoxarifado de destino padrão
Default Territory,Território padrão
Default Unit of Measure,Unidade de medida padrão
"Default Unit of Measure can not be changed directly because you have already made some transaction(s) with another UOM. To change default UOM, use 'UOM Replace Utility' tool under Stock module.","Unidade de medida padrão não pode ser alterado diretamente porque você já fez alguma transação (s) com outro UOM . Para alterar UOM padrão, use ' UOM Substituir Utility ""ferramenta abaixo Stock módulo."
Default Valuation Method,Método de Avaliação padrão
Default Warehouse,Armazém padrão
Default Warehouse is mandatory for stock Item.,Armazém padrão é obrigatório para estoque Item.
Default settings for accounting transactions.,As configurações padrão para as transações contábeis.
Default settings for buying transactions.,As configurações padrão para a compra de transações.
Default settings for selling transactions.,As configurações padrão para a venda de transações.
Default settings for stock transactions.,As configurações padrão para transações com ações .
"Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>","Definir Orçamento para este Centro de Custo. Para definir ação do orçamento, consulte <a href=""#!List/Company"">Cadastro de Empresa</a>"
Delete,Excluir
Delete Row,Apagar Linha
Delete {0} {1}?,Excluir {0} {1} ?
Delivered,Entregue
Delivered Items To Be Billed,Itens entregues a ser cobrado
Delivered Qty,Qtde entregue
Delivered Serial No {0} cannot be deleted,Entregue Serial Não {0} não pode ser excluído
Delivery Date,Data de entrega
Delivery Details,Detalhes da entrega
Delivery Document No,Nº do Documento de Entrega
Delivery Document Type,Tipo do Documento de Entrega
Delivery Note,Guia de Remessa
Delivery Note Item,Item da Guia de Remessa
Delivery Note Items,Itens da Guia de Remessa
Delivery Note Message,Mensagem da Guia de Remessa
Delivery Note No,Nº da Guia de Remessa
Delivery Note Required,Guia de Remessa Obrigatória
Delivery Note Trends,Nota de entrega Trends
Delivery Note {0} is not submitted,Entrega Nota {0} não é submetido
Delivery Note {0} must not be submitted,Entrega Nota {0} não deve ser apresentado
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Notas de entrega {0} deve ser cancelado antes de cancelar esta ordem de venda
Delivery Status,Estado da entrega
Delivery Time,Prazo de entrega
Delivery To,Entrega
Department,Departamento
Depends on LWP,Dependem do LWP
Depreciation,depreciação
Descending,Descendente
Description,Descrição
Description HTML,Descrição HTML
Designation,Designação
Detailed Breakup of the totals,Detalhamento dos totais
Details,Detalhes
Difference,Diferença
Difference Account,Conta Diferença
Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,UOM diferente para itens levará a incorreta valor Peso Líquido (Total ) . Certifique-se de que o peso líquido de cada item está na mesma UOM .
Direct Expenses,Despesas Diretas
Direct Income,Resultado direto
Disable,incapacitar
Disable Rounded Total,Desativar total arredondado
Disabled,Desativado
Discount  %,% De desconto
Discount %,% De desconto
Discount (%),Desconto (%)
Discount Amount,Montante do Desconto
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Campos de desconto estarão disponíveis em Ordem de Compra, Recibo de Compra, Nota Fiscal de Compra"
Discount Percentage,Percentagem de Desconto
Discount must be less than 100,Desconto deve ser inferior a 100
Discount(%),Desconto (%)
Display all the individual items delivered with the main items,Exibir todos os itens individuais entregues com os itens principais
Distribute transport overhead across items.,Distribuir o custo de transporte através dos itens.
Distribution,Distribuição
Distribution Id,Id da distribuição
Distribution Name,Nome da distribuição
Distributor,Distribuidor
Divorced,Divorciado
Do Not Contact,Não entre em contato
Do not show any symbol like $ etc next to currencies.,Não mostrar qualquer símbolo como US $ etc ao lado de moedas.
Do really want to unstop production order: ,
Do you really want to STOP ,
Do you really want to STOP this Material Request?,Você realmente quer parar esta solicitação de materiais ?
Do you really want to Submit all Salary Slip for month {0} and year {1},Você realmente quer submeter todos os folha de salário do mês {0} e {1} ano
Do you really want to UNSTOP ,
Do you really want to UNSTOP this Material Request?,Você realmente quer para desentupir este Pedir material?
Do you really want to stop production order: ,
Doc Name,Nome do Documento
Doc Type,Tipo do Documento
Document Description,Descrição do documento
Document Status transition from ,Documento transição Estado de
Document Status transition from {0} to {1} is not allowed,Transição Status do Documento de {0} para {1} não é permitido
Document Type,Tipo de Documento
Document is only editable by users of role,Documento só é editável por usuários da função
Documentation,Documentação
Documents,Documentos
Domain,Domínio
Don't send Employee Birthday Reminders,Não envie Employee Aniversário Lembretes
Download,baixar
Download Materials Required,Baixar Materiais Necessários
Download Reconcilation Data,Download dados a reconciliação
Download Template,Baixar o Modelo
Download a report containing all raw materials with their latest inventory status,Baixar um relatório contendo todas as matérias-primas com o seu estado mais recente do inventário
"Download the Template, fill appropriate data and attach the modified file.","Baixe o modelo , preencha os dados apropriados e anexe o arquivo modificado."
"Download the Template, fill appropriate data and attach the modified file.
All dates and employee combination in the selected period will come in the template, with existing attendance records",
Draft,Rascunho
Drafts,Rascunhos
Drag to sort columns,Arraste para classificar colunas
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox acesso permitido
Dropbox Access Key,Dropbox Chave de Acesso
Dropbox Access Secret,Dropbox acesso secreta
Due Date,Data de Vencimento
Due Date cannot be after {0},Due Date não pode ser posterior a {0}
Due Date cannot be before Posting Date,Due Date não pode ser antes de Postar Data
Duplicate Entry. Please check Authorization Rule {0},"Duplicar entrada . Por favor, verifique Regra de Autorização {0}"
Duplicate Serial No entered for Item {0},Duplicar Serial Não entrou para item {0}
Duplicate row {0} with same {1},Linha duplicada {0} com o mesmo {1}
Duties and Taxes,Impostos e Contribuições
ERPNext Setup,Setup ERPNext
ESIC CARD No,Nº CARTÃO ESIC
ESIC No.,Nº ESIC.
Earliest,Mais antigas
Earnest Money,Dinheiro Earnest
Earning,Ganho
Earning & Deduction,Ganho &amp; Dedução
Earning Type,Tipo de Ganho
Earning1,Earning1
Edit,Editar
Editable,Editável
Educational Qualification,Qualificação Educacional
Educational Qualification Details,Detalhes da Qualificação Educacional
Eg. smsgateway.com/api/send_sms.cgi,Por exemplo: smsgateway.com / api / send_sms.cgi
Either debit or credit amount is required for {0},De qualquer débito ou valor do crédito é necessário para {0}
Either target qty or target amount is mandatory,Ou qty alvo ou valor alvo é obrigatório
Either target qty or target amount is mandatory.,Ou qty alvo ou valor alvo é obrigatória.
Electrical,elétrico
Electricity Cost,Custo de Energia Elétrica
Electricity cost per hour,Custo de eletricidade por hora
Email,E-mail
Email Digest,Resumo por E-mail
Email Digest Settings,Configurações do Resumo por E-mail
Email Digest: ,
Email Id,Endereço de e-mail
"Email Id where a job applicant will email e.g. ""jobs@example.com""","Endereço do e-mail onde um candidato a emprego vai enviar e-mail, por exemplo: &quot;empregos@exemplo.com&quot;"
Email Notifications,Notificações de e-mail
Email Sent?,E-mail enviado?
"Email addresses, separted by commas","Endereços de email, separados por vírgulas"
"Email id must be unique, already exists for {0}","ID de e-mail deve ser único, já existe para {0}"
Email ids separated by commas.,Ids e-mail separados por vírgulas.
Email sent to {0},E-mail enviado para {0}
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""","Configurações de e-mail para extrair Prospectos do e-mail de vendas, por exemplo &quot;vendas@exemplo.com&quot;"
Email...,E-mail ...
Emergency Contact,Contato de emergência
Emergency Contact Details,Detalhes do contato de emergência
Emergency Phone,Telefone de emergência
Employee,Funcionário
Employee Birthday,Aniversário empregado
Employee Details,Detalhes do Funcionário
Employee Education,Escolaridade do Funcionário
Employee External Work History,Histórico de trabalho externo do Funcionário
Employee Information,Informações do Funcionário
Employee Internal Work History,Histórico de trabalho interno do Funcionário
Employee Internal Work Historys,Histórico de trabalho interno do Funcionário
Employee Leave Approver,Empregado Leave Approver
Employee Leave Balance,Equilíbrio Leave empregado
Employee Name,Nome do Funcionário
Employee Number,Número do Funcionário
Employee Records to be created by,Empregado Records para ser criado por
Employee Settings,Configurações Empregado
Employee Type,Tipo de empregado
"Employee designation (e.g. CEO, Director etc.).","Designação do empregado (por exemplo, CEO , diretor , etc.)"
Employee grade.,Grau Employee.
Employee master.,Mestre Employee.
Employee record is created using selected field. ,Registro de empregado é criado usando o campo selecionado.
Employee records.,Registros de funcionários.
Employee relieved on {0} must be set as 'Left',Empregado aliviada em {0} deve ser definido como 'Esquerda'
Employee {0} has already applied for {1} between {2} and {3},Empregado {0} já solicitou {1} {2} entre e {3}
Employee {0} is not active or does not exist,Empregado {0} não está ativo ou não existe
Employee {0} was on leave on {1}. Cannot mark attendance.,Empregado {0} estava de licença em {1} . Não pode marcar presença.
Employees Email Id,Endereços de e-mail dos Funcionários
Employment Details,Detalhes de emprego
Employment Type,Tipo de emprego
Enable / disable currencies.,Ativar / desativar moedas.
Enabled,Habilitado
Encashment Date,Data da cobrança
End Date,Data final
End Date can not be less than Start Date,Data final não pode ser inferior a data de início
End date of current invoice's period,Data final do período de fatura atual
End of Life,Fim de Vida
Enter Value,Digite o Valor
Enter Verification Code,Digite o Código de Verificação
Enter campaign name if the source of lead is campaign.,Digite o nome da campanha se a origem do Prospecto foi uma campanha.
Enter department to which this Contact belongs,Entre com o departamento a que este contato pertence
Enter designation of this Contact,Digite a designação deste contato
"Enter email id separated by commas, invoice will be mailed automatically on particular date","Digite os endereços de e-mail separados por vírgulas, a fatura será enviada automaticamente na data determinada"
Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,Digite itens e qtde. planejada para o qual você quer levantar ordens de produção ou fazer o download de matérias-primas para a análise.
Enter name of campaign if source of enquiry is campaign,Digite o nome da campanha se o motivo da consulta foi uma campanha.
"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Digite os parâmetros da URL estática aqui (por exemplo remetente=ERPNext, usuario=ERPNext, senha=1234, etc)"
Enter the company name under which Account Head will be created for this Supplier,Digite o nome da empresa sob a qual a Conta será criada para este fornecedor
Enter url parameter for message,Digite o parâmetro da url para mensagem
Enter url parameter for receiver nos,Digite o parâmetro da url para os números de receptores
Entertainment Expenses,despesas de representação
Entries,Lançamentos
Entries against,Entradas contra
Entries are not allowed against this Fiscal Year if the year is closed.,Lançamentos não são permitidos contra este Ano Fiscal se o ano está fechado.
Entries before {0} are frozen,Entradas antes {0} são congelados
Equals,Equals
Equity,equidade
Error: {0} > {1},Erro: {0} > {1}
Estimated Material Cost,Custo estimado de Material
Everyone can read,Todo mundo pode ler
"Example: ABCD.#####
If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.",
Exchange Rate,Taxa de Câmbio
Excise Page Number,Número de página do imposto
Excise Voucher,Comprovante do imposto
Exemption Limit,Limite de isenção
Exhibition,Exposição
Existing Customer,Cliente existente
Exit,Sair
Exit Interview Details,Detalhes da Entrevista de saída
Expand,expandir
Expected,Esperado
Expected Completion Date can not be less than Project Start Date,Esperada Data de Conclusão não pode ser inferior a Projeto Data de Início
Expected Date cannot be before Material Request Date,Data prevista não pode ser antes de Material Data do Pedido
Expected Delivery Date,Data de entrega prevista
Expected Delivery Date cannot be before Purchase Order Date,Previsão de Entrega A data não pode ser antes de Ordem de Compra Data
Expected Delivery Date cannot be before Sales Order Date,Previsão de Entrega A data não pode ser antes de Ordem de Vendas Data
Expected End Date,Data Final prevista
Expected Start Date,Data Inicial prevista
Expense Account,Conta de Despesas
Expense Account is mandatory,Conta de despesa é obrigatória
Expense Claim,Pedido de Reembolso de Despesas
Expense Claim Approved,Pedido de Reembolso de Despesas Aprovado
Expense Claim Approved Message,Mensagem de aprovação do Pedido de Reembolso de Despesas
Expense Claim Detail,Detalhe do Pedido de Reembolso de Despesas
Expense Claim Details,Detalhes do Pedido de Reembolso de Despesas
Expense Claim Rejected,Pedido de Reembolso de Despesas Rejeitado
Expense Claim Rejected Message,Mensagem de recusa do Pedido de Reembolso de Despesas
Expense Claim Type,Tipo de Pedido de Reembolso de Despesas
Expense Claim has been approved.,Despesa reivindicação foi aprovada.
Expense Claim has been rejected.,Despesa reivindicação foi rejeitada.
Expense Claim is pending approval. Only the Expense Approver can update status.,Despesa reivindicação está pendente de aprovação . Somente o aprovador Despesa pode atualizar status.
Expense Date,Data da despesa
Expense Details,Detalhes da despesa
Expense Head,Conta de despesas
Expense account is mandatory for item {0},Conta de despesa é obrigatória para item {0}
Expense or Difference account is mandatory for Item {0} as there is difference in value,Despesa ou Diferença conta é obrigatória para item {0} como há diferença de valor
Expenses,Despesas
Expenses Booked,Despesas agendadas
Expenses Included In Valuation,Despesas incluídos na avaliação
Expenses booked for the digest period,Despesas reservadas para o período digest
Expiry Date,Data de validade
Export,Exportar
Export not allowed. You need {0} role to export.,Exportação não é permitido . Você precisa de {0} papel para exportar .
Exports,Exportações
External,Externo
Extract Emails,Extrair e-mails
FCFS Rate,Taxa FCFS
Failed: ,Falha:
Family Background,Antecedentes familiares
Fax,Fax
Features Setup,Configuração de características
Feed,Alimentar
Feed Type,Tipo de alimentação
Feedback,Comentários
Female,Feminino
Fetch exploded BOM (including sub-assemblies),Fetch BOM explodiu (incluindo sub-conjuntos )
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Campo disponível na Guia de Remessa, Cotação, Nota Fiscal de Venda, Ordem de Venda"
Field {0} is not selectable.,O campo {0} não é selecionável.
File,Arquivo
Files Folder ID,Arquivos de ID de pasta
Fill the form and save it,Preencha o formulário e salvá-lo
Filter,Filtre
Filter By Amount,Filtrar por Quantidade
Filter By Date,Filtrar por data
Filter based on customer,Filtrar baseado em cliente
Filter based on item,Filtrar baseado no item
Final Confirmation Date must be greater than Date of Joining,Data final de confirmação deve ser maior que Data de Participar
Financial / accounting year.,Exercício / contabilidade.
Financial Analytics,Análise Financeira
Financial Year End Date,Encerramento do Exercício Social Data
Financial Year Start Date,Exercício Data de Início
Finished Goods,Produtos Acabados
First Name,Nome
First Responded On,Primeira resposta em
Fiscal Year,Exercício fiscal
Fixed Asset,ativos Fixos
Fixed Assets,Imobilizado
Follow via Email,Siga por e-mail
"Following table will show values if items are sub - contracted. These values will be fetched from the master of ""Bill of Materials"" of sub - contracted items.",A tabela a seguir mostrará valores se os itens são sub-contratados. Estes valores serão obtidos a partir do cadastro da &quot;Lista de Materiais&quot; de itens sub-contratados.
Food,comida
For Company,Para a Empresa
For Employee,Para o Funcionário
For Employee Name,Para Nome do Funcionário
For Price List,Para Lista de Preço
For Production,Para Produção
For Reference Only.,Apenas para referência.
For Sales Invoice,Para fatura de vendas
For Server Side Print Formats,Para o lado do servidor de impressão Formatos
For Supplier,para Fornecedor
For Warehouse,Para Almoxarifado
For Warehouse is required before Submit,Para for necessário Armazém antes Enviar
"For comparative filters, start with","Para filtros comparativos, comece com"
"For e.g. 2012, 2012-13","Para por exemplo 2012, 2012-13"
For ranges,Para faixas
For reference,Para referência
For reference only.,Apenas para referência.
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Para a comodidade dos clientes, estes códigos podem ser usados ​​em formatos de impressão, como Notas Fiscais e Guias de Remessa"
Form,Forma
Forums,Fóruns
Fraction,Fração
Fraction Units,Unidades fracionadas
Freeze Stock Entries,Congelar da Entries
Freeze Stocks Older Than [Days],Congeladores Stocks mais velhos do que [ dias ]
Freight and Forwarding Charges,Freight Forwarding e Encargos
Friday,Sexta-feira
From,De
From Bill of Materials,De Bill of Materials
From Company,Da Empresa
From Currency,De Moeda
From Currency and To Currency cannot be same,De Moeda e Para Moeda não pode ser o mesmo
From Customer,Do Cliente
From Customer Issue,Do problema do cliente
From Date,A partir da data
From Date must be before To Date,A data inicial deve ser anterior a data final
From Delivery Note,De Nota de Entrega
From Employee,De Empregado
From Lead,De Chumbo
From Maintenance Schedule,Do Programa de Manutenção
From Material Request,Do Pedido de materiais
From Opportunity,De Opportunity
From Package No.,De No. Package
From Purchase Order,Da Ordem de Compra
From Purchase Receipt,De Recibo de compra
From Quotation,De Citação
From Sales Order,Da Ordem de Vendas
From Supplier Quotation,De Fornecedor Cotação
From Time,From Time
From Value,De Valor
From and To dates required,De e datas necessárias
From value must be less than to value in row {0},Do valor deve ser menor do que o valor na linha {0}
Frozen,Congelado
Frozen Accounts Modifier,Contas congeladas Modifier
Fulfilled,Cumprido
Full Name,Nome Completo
Fully Completed,Totalmente concluída
Furniture and Fixture,Móveis e utensílios
Further accounts can be made under Groups but entries can be made against Ledger,"Outras contas podem ser feitas em grupos , mas as entradas podem ser feitas contra Ledger"
"Further accounts can be made under Groups, but entries can be made against Ledger","Outras contas podem ser feitas em grupos , mas as entradas podem ser feitas contra Ledger"
Further nodes can be only created under 'Group' type nodes,"Outros nós só pode ser criado sob os nós do tipo ""grupo"""
GL Entry,Lançamento GL
Gantt Chart,Gráfico de Gantt
Gantt chart of all tasks.,Gráfico de Gantt de todas as tarefas.
Gender,Sexo
General,Geral
General Ledger,Razão Geral
Generate Description HTML,Gerar Descrição HTML
Generate Material Requests (MRP) and Production Orders.,Gerar Pedidos de Materiais (MRP) e ordens de produção.
Generate Salary Slips,Gerar folhas de pagamento
Generate Schedule,Gerar Agenda
Generates HTML to include selected image in the description,Gera HTML para incluir a imagem selecionada na descrição
Get,Obter
Get Advances Paid,Obter adiantamentos pagos
Get Advances Received,Obter adiantamentos recebidos
Get Current Stock,Obter Estoque atual
Get From ,Obter do
Get Items,Obter itens
Get Items From Sales Orders,Obter itens de Pedidos de Vendas
Get Items from BOM,Obter itens de BOM
Get Last Purchase Rate,Obter Valor da Última Compra
Get Non Reconciled Entries,Obter lançamentos não Reconciliados
Get Outstanding Invoices,Obter faturas pendentes
Get Sales Orders,Obter Ordens de Venda
Get Specification Details,Obter detalhes da Especificação
Get Stock and Rate,Obter Estoque e Valor
Get Template,Obter Modelo
Get Terms and Conditions,Obter os Termos e Condições
Get Weekly Off Dates,Obter datas de descanso semanal
"Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos.","Obter valorização e estoque disponível no almoxarifado de origem/destino na data e hora de postagem mencionada. Se for item serializado, pressione este botão depois de entrar os nº de série."
Global Defaults,Padrões globais
Global POS Setting {0} already created for company {1},Setting POS global {0} já criado para a empresa {1}
Global Settings,Definições Globais
"Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts and create a new Account Ledger (by clicking on Add Child) of type ""Bank""","Vá para o grupo apropriado (geralmente Aplicação de Fundos > Ativo Circulante > Contas Bancárias e criar uma nova conta Ledger (clicando em Adicionar Criança) do tipo "" Banco"""
"Go to the appropriate group (usually Source of Funds > Current Liabilities > Taxes and Duties and create a new Account Ledger (by clicking on Add Child) of type ""Tax"" and do mention the Tax rate.","Vá para o grupo apropriado (geralmente Fonte de Recursos > Passivo Circulante > Impostos e Taxas e criar uma nova conta Ledger (clicando em Adicionar Criança) do tipo "" imposto "" e não mencionar a taxa de imposto."
Goal,Meta
Goals,Metas
Goods received from Suppliers.,Mercadorias recebidas de fornecedores.
Google Drive,Google Drive
Google Drive Access Allowed,Acesso Google Drive admitidos
Government,governo
Grade,Grau
Graduate,Pós-graduação
Grand Total,Total Geral
Grand Total (Company Currency),Grande Total (moeda da empresa)
Gratuity LIC ID,ID LIC gratuidade
Greater or equals,Maior ou igual
Greater than,maior do que
"Grid ""","Grid """
Gross Margin %,Margem Bruta %
Gross Margin Value,Valor Margem Bruta
Gross Pay,Salário bruto
Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,Salário bruto + Valor em atraso + Valor de cobrança - Dedução Total
Gross Profit,Lucro bruto
Gross Profit (%),Lucro Bruto (%)
Gross Weight,Peso bruto
Gross Weight UOM,UDM do Peso Bruto
Group,Grupo
"Group Added, refreshing...","Grupo Adicionado, refrescante ..."
Group by Account,Grupo por Conta
Group by Voucher,Grupo pela Vale
Group or Ledger,Grupo ou Razão
Groups,Grupos
HR Settings,Configurações HR
HTML / Banner that will show on the top of product list.,HTML / Faixa que vai ser mostrada no topo da lista de produtos.
Half Day,Meio Dia
Half Yearly,Semestral
Half-yearly,Semestral
Happy Birthday!,Feliz Aniversário!
Hardware,ferragens
Has Batch No,Tem nº de Lote
Has Child Node,Tem nó filho
Has Serial No,Tem nº de Série
Header,Cabeçalho
Health Concerns,Preocupações com a Saúde
Health Details,Detalhes sobre a Saúde
Held On,Realizada em
Help,Ajudar
Help HTML,Ajuda HTML
"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Ajuda: Para vincular a outro registro no sistema, use &quot;# Form / Nota / [Nota Name]&quot; como a ligação URL. (Não use &quot;http://&quot;)"
"Here you can maintain family details like name and occupation of parent, spouse and children","Aqui você pode manter detalhes familiares como o nome e ocupação do cônjuge, pai e filhos"
"Here you can maintain height, weight, allergies, medical concerns etc","Aqui você pode manter a altura, peso, alergias, preocupações médica, etc"
Hide Currency Symbol,Ocultar Símbolo de Moeda
High,Alto
History,História
History In Company,Histórico na Empresa
Hold,Segurar
Holiday,Feriado
Holiday List,Lista de feriado
Holiday List Name,Nome da lista de feriados
Holiday master.,Mestre férias .
Holidays,Feriados
Home,Início
Host,Host
"Host, Email and Password required if emails are to be pulled","Host, E-mail e Senha são necessários se desejar obter e-mails"
Hour,hora
Hour Rate,Valor por hora
Hour Rate Labour,Valor por hora de mão-de-obra
Hours,Horas
How frequently?,Com que frequência?
"How should this currency be formatted? If not set, will use system defaults","Como essa moeda deve ser formatada? Se não for definido, serão usados os padrões do sistema"
Human Resources,Recursos Humanos
Identification of the package for the delivery (for print),Identificação do pacote para a Entrega (para impressão)
If Income or Expense,Se a renda ou Despesa
If Monthly Budget Exceeded,Se o orçamento mensal for excedido
"If Sale BOM is defined, the actual BOM of the Pack is displayed as table. Available in Delivery Note and Sales Order","Se Venda BOM for definido, o BOM real do pacote é exibido como mesa. Disponível na nota de entrega e da Ordem de Vendas"
"If Supplier Part Number exists for given Item, it gets stored here","Se Número da Peça do Fornecedor existir para um determinado item, ele fica armazenado aqui"
If Yearly Budget Exceeded,Se orçamento anual for excedido
"If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.","Se marcado, os itens da LDM para a Sub-Montagem serão considerados para obter matérias-primas. Caso contrário, todos os itens da sub-montagem vão ser tratados como matéria-prima."
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Se marcado, não total. de dias de trabalho vai incluir férias, e isso vai reduzir o valor de salário por dia"
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Se marcado, o valor do imposto será considerado como já incluído na Impressão de Taxa / Impressão do Valor"
If different than customer address,Se diferente do endereço do cliente
"If disable, 'Rounded Total' field will not be visible in any transaction","Se desativar, &#39;Arredondado Total&#39; campo não será visível em qualquer transação"
"If enabled, the system will post accounting entries for inventory automatically.","Se ativado, o sistema irá postar lançamentos contábeis para o inventário automaticamente."
If more than one package of the same type (for print),Se mais do que uma embalagem do mesmo tipo (para impressão)
"If no change in either Quantity or Valuation Rate, leave the cell blank.","Se nenhuma alteração em qualquer quantidade ou Avaliação Rate, deixar em branco o celular."
If not applicable please enter: NA,Se não for aplicável digite: NA
"If not checked, the list will have to be added to each Department where it has to be applied.","Se não for controlada, a lista deverá ser adicionado a cada departamento onde tem de ser aplicado."
"If specified, send the newsletter using this email address","Se especificado, enviar a newsletter usando esse endereço de e-mail"
"If the account is frozen, entries are allowed to restricted users.","Se a conta for congelada , as entradas são permitidos aos usuários restritos."
"If this Account represents a Customer, Supplier or Employee, set it here.","Se essa conta representa um cliente, fornecedor ou funcionário, estabeleça aqui."
If you follow Quality Inspection. Enables Item QA Required and QA No in Purchase Receipt,Se você seguir Inspeção de Qualidade . Permite item QA Obrigatório e QA Não no Recibo de compra
If you have Sales Team and Sale Partners (Channel Partners)  they can be tagged and maintain their contribution in the sales activity,Se você tiver Equipe de Vendas e Parceiros de Venda (Parceiros de Canal) eles podem ser marcadas e manter suas contribuições na atividade de vendas
"If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.","Se você criou um modelo padrão no cadastro de Impostos de Compra e Encargos, selecione um e clique no botão abaixo."
"If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.","Se você criou um modelo padrão no cadastro de Impostos de Vendas e Encargos, selecione um e clique no botão abaixo."
"If you have long print formats, this feature can be used to split the page to be printed on multiple pages with all headers and footers on each page","Se você formatos longos de impressão, esse recurso pode ser usado para dividir a página a ser impressa em várias páginas com todos os cabeçalhos e rodapés em cada página"
If you involve in manufacturing activity. Enables Item 'Is Manufactured',Se envolver em atividades de fabricação. Permite Item ' é fabricado '
Ignore,Ignorar
Ignored: ,Ignorados:
"Ignoring Item {0}, because a group exists with the same name!","Ignorando item {0}, porque um grupo existe com o mesmo nome!"
Image,Imagem
Image View,Ver imagem
Implementation Partner,Parceiro de implementação
Import,Importar
Import Attendance,Importação de Atendimento
Import Failed!,Falha na importação !
Import Log,Importar Log
Import Successful!,Importe com sucesso!
Imports,Importações
In,em
In Hours,Em Horas
In Process,Em Processo
In Qty,No Qt
In Value,em Valor
In Words,Por extenso
In Words (Company Currency),In Words (Moeda Company)
In Words (Export) will be visible once you save the Delivery Note.,Por extenso (Exportação) será visível quando você salvar a Guia de Remessa.
In Words will be visible once you save the Delivery Note.,Por extenso será visível quando você salvar a Guia de Remessa.
In Words will be visible once you save the Purchase Invoice.,Por extenso será visível quando você salvar a Nota Fiscal de Compra.
In Words will be visible once you save the Purchase Order.,Por extenso será visível quando você salvar a Ordem de Compra.
In Words will be visible once you save the Purchase Receipt.,Por extenso será visível quando você salvar o recibo de compra.
In Words will be visible once you save the Quotation.,Por extenso será visível quando você salvar a cotação.
In Words will be visible once you save the Sales Invoice.,Por extenso será visível quando você salvar a Nota Fiscal de Venda.
In Words will be visible once you save the Sales Order.,Por extenso será visível quando você salvar a Ordem de Venda.
In response to,Em resposta ao(s)
Incentives,Incentivos
Include holidays in Total no. of Working Days,Incluir feriados em nenhuma total. de dias de trabalho
Income,renda
Income / Expense,Receitas / Despesas
Income Account,Conta de Renda
Income Booked,Renda Reservado
Income Tax,Imposto de Renda
Income Year to Date,Ano de rendimento até a Data
Income booked for the digest period,Renda reservado para o período digest
Incoming,Entrada
Incoming Rate,Taxa de entrada
Incoming quality inspection.,Inspeção de qualidade de entrada.
Incorrect or Inactive BOM {0} for Item {1} at row {2},Incorreto ou inativo BOM {0} para {1} item na linha {2}
Indicates that the package is a part of this delivery,Indica que o pacote é uma parte desta entrega
Indirect Expenses,Despesas Indiretas
Indirect Income,Resultado indirecto
Individual,Individual
Industry,Indústria
Industry Type,Tipo de indústria
Insert Below,Inserir Abaixo
Insert Row,Inserir Linha
Inspected By,Inspecionado por
Inspection Criteria,Critérios de Inspeção
Inspection Required,Inspeção Obrigatória
Inspection Type,Tipo de Inspeção
Installation Date,Data de Instalação
Installation Note,Nota de Instalação
Installation Note Item,Item da Nota de Instalação
Installation Note {0} has already been submitted,Instalação Nota {0} já foi apresentado
Installation Status,Estado da Instalação
Installation Time,O tempo de Instalação
Installation date cannot be before delivery date for Item {0},Data de instalação não pode ser anterior à data de entrega de item {0}
Installation record for a Serial No.,Registro de instalação de um nº de série
Installed Qty,Quantidade Instalada
Instructions,Instruções
Integrate incoming support emails to Support Ticket,Integrar e-mails de apoio recebidas de Apoio Ticket
Interested,Interessado
Internal,Interno
Introduction,Introdução
Invalid Barcode or Serial No,Código de barras inválido ou Serial Não
Invalid Email: {0},E-mail inválido : {0}
Invalid Filter: {0},Filtro inválido: {0}
Invalid Mail Server. Please rectify and try again.,"Mail Server inválido . Por favor, corrigir e tentar novamente."
Invalid Master Name,Invalid Name Mestre
Invalid User Name or Support Password. Please rectify and try again.,"Nome de usuário inválido ou senha Suporte . Por favor, corrigir e tentar novamente."
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Quantidade inválido especificado para o item {0} . Quantidade deve ser maior do que 0 .
Inventory,Inventário
Inventory & Support,Inventário e Suporte
Investments,Investimentos
Invoice Date,Data da nota fiscal
Invoice Details,Detalhes da nota fiscal
Invoice No,Nota Fiscal nº
Invoice Period From Date,Período Inicial de Fatura
Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Fatura Período De e Período fatura para datas obrigatórias para fatura recorrentes
Invoice Period To Date,Período Final de Fatura
Invoiced Amount (Exculsive Tax),Valor faturado ( Exculsive Tributário)
Is Active,É Ativo
Is Advance,É antecipado
Is Cancelled,É cancelado
Is Carry Forward,É encaminhado
Is Default,É padrão
Is Encash,É cobrança
Is Fixed Asset Item,É item de Imobilização
Is LWP,É LWP
Is Opening,É abertura
Is Opening Entry,Está abrindo Entry
Is POS,É PDV
Is Primary Contact,É o contato principal
Is Purchase Item,É item de compra
Is Sales Item,É item de venda
Is Service Item,É item de serviço
Is Stock Item,É item de estoque
Is Sub Contracted Item,É item subcontratado
Is Subcontracted,É subcontratada
Is this Tax included in Basic Rate?,Este imposto está incluído no Valor Base?
Issue,Questão
Issue Date,Data da Questão
Issue Details,Detalhes da Questão
Issued Items Against Production Order,Itens emitida contra Ordem de Produção
It can also be used to create opening stock entries and to fix stock value.,Ele também pode ser usado para criar entradas de abertura de ações e fixar o valor das ações .
Item,item
Item Advanced,Item antecipado
Item Barcode,Código de barras do Item
Item Batch Nos,Nº do Lote do Item
Item Code,Código do Item
Item Code and Warehouse should already exist.,Código do item e Warehouse já deve existir.
Item Code cannot be changed for Serial No.,Código do item não pode ser alterado para Serial No.
Item Code is mandatory because Item is not automatically numbered,Código do item é obrigatório porque Item não é numerada automaticamente
Item Code required at Row No {0},Código do item exigido no Row Não {0}
Item Customer Detail,Detalhe do Cliente do Item
Item Description,Descrição do Item
Item Desription,Descrição do Item
Item Details,Detalhes do Item
Item Group,Grupo de Itens
Item Group Name,Nome do Grupo de Itens
Item Group Tree,Item Tree grupo
Item Groups in Details,Detalhes dos Grupos de Itens
Item Image (if not slideshow),Imagem do Item (se não for slideshow)
Item Name,Nome do Item
Item Naming By,Item de nomeação
Item Price,Preço do Item
Item Prices,Preços de itens
Item Quality Inspection Parameter,Parâmetro de Inspeção de Qualidade do Item
Item Reorder,Item Reordenar
Item Serial No,Nº de série do Item
Item Serial Nos,Nº de série de Itens
Item Shortage Report,Item de relatório Escassez
Item Supplier,Fornecedor do Item
Item Supplier Details,Detalhes do Fornecedor do Item
Item Tax,Imposto do Item
Item Tax Amount,Valor do Imposto do Item
Item Tax Rate,Taxa de Imposto do Item
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Item Imposto Row {0} deve ter em conta tipo de imposto ou de renda ou de despesa ou carregável
Item Tax1,Item Tax1
Item To Manufacture,Item Para Fabricação
Item UOM,UDM do Item
Item Website Specification,Especificação do Site do Item
Item Website Specifications,Especificações do Site do Item
Item Wise Tax Detail,Detalhe Imposto item Sábio
Item Wise Tax Detail ,Detalhe Imposto Sábio item
Item is required,Item é necessário
Item is updated,Item é atualizado
Item master.,Mestre Item.
"Item must be a purchase item, as it is present in one or many Active BOMs","O artigo deve ser um item de compra , uma vez que está presente em um ou muitos BOM Activo"
Item or Warehouse for row {0} does not match Material Request,Item ou Armazém para linha {0} não corresponde Pedido de materiais
Item table can not be blank,Mesa Item não pode estar em branco
Item to be manufactured or repacked,Item a ser fabricado ou reembalado
Item valuation updated,Valorização item atualizado
Item will be saved by this name in the data base.,O Item será salvo com este nome na base de dados.
Item {0} appears multiple times in Price List {1},Item {0} aparece várias vezes na lista Preço {1}
Item {0} does not exist,Item {0} não existe
Item {0} does not exist in the system or has expired,Item {0} não existe no sistema ou expirou
Item {0} does not exist in {1} {2},Item {0} não existe em {1} {2}
Item {0} has already been returned,Item {0} já foi devolvido
Item {0} has been entered multiple times against same operation,Item {0} foi inserido várias vezes contra a mesma operação
Item {0} has been entered multiple times with same description or date,Item {0} foi inserido várias vezes com a mesma descrição ou data
Item {0} has been entered multiple times with same description or date or warehouse,Item {0} foi inserido várias vezes com a mesma descrição ou data ou armazém
Item {0} has been entered twice,Item {0} foi digitada duas vezes
Item {0} has reached its end of life on {1},Item {0} chegou ao fim da vida em {1}
Item {0} ignored since it is not a stock item,Item {0} ignorado uma vez que não é um item de estoque
Item {0} is cancelled,Item {0} é cancelada
Item {0} is not Purchase Item,Item {0} não é comprar item
Item {0} is not a serialized Item,Item {0} não é um item serializado
Item {0} is not a stock Item,Item {0} não é um item de estoque
Item {0} is not active or end of life has been reached,Item {0} não está ativo ou fim de vida útil foi atingido
Item {0} is not setup for Serial Nos. Check Item master,Item {0} não está configurado para n º s de série mestre check item
Item {0} is not setup for Serial Nos. Column must be blank,Item {0} não está configurado para Serial Coluna N º s deve estar em branco
Item {0} must be Sales Item,Item {0} deve ser item de vendas
Item {0} must be Sales or Service Item in {1},Item {0} deve ser de Vendas ou Atendimento item em {1}
Item {0} must be Service Item,Item {0} deve ser item de serviço
Item {0} must be a Purchase Item,Item {0} deve ser um item de compra
Item {0} must be a Sales Item,Item {0} deve ser um item de vendas
Item {0} must be a Service Item.,Item {0} deve ser um item de serviço .
Item {0} must be a Sub-contracted Item,Item {0} deve ser um item do sub- contratados
Item {0} must be a stock Item,Item {0} deve ser um item de estoque
Item {0} must be manufactured or sub-contracted,Item {0} deve ser fabricado ou sub- contratados
Item {0} not found,Item {0} não foi encontrado
Item {0} with Serial No {1} is already installed,Item {0} com Serial Não {1} já está instalado
Item {0} with same description entered twice,Item {0} com a mesma descrição inserida duas vezes
"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","Detalhes do Item, Garantia, CAM (Contrato Anual de Manutenção) serão carregados automaticamente quando o número de série for selecionado."
Item-wise Price List Rate,-Item sábio Preço de Taxa
Item-wise Purchase History,Item-wise Histórico de compras
Item-wise Purchase Register,Item-wise Compra Register
Item-wise Sales History,Item-wise Histórico de Vendas
Item-wise Sales Register,Vendas de item sábios Registrar
Items,Itens
Items To Be Requested,Itens a ser solicitado
Items required,Itens exigidos
"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty","Os itens a serem solicitados que estão &quot;Fora de Estoque&quot;, considerando todos os almoxarifados com base na quantidade projetada e pedido mínimo"
Items which do not exist in Item master can also be entered on customer's request,Itens que não existem no Cadastro de Itens também podem ser inseridos na requisição do cliente
Itemwise Discount,Desconto relativo ao Item
Itemwise Recommended Reorder Level,Itemwise Recomendado nível de reposição
Job Applicant,Candidato a emprego
Job Opening,Vaga de emprego
Job Profile,Perfil Job
Job Title,Cargo
"Job profile, qualifications required etc.","Perfil de trabalho , qualificações exigidas , etc"
Jobs Email Settings,Configurações do e-mail de empregos
Journal Entries,Lançamentos do livro Diário
Journal Entry,Lançamento do livro Diário
Journal Voucher,Comprovante do livro Diário
Journal Voucher Detail,Detalhe do Comprovante do livro Diário
Journal Voucher Detail No,Nº do Detalhe do Comprovante do livro Diário
Journal Voucher {0} does not have account {1}.,Jornal Vale {0} não tem conta {1}.
Journal Vouchers {0} are un-linked,Jornal Vouchers {0} são não- ligado
Keep a track of communication related to this enquiry which will help for future reference.,"Mantenha o controle de comunicações relacionadas a esta consulta, o que irá ajudar para futuras referências."
Key Performance Area,Área Chave de Performance
Key Responsibility Area,Área Chave de Responsabilidade
Kg,Kg.
LR Date,Data LR
LR No,Nº LR
Label,Etiqueta
Landed Cost Item,Custo de desembarque do Item
Landed Cost Items,Custo de desembarque dos Itens
Landed Cost Purchase Receipt,Recibo de compra do custo de desembarque
Landed Cost Purchase Receipts,Recibos de compra do custo de desembarque
Landed Cost Wizard,Assistente de Custo de Desembarque
Landed Cost updated successfully,Custo Landed atualizado com sucesso
Language,Idioma
Last Name,Sobrenome
Last Purchase Rate,Valor da última compra
Last updated by,Última actualização por
Latest,Latest
Lead,Prospecto
Lead Details,Detalhes do Prospecto
Lead Id,chumbo Id
Lead Name,Nome do Prospecto
Lead Owner,Proprietário do Prospecto
Lead Source,Chumbo Fonte
Lead Status,Chumbo Estado
Lead Time Date,Prazo de entrega
Lead Time Days,Prazo de entrega
Lead Time days is number of days by which this item is expected in your warehouse. This days is fetched in Material Request when you select this item.,Levar dias Tempo é o número de dias em que este item é esperado no seu armazém. Este dia é buscada em solicitar material ao selecionar este item.
Lead Type,Tipo de Prospecto
Lead must be set if Opportunity is made from Lead,Fila deve ser definido se Opportunity é feito de chumbo
Leave Allocation,Alocação de Licenças
Leave Allocation Tool,Ferramenta de Alocação de Licenças
Leave Application,Solicitação de Licenças
Leave Approver,Aprovador de Licenças
Leave Approvers,Deixe aprovadores
Leave Balance Before Application,Saldo de Licenças antes da solicitação
Leave Block List,Deixe Lista de Bloqueios
Leave Block List Allow,Deixe Lista de Bloqueios Permitir
Leave Block List Allowed,Deixe Lista de Bloqueios admitidos
Leave Block List Date,Deixe Data Lista de Bloqueios
Leave Block List Dates,Deixe as datas Lista de Bloqueios
Leave Block List Name,Deixe o nome Lista de Bloqueios
Leave Blocked,Deixe Bloqueados
Leave Control Panel,Painel de Controle de Licenças
Leave Encashed?,Licenças cobradas?
Leave Encashment Amount,Valor das Licenças cobradas
Leave Type,Tipo de Licenças
Leave Type Name,Nome do Tipo de Licença
Leave Without Pay,Licença sem pagamento
Leave application has been approved.,Deixar pedido foi aprovado .
Leave application has been rejected.,Deixar pedido foi rejeitado.
Leave approver must be one of {0},Deixe aprovador deve ser um dos {0}
Leave blank if considered for all branches,Deixe em branco se considerado para todos os ramos
Leave blank if considered for all departments,Deixe em branco se considerado para todos os departamentos
Leave blank if considered for all designations,Deixe em branco se considerado para todas as designações
Leave blank if considered for all employee types,Deixe em branco se considerado para todos os tipos de empregados
Leave blank if considered for all grades,Deixe em branco se considerado para todos os graus
"Leave can be approved by users with Role, ""Leave Approver""",A licença pode ser aprovado por usuários com função de &quot;Aprovador de Licenças&quot;
Leave of type {0} cannot be longer than {1},Deixar do tipo {0} não pode ser maior que {1}
Leaves Allocated Successfully for {0},Folhas atribuídos com sucesso para {0}
Leaves for type {0} already allocated for Employee {1} for Fiscal Year {0},Deixa para o tipo {0} já alocado para Employee {1} para o Ano Fiscal {0}
Leaves must be allocated in multiples of 0.5,"Folhas devem ser alocados em múltiplos de 0,5"
Ledger,Razão
Ledgers,livros
Left,Esquerda
Legal Expenses,despesas legais
Less or equals,Menor ou igual
Less than,menor que
Letter Head,Timbrado
Letter Heads for print templates.,Chefes de letras para modelos de impressão .
Level,Nível
Lft,Esq.
Like,como
Linked With,Ligado com
List,Lista
List a few of your customers. They could be organizations or individuals.,Liste alguns de seus clientes. Eles podem ser organizações ou indivíduos .
List a few of your suppliers. They could be organizations or individuals.,Liste alguns de seus fornecedores. Eles podem ser organizações ou indivíduos .
"List a few products or services you buy from your suppliers or vendors. If these are same as your products, then do not add them.","Lista de alguns produtos ou serviços que você comprar de seus fornecedores ou vendedores . Se estes são os mesmos que os seus produtos , então não adicioná-los."
List items that form the package.,Lista de itens que compõem o pacote.
List this Item in multiple groups on the website.,Listar este item em vários grupos no site.
"List your products or services that you sell to your customers. Make sure to check the Item Group, Unit of Measure and other properties when you start.","Liste seus produtos ou serviços que você vende aos seus clientes. Certifique-se de verificar o Grupo Item, Unidade de Medida e outras propriedades quando você começa."
"List your tax heads (e.g. VAT, Excise) (upto 3) and their standard rates. This will create a standard template, you can edit and add more later.","Liste seus chefes de impostos (por exemplo, IVA , Impostos Especiais de Consumo ) (até 3) e suas taxas normais . Isto irá criar um modelo padrão , você pode editar e adicionar mais tarde ."
Loading,Carregando
Loading Report,Relatório de carregamento
Loading...,Carregando ...
Loans (Liabilities),Empréstimos ( Passivo)
Loans and Advances (Assets),Empréstimos e Adiantamentos (Ativo )
Local,local
Login with your new User ID,Entrar com o seu novo ID de usuário
Logo,Logotipo
Logo and Letter Heads,Logo e Carta Chefes
Logout,Sair
Lost,perdido
Lost Reason,Razão da perda
Low,Baixo
Lower Income,Baixa Renda
MTN Details,Detalhes da MTN
Main,principal
Main Reports,Relatórios principais
Maintain Same Rate Throughout Sales Cycle,Manter o mesmo ritmo durante todo o ciclo de vendas
Maintain same rate throughout purchase cycle,Manter o mesmo valor através de todo o ciclo de compra
Maintenance,Manutenção
Maintenance Date,Data de manutenção
Maintenance Details,Detalhes da manutenção
Maintenance Schedule,Programação da Manutenção
Maintenance Schedule Detail,Detalhe da Programação da Manutenção
Maintenance Schedule Item,Item da Programação da Manutenção
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',"Programação de manutenção não é gerado para todos os itens. Por favor, clique em "" Gerar Agenda '"
Maintenance Schedule {0} exists against {0},Programação de manutenção {0} existe contra {0}
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Programação de manutenção {0} deve ser cancelado antes de cancelar esta ordem de venda
Maintenance Schedules,Horários de Manutenção
Maintenance Status,Estado da manutenção
Maintenance Time,Tempo da manutenção
Maintenance Type,Tipo de manutenção
Maintenance Visit,Visita de manutenção
Maintenance Visit Purpose,Finalidade da visita de manutenção
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Manutenção Visita {0} deve ser cancelado antes de cancelar esta ordem de venda
Maintenance start date can not be before delivery date for Serial No {0},Manutenção data de início não pode ser anterior à data de entrega para Serial Não {0}
Major/Optional Subjects,Assuntos Principais / Opcionais
Make ,
Make Accounting Entry For Every Stock Movement,Faça Contabilidade entrada para cada Banco de Movimento
Make Bank Voucher,Fazer Comprovante Bancário
Make Credit Note,Faça Nota de Crédito
Make Debit Note,Faça Nota de Débito
Make Delivery,Faça Entrega
Make Difference Entry,Fazer Lançamento da Diferença
Make Excise Invoice,Faça Imposto fatura
Make Installation Note,Faça Instalação Nota
Make Invoice,Faça fatura
Make Maint. Schedule,Faça Manut . horário
Make Maint. Visit,Faça Manut . visita
Make Maintenance Visit,Faça Manutenção Visita
Make Packing Slip,Faça embalagem deslizamento
Make Payment Entry,Faça Entry Pagamento
Make Purchase Invoice,Faça factura de compra
Make Purchase Order,Faça Ordem de Compra
Make Purchase Receipt,Faça Recibo de compra
Make Salary Slip,Faça folha de salário
Make Salary Structure,Faça Estrutura Salarial
Make Sales Invoice,Fazer vendas Fatura
Make Sales Order,Faça Ordem de Vendas
Make Supplier Quotation,Faça Fornecedor Cotação
Make a new,Fazer um novo
Male,Masculino
Manage Customer Group Tree.,Gerenciar Grupo Cliente Tree.
Manage Sales Person Tree.,Gerenciar Vendas Pessoa Tree.
Manage Territory Tree.,Gerenciar Árvore Território.
Manage cost of operations,Gerenciar custo das operações
Mandatory fields required in {0},Os campos obrigatórios exigidos no {0}
Mandatory filters required:\n,Filtros obrigatórios exigidos : \ n
"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.","Obrigatório se o estoque do item é &quot;Sim&quot;. Além disso, o armazém padrão onde quantidade reservada é definido a partir de Ordem de Vendas."
Manufacture against Sales Order,Fabricação contra a Ordem de Venda
Manufacture/Repack,Fabricar / Reembalar
Manufactured Qty,Qtde. fabricada
Manufactured quantity will be updated in this warehouse,Quantidade fabricada será atualizada neste almoxarifado
Manufactured quantity {0} cannot be greater than planned quanitity {1} in Production Order {2},Quantidade fabricada {0} não pode ser maior do que o planejado quanitity {1} em ordem de produção {2}
Manufacturer,Fabricante
Manufacturer Part Number,Número de peça do fabricante
Manufacturing,Fabricação
Manufacturing Quantity,Quantidade de fabricação
Manufacturing Quantity is mandatory,Manufacturing Quantidade é obrigatório
Margin,Margem
Marital Status,Estado civil
Market Segment,Segmento de mercado
Marketing Expenses,Despesas de Marketing
Married,Casado
Mass Mailing,Divulgação em massa
Master Name,Nome do Cadastro
Master Name is mandatory if account type is Warehouse,Nome Master é obrigatória se o tipo de conta é Warehouse
Master Type,Tipo de Cadastro
Masters,Cadastros
Match non-linked Invoices and Payments.,Combinar Faturas e Pagamentos não relacionados.
Material Issue,Emissão de material
Material Receipt,Recebimento de material
Material Request,Pedido de material
Material Request Detail No,Detalhe materiais Pedido Não
Material Request For Warehouse,Pedido de material para Armazém
Material Request Item,Item de solicitação de material
Material Request Items,Pedido de itens de material
Material Request No,Pedido de material no
Material Request Type,Tipo de solicitação de material
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Solicitação de materiais de máxima {0} pode ser feita para item {1} contra ordem de venda {2}
Material Request used to make this Stock Entry,Pedido de material usado para fazer essa entrada de material
Material Request {0} is cancelled or stopped,Pedido de material {0} é cancelado ou interrompido
Material Requests for which Supplier Quotations are not created,Os pedidos de materiais para os quais Fornecedor Quotations não são criados
Material Requests {0} created,Pedidos de Materiais {0} criado
Material Requirement,Material Requirement
Material Transfer,Transferência de material
Materials,Materiais
Materials Required (Exploded),Materiais necessários (explodida)
Max Days Leave Allowed,Período máximo de Licença
Max Discount (%),Desconto Máx. (%)
Max Qty,Max Qtde
Maximum allowed credit is {0} days after posting date,Crédito máximo permitido é {0} dias após a data de publicação
Maximum {0} rows allowed,Máximo de {0} linhas permitido
Maxiumm discount for Item {0} is {1}%,Maxiumm desconto para item {0} {1} %
Medical,médico
Medium,Médio
"Merging is only possible if following properties are same in both records. Group or Ledger, Report Type, Company","A fusão só é possível se seguintes propriedades são as mesmas em ambos os registros. Grupo ou Ledger, tipo de relatório , Company"
Message,Mensagem
Message Parameter,Parâmetro da mensagem
Message Sent,mensagem enviada
Message updated,Mensagem Atualizado
Messages,Mensagens
Messages greater than 160 characters will be split into multiple messages,Mensagens maiores do que 160 caracteres vão ser divididos em múltiplas mensagens
Middle Income,Rendimento Médio
Milestone,Marco
Milestone Date,Data do Marco
Milestones,Marcos
Milestones will be added as Events in the Calendar,Marcos serão adicionados como eventos no calendário
Min Order Qty,Pedido Mínimo
Min Qty,min Qty
Minimum Order Qty,Pedido Mínimo
Minute,minuto
Misc Details,Detalhes Diversos
Miscellaneous Expenses,Despesas Diversas
Miscelleneous,Diversos
Missing Values Required,Faltando valores obrigatórios
Mobile No,Telefone Celular
Mobile No.,Telefone Celular.
Mode of Payment,Forma de Pagamento
Modern,Moderno
Modified Amount,Quantidade modificada
Modified by,Modificado(a) por
Monday,Segunda-feira
Month,Mês
Monthly,Mensal
Monthly Attendance Sheet,Folha de Presença Mensal
Monthly Earning & Deduction,Salário mensal e dedução
Monthly Salary Register,Salário mensal Registrar
Monthly salary statement.,Declaração salarial mensal.
More,Mais
More Details,Mais detalhes
More Info,Mais informações
Move Down: {0},Mover para baixo : {0}
Move Up: {0},Mover para cima : {0}
Moving Average,Média móvel
Moving Average Rate,Taxa da Média Móvel
Mr,Sr.
Ms,Sra.
Multiple Item prices.,Vários preços item.
Must be Whole Number,Deve ser Número inteiro
My Settings,Minhas Configurações
Name,Nome
Name and Description,Nome e descrição
Name and Employee ID,Nome e identificação do funcionário
Name is required,Nome é obrigatório
Name not permitted,Nome não é permitida
"Name of new Account. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master","Nome de nova conta. Nota: Por favor, não criar contas para clientes e fornecedores , eles são criados automaticamente a partir do Cliente e Fornecedor mestre"
Name of person or organization that this address belongs to.,Nome da pessoa ou organização a que este endereço pertence.
Name of the Budget Distribution,Nome da Distribuição de Orçamento
Naming Series,Séries nomeadas
Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},Negativo Banco de Erro ( {6} ) para item {0} no Armazém {1} em {2} {3} em {4} {5}
Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},Saldo negativo em lote {0} para {1} item no Armazém {2} em {3} {4}
Net Pay,Pagamento Líquido
Net Pay (in words) will be visible once you save the Salary Slip.,Pagamento líquido (por extenso) será visível quando você salvar a folha de pagamento.
Net Total,Total Líquido
Net Total (Company Currency),Total Líquido (Moeda Company)
Net Weight,Peso Líquido
Net Weight UOM,UDM do Peso Líquido
Net Weight of each Item,Peso líquido de cada item
Net pay cannot be negative,Salário líquido não pode ser negativo
Never,Nunca
New,novo
New ,
New Account,Nova Conta
New Account Name,Novo Nome da conta
New BOM,Nova LDM
New Communications,Nova Comunicação
New Company,Nova Empresa
New Cost Center,Novo Centro de Custo
New Cost Center Name,Novo Centro de Custo Nome
New Delivery Notes,Novas Guias de Remessa
New Enquiries,Novas Consultas
New Leads,Novos Prospectos
New Leave Application,Aplicação deixar Nova
New Leaves Allocated,Novas Licenças alocadas
New Leaves Allocated (In Days),Novas Licenças alocadas (em dias)
New Material Requests,Novos Pedidos Materiais
New Projects,Novos Projetos
New Purchase Orders,Novas Ordens de Compra
New Purchase Receipts,Novos Recibos de Compra
New Quotations,Novas Cotações
New Record,Novo Registro
New Sales Orders,Novos Pedidos de Venda
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,"New Serial Não, não pode ter Warehouse. Warehouse deve ser definida pelo Banco de entrada ou Recibo de compra"
New Stock Entries,Novos lançamentos de estoque
New Stock UOM,Nova UDM de estoque
New Stock UOM is required,Novo Estoque UOM é necessária
New Stock UOM must be different from current stock UOM,Novo Estoque UOM deve ser diferente do atual UOM estoque
New Supplier Quotations,Novas cotações de fornecedores
New Support Tickets,Novos pedidos de suporte
New UOM must NOT be of type Whole Number,Nova UOM NÃO deve ser do tipo inteiro Número
New Workplace,Novo local de trabalho
Newsletter,Boletim informativo
Newsletter Content,Conteúdo do boletim
Newsletter Status,Estado do boletim
Newsletter has already been sent,Boletim informativo já foi enviado
Newsletters is not allowed for Trial users,Newsletters não é permitido para usuários experimentais
"Newsletters to contacts, leads.","Newsletters para contatos, leva."
Next,próximo
Next Contact By,Próximo Contato Por
Next Contact Date,Data do próximo Contato
Next Date,Próxima data
Next Record,Próximo Registro
Next actions,Próximas ações
Next email will be sent on:,Próximo e-mail será enviado em:
No,Não
No Communication tagged with this ,Nenhuma comunicação com etiquetas com esta
No Customer Accounts found.,Nenhum cliente foi encontrado.
No Customer or Supplier Accounts found,Nenhum cliente ou fornecedor encontrado
No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user,"Não aprovadores Despesas. Por favor, atribuir função ' Despesa aprovador ' para pelo menos um usuário"
No Item with Barcode {0},Nenhum artigo com código de barras {0}
No Item with Serial No {0},Nenhum artigo com Serial Não {0}
No Items to pack,Nenhum item para embalar
No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user,"Não aprovadores sair. Por favor, atribuir ' Leave Aprovador ""Papel de pelo menos um usuário"
No Permission,Nenhuma permissão
No Production Orders created,Não há ordens de produção criadas
No Report Loaded. Please use query-report/[Report Name] to run a report.,"Não Relatório Loaded. Por favor, use-consulta do relatório / [Nome do relatório] para executar um relatório."
No Results,nenhum resultado
No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,Nenhum fornecedor responde encontrado. Contas de fornecedores são identificados com base no valor 'Master Type' na conta de registro.
No accounting entries for the following warehouses,Nenhuma entrada de contabilidade para os seguintes armazéns
No addresses created,Nenhum endereço criadas
No amount allocated,No montante atribuído
No contacts created,Nenhum contato criadas
No default BOM exists for Item {0},No BOM padrão existe para item {0}
No description given,Sem descrição dada
No document selected,Nenhum documento selecionado
No employee found,Nenhum funcionário encontrado
No of Requested SMS,Nº de SMS pedidos
No of Sent SMS,Nº de SMS enviados
No of Visits,Nº de Visitas
No one,Ninguém
No permission,Sem permissão
No permission to edit,Sem permissão para editar
No record found,Nenhum registro encontrado
No records tagged.,Não há registros marcados.
No salary slip found for month: ,Sem folha de salário encontrado para o mês:
Non Profit,sem Fins Lucrativos
None,Nenhum
None: End of Workflow,Nenhum: Fim do fluxo de trabalho
Nos,Nos
Not Active,Não Ativo
Not Applicable,Não Aplicável
Not Available,não disponível
Not Billed,Não Faturado
Not Delivered,Não Entregue
Not Found,Não Encontrado
Not Linked to any record.,Não relacionado a qualquer registro.
Not Permitted,Não Permitido
Not Set,não informado
Not Submitted,não enviado
Not allowed,não permitido
Not allowed to update entries older than {0},Não permitido para atualizar as entradas mais velho do que {0}
Not authorized to edit frozen Account {0},Não autorizado para editar conta congelada {0}
Not authroized since {0} exceeds limits,Não authroized desde {0} excede os limites
Not enough permission to see links.,Sem permissão suficiente para ver os links.
Not equals,não iguais
Not found,não foi encontrado
Not permitted,não é permitido
Note,Nota
Note User,Nota usuários
"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.","Nota: Backups e arquivos não são excluídos do Dropbox, você terá que apagá-los manualmente."
"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.","Nota: Backups e arquivos não são excluídos do Google Drive, você terá que apagá-los manualmente."
Note: Due Date exceeds the allowed credit days by {0} day(s),Nota: Due Date excede os dias de crédito permitidas por {0} dia (s)
Note: Email will not be sent to disabled users,Nota: e-mails não serão enviado para usuários desabilitados
Note: Item {0} entered multiple times,Nota : Item {0} entrou várias vezes
Note: Other permission rules may also apply,Nota: Outras regras de permissão também podem se aplicar
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Nota: Entrada pagamento não será criado desde 'Cash ou conta bancária ' não foi especificado
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Nota : O sistema não irá verificar o excesso de entrega e sobre- reserva para item {0} como quantidade ou valor é 0
Note: There is not enough leave balance for Leave Type {0},Nota: Não é suficiente equilíbrio pela licença Tipo {0}
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Nota: Este Centro de Custo é um grupo . Não pode fazer lançamentos contábeis contra grupos .
Note: {0},Nota : {0}
Notes,Notas
Notes:,notas:
Nothing to request,Nada de pedir
Nothing to show,Nada para mostrar
Nothing to show for this selection,Nada para mostrar para esta seleção
Notice (days),Notice ( dias)
Notification Control,Controle de Notificação
Notification Email Address,Endereço de email de notificação
Notify By Email,Notificar por e-mail
Notify by Email on creation of automatic Material Request,Notificar por e-mail sobre a criação de Pedido de material automático
Number Format,Formato de número
Offer Date,Oferta Data
Office,Escritório
Office Equipments,Equipamentos de escritório
Office Maintenance Expenses,Despesas de manutenção de escritório
Office Rent,alugar escritório
Old Parent,Pai Velho
On Net Total,No Total Líquido
On Previous Row Amount,No Valor na linha anterior
On Previous Row Total,No Total na linha anterior
Only Leave Applications with status 'Approved' can be submitted,"Só Deixar Aplicações com status ""Aprovado"" podem ser submetidos"
"Only Serial Nos with status ""Available"" can be delivered.","Apenas os números de ordem , com status de "" disponível"" pode ser entregue."
Only leaf nodes are allowed in transaction,Somente nós-folha são permitidos em transações
Only the selected Leave Approver can submit this Leave Application,Somente o Leave aprovador selecionado pode enviar este pedido de férias
Open,Abrir
Open Production Orders,Pedidos em aberto Produção
Open Tickets,Tickets abertos
Open source ERP built for the web,ERP de código aberto construído para a web
Opening (Cr),Abertura (Cr)
Opening (Dr),Abertura (Dr)
Opening Date,Data de abertura
Opening Entry,Abertura Entry
Opening Qty,Qtde abertura
Opening Time,Horário de abertura
Opening Value,Valor abertura
Opening for a Job.,Vaga de emprego.
Operating Cost,Custo de Operação
Operation Description,Descrição da operação
Operation No,Nº da operação
Operation Time (mins),Tempo de Operação (minutos)
Operation {0} is repeated in Operations Table,Operação {0} se repete em Operações de mesa
Operation {0} not present in Operations Table,Operação {0} não está presente na mesa de operações
Operations,Operações
Opportunity,Oportunidade
Opportunity Date,Data da oportunidade
Opportunity From,Oportunidade De
Opportunity Item,Item da oportunidade
Opportunity Items,Itens da oportunidade
Opportunity Lost,Oportunidade perdida
Opportunity Type,Tipo de Oportunidade
Optional. This setting will be used to filter in various transactions.,Opcional . Esta configuração será usada para filtrar em várias transações.
Or Created By,Ou Criado por
Order Type,Tipo de Ordem
Order Type must be one of {1},Tipo de Ordem deve ser uma das {1}
Ordered,pedido
Ordered Items To Be Billed,Itens encomendados a serem faturados
Ordered Items To Be Delivered,Itens encomendados a serem entregues
Ordered Qty,ordenada Qtde
"Ordered Qty: Quantity ordered for purchase, but not received.","Ordenada Qtde: Quantidade pedida para a compra , mas não recebeu ."
Ordered Quantity,Quantidade encomendada
Orders released for production.,Ordens liberadas para produção.
Organization Name,Nome da Organização
Organization Profile,Perfil da Organização
Organization branch master.,Mestre Organização ramo .
Organization unit (department) master.,Organização unidade (departamento) mestre.
Original Message,Mensagem original
Other,Outro
Other Details,Outros detalhes
Others,outros
Out Qty,Fora Qtde
Out Value,Fora Valor
Out of AMC,Fora do CAM
Out of Warranty,Fora de Garantia
Outgoing,De Saída
Outstanding Amount,Quantia em aberto
Outstanding for {0} cannot be less than zero ({1}),Excelente para {0} não pode ser inferior a zero ( {1})
Overhead,Despesas gerais
Overheads,As despesas gerais
Overlapping conditions found between:,Condições sobreposição encontradas entre :
Overview,visão global
Owned,Pertencente
Owner,proprietário
PAN Number,Número PAN
PF No.,Nº PF.
PF Number,Número PF
PL or BS,PL ou BS
PO Date,PO Data
PO No,No PO
POP3 Mail Server,Servidor de e-mail POP3
POP3 Mail Settings,Configurações de e-mail pop3
POP3 mail server (e.g. pop.gmail.com),"Servidor de e-mail POP3 (por exemplo, pop.gmail.com)"
POP3 server e.g. (pop.gmail.com),"Servidor de e-mail POP3 (por exemplo, pop.gmail.com)"
POS Setting,Configuração de PDV
POS Setting required to make POS Entry,Setting POS obrigados a fazer POS Entry
POS Setting {0} already created for user: {1} and company {2},POS Setting {0} já criado para o usuário : {1} e {2} empresa
POS View,POS Ver
POS-Setting-.#,POS- Setting - . #
PR Detail,Detalhe PR
PR Posting Date,PR Data da Publicação
Package Item Details,Detalhes do Item do Pacote
Package Items,Itens do pacote
Package Weight Details,Detalhes do peso do pacote
Packed Item,Item do Pacote da Guia de Remessa
Packed quantity must equal quantity for Item {0} in row {1},Embalado quantidade deve ser igual a quantidade de item {0} na linha {1}
Packing Details,Detalhes da embalagem
Packing List,Lista de embalagem
Packing Slip,Guia de Remessa
Packing Slip Item,Item da Guia de Remessa
Packing Slip Items,Itens da Guia de Remessa
Packing Slip(s) cancelled,Deslizamento (s) de embalagem cancelado
Page Break,Quebra de página
Page Name,Nome da Página
Page not found,Página não encontrada
Paid Amount,Valor pago
Paid amount + Write Off Amount can not be greater than Grand Total,Valor pago + Write Off Valor não pode ser maior do que o total geral
Pair,par
Parameter,Parâmetro
Parent Account,Conta pai
Parent Cost Center,Centro de Custo pai
Parent Customer Group,Grupo de Clientes pai
Parent Detail docname,Docname do Detalhe pai
Parent Item,Item Pai
Parent Item Group,Grupo de item pai
Parent Item {0} must be not Stock Item and must be a Sales Item,Pai item {0} não deve ser Stock item e deve ser um item de vendas
Parent Party Type,Tipo Partido Pais
Parent Sales Person,Vendedor pai
Parent Territory,Território pai
Parent Website Page,Pai site Página
Parent Website Route,Pai site Route
Parent account can not be a ledger,Pai conta não pode ser um livro
Parent account does not exist,Pai conta não existe
Parenttype,Parenttype
Partially Completed,Parcialmente concluída
Partly Billed,Parcialmente faturado
Partly Delivered,Parcialmente entregue
Partner Target Detail,Detalhe da Meta do parceiro
Partner Type,Tipo de parceiro
Partner's Website,Site do parceiro
Party Type,Tipo de Festa
Party Type Name,Tipo Partido Nome
Passive,Passiva
Passport Number,Número do Passaporte
Password,Senha
Pay To / Recd From,Pagar Para/ Recebido De
Payable,a pagar
Payables,Contas a pagar
Payables Group,Grupo de contas a pagar
Payment Days,Datas de Pagamento
Payment Due Date,Data de Vencimento
Payment Entries,Lançamentos de pagamento
Payment Period Based On Invoice Date,Período de pagamento com base no fatura Data
Payment Type,Tipo de pagamento
Payment of salary for the month {0} and year {1},Pagamento de salário para o mês {0} e {1} ano
Payment to Invoice Matching Tool,Ferramenta de Pagamento contra Fatura correspondente
Payment to Invoice Matching Tool Detail,Detalhe da Ferramenta de Pagamento contra Fatura correspondente
Payments,Pagamentos
Payments Made,Pagamentos efetuados
Payments Received,Pagamentos Recebidos
Payments made during the digest period,Pagamentos efetuados durante o período de digestão
Payments received during the digest period,Pagamentos recebidos durante o período de digestão
Payroll Settings,Configurações da folha de pagamento
Pending,Pendente
Pending Amount,Enquanto aguarda Valor
Pending Items {0} updated,Itens Pendentes {0} atualizada
Pending Review,Revisão pendente
Pending SO Items For Purchase Request,"Itens Pendentes Assim, por solicitação de compra"
Percent Complete,Porcentagem Concluída
Percentage Allocation,Alocação percentual
Percentage Allocation should be equal to 100%,Percentual de alocação deve ser igual a 100%
Percentage variation in quantity to be allowed while receiving or delivering this item.,Variação percentual na quantidade a ser permitido ao receber ou entregar este item.
Percentage you are allowed to receive or deliver more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to receive 110 units.,"Percentagem que estão autorizados a receber ou entregar mais contra a quantidade encomendada. Por exemplo: Se você encomendou 100 unidades. e seu subsídio é de 10%, então você está autorizada a receber 110 unidades."
Performance appraisal.,Avaliação de desempenho.
Period,período
Period Closing Voucher,Comprovante de Encerramento período
Period is too short,Período é muito curta
Periodicity,Periodicidade
Permanent Address,Endereço permanente
Permanent Address Is,Endereço permanente é
Permanently Cancel {0}?,Permanentemente Cancelar {0} ?
Permanently Submit {0}?,Permanentemente Enviar {0} ?
Permanently delete {0}?,Excluir permanentemente {0} ?
Permission,Permissão
Personal,Pessoal
Personal Details,Detalhes pessoais
Personal Email,E-mail pessoal
Pharmaceutical,farmacêutico
Phone,Telefone
Phone No,Nº de telefone
Pick Columns,Escolha as Colunas
Pincode,PINCODE
Place of Issue,Local de Emissão
Plan for maintenance visits.,Plano de visitas de manutenção.
Planned Qty,Qtde. planejada
"Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured.","Planned Qtde: Quantidade , para a qual, ordem de produção foi levantada , mas está pendente para ser fabricado."
Planned Quantity,Quantidade planejada
Plant,Planta
Plant and Machinery,Máquinas e instalações
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,Por favor insira a correta Abreviação ou Nome Curto pois ele será adicionado como sufixo a todas as Contas.
Please add expense voucher details,"Por favor, adicione despesas detalhes do voucher"
Please attach a file first.,"Por favor, anexar um arquivo pela primeira vez."
Please attach a file or set a URL,"Por favor, anexar um arquivo ou definir uma URL"
Please check 'Is Advance' against Account {0} if this is an advance entry.,"Por favor, verifique 'É Advance' contra Conta {0} se isso é uma entrada antecipadamente."
Please click on 'Generate Schedule',"Por favor, clique em "" Gerar Agenda '"
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Por favor, clique em "" Gerar Cronograma ' para buscar Serial Sem adição de item {0}"
Please click on 'Generate Schedule' to get schedule,"Por favor, clique em "" Gerar Agenda "" para obter cronograma"
Please create Customer from Lead {0},"Por favor, crie Cliente de chumbo {0}"
Please create Salary Structure for employee {0},"Por favor, crie estrutura salarial por empregado {0}"
Please create new account from Chart of Accounts.,"Por favor, crie uma nova conta de Plano de Contas ."
Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.,"Por favor, não criar Conta ( Ledger ) para Clientes e Fornecedores . Eles são criados diretamente dos clientes / fornecedores mestres."
Please enable pop-ups,Por favor habilite os pop-ups
Please enter 'Expected Delivery Date',"Por favor, digite ' Data prevista de entrega '"
Please enter 'Is Subcontracted' as Yes or No,"Por favor, digite ' é subcontratado ""como Sim ou Não"
Please enter 'Repeat on Day of Month' field value,"Por favor, digite 'Repeat no Dia do Mês ' valor do campo"
Please enter Account Receivable/Payable group in company master,Por favor entre Contas a Receber / Pagar em grupo mestre empresa
Please enter Approving Role or Approving User,"Por favor, indique Aprovando Papel ou aprovar Usuário"
Please enter BOM for Item {0} at row {1},"Por favor, indique BOM por item {0} na linha {1}"
Please enter Company,"Por favor, indique Empresa"
Please enter Cost Center,"Por favor, indique Centro de Custo"
Please enter Delivery Note No or Sales Invoice No to proceed,Por favor insira Entrega Nota Não ou fatura de vendas Não para continuar
Please enter Employee Id of this sales parson,Por favor entre Employee Id deste pároco vendas
Please enter Event's Date and Time!,"Por favor, indique a data ea hora do evento!"
Please enter Expense Account,Por favor insira Conta Despesa
Please enter Item Code to get batch no,"Por favor, insira o Código Item para obter lotes não"
Please enter Item Code.,"Por favor, insira o Código Item."
Please enter Item first,"Por favor, indique primeiro item"
Please enter Maintaince Details first,"Por favor, indique Maintaince Detalhes primeiro"
Please enter Master Name once the account is created.,"Por favor, indique Master Nome uma vez que a conta é criada."
Please enter Planned Qty for Item {0} at row {1},"Por favor, indique Planned Qt para item {0} na linha {1}"
Please enter Production Item first,"Por favor, indique item Produção primeiro"
Please enter Purchase Receipt No to proceed,Por favor insira Compra recibo Não para continuar
Please enter Reference date,"Por favor, indique data de referência"
Please enter Start Date and End Date,"Por favor, digite Data de início e término"
Please enter Warehouse for which Material Request will be raised,"Por favor, indique Armazém para que Pedido de materiais serão levantados"
Please enter Write Off Account,"Por favor, indique Escrever Off Conta"
Please enter atleast 1 invoice in the table,"Por favor, indique pelo menos uma fatura na tabela"
Please enter company first,Por favor insira primeira empresa
Please enter company name first,"Por favor, insira o nome da empresa em primeiro lugar"
Please enter default Unit of Measure,Por favor entre unidade de medida padrão
Please enter default currency in Company Master,"Por favor, indique moeda padrão in Company Mestre"
Please enter email address,Por favor insira o endereço de email
Please enter item details,Por favor insira os detalhes do item
Please enter message before sending,Por favor introduza a mensagem antes de enviá-
Please enter parent account group for warehouse account,"Por favor, digite grupo conta principal para a conta do armazém"
Please enter parent cost center,Por favor entre o centro de custo pai
Please enter quantity for Item {0},"Por favor, indique a quantidade de item {0}"
Please enter relieving date.,"Por favor, indique data alívio ."
Please enter sales order in the above table,Por favor entre pedidos de vendas na tabela acima
Please enter some text!,"Por favor, digite algum texto!"
Please enter title!,"Por favor, indique título!"
Please enter valid Company Email,Por favor insira válido Empresa E-mail
Please enter valid Email Id,"Por favor, indique -mail válido Id"
Please enter valid Personal Email,"Por favor, indique -mail válido Pessoal"
Please enter valid mobile nos,"Por favor, indique nn móveis válidos"
Please install dropbox python module,"Por favor, instale o Dropbox módulo python"
Please login to Upvote!,Por favor login para upvote !
Please mention no of visits required,"Por favor, não mencione de visitas necessárias"
Please pull items from Delivery Note,"Por favor, puxar itens de entrega Nota"
Please save the Newsletter before sending,"Por favor, salve o Boletim informativo antes de enviar"
Please save the document before generating maintenance schedule,"Por favor, salve o documento antes de gerar programação de manutenção"
Please select Account first,"Por favor, selecione Conta primeiro"
Please select Bank Account,Por favor seleccione Conta Bancária
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Por favor selecione Encaminhar se você também quer incluir o saldo de licenças do ano fiscal anterior neste ano fiscal
Please select Category first,Por favor seleccione Categoria primeira
Please select Charge Type first,Por favor seleccione Carga Tipo primeiro
Please select Fiscal Year,Por favor seleccione o Ano Fiscal
Please select Group or Ledger value,Selecione Grupo ou Ledger valor
Please select Incharge Person's name,"Por favor, selecione o nome do Incharge Pessoa"
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM","Por favor, selecione Item onde "" é Stock item "" é "" Não"" e "" é o item de vendas "" é ""Sim"" e não há nenhum outro BOM Vendas"
Please select Price List,"Por favor, selecione Lista de Preço"
Please select Start Date and End Date for Item {0},Por favor seleccione Data de início e data de término do item {0}
Please select a csv file,"Por favor, selecione um arquivo csv"
Please select a valid csv file with data,"Por favor, selecione um arquivo csv com dados válidos"
Please select a value for {0} quotation_to {1},Por favor seleccione um valor para {0} {1} quotation_to
"Please select an ""Image"" first","Por favor, selecione uma ""Imagem"" primeiro"
Please select charge type first,"Por favor, selecione o tipo de carga primeiro"
Please select company first.,Por favor seleccione primeira empresa.
Please select item code,Por favor seleccione código do item
Please select month and year,Selecione mês e ano
Please select prefix first,Por favor seleccione prefixo primeiro
Please select the document type first,"Por favor, selecione o tipo de documento primeiro"
Please select valid Voucher No to proceed,Por favor seleccione válido Comprovante Não para continuar
Please select weekly off day,Por favor seleccione dia de folga semanal
Please select {0},Por favor seleccione {0}
Please set Dropbox access keys in your site config,Defina teclas de acesso Dropbox em sua configuração local
Please set Google Drive access keys in {0},Defina teclas de acesso do Google Drive em {0}
Please set default Cash or Bank account in Mode of Payment {0},Defina Caixa padrão ou conta bancária no Modo de pagamento {0}
Please set default value {0} in Company {0},"Por favor, defina o valor padrão {0} in Company {0}"
Please set {0},Defina {0}
Please setup Employee Naming System in Human Resource > HR Settings,"Por favor, configuração Employee Naming System em Recursos Humanos&gt; Configurações HR"
Please setup numbering series for Attendance via Setup > Numbering Series,"Por favor, configure série de numeração para Participação em Configurar> numeração Series"
Please setup your chart of accounts before you start Accounting Entries,"Por favor, configure o seu plano de contas antes de começar a lançamentos contábeis"
Please specify,"Por favor, especifique"
Please specify Company,"Por favor, especifique Empresa"
Please specify Company to proceed,"Por favor, especifique Empresa proceder"
Please specify Default Currency in Company Master and Global Defaults,"Por favor, especifique Moeda predefinida in Company Mestre e padrões globais"
Please specify a,"Por favor, especifique um"
Please specify a valid 'From Case No.',"Por favor, especifique um válido &#39;De Caso No.&#39;"
Please specify a valid Row ID for {0} in row {1},"Por favor, especifique um ID Row válido para {0} na linha {1}"
Please submit to update Leave Balance.,Por favor envie para atualizar Deixar Balance.
Plot,enredo
Plot By,Lote por
Point of Sale,Ponto de Venda
Point-of-Sale Setting,Configurações de Ponto-de-Venda
Post Graduate,Pós-Graduação
Post already exists. Cannot add again!,Publicar já existe. Não é possível adicionar mais uma vez !
Post does not exist. Please add post!,"O Post não existe. Por favor, adicione post!"
Postal,Postal
Postal Expenses,despesas postais
Posting Date,Data da Postagem
Posting Time,Horário da Postagem
Posting timestamp must be after {0},Postando timestamp deve ser posterior a {0}
Potential opportunities for selling.,Oportunidades potenciais para a venda.
Preferred Billing Address,Preferred Endereço de Cobrança
Preferred Shipping Address,Endereço para envio preferido
Prefix,Prefixo
Present,Apresentar
Prevdoc DocType,Prevdoc DocType
Prevdoc Doctype,Prevdoc Doctype
Preview,visualização
Previous,anterior
Previous Record,Registro anterior
Previous Work Experience,Experiência anterior de trabalho
Price,preço
Price / Discount,Preço / desconto
Price List,Lista de Preços
Price List Currency,Moeda da Lista de Preços
Price List Currency not selected,Lista de Preço Moeda não selecionado
Price List Exchange Rate,Taxa de Câmbio da Lista de Preços
Price List Name,Nome da Lista de Preços
Price List Rate,Taxa de Lista de Preços
Price List Rate (Company Currency),Preço Taxa List (moeda da empresa)
Price List master.,Mestre Lista de Preços.
Price List must be applicable for Buying or Selling,Lista de Preço deve ser aplicável para comprar ou vender
Price List not selected,Lista de Preço não selecionado
Price List {0} is disabled,Preço de {0} está desativado
Price or Discount,Preço ou desconto
Pricing Rule,Regra de Preços
Pricing Rule For Discount,Preços Regra para desconto
Pricing Rule For Price,Preços regra para Preço
Print,impressão
Print Format Style,Formato de impressão Estilo
Print Heading,Cabeçalho de impressão
Print Without Amount,Imprimir Sem Quantia
Print and Stationary,Imprimir e estacionária
Print...,Imprimir ...
Printing and Branding,Impressão e Branding
Priority,Prioridade
Privilege Leave,Privilege Deixar
Process Payroll,Processa folha de pagamento
Produced,produzido
Produced Quantity,Quantidade produzida
Product Enquiry,Consulta de Produto
Production Order,Ordem de Produção
Production Order status is {0},Status de ordem de produção é {0}
Production Order {0} must be cancelled before cancelling this Sales Order,Ordem de produção {0} deve ser cancelado antes de cancelar esta ordem de venda
Production Order {0} must be submitted,Ordem de produção {0} deve ser apresentado
Production Orders,Ordens de Produção
Production Orders in Progress,Ordens de produção em andamento
Production Plan Item,Item do plano de produção
Production Plan Items,Itens do plano de produção
Production Plan Sales Order,Ordem de Venda do Plano de Produção
Production Plan Sales Orders,Ordens de Venda do Plano de Produção
Production Planning Tool,Ferramenta de Planejamento da Produção
Products,produtos
Products or Services You Buy,Produtos ou Serviços de comprar
"Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.","Os produtos serão classificados por peso em buscas padrão. Maior o peso, mais alto o produto irá aparecer na lista."
Profit and Loss,Lucros e perdas
Project,Projeto
Project Costing,Custo do Projeto
Project Details,Detalhes do Projeto
Project Milestone,Marco do Projeto
Project Milestones,Marcos do Projeto
Project Name,Nome do Projeto
Project Start Date,Data de início do Projeto
Project Type,Tipo de Projeto
Project Value,Valor do Projeto
Project activity / task.,Atividade / tarefa do projeto.
Project master.,Cadastro de Projeto.
Project will get saved and will be searchable with project name given,O Projeto será salvo e poderá ser pesquisado através do nome dado
Project wise Stock Tracking,Projeto sábios Stock Rastreamento
Project-wise data is not available for Quotation,Dados do projecto -wise não está disponível para Cotação
Projected,projetado
Projected Qty,Qtde. Projetada
Projects,Projetos
Projects & System,Projetos e Sistema
Prompt for Email on Submission of,Solicitar e-mail no envio da
Provide email id registered in company,Fornecer Endereço de E-mail registrado na empresa
Public,Público
Pull Payment Entries,Puxar os lançamentos de pagamento
Pull sales orders (pending to deliver) based on the above criteria,Puxar as Ordens de Venda (pendentes de entrega) com base nos critérios acima
Purchase,Compras
Purchase / Manufacture Details,Detalhes Compra / Fabricação
Purchase Analytics,Análise de compras
Purchase Common,Compras comum
Purchase Details,Detalhes da compra
Purchase Discounts,Descontos da compra
Purchase In Transit,Compre Em Trânsito
Purchase Invoice,Nota Fiscal de Compra
Purchase Invoice Advance,Antecipação da Nota Fiscal de Compra
Purchase Invoice Advances,Antecipações da Nota Fiscal de Compra
Purchase Invoice Item,Item da Nota Fiscal de Compra
Purchase Invoice Trends,Compra Tendências fatura
Purchase Invoice {0} is already submitted,Compra Invoice {0} já é submetido
Purchase Order,Ordem de Compra
Purchase Order Date,Data da Ordem de Compra
Purchase Order Item,Item da Ordem de Compra
Purchase Order Item No,Nº do Item da Ordem de Compra
Purchase Order Item Supplied,Item da Ordem de Compra fornecido
Purchase Order Items,Itens da Ordem de Compra
Purchase Order Items Supplied,Itens da Ordem de Compra fornecidos
Purchase Order Items To Be Billed,Ordem de Compra itens a serem faturados
Purchase Order Items To Be Received,Comprar itens para ser recebido
Purchase Order Message,Mensagem da Ordem de Compra
Purchase Order Required,Ordem de Compra Obrigatória
Purchase Order Trends,Ordem de Compra Trends
Purchase Order number required for Item {0},Número do pedido requerido para item {0}
Purchase Order {0} is 'Stopped',Ordem de Compra {0} está ' parado '
Purchase Order {0} is not submitted,Ordem de Compra {0} não é submetido
Purchase Orders given to Suppliers.,Ordens de Compra dadas a fornecedores.
Purchase Receipt,Recibo de Compra
Purchase Receipt Item,Item do Recibo de Compra
Purchase Receipt Item Supplied,Item do Recibo de Compra Fornecido
Purchase Receipt Item Supplieds,Item do Recibo de Compra Fornecido
Purchase Receipt Items,Itens do Recibo de Compra
Purchase Receipt Message,Mensagem do Recibo de Compra
Purchase Receipt No,Nº do Recibo de Compra
Purchase Receipt Required,Recibo de Compra Obrigatório
Purchase Receipt Trends,Compra Trends Recibo
Purchase Receipt number required for Item {0},Número Recibo de compra necessário para item {0}
Purchase Receipt {0} is not submitted,Recibo de compra {0} não é submetido
Purchase Register,Compra Registre
Purchase Return,Devolução de Compra
Purchase Returned,Compra Devolvida
Purchase Taxes and Charges,Impostos e Encargos sobre Compras
Purchase Taxes and Charges Master,Cadastro de Impostos e Encargos sobre Compras
Purchse Order number required for Item {0},Número de pedido purchse necessário para item {0}
Purpose,Finalidade
Purpose must be one of {0},Objetivo deve ser um dos {0}
QA Inspection,Inspeção QA
Qty,Qtde.
Qty Consumed Per Unit,Qtde. consumida por unidade
Qty To Manufacture,Qtde. Para Fabricação
Qty as per Stock UOM,Qtde. como por UDM de estoque
Qty to Deliver,Qt para entregar
Qty to Order,Qtde encomendar
Qty to Receive,Qt para receber
Qty to Transfer,Qtde transferir
Qualification,Qualificação
Quality,Qualidade
Quality Inspection,Inspeção de Qualidade
Quality Inspection Parameters,Parâmetros da Inspeção de Qualidade
Quality Inspection Reading,Leitura da Inspeção de Qualidade
Quality Inspection Readings,Leituras da Inspeção de Qualidade
Quality Inspection required for Item {0},Inspeção de Qualidade exigido para item {0}
Quantity,Quantidade
Quantity Requested for Purchase,Quantidade Solicitada para Compra
Quantity and Rate,Quantidade e Taxa
Quantity and Warehouse,Quantidade e Armazém
Quantity cannot be a fraction in row {0},A quantidade não pode ser uma fracção em linha {0}
Quantity for Item {0} must be less than {1},Quantidade de item {0} deve ser inferior a {1}
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Quantidade em linha {0} ( {1} ) deve ser a mesma quantidade fabricada {2}
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Quantidade do item obtido após a fabricação / reembalagem a partir de determinadas quantidades de matéria-prima
Quantity required for Item {0} in row {1},Quantidade necessária para item {0} na linha {1}
Quarter,Trimestre
Quarterly,Trimestral
Query Report,Relatório da Consulta
Quick Help,Ajuda Rápida
Quotation,Cotação
Quotation Date,Data da Cotação
Quotation Item,Item da Cotação
Quotation Items,Itens da Cotação
Quotation Lost Reason,Razão da perda da Cotação
Quotation Message,Mensagem da Cotação
Quotation To,Cotação para
Quotation Trends,Tendências cotação
Quotation {0} is cancelled,Cotação {0} é cancelada
Quotation {0} not of type {1},Cotação {0} não é do tipo {1}
Quotations received from Suppliers.,Citações recebidas de fornecedores.
Quotes to Leads or Customers.,Cotações para Prospectos ou Clientes.
Raise Material Request when stock reaches re-order level,Levante solicitar material quando o estoque atinge novo pedido de nível
Raised By,Levantadas por
Raised By (Email),Levantadas por (e-mail)
Random,Aleatório
Range,Alcance
Rate,Taxa
Rate ,Taxa
Rate (%),Taxa (%)
Rate (Company Currency),Rate (moeda da empresa)
Rate Of Materials Based On,Taxa de materiais com base em
Rate and Amount,Taxa e montante
Rate at which Customer Currency is converted to customer's base currency,Taxa na qual a moeda do cliente é convertida para a moeda base do cliente
Rate at which Price list currency is converted to company's base currency,Taxa na qual a moeda da lista de preços é convertida para a moeda base da empresa
Rate at which Price list currency is converted to customer's base currency,Taxa na qual a moeda da lista de preços é convertida para a moeda base do cliente
Rate at which customer's currency is converted to company's base currency,Taxa na qual a moeda do cliente é convertida para a moeda base da empresa
Rate at which supplier's currency is converted to company's base currency,Taxa na qual a moeda do fornecedor é convertida para a moeda base da empresa
Rate at which this tax is applied,Taxa em que este imposto é aplicado
Raw Material,Matéria-prima
Raw Material Item Code,Código de Item de Matérias-Primas
Raw Materials Supplied,Matérias-primas em actualização
Raw Materials Supplied Cost,Custo de fornecimento de Matérias-Primas
Raw material cannot be same as main Item,Matéria-prima não pode ser o mesmo como o principal item
Re-Order Level,Nível para novo pedido
Re-Order Qty,Qtde. para novo pedido
Re-order,Re-vista
Re-order Level,Re fim-Level
Re-order Qty,Re-vista Qtde
Read,Ler
Reading 1,Leitura 1
Reading 10,Leitura 10
Reading 2,Leitura 2
Reading 3,Leitura 3
Reading 4,Leitura 4
Reading 5,Leitura 5
Reading 6,Leitura 6
Reading 7,Leitura 7
Reading 8,Leitura 8
Reading 9,Leitura 9
Reason,Motivo
Reason for Leaving,Motivo da saída
Reason for Resignation,Motivo para Demissão
Reason for losing,Motivo para perder
Recd Quantity,Quantidade Recebida
Receivable,a receber
Receivable / Payable account will be identified based on the field Master Type,Conta a receber / pagar serão identificados com base no campo Type Master
Receivables,Recebíveis
Receivables / Payables,Contas a receber / contas a pagar
Receivables Group,Grupo de recebíveis
Received Date,Data de recebimento
Received Items To Be Billed,Itens recebidos a ser cobrado
Received Qty,Qtde. recebida
Received and Accepted,Recebeu e aceitou
Receiver List,Lista de recebedores
Receiver List is empty. Please create Receiver List,"Lista Receiver está vazio. Por favor, crie Lista Receiver"
Receiver Parameter,Parâmetro do recebedor
Recipients,Destinatários
Reconciliation Data,Dados de reconciliação
Reconciliation HTML,Reconciliação HTML
Reconciliation JSON,Reconciliação JSON
Record item movement.,Gravar o movimento item.
Recurring Id,Id recorrente
Recurring Invoice,Nota Fiscal Recorrente
Recurring Type,Tipo de recorrência
Reduce Deduction for Leave Without Pay (LWP),Reduzir Dedução por licença sem vencimento (LWP)
Reduce Earning for Leave Without Pay (LWP),Reduzir a Geração de Renda para sair sem pagar (LWP)
Ref Code,Código de Ref.
Ref SQ,Ref SQ
Reference,Referência
Reference #{0} dated {1},Referência # {0} {1} datado
Reference Date,Data de Referência
Reference Name,Nome de Referência
Reference No & Reference Date is required for {0},Número de referência e Referência Data é necessário para {0}
Reference No is mandatory if you entered Reference Date,Referência Não é obrigatório se você entrou Data de Referência
Reference Number,Número de Referência
Reference Row #,Referência Row #
Refresh,Atualizar
Registration Details,Detalhes de Registro
Registration Info,Informações do Registro
Rejected,Rejeitado
Rejected Quantity,Quantidade rejeitada
Rejected Serial No,Nº de Série Rejeitado
Rejected Warehouse,Almoxarifado Rejeitado
Rejected Warehouse is mandatory against regected item,Armazém Rejeitado é obrigatória na rubrica regected
Relation,Relação
Relieving Date,Data da Liberação
Relieving Date must be greater than Date of Joining,Aliviar A data deve ser maior que Data de Juntando
Reload Page,Atualizar Página
Remark,Observação
Remarks,Observações
Remove Bookmark,Remover Bookmark
Rename,rebatizar
Rename Log,Renomeie Entrar
Rename Tool,Ferramenta de Renomear
Rename...,Renomear ...
Rent Cost,Rent Custo
Rent per hour,Alugar por hora
Rented,Alugado
Repeat on Day of Month,Repita no Dia do Mês
Replace,Substituir
Replace Item / BOM in all BOMs,Substituir item / LDM em todas as LDMs
Replied,Respondeu
Report,Relatório
Report Date,Data do Relatório
Report Type,Tipo de relatório
Report Type is mandatory,Tipo de relatório é obrigatória
Report was not saved (there were errors),O Relatório não foi salvo (houve erros)
Reports to,Relatórios para
Reqd By Date,Requisições Por Data
Request Type,Tipo de Solicitação
Request for Information,Pedido de Informação
Request for purchase.,Pedido de Compra.
Requested,solicitado
Requested For,solicitadas para
Requested Items To Be Ordered,Itens solicitados devem ser pedidos
Requested Items To Be Transferred,Itens solicitados para ser transferido
Requested Qty,solicitado Qtde
"Requested Qty: Quantity requested for purchase, but not ordered.","Solicitado Qtde: Quantidade solicitada para a compra , mas não ordenado."
Requests for items.,Os pedidos de itens.
Required By,Exigido por
Required Date,Data Obrigatória
Required Qty,Quantidade requerida
Required only for sample item.,Necessário apenas para o item de amostra.
Required raw materials issued to the supplier for producing a sub - contracted item.,Matérias-primas necessárias emitidas para o fornecedor para a produção de um item sub-contratado.
Reseller,Revendedor
Reserved,reservado
Reserved Qty,reservados Qtde
"Reserved Qty: Quantity ordered for sale, but not delivered.","Reservados Qtde: Quantidade pedida para venda, mas não entregue."
Reserved Quantity,Quantidade Reservada
Reserved Warehouse,Almoxarifado Reservado
Reserved Warehouse in Sales Order / Finished Goods Warehouse,Armazém reservada no Pedido de Vendas / armazém de produtos acabados
Reserved Warehouse is missing in Sales Order,Reservado Warehouse está faltando na Ordem de Vendas
Reserved Warehouse required for stock Item {0} in row {1},Armazém reservados necessário para stock o item {0} na linha {1}
Reserved warehouse required for stock item {0},Armazém reservados necessário para estoque item {0}
Reserves and Surplus,Reservas e Excedente
Reset Filters,Reiniciar Filtros
Resignation Letter Date,Data da carta de demissão
Resolution,Resolução
Resolution Date,Data da Resolução
Resolution Details,Detalhes da Resolução
Resolved By,Resolvido por
Rest Of The World,Resto do mundo
Retail,Varejo
Retailer,Varejista
Review Date,Data da Revisão
Rgt,Dir.
Role Allowed to edit frozen stock,Papel permissão para editar estoque congelado
Role that is allowed to submit transactions that exceed credit limits set.,Papel que é permitido submeter transações que excedam os limites de crédito estabelecidos.
Root account can not be deleted,Conta root não pode ser excluído
Root cannot be edited.,Root não pode ser editado .
Root cannot have a parent cost center,Root não pode ter um centro de custos pai
Rounded Off,arredondado
Rounded Total,Total arredondado
Rounded Total (Company Currency),Total arredondado (Moeda Company)
Row # ,Linha #
Rules for adding shipping costs.,Regras para adicionar os custos de envio .
Rules for applying pricing and discount.,Regras para aplicação de preços e de desconto.
Rules to calculate shipping amount for a sale,Regras para calcular valor de frete para uma venda
S.O. No.,S.O. Não.
SMS Center,Centro de SMS
SMS Control,Controle de SMS
SMS Gateway URL,URL de Gateway para SMS
SMS Log,Log de SMS
SMS Parameter,Parâmetro de SMS
SMS Sender Name,Nome do remetente do SMS
SMS Settings,Definições de SMS
SO Date,Data da OV
SO Pending Qty,Qtde. pendente na OV
SO Qty,SO Qtde
Salary,Salário
Salary Information,Informação sobre salário
Salary Manager,Gerenciador de salário
Salary Mode,Modo de salário
Salary Slip,Folha de pagamento
Salary Slip Deduction,Dedução da folha de pagamento
Salary Slip Earning,Ganhos da folha de pagamento
Salary Slip of employee {0} already created for this month,Folha de salário de empregado {0} já criado para este mês
Salary Structure,Estrutura Salarial
Salary Structure Deduction,Dedução da Estrutura Salarial
Salary Structure Earning,Ganho da Estrutura Salarial
Salary Structure Earnings,Ganhos da Estrutura Salarial
Salary breakup based on Earning and Deduction.,Separação Salário com base em salário e dedução.
Salary components.,Componentes salariais.
Salary template master.,Mestre modelo Salário .
Sales,Vendas
Sales Analytics,Análise de Vendas
Sales BOM,LDM de Vendas
Sales BOM Help,Ajuda da LDM de Vendas
Sales BOM Item,Item da LDM de Vendas
Sales BOM Items,Itens da LDM de Vendas
Sales Browser,Navegador Vendas
Sales Details,Detalhes de Vendas
Sales Discounts,Descontos de Vendas
Sales Email Settings,Configurações do Email de Vendas
Sales Expenses,Despesas com Vendas
Sales Extras,Extras de Vendas
Sales Funnel,Funil de Vendas
Sales Invoice,Nota Fiscal de Venda
Sales Invoice Advance,Antecipação da Nota Fiscal de Venda
Sales Invoice Item,Item da Nota Fiscal de Venda
Sales Invoice Items,Vendas itens da fatura
Sales Invoice Message,Mensagem da Nota Fiscal de Venda
Sales Invoice No,Nº da Nota Fiscal de Venda
Sales Invoice Trends,Vendas Tendências fatura
Sales Invoice {0} has already been submitted,Fatura de vendas {0} já foi apresentado
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Fatura de vendas {0} deve ser cancelado antes de cancelar esta ordem de venda
Sales Order,Ordem de Venda
Sales Order Date,Data da Ordem de Venda
Sales Order Item,Item da Ordem de Venda
Sales Order Items,Itens da Ordem de Venda
Sales Order Message,Mensagem da Ordem de Venda
Sales Order No,Nº da Ordem de Venda
Sales Order Required,Ordem de Venda Obrigatória
Sales Order Trends,Pedido de Vendas Trends
Sales Order required for Item {0},Ordem de venda necessário para item {0}
Sales Order {0} is not submitted,Ordem de Vendas {0} não é submetido
Sales Order {0} is not valid,Ordem de Vendas {0} não é válido
Sales Order {0} is stopped,Ordem de Vendas {0} está parado
Sales Partner,Parceiro de Vendas
Sales Partner Name,Nome do Parceiro de Vendas
Sales Partner Target,Metas do Parceiro de Vendas
Sales Partners Commission,Vendas Partners Comissão
Sales Person,Vendedor
Sales Person Name,Nome do Vendedor
Sales Person Target Variance Item Group-Wise,Vendas Pessoa Alvo Variance item Group-wise
Sales Person Targets,Metas do Vendedor
Sales Person-wise Transaction Summary,Resumo da transação Pessoa-wise vendas
Sales Register,Vendas Registrar
Sales Return,Retorno de Vendas
Sales Returned,Vendas Devolvido
Sales Taxes and Charges,Impostos e Taxas sobre Vendas
Sales Taxes and Charges Master,Cadastro de Impostos e Taxas sobre Vendas
Sales Team,Equipe de Vendas
Sales Team Details,Detalhes da Equipe de Vendas
Sales Team1,Equipe de Vendas
Sales and Purchase,Compra e Venda
Sales campaigns.,Campanhas de vendas .
Salutation,Saudação
Sample Size,Tamanho da amostra
Sanctioned Amount,Quantidade sancionada
Saturday,Sábado
Save,salvar
Schedule,Agendar
Schedule Date,Programação Data
Schedule Details,Detalhes da Agenda
Scheduled,Agendado
Scheduled Confirmation Date must be greater than Date of Joining,Agendada Confirmação Data deve ser maior que Data de Juntando
Scheduled Date,Data Agendada
Scheduled to send to {0},Programado para enviar para {0}
Scheduled to send to {0} recipients,Programado para enviar para {0} destinatários
Scheduler Failed Events,Eventos Scheduler Falha
School/University,Escola / Universidade
Score (0-5),Pontuação (0-5)
Score Earned,Pontuação Obtida
Score must be less than or equal to 5,Pontuação deve ser inferior ou igual a 5
Scrap %,Sucata %
Search,Pesquisar
Seasonality for setting budgets.,Sazonalidade para definir orçamentos.
Secured Loans,Empréstimos garantidos
Securities and Deposits,Títulos e depósitos
"See ""Rate Of Materials Based On"" in Costing Section",Consulte &quot;taxa de materiais baseados em&quot; no Custeio Seção
"Select ""Yes"" for sub - contracting items",Selecione &quot;Sim&quot; para a itens sub-contratados
"Select ""Yes"" if this item is used for some internal purpose in your company.",Selecione &quot;Sim&quot; se este item é usado para alguma finalidade interna na sua empresa.
"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Selecione &quot;Sim&quot; se esse item representa algum trabalho como treinamento, design, consultoria, etc"
"Select ""Yes"" if you are maintaining stock of this item in your Inventory.",Selecione &quot;Sim&quot; se você está mantendo estoque deste item no seu Inventário.
"Select ""Yes"" if you supply raw materials to your supplier to manufacture this item.",Selecione &quot;Sim&quot; se você fornece as matérias-primas para o seu fornecedor fabricar este item.
Select All,Selecionar tudo
Select Attachments,Selecione os Anexos
Select Budget Distribution to unevenly distribute targets across months.,Selecione distribuição do orçamento para distribuir metas diferentes para os meses.
"Select Budget Distribution, if you want to track based on seasonality.","Selecione distribuição do orçamento, se você quiser acompanhar baseado em sazonalidade."
Select DocType,Selecione o DocType
Select Items,Selecione itens
Select Print Format,Selecione o Formato de Impressão
Select Purchase Receipts,Selecione recibos de compra
Select Report Name,Selecione o Nome do Relatório
Select Sales Orders,Selecione as Ordens de Venda
Select Sales Orders from which you want to create Production Orders.,Selecione as Ordens de Venda a partir das quais você deseja criar Ordens de Produção.
Select Time Logs and Submit to create a new Sales Invoice.,Selecione Time Logs e enviar para criar uma nova factura de venda.
Select To Download:,Selecione Para Download:
Select Transaction,Selecione a Transação
Select Type,Selecione o Tipo
Select Your Language,Selecione seu idioma
Select account head of the bank where cheque was deposited.,Selecione a Conta do banco onde o cheque foi depositado.
Select company name first.,Selecione o nome da empresa por primeiro.
Select dates to create a new ,Selecione as datas para criar uma nova
Select or drag across time slots to create a new event.,Selecione ou arraste intervalos de tempo para criar um novo evento.
Select template from which you want to get the Goals,Selecione o modelo a partir do qual você deseja obter as Metas
Select the Employee for whom you are creating the Appraisal.,Selecione o funcionário para quem você está criando a Avaliação.
Select the Invoice against which you want to allocate payments.,Selecione a fatura contra o qual você deseja alocar pagamentos.
Select the period when the invoice will be generated automatically,Selecione o período em que a fatura será gerada automaticamente
Select the relevant company name if you have multiple companies,"Selecione o nome da empresa em questão, se você tem várias empresas"
Select the relevant company name if you have multiple companies.,"Selecione o nome da empresa em questão, se você tem várias empresas."
Select who you want to send this newsletter to,Selecione para quem você deseja enviar esta newsletter
Select your home country and check the timezone and currency.,Selecione o seu país de origem e verificar o fuso horário e moeda.
"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","Selecionando &quot;Sim&quot; vai permitir que este item apareça na Ordem de Compra, Recibo de Compra."
"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","Selecionando &quot;Sim&quot; vai permitir que este item conste na Ordem de Venda, Guia de Remessa"
"Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.",Selecionando &quot;Sim&quot; vai permitir que você crie uma Lista de Materiais mostrando as matérias-primas e os custos operacionais incorridos para fabricar este item.
"Selecting ""Yes"" will allow you to make a Production Order for this item.",Selecionando &quot;Sim&quot; vai permitir que você faça uma Ordem de Produção para este item.
"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.",Selecionando &quot;Sim&quot; vai dar uma identificação única para cada entidade deste item que pode ser vista no cadastro do Número de Série.
Selling,Vendas
Selling Settings,Vendendo Configurações
Send,Enviar
Send As Email,Enviar como e-mail
Send Autoreply,Enviar Resposta Automática
Send Email,Enviar E-mail
Send From,Enviar de
Send Me A Copy,Envie-me uma cópia
Send Notifications To,Enviar notificações para
Send Now,Enviar agora
Send SMS,Envie SMS
Send To,Enviar para
Send To Type,Enviar para Digite
Send mass SMS to your contacts,Enviar SMS em massa para seus contatos
Send to this list,Enviar para esta lista
Sender Name,Nome do Remetente
Sent On,Enviado em
Sent or Received,Enviados ou recebidos
Separate production order will be created for each finished good item.,Uma Ordem de Produção separada será criada para cada item acabado.
Serial No,Nº de Série
Serial No / Batch,N º de Série / lote
Serial No Details,Detalhes do Nº de Série
Serial No Service Contract Expiry,Vencimento do Contrato de Serviço com Nº de Série
Serial No Status,Estado do Nº de Série
Serial No Warranty Expiry,Vencimento da Garantia com Nº de Série
Serial No is mandatory for Item {0},Não Serial é obrigatória para item {0}
Serial No {0} created,Serial Não {0} criado
Serial No {0} does not belong to Delivery Note {1},Serial Não {0} não pertence a entrega Nota {1}
Serial No {0} does not belong to Item {1},Serial Não {0} não pertence ao item {1}
Serial No {0} does not belong to Warehouse {1},Serial Não {0} não pertence ao Armazém {1}
Serial No {0} does not exist,Serial Não {0} não existe
Serial No {0} has already been received,Serial Não {0} já foi recebido
Serial No {0} is under maintenance contract upto {1},Serial Não {0} está sob contrato de manutenção até {1}
Serial No {0} is under warranty upto {1},Serial Não {0} está na garantia até {1}
Serial No {0} not in stock,Serial Não {0} não em estoque
Serial No {0} quantity {1} cannot be a fraction,Serial Não {0} {1} quantidade não pode ser uma fração
Serial No {0} status must be 'Available' to Deliver,Serial No {0} Estado deve ser ' Disponível ' para entregar
Serial Nos Required for Serialized Item {0},Serial Nos Obrigatório para Serialized item {0}
Serial Number Series,Serial Series Número
Serial number {0} entered more than once,Número de série {0} entrou mais de uma vez
Serialized Item {0} cannot be updated using Stock Reconciliation,Serialized item {0} não pode ser atualizado usando Banco de Reconciliação
Series,série
Series List for this Transaction,Lista de séries para esta transação
Series Updated,Série Atualizado
Series Updated Successfully,Série atualizado com sucesso
Series is mandatory,Série é obrigatório
Series {0} already used in {1},Série {0} já usado em {1}
Service,serviço
Service Address,Endereço de Serviço
Services,Serviços
Session Expired. Logging you out,A sessão expirou. Você será deslogado
Set,conjunto
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Definir valores padrão , como Company, de moeda, Atual Exercício , etc"
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,"Definir orçamentos para Grupos de Itens neste território. Você também pode incluir a sazonalidade, defininda na Distribuição."
Set Link,Definir ligação
Set allocated amount against each Payment Entry and click 'Allocate'.,"Set montante atribuído a cada entrada de pagamento e clique em "" Atribuir "" ."
Set as Default,Definir como padrão
Set as Lost,Definir como perdida
Set prefix for numbering series on your transactions,Definir prefixo para séries de numeração em suas transações
Set targets Item Group-wise for this Sales Person.,Estabelecer metas para Grupos de Itens para este Vendedor.
Setting Account Type helps in selecting this Account in transactions.,Definir o Tipo de Conta ajuda na seleção desta Conta nas transações.
Setting up...,Configurar ...
Settings,Configurações
Settings for HR Module,Configurações para o Módulo HR
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""","Definições para extrair os candidatos a emprego a partir de um e-mail, por exemplo: &quot;empregos@exemplo.com&quot;"
Setup,Configuração
Setup Already Complete!!,Instalação já está completa !
Setup Complete,Instalação concluída
Setup Series,Configuração de Séries
Setup Wizard,Assistente de Configuração
Setup incoming server for jobs email id. (e.g. jobs@example.com),Configuração do servidor de entrada para os trabalhos de identificação do email . ( por exemplo jobs@example.com )
Setup incoming server for sales email id. (e.g. sales@example.com),Configuração do servidor de entrada de e-mail id vendas. ( por exemplo sales@example.com )
Setup incoming server for support email id. (e.g. support@example.com),Configuração do servidor de entrada para suporte e-mail id . ( por exemplo support@example.com )
Share,Ação
Share With,Compartilhar
Shareholders Funds,CAPITAL PRÓPRIO
Shipments to customers.,Os embarques para os clientes.
Shipping,Expedição
Shipping Account,Conta de Envio
Shipping Address,Endereço de envio
Shipping Amount,Valor do transporte
Shipping Rule,Regra de envio
Shipping Rule Condition,Regra Condições de envio
Shipping Rule Conditions,Regra Condições de envio
Shipping Rule Label,Regra envio Rótulo
Shop,Loja
Shopping Cart,Carrinho de Compras
Short biography for website and other publications.,Breve biografia para o site e outras publicações.
Shortcut,Atalho
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Mostrar &quot;Em Stock&quot; ou &quot;Fora de Estoque&quot; baseado no estoque disponível neste almoxarifado.
"Show / Hide features like Serial Nos, POS etc.","Mostrar / Ocultar recursos como os números de ordem , POS , etc"
Show Details,Ver detalhes
Show In Website,Mostrar No Site
Show Tags,Mostrar Marcações
Show a slideshow at the top of the page,Mostrar uma apresentação de slides no topo da página
Show in Website,Mostrar no site
Show rows with zero values,Mostrar as linhas com valores zero
Show this slideshow at the top of the page,Mostrar esta apresentação de slides no topo da página
Showing only for (if not empty),Mostrando apenas para (se não está vazio )
Sick Leave,doente Deixar
Signature,Assinatura
Signature to be appended at the end of every email,Assinatura para ser inserida no final de cada e-mail
Single,Único
Single unit of an Item.,Unidade única de um item.
Sit tight while your system is being setup. This may take a few moments.,Sente-se apertado enquanto o sistema está sendo configurado . Isso pode demorar alguns instantes.
Slideshow,Apresentação de slides
Sorry we were unable to find what you were looking for.,"Desculpe, não encontramos o que você estava procurando."
Sorry you are not permitted to view this page.,"Desculpe, você não tem permissão para visualizar esta página."
"Sorry, Serial Nos cannot be merged","Desculpe, os números de ordem não podem ser mescladas"
"Sorry, companies cannot be merged","Desculpe , as empresas não podem ser mescladas"
Sort By,Classificar por
Source,Fonte
Source File,Source File
Source Warehouse,Almoxarifado de origem
Source and target warehouse cannot be same for row {0},Fonte e armazém de destino não pode ser o mesmo para a linha {0}
Source of Funds (Liabilities),Fonte de Recursos ( Passivo)
Source warehouse is mandatory for row {0},Origem do Warehouse é obrigatória para a linha {0}
Spartan,Espartano
"Special Characters except ""-"" and ""/"" not allowed in naming series","Caracteres especiais , exceto "" - "" e ""/ "" não é permitido em série nomeando"
Special Characters not allowed in Abbreviation,Caracteres especiais não permitidos em Sigla
Special Characters not allowed in Company Name,Caracteres especiais não permitidos em Nome da Empresa
Specification Details,Detalhes da especificação
Specifications,especificações
"Specify a list of Territories, for which, this Price List is valid","Especificar uma lista de territórios, para a qual, esta lista de preços é válida"
"Specify a list of Territories, for which, this Shipping Rule is valid","Especificar uma lista de territórios, para a qual, essa regra de envio é válida"
"Specify a list of Territories, for which, this Taxes Master is valid","Especificar uma lista de territórios, para a qual, este Impostos Master é válido"
"Specify the operations, operating cost and give a unique Operation no to your operations.","Especificar as operações , custos operacionais e dar uma operação única não às suas operações."
Split Delivery Note into packages.,Dividir Guia de Remessa em pacotes.
Standard,Padrão
Standard Rate,Taxa normal
Standard Reports,Relatórios padrão
Standard contract terms for Sales or Purchase.,Termos do contrato padrão para vendas ou compra.
Start,começo
Start Date,Data de Início
Start Report For,Começar Relatório para
Start date of current invoice's period,Data de início do período de fatura atual
Start date should be less than end date for Item {0},Data de início deve ser inferior a data final para o item {0}
Start date should be less than end date.,Data de início deve ser inferior a data de término.
State,Estado
Static Parameters,Parâmetros estáticos
Status,Estado
Status must be one of {0},Estado deve ser um dos {0}
Status of {0} {1} is now {2},Estado de {0} {1} é agora {2}
Status updated to {0},Atualizou estado para {0}
Statutory info and other general information about your Supplier,Informações estatutárias e outras informações gerais sobre o seu Fornecedor
Stay Updated,Fique Atualizado
Stock,Estoque
Stock Adjustment,Banco de Ajuste
Stock Adjustment Account,Banco de Acerto de Contas
Stock Ageing,Envelhecimento do Estoque
Stock Analytics,Análise do Estoque
Stock Assets,Ativos estoque
Stock Balance,Balanço de Estoque
Stock Entries already created for Production Order ,
Stock Entry,Lançamento no Estoque
Stock Entry Detail,Detalhe do lançamento no Estoque
Stock Expenses,despesas Stock
Stock Frozen Upto,Estoque congelado até
Stock Ledger,Livro de Inventário
Stock Ledger Entry,Lançamento do Livro de Inventário
Stock Ledger entries balances updated,Banco de Ledger Entradas saldos atualizados
Stock Level,Nível de Estoque
Stock Liabilities,Passivo estoque
Stock Projected Qty,Banco Projetada Qtde
Stock Queue (FIFO),Fila do estoque (PEPS)
Stock Received But Not Billed,"Banco recebido, mas não faturados"
Stock Reconcilation Data,Banco de Dados a reconciliação
Stock Reconcilation Template,Estoque a reconciliação Template
Stock Reconciliation,Reconciliação de Estoque
"Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory.","Banco de reconciliação pode ser usado para atualizar o estoque em uma data específica , geralmente de acordo com o inventário físico ."
Stock Settings,Configurações da
Stock UOM,UDM do Estoque
Stock UOM Replace Utility,Utilitário para Substituir UDM do Estoque
Stock UOM updatd for Item {0},Updatd Banco UOM por item {0}
Stock Uom,UDM do Estoque
Stock Value,Valor do Estoque
Stock Value Difference,Banco de Valor Diferença
Stock balances updated,Banco saldos atualizados
Stock cannot be updated against Delivery Note {0},Banco não pode ser atualizado contra entrega Nota {0}
Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name',As entradas em existências existir contra armazém {0} não pode voltar a atribuir ou modificar 'Master Name'
Stop,Pare
Stop Birthday Reminders,Parar Aniversário Lembretes
Stop Material Request,Solicitação de parada de materiais
Stop users from making Leave Applications on following days.,Pare de usuários de fazer aplicações deixam nos dias seguintes.
Stop!,Pare !
Stopped,Parado
Stopped order cannot be cancelled. Unstop to cancel.,Parado ordem não pode ser cancelado. Desentupir para cancelar.
Stores,Lojas
Stub,toco
Sub Assemblies,Sub Assembléias
"Sub-currency. For e.g. ""Cent""",Sub-moeda. Por exemplo &quot;Centavo&quot;
Subcontract,Subcontratar
Subject,Assunto
Submit,Enviar
Submit Salary Slip,Enviar folha de pagamento
Submit all salary slips for the above selected criteria,Enviar todas as folhas de pagamento para os critérios acima selecionados
Submit this Production Order for further processing.,Enviar esta ordem de produção para posterior processamento.
Submitted,Enviado
Subsidiary,Subsidiário
Successful: ,Bem-sucedido:
Successfully allocated,alocados com sucesso
Suggestions,Sugestões
Sunday,Domingo
Supplier,Fornecedor
Supplier (Payable) Account,Fornecedor (pago) Conta
Supplier (vendor) name as entered in supplier master,"Nome do fornecedor (vendedor), como inscritos no cadastro de fornecedores"
Supplier Account,Fornecedor Conta
Supplier Account Head,Fornecedor Cabeça Conta
Supplier Address,Endereço do Fornecedor
Supplier Addresses and Contacts,Fornecedor Endereços e contatos
Supplier Details,Detalhes do Fornecedor
Supplier Intro,Introdução do Fornecedor
Supplier Invoice Date,Fornecedor Data Fatura
Supplier Invoice No,Fornecedor factura n
Supplier Name,Nome do Fornecedor
Supplier Naming By,Fornecedor de nomeação
Supplier Part Number,Número da peça do Fornecedor
Supplier Quotation,Cotação do Fornecedor
Supplier Quotation Item,Item da Cotação do Fornecedor
Supplier Reference,Referência do Fornecedor
Supplier Shipment Date,Fornecedor Expedição Data
Supplier Shipment No,Fornecedor Expedição Não
Supplier Type,Tipo de Fornecedor
Supplier Type / Supplier,Fornecedor Tipo / Fornecedor
Supplier Type master.,Fornecedor Tipo de mestre.
Supplier Warehouse,Almoxarifado do Fornecedor
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Fornecedor Armazém obrigatório para sub- contratados Recibo de compra
Supplier database.,Banco de dados do Fornecedor.
Supplier delivery number duplicate in {0},Número de entrega Fornecedor duplicar em {0}
Supplier master.,Fornecedor mestre.
Supplier warehouse where you have issued raw materials for sub - contracting,Almoxarifado do fornecedor onde você emitiu matérias-primas para a subcontratação
Supplier-Wise Sales Analytics,Fornecedor -wise vendas Analytics
Support,Suporte
Support Analtyics,Analtyics Suporte
Support Analytics,Análise do Suporte
Support Email,E-mail de Suporte
Support Email Settings,Suporte Configurações de e-mail
Support Password,Senha do Suporte
Support Ticket,Ticket de Suporte
Support queries from customers.,Suporte a consultas de clientes.
Switch to Website,Mude para o site
Symbol,Símbolo
Sync Support Mails,Sincronizar E-mails de Suporte
Sync with Dropbox,Sincronizar com o Dropbox
Sync with Google Drive,Sincronia com o Google Drive
System,Sistema
System Settings,Configurações do sistema
"System User (login) ID. If set, it will become default for all HR forms.","Identificação do usuário do sistema (login). Se for marcado, ele vai se tornar padrão para todos os formulários de RH."
Tags,Etiquetas
Target  Amount,Valor da meta
Target Detail,Detalhe da meta
Target Details,Detalhes da meta
Target Details1,Detalhes da meta
Target Distribution,Distribuição de metas
Target On,Alvo Em
Target Qty,Qtde. de metas
Target Warehouse,Almoxarifado de destino
Target warehouse in row {0} must be same as Production Order,Warehouse de destino na linha {0} deve ser o mesmo que ordem de produção
Target warehouse is mandatory for row {0},Destino do Warehouse é obrigatória para a linha {0}
Task,Tarefa
Task Details,Detalhes da Tarefa
Tasks,Tarefas
Tax,Imposto
Tax Amount After Discount Amount,Total de Impostos Depois Montante do Desconto
Tax Assets,Ativo Fiscal
Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items,"Categoria imposto não pode ser ' Avaliação ' ou ' Avaliação e total "", como todos os itens não são itens de estoque"
Tax Rate,Taxa de Imposto
Tax and other salary deductions.,Impostos e outras deduções salariais.
"Tax detail table fetched from item master as a string and stored in this field.
Used for Taxes and Charges",
Tax template for buying transactions.,Modelo de impostos para a compra de transações.
Tax template for selling transactions.,Modelo imposto pela venda de transações.
Taxable,Tributável
Taxes and Charges,Impostos e Encargos
Taxes and Charges Added,Impostos e Encargos Adicionados
Taxes and Charges Added (Company Currency),Impostos e taxas Adicionado (Moeda Company)
Taxes and Charges Calculation,Cálculo de Impostos e Encargos
Taxes and Charges Deducted,Impostos e Encargos Deduzidos
Taxes and Charges Deducted (Company Currency),Impostos e taxas Deduzido (Moeda Company)
Taxes and Charges Total,Total de Impostos e Encargos
Taxes and Charges Total (Company Currency),Impostos e Encargos Total (moeda da empresa)
Telephone Expenses,Despesas de telefone
Template for performance appraisals.,Modelo para avaliação de desempenho .
Template of terms or contract.,Modelo de termos ou contratos.
Temporary Account (Assets),Conta Temporária (Ativo )
Temporary Account (Liabilities),Conta temporária ( Passivo)
Temporary Accounts (Assets),Contas Transitórias (Ativo )
Temporary Accounts (Liabilities),Contas temporárias ( Passivo)
Term Details,Detalhes dos Termos
Terms,condições
Terms and Conditions,Termos e Condições
Terms and Conditions Content,Conteúdos dos Termos e Condições
Terms and Conditions Details,Detalhes dos Termos e Condições
Terms and Conditions Template,Modelo de Termos e Condições
Terms and Conditions1,Termos e Condições
Terretory,terretory
Territory,Território
Territory / Customer,Território / Cliente
Territory Manager,Gerenciador de Territórios
Territory Name,Nome do Território
Territory Target Variance Item Group-Wise,Território Alvo Variance item Group-wise
Territory Targets,Metas do Território
Test,Teste
Test Email Id,Endereço de Email de Teste
Test Runner,Test Runner
Test the Newsletter,Newsletter de Teste
The BOM which will be replaced,A LDM que será substituída
The First User: You,O primeiro usuário : Você
"The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes""",O item que representa o pacote. Este item deve ter &quot;É Item de Estoque&quot; como &quot;Não&quot; e &quot;É Item de Venda&quot; como &quot;Sim&quot;
The Organization,a Organização
"The account head under Liability, in which Profit/Loss will be booked","O chefe conta com Responsabilidade , no qual Lucro / Prejuízo será reservado"
"The date on which next invoice will be generated. It is generated on submit.
",
The date on which recurring invoice will be stop,A data em que fatura recorrente será interrompida
"The day of the month on which auto invoice will be generated e.g. 05, 28 etc ","O dia do mês em que factura automática será gerada, por exemplo 05, 28 etc"
The day(s) on which you are applying for leave are holiday. You need not apply for leave.,No dia (s) em que você está se candidatando para a licença estão de férias. Você não precisa solicitar uma licença .
The first Leave Approver in the list will be set as the default Leave Approver,O primeiro Deixe Approver na lista vai ser definido como o Leave Approver padrão
The first user will become the System Manager (you can change that later).,O primeiro usuário será o System Manager (você pode mudar isso mais tarde) .
The gross weight of the package. Usually net weight + packaging material weight. (for print),O peso bruto do pacote. Normalmente peso líquido + peso do material de embalagem. (Para impressão)
The name of your company for which you are setting up this system.,O nome da sua empresa para a qual você está configurando o sistema.
The net weight of this package. (calculated automatically as sum of net weight of items),O peso líquido do pacote. (Calculado automaticamente como soma do peso líquido dos itens)
The new BOM after replacement,A nova LDM após substituição
The rate at which Bill Currency is converted into company's base currency,A taxa na qual a moeda de faturamento é convertida na moeda base da empresa
The unique id for tracking all recurring invoices. It is generated on submit.,A ID exclusiva para acompanhar todas as facturas recorrentes. Ele é gerado em enviar.
Then By (optional),"Em seguida, por (opcional)"
There are more holidays than working days this month.,Há mais feriados do que dias úteis do mês.
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Só pode haver uma regra de envio Condição com 0 ou valor em branco para "" To Valor """
There is not enough leave balance for Leave Type {0},Não há o suficiente equilíbrio pela licença Tipo {0}
There is nothing to edit.,Não há nada a ser editado.
There was an error. One probable reason could be that you haven't saved the form. Please contact support@erpnext.com if the problem persists.,Houve um erro . Uma razão provável pode ser que você não tenha salvo o formulário. Entre em contato com support@erpnext.com se o problema persistir .
There were errors,Ocorreram erros
There were errors while sending email. Please try again.,"Ocorreram erros durante o envio de e-mail. Por favor, tente novamente."
There were errors.,Ocorreram erros .
This Currency is disabled. Enable to use in transactions,Esta moeda é desativado. Ativar para usar em transações
This Leave Application is pending approval. Only the Leave Apporver can update status.,Este pedido de férias está pendente de aprovação . Somente o Leave Apporver pode atualizar status.
This Time Log Batch has been billed.,Este lote Log O tempo tem sido anunciado.
This Time Log Batch has been cancelled.,Este lote Log Tempo foi cancelada.
This Time Log conflicts with {0},Este Log Tempo em conflito com {0}
This is PERMANENT action and you cannot undo. Continue?,Esta é uma ação PERMANENTE e não pode ser desfeita. Continuar?
This is a root account and cannot be edited.,Esta é uma conta de root e não pode ser editada.
This is a root customer group and cannot be edited.,Este é um grupo de clientes de raiz e não pode ser editada.
This is a root item group and cannot be edited.,Este é um grupo de itens de raiz e não pode ser editada.
This is a root sales person and cannot be edited.,Esta é uma pessoa de vendas de raiz e não pode ser editado .
This is a root territory and cannot be edited.,Este é um território de raiz e não pode ser editada.
This is an example website auto-generated from ERPNext,Este é um exemplo website auto- gerada a partir ERPNext
This is permanent action and you cannot undo. Continue?,Esta é uma ação PERMANENTE e não pode ser desfeita. Continuar?
This is the number of the last created transaction with this prefix,Este é o número da última transação criada com este prefixo
This will be used for setting rule in HR module,Isso será usado para a definição de regras no módulo RH
Thread HTML,Tópico HTML
Thursday,Quinta-feira
Time Log,Tempo Log
Time Log Batch,Tempo Batch Log
Time Log Batch Detail,Tempo Log Detail Batch
Time Log Batch Details,Tempo de registro de detalhes de lote
Time Log Batch {0} must be 'Submitted',Tempo Log Batch {0} deve ser ' enviado '
Time Log for tasks.,Tempo de registro para as tarefas.
Time Log {0} must be 'Submitted',Tempo Log {0} deve ser ' enviado '
Time Zone,Fuso horário
Time Zones,Fusos horários
Time and Budget,Tempo e Orçamento
Time at which items were delivered from warehouse,Horário em que os itens foram entregues do almoxarifado
Time at which materials were received,Horário em que os materiais foram recebidos
Title,Título
Titles for print templates e.g. Proforma Invoice.,"Títulos para modelos de impressão , por exemplo, Proforma Invoice ."
To,Para
To Currency,A Moeda
To Date,Até a Data
To Date should be same as From Date for Half Day leave,Para data deve ser mesmo a partir da data de licença Meio Dia
To Discuss,Para Discutir
To Do List,Para fazer a lista
To Package No.,Para Pacote Nº.
To Produce,para Produzir
To Time,Para Tempo
To Value,Ao Valor
To Warehouse,Para Almoxarifado
"To add child nodes, explore tree and click on the node under which you want to add more nodes.","Para adicionar nós filho, explorar árvore e clique no nó em que você deseja adicionar mais nós."
"To assign this issue, use the ""Assign"" button in the sidebar.","Para atribuir esse problema a alguém, use o botão &quot;Atribuir&quot; na barra lateral."
To create a Bank Account:,Para criar uma conta bancária :
To create a Tax Account:,Para criar uma conta de Imposto:
"To create an Account Head under a different company, select the company and save customer.","Para criar uma Conta, sob uma empresa diferente, selecione a empresa e salve o Cliente."
To date cannot be before from date,Até o momento não pode ser antes a partir da data
To enable <b>Point of Sale</b> features,Para habilitar as características de <b>Ponto de Venda</b>
To enable <b>Point of Sale</b> view,Para habilitar <b> Point of Sale </ b> vista
To get Item Group in details table,Para obter Grupo de Itens na tabela de detalhes
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Para incluir impostos na linha {0} na taxa de Item, os impostos em linhas {1} também deve ser incluída"
"To merge, following properties must be same for both items","Para mesclar , seguintes propriedades devem ser os mesmos para ambos os itens"
"To report an issue, go to ",
"To run a test add the module name in the route after '{0}'. For example, {1}","Para executar um teste de adicionar o nome do módulo na rota depois de '{0}'. Por exemplo , {1}"
"To set this Fiscal Year as Default, click on 'Set as Default'","Para definir esse Ano Fiscal como padrão , clique em ' Definir como padrão '"
To track any installation or commissioning related work after sales,Para rastrear qualquer trabalho relacionado à instalação ou colocação em funcionamento após a venda
"To track brand name in the following documents Delivery Note, Opportunity, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","Para acompanhar marca nos seguintes documentos Nota de Entrega , Oportunidade, Solicitação Material, Item, Ordem de Compra, Compra Vale , Comprador recibo , cotação, nota fiscal de venda , Vendas BOM, Pedido de Vendas , Serial Não"
To track item in sales and purchase documents based on their serial nos. This is can also used to track warranty details of the product.,Para acompanhar o item em documentos de vendas e de compras com base em seus números de série. Isso também pode ser usado para rastrear detalhes sobre a garantia do produto.
To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>,"Para controlar os itens de vendas e documentos de compra pelo nº do lote<br> <b>Por Ex.: Indústria Química, etc</b>"
To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,Para rastrear itens usando código de barras. Você será capaz de inserir itens na Guia de Remessa e Nota Fiscal de Venda através do escaneamento do código de barras do item.
Tools,Ferramentas
Total,Total
Total Advance,Antecipação Total
Total Amount,Valor Total
Total Amount To Pay,Valor total a pagar
Total Amount in Words,Valor Total por extenso
Total Billing This Year: ,Faturamento total deste ano:
Total Claimed Amount,Montante Total Requerido
Total Commission,Total da Comissão
Total Cost,Custo Total
Total Credit,Crédito Total
Total Debit,Débito Total
Total Deduction,Dedução Total
Total Earning,Total de Ganhos
Total Experience,Experiência total
Total Hours,Total de Horas
Total Hours (Expected),Total de Horas (Esperado)
Total Invoiced Amount,Valor Total Faturado
Total Leave Days,Total de dias de licença
Total Leaves Allocated,Total de licenças alocadas
Total Message(s),Mensagem total ( s )
Total Operating Cost,Custo de Operacional Total
Total Points,Total de pontos
Total Raw Material Cost,Custo Total das matérias-primas
Total Sanctioned Amount,Valor Total Sancionado
Total Score (Out of 5),Pontuação total (sobre 5)
Total Tax (Company Currency),Imposto Total (moeda da empresa)
Total Taxes and Charges,Total de Impostos e Encargos
Total Taxes and Charges (Company Currency),Total de Impostos e Taxas (moeda da empresa)
Total Words,Total de Palavras
Total Working Days In The Month,Total de dias úteis do mês
Total allocated percentage for sales team should be 100,Porcentagem total alocado para a equipe de vendas deve ser de 100
Total amount of invoices received from suppliers during the digest period,O valor total das faturas recebidas de fornecedores durante o período de digestão
Total amount of invoices sent to the customer during the digest period,O valor total das faturas enviadas para o cliente durante o período de digestão
Total cannot be zero,Total não pode ser zero
Total in words,Total por extenso
Total points for all goals should be 100. It is {0},Total de pontos para todos os objetivos devem ser 100. Ele é {0}
Total weightage assigned should be 100%. It is {0},Weightage total atribuído deve ser de 100 %. É {0}
Totals,Totais
Track this Delivery Note against any Project,Acompanhar este Guia de Remessa contra qualquer projeto
Track this Sales Order against any Project,Acompanhar este Ordem de Venda contra qualquer projeto
Transaction,Transação
Transaction Date,Data da Transação
Transaction not allowed against stopped Production Order {0},Transação não é permitido contra parou Ordem de produção {0}
Transfer,Transferir
Transfer Material,transferência de Material
Transfer Raw Materials,Transferência de Matérias-Primas
Transferred Qty,transferido Qtde
Transporter Info,Informações da Transportadora
Transporter Name,Nome da Transportadora
Transporter lorry number,Número do caminhão da Transportadora
Trash Reason,Razão de pôr no lixo
Travel,viagem
Travel Expenses,Despesas de viagem
Tree Type,Tipo de árvore
Tree of Item Groups.,Árvore de Grupos de itens .
Tree of finanial Cost Centers.,Árvore de Centros de custo finanial .
Tree of finanial accounts.,Árvore de contas finanial .
Trial Balance,Balancete
Tuesday,Terça-feira
Type,Tipo
Type of document to rename.,Tipo de documento a ser renomeado.
"Type of leaves like casual, sick etc.","Tipo de licenças como casual, doença, etc."
Types of Expense Claim.,Tipos de reembolso de despesas.
Types of activities for Time Sheets,Tipos de atividades para quadro de horários
"Types of employment (permanent, contract, intern etc.).","Tipos de emprego ( permanente , contrato, etc estagiário ) ."
UOM Conversion Detail,Detalhe da Conversão de UDM
UOM Conversion Details,Detalhes da Conversão de UDM
UOM Conversion Factor,Fator de Conversão da UDM
UOM Conversion factor is required in row {0},UOM fator de conversão é necessária na linha {0}
UOM Name,Nome da UDM
UOM coversion factor required for UOM {0} in Item {1},Fator coversion UOM necessário para UOM {0} no item {1}
Unable to load: {0},Incapaz de carga : {0}
Under AMC,Sob CAM
Under Graduate,Em Graduação
Under Warranty,Sob Garantia
Unit,unidade
Unit of Measure,Unidade de Medida
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unidade de Medida {0} foi inserido mais de uma vez na Tabela de Conversão de Fator
"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Unidade de medida do item (por exemplo: kg, unidade, nº, par)."
Units/Hour,Unidades/hora
Units/Shifts,Unidades/Turnos
Unknown Column: {0},Coluna desconhecido: {0}
Unknown Print Format: {0},Unknown Formato de Impressão : {0}
Unmatched Amount,Quantidade incomparável
Unpaid,Não remunerado
Unread Messages,Mensagens não lidas
Unscheduled,Sem agendamento
Unsecured Loans,Empréstimos não garantidos
Unstop,desentupir
Unstop Material Request,Pedido Unstop material
Unstop Purchase Order,Unstop Ordem de Compra
Unsubscribed,Inscrição Cancelada
Update,Atualizar
Update Clearance Date,Atualizar Data Liquidação
Update Cost,Atualize o custo
Update Finished Goods,Produtos acabados Atualização
Update Landed Cost,Atualização Landed Cost
Update Series,Atualizar Séries
Update Series Number,Atualizar Números de Séries
Update Stock,Atualizar Estoque
"Update allocated amount in the above table and then click ""Allocate"" button",Atualize o montante atribuído na tabela acima e clique no botão &quot;Alocar&quot;
Update bank payment dates with journals.,Atualizar datas de pagamento bancário com livro Diário.
Update clearance date of Journal Entries marked as 'Bank Vouchers',Data de apuramento Atualização de entradas de diário marcado como ' Banco ' Vouchers
Updated,Atualizado
Updated Birthday Reminders,Atualizado Aniversário Lembretes
Upload,carregar
Upload Attachment,Carregar anexos
Upload Attendance,Envie Atendimento
Upload Backups to Dropbox,Carregar Backups para Dropbox
Upload Backups to Google Drive,Carregar Backups para Google Drive
Upload HTML,Carregar HTML
Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,Enviar um arquivo CSV com duas colunas:. O nome antigo eo novo nome. No máximo 500 linhas.
Upload a file,Carregar um arquivo
Upload attendance from a .csv file,Carregar comparecimento a partir de um arquivo CSV.
Upload stock balance via csv.,Carregar saldo de estoque a partir de um arquivo CSV.
Upload your letter head and logo - you can edit them later.,Envie seu cabeça carta e logo - você pode editá-las mais tarde.
Uploading...,Upload ...
Upper Income,Renda superior
Urgent,Urgente
Use Multi-Level BOM,Utilize LDM de Vários Níveis
Use SSL,Use SSL
User,Usuário
User ID,ID de Usuário
User ID not set for Employee {0},ID do usuário não definido para Employee {0}
User Name,Nome de Usuário
User Name or Support Password missing. Please enter and try again.,Nome de usuário ou senha Suporte faltando. Por favor entre e tente novamente.
User Permission Restrictions,Restrições a permissão do usuário
User Remark,Observação do Usuário
User Remark will be added to Auto Remark,Observação do usuário será adicionado à observação automática
User Remarks is mandatory,Usuário Observações é obrigatório
User Restrictions,Restrições de Usuário
User Specific,Especificas do usuário
User must always select,O Usuário deve sempre selecionar
User {0} is already assigned to Employee {1},Usuário {0} já está atribuído a Employee {1}
User {0} is disabled,Usuário {0} está desativado
Username,Nome do Usuário
Users with this role are allowed to create / modify accounting entry before frozen date,Os usuários com essa função tem permissão para criar / modificar registro contábil antes da data congelado
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Os usuários com esta função são autorizados a estabelecer contas congeladas e criar / modificar lançamentos contábeis contra contas congeladas
Utilities,Utilitários
Utility Expenses,Despesas de Utilidade
Valid For Territories,Válido para os territórios
Valid From,Válido de
Valid Upto,Válido até
Valid for Territories,Válido para Territórios
Validate,Validar
Valuation,Avaliação
Valuation Method,Método de Avaliação
Valuation Rate,Taxa de Avaliação
Valuation Rate required for Item {0},Valorização Taxa exigida para item {0}
Valuation and Total,Avaliação e Total
Value,Valor
Value or Qty,Valor ou Qt
Vehicle Dispatch Date,Veículo Despacho Data
Vehicle No,No veículo
Verified By,Verificado Por
View Ledger,Ver Ledger
View Now,Ver Agora
Visit report for maintenance call.,Relatório da visita da chamada de manutenção.
Voucher #,vale #
Voucher Detail No,Nº do Detalhe do comprovante
Voucher ID,ID do Comprovante
Voucher No,Nº do comprovante
Voucher Type,Tipo de comprovante
Voucher Type and Date,Tipo Vale e Data
Walk In,Walk In
Warehouse,armazém
Warehouse Contact Info,Informações de Contato do Almoxarifado
Warehouse Detail,Detalhe do Almoxarifado
Warehouse Name,Nome do Almoxarifado
Warehouse User,Usuário Armazém
Warehouse and Reference,Warehouse and Reference
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Warehouse não pode ser excluído como existe entrada de material de contabilidade para este armazém.
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Armazém só pode ser alterado através da entrada / entrega Nota / Recibo de compra
Warehouse cannot be changed for Serial No.,Armazém não pode ser alterado para Serial No.
Warehouse is mandatory for stock Item {0} in row {1},Armazém é obrigatória para stock o item {0} na linha {1}
Warehouse is missing in Purchase Order,Armazém está faltando na Ordem de Compra
Warehouse required for stock Item {0},Armazém necessário para stock o item {0}
Warehouse required in POS Setting,Armazém exigido em POS Setting
Warehouse where you are maintaining stock of rejected items,Almoxarifado onde você está mantendo estoque de itens rejeitados
Warehouse {0} can not be deleted as quantity exists for Item {1},Armazém {0} não pode ser excluído como existe quantidade para item {1}
Warehouse {0} does not belong to company {1},Armazém {0} não pertence à empresa {1}
Warehouse {0} does not exist,Armazém {0} não existe
Warehouse-Wise Stock Balance,Warehouse-sábio Stock Balance
Warehouse-wise Item Reorder,Armazém-sábio item Reordenar
Warehouses,Armazéns
Warehouses.,Armazéns .
Warn,Avisar
Warning: Leave application contains following block dates,Aviso: pedido de férias contém as datas de blocos seguintes
Warning: Material Requested Qty is less than Minimum Order Qty,Aviso: material solicitado Qt é menor do que de ordem mínima Qtde
Warning: Sales Order {0} already exists against same Purchase Order number,Aviso: Pedido de Vendas {0} já existe contra mesmo número de ordem de compra
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Aviso : O sistema não irá verificar superfaturamento desde montante para item {0} em {1} é zero
Warranty / AMC Details,Garantia / Detalhes do CAM
Warranty / AMC Status,Garantia / Estado do CAM
Warranty Expiry Date,Data de validade da garantia
Warranty Period (Days),Período de Garantia (Dias)
Warranty Period (in days),Período de Garantia (em dias)
Website,Site
Website Description,Descrição do site
Website Item Group,Grupo de Itens do site
Website Item Groups,Grupos de Itens do site
Website Settings,Configurações do site
Website Warehouse,Almoxarifado do site
Wednesday,Quarta-feira
Weekly,Semanal
Weekly Off,Descanso semanal
Weight UOM,UDM de Peso
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Peso é mencionado, \ nPor favor mencionar "" Peso UOM "" muito"
Weightage,Peso
Weightage (%),Peso (%)
Welcome,bem-vindo
Welcome to ERPNext. Over the next few minutes we will help you setup your ERPNext account. Try and fill in as much information as you have even if it takes a bit longer. It will save you a lot of time later. Good Luck!,"Bem-vindo ao ERPNext . Nos próximos minutos, vamos ajudá-lo a configurar sua conta ERPNext . Experimente e preencha o máximo de informações que você tem mesmo que demore um pouco mais. Ela vai lhe poupar muito tempo mais tarde. Boa Sorte!"
Welcome to ERPNext. Please select your language to begin the Setup Wizard.,"Bem-vindo ao ERPNext . Por favor, selecione o idioma para iniciar o Assistente de Configuração."
What does it do?,O que ele faz ?
"When any of the checked transactions are ""Submitted"", an email pop-up automatically opened to send an email to the associated ""Contact"" in that transaction, with the transaction as an attachment. The user may or may not send the email.","Quando qualquer uma das operações marcadas são &quot;Enviadas&quot;, um pop-up abre automaticamente para enviar um e-mail para o &quot;Contato&quot; associado a transação, com a transação como um anexo. O usuário pode ou não enviar o e-mail."
"When submitted, the system creates difference entries to set the given stock and valuation on this date.","Quando submetidos , o sistema cria entradas de diferença para definir o estoque e valorização dada nesta data ."
Where items are stored.,Onde os itens são armazenados.
Where manufacturing operations are carried out.,Onde as operações de fabricação são realizadas.
Widowed,Viúvo(a)
Will be calculated automatically when you enter the details,Será calculado automaticamente quando você digitar os detalhes
Will be updated after Sales Invoice is Submitted.,Será atualizado após a factura de venda é submetido.
Will be updated when batched.,Será atualizado quando agrupadas.
Will be updated when billed.,Será atualizado quando faturado.
With Groups,com Grupos
With Ledgers,com Ledgers
With Operations,Com Operações
With period closing entry,Com a entrada de encerramento do período
Work Details,Detalhes da Obra
Work Done,Trabalho feito
Work In Progress,Trabalho em andamento
Work-in-Progress Warehouse,Armazém Work-in-Progress
Work-in-Progress Warehouse is required before Submit,Trabalho em andamento Warehouse é necessário antes de Enviar
Workflow will start after saving.,Fluxo de trabalho será iníciado após salvar.
Working,Trabalhando
Workstation,Estação de Trabalho
Workstation Name,Nome da Estação de Trabalho
Write Off Account,Eliminar Conta
Write Off Amount,Eliminar Valor
Write Off Amount <=,Eliminar Valor &lt;=
Write Off Based On,Eliminar Baseado em
Write Off Cost Center,Eliminar Centro de Custos
Write Off Outstanding Amount,Eliminar saldo devedor
Write Off Voucher,Eliminar comprovante
Wrong Template: Unable to find head row.,Template errado: Não é possível encontrar linha cabeça.
Year,Ano
Year Closed,Ano Encerrado
Year End Date,Data de Fim de Ano
Year Name,Nome do Ano
Year Start Date,Data de início do ano
Year Start Date and Year End Date are already set in Fiscal Year {0},Ano Data de Início e Fim de Ano Data já estão definidos no ano fiscal de {0}
Year Start Date and Year End Date are not within Fiscal Year.,Ano Data de Início e Fim de Ano Data não estão dentro de Ano Fiscal.
Year Start Date should not be greater than Year End Date,Ano Data de início não deve ser maior do que o Fim de Ano Data
Year of Passing,Ano de Passagem
Yearly,Anual
Yes,Sim
Yesterday,Ontem
You are not allowed to create / edit reports,Você não tem permissão para criar / editar relatórios
You are not allowed to create {0},Você não tem permissão para criar {0}
You are not allowed to export this report,Você não tem permissão para exportar este relatório
You are not allowed to print this document,Você não tem permissão para imprimir este documento
You are not allowed to send emails related to this document,Você não tem permissão para enviar e-mails relacionados a este documento
You are not authorized to add or update entries before {0},Você não está autorizado para adicionar ou atualizar entradas antes de {0}
You are not authorized to set Frozen value,Você não está autorizado para definir o valor congelado
You are the Expense Approver for this record. Please Update the 'Status' and Save,Você é o aprovador de despesa para esse registro. Atualize o 'Estado' e salvar
You are the Leave Approver for this record. Please Update the 'Status' and Save,Você é o Leave aprovador para esse registro. Atualize o 'Estado' e salvar
You can enter any date manually,Você pode entrar qualquer data manualmente
You can enter the minimum quantity of this item to be ordered.,Você pode inserir a quantidade mínima deste item a ser encomendada.
You can not assign itself as parent account,Você não pode atribuir -se como conta principal
You can not change rate if BOM mentioned agianst any item,Você não pode alterar a taxa de se BOM mencionado agianst qualquer item
You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Você não pode entrar tanto de entrega Nota Não e Vendas fatura Não. Por favor entrar em qualquer um.
You can not enter current voucher in 'Against Journal Voucher' column,Você não pode entrar comprovante atual em ' Contra Jornal Vale ' coluna
You can set Default Bank Account in Company master,Você pode definir padrão Conta Bancária no mestre Empresa
You can start by selecting backup frequency and granting access for sync,Você pode começar por selecionar a freqüência de backup e concessão de acesso para sincronização
You can submit this Stock Reconciliation.,Você pode enviar este Stock Reconciliação.
You can update either Quantity or Valuation Rate or both.,Você pode atualizar ou Quantidade ou Taxa de Valorização ou ambos.
You cannot credit and debit same account at the same time.,Você não pode de crédito e débito mesma conta ao mesmo tempo .
You have entered duplicate items. Please rectify and try again.,"Você digitou itens duplicados . Por favor, corrigir e tentar novamente."
You may need to update: {0},Você pode precisar atualizar : {0}
You must Save the form before proceeding,Você deve salvar o formulário antes de continuar
Your Customer's TAX registration numbers (if applicable) or any general information,Os números de inscrição fiscal do seu Cliente (se aplicável) ou qualquer outra informação geral
Your Customers,seus Clientes
Your Products or Services,Seus produtos ou serviços
Your Suppliers,seus Fornecedores
"Your download is being built, this may take a few moments...","O seu download está sendo construído, isso pode demorar alguns instantes ..."
Your email address,Seu endereço de email
Your financial year begins on,O ano financeiro tem início a
Your financial year ends on,Seu exercício termina em
Your sales person who will contact the customer in future,Seu vendedor que entrará em contato com o cliente no futuro
Your sales person will get a reminder on this date to contact the customer,Seu vendedor receberá um lembrete nesta data para contatar o cliente
Your setup is complete. Refreshing...,Sua configuração está concluída. Atualizando ...
Your support email id - must be a valid email - this is where your emails will come!,O seu E-mail de suporte - deve ser um e-mail válido - este é o lugar de onde seus e-mails virão!
`Freeze Stocks Older Than` should be smaller than %d days.,` Stocks Congelar Mais velho do que ` deve ser menor que %d dias .
and,e
are not allowed.,não são permitidos.
assigned by,atribuído pela
comment,comentário
comments,comentários
"e.g. ""Build tools for builders""","por exemplo ""Construa ferramentas para os construtores """
"e.g. ""MC""","por exemplo "" MC """
"e.g. ""My Company LLC""","por exemplo "" My Company LLC"""
e.g. 5,por exemplo 5
"e.g. Bank, Cash, Credit Card","por exemplo Banco, Dinheiro, Cartão de Crédito"
"e.g. Kg, Unit, Nos, m","por exemplo, kg, Unidade, nº, m"
e.g. VAT,por exemplo IVA
eg. Cheque Number,"por exemplo, Número do cheque"
example: Next Day Shipping,exemplo: Next Day envio
found,encontrado
is not allowed.,não é permitido.
lft,esq.
old_parent,old_parent
or,ou
rgt,dir.
to,para
values and dates,valores e datas
website page link,link da página do site
{0} '{1}' not in Fiscal Year {2},{0} '{1}' não no ano fiscal de {2}
{0} Credit limit {0} crossed,{0} Limite de crédito {0} atravessou
{0} Serial Numbers required for Item {0}. Only {0} provided.,{0} números de série necessários para item {0}. Apenas {0} fornecida .
{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} orçamento para conta {1} contra Centro de Custo {2} excederá por {3}
{0} created,{0} criado
{0} does not belong to Company {1},{0} não pertence à empresa {1}
{0} entered twice in Item Tax,{0} entrou duas vezes em Imposto item
{0} is an invalid email address in 'Notification Email Address',{0} é um endereço de e-mail inválido em ' Notificação de E-mail '
{0} is mandatory,{0} é obrigatório
{0} is mandatory for Item {1},{0} é obrigatório para item {1}
{0} is not a stock Item,{0} não é um item de estoque
{0} is not a valid Batch Number for Item {1},{0} não é um número de lote válido por item {1}
{0} is not a valid Leave Approver,{0} não é uma licença válida Aprovador
{0} is not a valid email id,{0} não é um ID de e-mail válido
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,"{0} é agora o padrão Ano Fiscal. Por favor, atualize seu navegador para que a alteração tenha efeito."
{0} is required,{0} é necessária
{0} must be a Purchased or Sub-Contracted Item in row {1},{0} deve ser um item comprado ou subcontratadas na linha {1}
{0} must be less than or equal to {1},{0} tem de ser inferior ou igual a {1}
{0} must have role 'Leave Approver',{0} deve ter papel ' Leave aprovador '
{0} valid serial nos for Item {1},{0} N º s de série válido para o item {1}
{0} {1} against Bill {2} dated {3},{0} {1} contra Bill {2} {3} datado
{0} {1} against Invoice {1},{0} {1} contra Invoice {1}
{0} {1} has already been submitted,{0} {1} já foi apresentado
{0} {1} has been modified. Please Refresh,{0} {1} foi modificado . Refresca
{0} {1} has been modified. Please refresh,{0} {1} foi modificado . Refresca
{0} {1} has been modified. Please refresh.,"{0} {1} foi modificado . Por favor, atualize ."
{0} {1} is not submitted,{0} {1} não for apresentado
{0} {1} must be submitted,{0} {1} deve ser apresentado
{0} {1} not in any Fiscal Year,{0} {1} não em qualquer ano fiscal
{0} {1} status is 'Stopped',{0} {1} status é ' parado '
{0} {1} status is Stopped,{0} {1} status é parado
{0} {1} status is Unstopped,{0} {1} status é abrirão
