 (Half Day),(Meio Dia)
 against sales order,contra a ordem de venda
 against same operation,contra a mesma operação
 already marked,já marcada
 and year: ,e ano:
 as it is stock Item or packing item,como é o estoque do item ou item de embalagem
 at warehouse: ,em armazém:
 by Role ,por função
 can not be made.,não podem ser feitas.
 can not be marked as a ledger as it has existing child,"não pode ser marcado como um livro, pois tem criança existente"
 cannot be 0,não pode ser 0
 cannot be deleted.,não pode ser excluído.
 does not belong to the company,não pertence à empresa
 has already been submitted.,já foi apresentado.
 has been freezed. ,foi congelado.
 has been freezed. \				Only Accounts Manager can do transaction against this account,foi congelado. \ Apenas Gerente de Contas pode fazer transação contra essa conta
" is less than equals to zero in the system, \						valuation rate is mandatory for this item","é menor do que é igual a zero no sistema, \ taxa de avaliação é obrigatória para este item"
 is mandatory,é obrigatória
 is mandatory for GL Entry,é obrigatória para a entrada GL
 is not a ledger,não é um livro
 is not active,não está ativo
 is not set,não está definido
 is now the default Fiscal Year. \			Please refresh your browser for the change to take effect.,"é agora o padrão de Ano Fiscal. \ Por favor, atualize seu navegador para que a alteração tenha efeito."
 is present in one or many Active BOMs,está presente em uma ou várias BOMs ativos
 not active or does not exists in the system,não está ativo ou não existe no sistema
 not submitted,não apresentou
 or the BOM is cancelled or inactive,ou o BOM é cancelado ou inativo
 should be 'Yes'. As Item: ,deve ser &quot;sim&quot;. Como item:
 should be same as that in ,deve ser o mesmo que na
 was on leave on ,estava de licença em
 will be ,será
 will be over-billed against mentioned ,será super-faturados contra mencionada
 will become ,ficará
"""Company History""",&quot;História da Companhia&quot;
"""Team Members"" or ""Management""",&quot;Membros da Equipe&quot; ou &quot;gerenciamento&quot;
%  Delivered,Entregue%
% Amount Billed,Valor% faturado
% Billed,Anunciado%
% Completed,% Concluído
% 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 faturado contra esta Ordem de Vendas
% of materials delivered against this Delivery Note,% Dos materiais entregues contra esta Nota de Entrega
% of materials delivered against this Sales Order,% Dos materiais entregues contra esta Ordem de Vendas
% of materials ordered against this Material Request,% De materiais ordenou contra este pedido se
% of materials received against this Purchase Order,% Do material recebido contra esta Ordem de Compra
"' can not be managed using Stock Reconciliation.\					You can add/delete Serial No directly, \					to modify stock of this item.","&#39;Não pode ser gerido através da Reconciliação. \ Você pode adicionar / excluir Serial Não diretamente, \ para modificar o balanço deste item."
' in Company: ,&#39;Na empresa:
'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;
* Will be calculated in the transaction.,* Será calculado na transação.
"**Budget Distribution** helps you distribute your budget across months if you have seasonality in your business.To distribute a budget using this distribution, set this **Budget Distribution** in the **Cost Center**","Distribuição ** ** Orçamento ajuda a distribuir o seu orçamento através meses se tiver sazonalidade na sua business.To distribuir um orçamento usando essa distribuição, definir esta distribuição do orçamento ** ** ** no Centro de Custo **"
**Currency** Master,Hoje ** ** Mestre
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,Ano Fiscal ** ** representa um Exercício. Todos os lançamentos contábeis e outras transações importantes são monitorados contra ** Ano Fiscal **.
. Outstanding cannot be less than zero. \				 	Please match exact outstanding.,. Destacável não pode ser inferior a zero. \ Por favor correspondência exata em circulação.
. Please set status of the employee as 'Left',". Por favor, definir o status do funcionário como &#39;esquerda&#39;"
. You can not mark his attendance as 'Present',. Você não pode marcar sua presença como &quot;presente&quot;
"000 is black, fff is white","000 é preto, é branco fff"
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,"1 Moeda = [?] FractionFor por exemplo, 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 cliente código do item sábio e para torná-los pesquisáveis ​​com base em seu código usar esta opção
12px,12px
13px,13px
14px,14px
15px,15px
16px,16px
2 days ago,Há 2 dias
: Duplicate row from same ,: Duplicar linha do mesmo
: It is linked to other active BOM(s),: Está ligado ao BOM ativa outro (s)
: Mandatory for a Recurring Invoice.,: Obrigatório para uma factura Recorrente.
"<a href=""#!Sales Browser/Customer Group"">To manage Customer Groups, click here</a>","<a href=""#!Sales Browser/Customer Group"">Para gerenciar grupos de clientes, clique aqui</a>"
"<a href=""#!Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#!Sales Browser/Item Group"">Gerenciar Grupos de itens</a>"
"<a href=""#!Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#!Sales Browser/Territory"">Para gerenciar Território, clique aqui</a>"
"<a href=""#Sales Browser/Customer Group"">Manage Customer Groups</a>","<a href=""#Sales Browser/Customer Group"">Gerenciar grupos de clientes</a>"
"<a href=""#Sales Browser/Customer Group"">To manage Territory, click here</a>","<a href=""#Sales Browser/Customer Group"">Para gerenciar Território, clique aqui</a>"
"<a href=""#Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#Sales Browser/Item Group"">Gerenciar Grupos de itens</a>"
"<a href=""#Sales Browser/Territory"">Territory</a>","<a href=""#Sales Browser/Territory"">Território</a>"
"<a href=""#Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#Sales Browser/Territory"">Para gerenciar Território, clique aqui</a>"
"<a onclick=""msgprint('<ol>\<li><b>field:[fieldname]</b> - By Field\<li><b>naming_series:</b> - By Naming Series (field called naming_series must be present\<li><b>eval:[expression]</b> - Evaluate an expression in python (self is doc)\<li><b>Prompt</b> - Prompt user for a name\<li><b>[series]</b> - Series by prefix (separated by a dot); for example PRE.#####\</ol>')"">Naming Options</a>","<a onclick=""msgprint('<ol>\<li><b>field:[fieldname]</b> - By Field\<li><b>naming_series:</b> - By Naming Series (field called naming_series must be present\<li><b>eval:[expression]</b> - Evaluate an expression in python (self is doc)\<li><b>Prompt</b> - Prompt user for a name\<li><b>[series]</b> - Series by prefix (separated by a dot); for example PRE.#####\</ol>')"">Opções de nomeação</a>"
<b>Cancel</b> allows you change Submitted documents by cancelling them and amending them.,<b>Cancelar</b> permite alterar documentos apresentados por cancelá-los e altera-los.
"<span class=""sys_manager"">To setup, please go to Setup > Naming Series</span>","<span class=""sys_manager"">Para configurar, por favor, vá para Configuração&gt; Série Nomeando</span>"
A Customer exists with same name,Um cliente existe com mesmo nome
A Lead with this email id should exist,Um chumbo com esse ID de e-mail deve existir
"A Product or a Service that is bought, sold or kept in stock.","Um produto ou um serviço que é comprado, vendido ou mantidos em estoque."
A Supplier exists with same name,Um Fornecedor existe com mesmo nome
A condition for a Shipping Rule,A condição para uma regra de envio
A logical Warehouse against which stock entries are made.,Um armazém lógico contra o qual as entradas de ações são feitas.
A new popup will open that will ask you to select further conditions.,Um pop-up será aberto novo que vai pedir para você selecionar outras condições.
A symbol for this currency. For e.g. $,Um símbolo para esta moeda. Por exemplo: $
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Um distribuidor de terceiros revendedor / / comissão do agente de afiliados / / revendedor que vende os produtos para empresas de uma comissão.
A user can have multiple values for a property.,Um usuário pode ter vários valores para uma propriedade.
A+,A +
A-,A-
AB+,AB +
AB-,AB-
AMC Expiry Date,AMC Data de Validade
ATT,ATT
Abbr,Abbr
About,Sobre
About Us Settings,Quem Somos Configurações
About Us Team Member,Quem Somos Membro da Equipe
Above Value,Acima de Valor
Absent,Ausente
Acceptance Criteria,Critérios de Aceitação
Accepted,Aceito
Accepted Quantity,Quantidade Aceito
Accepted Warehouse,Armazém Aceito
Account,Conta
Account Balance,Saldo em Conta
Account Details,Detalhes da conta
Account Head,Chefe conta
Account Id,Id da conta
Account Name,Nome da conta
Account Type,Tipo de conta
Account for this ,Conta para isso
Accounting,Contabilidade
Accounting Year.,Ano de contabilidade.
"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 contábeis jornal.
Accounts,Contas
Accounts Frozen Upto,Contas congeladas Upto
Accounts Payable,Contas a Pagar
Accounts Receivable,Contas a receber
Accounts Settings,Configurações de contas
Action,Ação
Active,Ativo
Active: Will extract emails from ,Ativo: Será que extrair e-mails a partir de
Activity,Atividade
Activity Log,Registro de Atividade
Activity Type,Tipo de 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 (a origem / destino)
Actual Qty After Transaction,Qtde real após a transação
Actual Quantity,Quantidade real
Actual Start Date,Data de início real
Add,Adicionar
Add / Edit Taxes and Charges,Adicionar / Editar Impostos e Taxas
Add A New Rule,Adicionar uma nova regra
Add A Property,Adicione uma propriedade
Add Attachments,Adicionar anexos
Add Bookmark,Adicionar marcadores
Add CSS,Adicionar CSS
Add Column,Adicionar coluna
Add Comment,Adicionar comentário
Add Google Analytics ID: eg. UA-89XXX57-1. Please search help on Google Analytics for more information.,"Adicionar Google Analytics ID: por exemplo. UA-89XXX57-1. Por favor, procure ajuda no Google Analytics para obter mais informações."
Add Message,Adicionar mensagem
Add New Permission Rule,Adicionar regra nova permissão
Add Reply,Adicione Responder
Add Terms and Conditions for the Material Request. You can also prepare a Terms and Conditions Master and use the Template,Adicione Termos e Condições para a Solicitação de Materiais. Você também pode preparar um Termos e Condições dominar e utilizar o modelo
Add Terms and Conditions for the Purchase Receipt. You can also prepare a Terms and Conditions Master and use the Template.,Adicione Termos e Condições para o recibo de compra. Você também pode preparar um Termos e Condições mestre e usar o modelo.
"Add Terms and Conditions for the Quotation like Payment Terms, Validity of Offer etc. You can also prepare a Terms and Conditions Master and use the Template","Adicione Termos e Condições para a cotação como Condições de pagamento, validade de oferta etc Você também pode preparar um Termos e Condições mestre e usar o modelo"
Add Total Row,Adicionar Linha de Total
Add a banner to the site. (small banners are usually good),Adicionar um banner para o site. (Pequenos banners são geralmente boas)
Add attachment,Adicionar anexo
Add code as &lt;script&gt;,Adicionar código como &lt;script&gt;
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 the name of <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> e.g. ""Open Sans""","Adicione o nome do <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> por exemplo, &quot;Sans Abertas&quot;"
Add to To Do,Adicionar ao que fazer
Add to To Do List of,Adicionar ao fazer a lista de
Add/Remove Recipients,Adicionar / Remover Destinatários
Additional Info,Informações Adicionais
Address,Endereço
Address & Contact,Address &amp; Contact
Address & Contacts,Endereço e contatos
Address Desc,Endereço Descr
Address Details,Detalhes de endereço
Address HTML,Abordar HTML
Address Line 1,Endereço Linha 1
Address Line 2,Endereço Linha 2
Address Title,Título endereço
Address Type,Tipo de endereço
Address and other legal information you may want to put in the footer.,Endereço e informações jurídicas outro que você pode querer colocar no rodapé.
Address to be displayed on the Contact Page,O endereço deve ser exibida na página de contato
Adds a custom field to a DocType,Adiciona um campo personalizado para um DocType
Adds a custom script (client or server) to a DocType,Adiciona um script personalizado (cliente ou servidor) para um DocType
Advance Amount,Quantidade antecedência
Advance amount,Valor do adiantamento
Advanced Scripting,Script Avançadas
Advanced Settings,Configurações avançadas
Advances,Avanços
Advertisement,Anúncio
After Sale Installations,Após instalações Venda
Against,Contra
Against Account,Contra Conta
Against Docname,Contra docName
Against Doctype,Contra Doctype
Against Document Date,Contra Data do documento
Against Document Detail No,Contra Detalhe documento n
Against Document No,Contra documento n
Against Expense Account,Contra a conta de despesas
Against Income Account,Contra Conta Renda
Against Journal Voucher,Contra Vale Jornal
Against Purchase Invoice,Contra a Nota Fiscal de Compra
Against Sales Invoice,Contra a nota fiscal de venda
Against Voucher,Contra Vale
Against Voucher Type,Tipo contra Vale
Agent,Agente
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials","Grupo agregado de Itens ** ** em outro item **. ** Isso é útil se você está empacotando um certo ** ** Itens em um pacote e você manter o estoque dos itens embalados ** ** e não agregar o item **. ** O pacote ** ** item terá &quot;é o item da&quot; como &quot;Não&quot; e &quot;é o item de vendas&quot; como &quot;Sim&quot;, por exemplo:. Se você está vendendo laptops e mochilas separadamente e têm um preço especial se o cliente compra tanto , então o Laptop Backpack + será uma nova Vendas BOM Item.Note: BOM = Bill of Materials"
Aging Date,Envelhecimento Data
All Addresses.,Todos os endereços.
All Contact,Todos Contato
All Contacts.,Todos os contatos.
All Customer Contact,Todos contato do cliente
All Day,Dia de Todos os
All Employee (Active),Todos Empregado (Ativo)
All Lead (Open),Todos chumbo (Aberto)
All Products or Services.,Todos os produtos ou serviços.
All Sales Partner Contact,Todos Contato parceiro de vendas
All Sales Person,Todos Vendas Pessoa
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Todas as transações de vendas pode ser marcado contra diversas Pessoas ** ** vendas de modo que você pode definir e monitorar metas.
All Supplier Contact,Todos contato fornecedor
"All account columns should be after \							standard columns and on the right.							If you entered it properly, next probable reason \							could be wrong account name.							Please rectify it in the file and try again.","Todas as colunas de contas deve ser depois \ colunas padrão e à direita. Se você digitou corretamente, próximo provável razão \ poderia ser o nome da conta errada. Por favor, retificá-la no arquivo e tente novamente."
"All export related fields like currency, conversion rate, export total, export grand total etc are available in <br>Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Todos os campos de exportação relacionados como moeda, taxa de conversão, o total de exportação, etc exportação de total estão disponíveis em <br> Nota de Entrega, POS, cotação, nota fiscal de venda, Ordem de vendas etc"
"All import related fields like currency, conversion rate, import total, import grand total etc are available in <br>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, etc importação de total estão disponíveis em <br> Recibo de compra, cotação Fornecedor, Nota Fiscal 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 possible Workflow States and roles of the workflow. <br>Docstatus Options: 0 is""Saved"", 1 is ""Submitted"" and 2 is ""Cancelled""","Todos os eventuais Estados de fluxo de trabalho e os papéis do fluxo de trabalho. <br> Docstatus Opções: 0 é &quot;Salvo&quot;, 1 é &quot;Enviado&quot; e 2 é &quot;Cancelado&quot;"
All posts by,Todas as mensagens de
Allocate,Distribuir
Allocate leaves for the year.,Alocar folhas para o ano.
Allocated Amount,Montante afectado
Allocated Budget,Orçamento atribuído
Allocated amount,Montante atribuído
Allow Attach,Permitir Anexar
Allow Bill of Materials,Permitir Lista de Materiais
Allow Dropbox Access,Permitir Dropbox Acesso
Allow Editing of Frozen Accounts For,Permitir Edição de contas congeladas para
Allow Google Drive Access,Permitir acesso Google Drive
Allow Import,Permitir a importação
Allow Import via Data Import Tool,Permitir a importação via ferramenta de importação de dados
Allow Negative Balance,Permitir saldo negativo
Allow Negative Stock,Permitir estoque negativo
Allow Production Order,Permitir Ordem de Produção
Allow Rename,Permitir Renomear
Allow Samples,Permitir Amostras
Allow User,Permitir que o usuário
Allow Users,Permitir que os usuários
Allow on Submit,Permitir em Enviar
Allow the following users to approve Leave Applications for block days.,Permitir que os seguintes usuários para aprovar Deixe Applications 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
Allow user to login only after this hour (0-24),Permitir que o usuário fazer o login somente após esta hora (0-24)
Allow user to login only before this hour (0-24),Permitir que o usuário fazer o login antes só esta hora (0-24)
Allowance Percent,Percentual subsídio
Allowed,Permitido
Already Registered,Já registrado
Always use Login Id as sender,Sempre use Id Entrar como remetente
Amend,Emendar
Amended From,Alterado De
Amount,Quantidade
Amount (Company Currency),Amount (Moeda Company)
Amount <=,Quantidade &lt;=
Amount >=,Quantidade&gt; =
"An icon file with .ico extension. Should be 16 x 16 px. Generated using a favicon generator. [<a href=""http://favicon-generator.org/"" target=""_blank"">favicon-generator.org</a>]","Um arquivo com ícone. Extensão ico. Deve ser de 16 x 16 px. Gerado usando um gerador de favicon. [ <a href=""http://favicon-generator.org/"" target=""_blank"">favicon-generator.org</a> ]"
Analytics,Analítica
Another Salary Structure '%s' is active for employee '%s'. 				Please make its status 'Inactive' to proceed.,"Outra estrutura Salário &#39;% s&#39; está ativo para o empregado &#39;% s&#39;. Por favor, faça seu status &#39;inativo&#39; para prosseguir."
"Any other comments, noteworthy effort that should go in the records.","Quaisquer outros comentários, esforço notável que deve ir para os registros."
Applicable Holiday List,Lista de férias aplicável
Applicable To (Designation),Para aplicável (Designação)
Applicable To (Employee),Para aplicável (Employee)
Applicable To (Role),Para aplicável (Papel)
Applicable To (User),Para aplicável (Usuário)
Applicant Name,Nome do requerente
Applicant for a Job,Candidato a um emprego
Applicant for a Job.,Candidato a um emprego.
Applications for leave.,Os pedidos de licença.
Applies to Company,Aplica-se a Empresa
Apply / Approve Leaves,Aplicar / Aprovar Folhas
Apply Shipping Rule,Aplicar Rule Envios
Apply Taxes and Charges Master,"Aplicar Impostos, taxas e Encargos mestras"
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 Modelo de avaliação
Appraisal Template Title,Título do modelo de avaliação
Approval Status,Status de Aprovação
Approved,Aprovado
Approver,Aprovador
Approving Role,Aprovar Papel
Approving User,Aprovar Usuário
Are you sure you want to delete the attachment?,Tem certeza de que deseja excluir o anexo?
Arial,Arial
Arrear Amount,Quantidade atraso
"As a best practice, do not assign the same set of permission rule to different Roles instead set multiple Roles to the User","Como uma boa prática, não atribuir o mesmo conjunto de regra de permissão para diferentes funções, em vez estabelecidos múltiplos papéis ao Usuário"
As existing qty for item: ,Como qty existente para o item:
As per Stock UOM,Como por Banco UOM
"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 transações com ações existentes para a este item \, você não pode alterar os valores de &#39;Has Serial No&#39;, \ &#39;É Banco de Item&#39; e &#39;Method Valuation&#39;"
Ascending,Ascendente
Assign To,Atribuir a
Assigned By,Atribuído por
Assignment,Atribuição
Assignments,Assignments
Associate a DocType to the Print Format,Associar um DOCTYPE para o formato de impressão
Atleast one warehouse is mandatory,Pelo menos um armazém é obrigatório
Attach,Anexar
Attach Document Print,Anexar cópia do documento
Attached To DocType,Anexado To DOCTYPE
Attached To Name,Anexado Para Nome
Attachment,Acessório
Attachments,Anexos
Attempted to Contact,Tentou entrar em contato
Attendance,Comparecimento
Attendance Date,Data de atendimento
Attendance Details,Detalhes atendimento
Attendance From Date,Presença de Data
Attendance To Date,Atendimento para a data
Attendance can not be marked for future dates,Atendimento não pode ser marcado para datas futuras
Attendance for the employee: ,Atendimento para o empregado:
Attendance record.,Recorde de público.
Attributions,Atribuições
Authorization Control,Controle de autorização
Authorization Rule,Regra autorização
Auto Email Id,Email Id Auto
Auto Inventory Accounting,Contabilidade Inventário de Auto
Auto Inventory Accounting Settings,Auto inventário Configurações de contabilidade
Auto Material Request,Pedido de material Auto
Auto Name,Nome Auto
Auto generated,Auto gerado
Auto-raise Material Request if quantity goes below re-order level in a warehouse,Auto-raise pedido se se a quantidade for inferior a nível re-order em um armazém
Automatically updated via Stock Entry of type Manufacture/Repack,Atualizado automaticamente através da entrada de Fabricação tipo / Repack
Autoreply when a new mail is received,Autoreply quando um novo e-mail é recebido
Available Qty at Warehouse,Qtde Disponível em Armazém
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, Nota Fiscal de Compra, Ordem de Produção, Ordem de Compra, Recibo de compra, nota fiscal de venda, pedidos de vendas, entrada de material, quadro de horários"
Avatar,Avatar
Average Discount,Desconto médio
B+,B +
B-,B-
BILL,BILL
BILLJ,BILLJ
BOM,BOM
BOM Detail No,BOM nenhum detalhe
BOM Explosion Item,BOM item explosão
BOM Item,Item BOM
BOM No,BOM Não
BOM No. for a Finished Good Item,BOM Não. para um item acabado
BOM Operation,Operação BOM
BOM Operations,Operações BOM
BOM Replace Tool,BOM Ferramenta Substituir
BOM replaced,BOM substituído
Background Color,Cor de Fundo
Background Image,Imagem de Fundo
Backup Manager,Backup Manager
Backup Right Now,Faça backup Right Now
Backups will be uploaded to,Backups serão enviados para
"Balances of Accounts of type ""Bank or Cash""",Saldos das contas do tipo &quot;bancária ou dinheiro&quot;
Bank,Banco
Bank A/C No.,Bank A / C N º
Bank Account,Conta bancária
Bank Account No.,Banco Conta N º
Bank Clearance Summary,Banco Resumo Clearance
Bank Name,Nome do banco
Bank Reconciliation,Banco Reconciliação
Bank Reconciliation Detail,Banco Detalhe Reconciliação
Bank Reconciliation Statement,Declaração de reconciliação bancária
Bank Voucher,Vale banco
Bank or Cash,Banco ou Caixa
Bank/Cash Balance,Banco / Saldo de Caixa
Banner,Bandeira
Banner HTML,HTML bandeira
Banner Image,Banner Image
Banner is above the Top Menu Bar.,Bandeira está acima da barra de menu superior.
Barcode,Código de barras
Based On,Baseado em
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)
Batch,Fornada
Batch (lot) of an Item.,Batch (lote) de um item.
Batch Finished Date,Terminado lote Data
Batch ID,Lote ID
Batch No,No lote
Batch Started Date,Iniciado lote Data
Batch Time Logs for Billing.,Tempo lote Logs para o faturamento.
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
Be the first one to comment,Seja o primeiro a comentar
Begin this page with a slideshow of images,Comece esta página com um slideshow de imagens
Better Prospects,Melhores perspectivas
Bill Date,Data Bill
Bill No,Projeto de Lei n
Bill of Material to be considered for manufacturing,Lista de Materiais a serem considerados para a fabricação
Bill of Materials,Lista de Materiais
Bill of Materials (BOM),Lista de Materiais (BOM)
Billable,Faturável
Billed,Faturado
Billed Amt,Faturado Amt
Billing,Faturamento
Billing Address,Endereço de Cobrança
Billing Address Name,Faturamento Nome Endereço
Billing Status,Estado de faturamento
Bills raised by Suppliers.,Contas levantada por Fornecedores.
Bills raised to Customers.,Contas levantou a Clientes.
Bin,Caixa
Bio,Bio
Bio will be displayed in blog section etc.,"Bio será exibido na seção do blog, etc"
Birth Date,Data de Nascimento
Blob,Gota
Block Date,Bloquear Data
Block Days,Dias bloco
Block Holidays on important days.,Bloquear feriados em dias importantes.
Block leave applications by department.,Bloquear deixar aplicações por departamento.
Blog Category,Categoria Blog
Blog Intro,Blog Intro
Blog Introduction,Blog Introdução
Blog Post,Blog Mensagem
Blog Settings,Configurações Blog
Blog Subscriber,Assinante Blog
Blog Title,Blog Title
Blogger,Blogger
Blood Group,Grupo sanguíneo
Bookmarks,Marcadores
Branch,Ramo
Brand,Marca
Brand HTML,Marca HTML
Brand Name,Marca
"Brand is what appears on the top-right of the toolbar. If it is an image, make sure ithas a transparent background and use the &lt;img /&gt; tag. Keep size as 200px x 30px","Marca é o que aparece no canto superior direito da barra de ferramentas. Se for uma imagem, ithas certeza de um fundo transparente e usar a tag /&gt; &lt;img. Manter o tamanho como 200px x 30px"
Brand master.,Mestre marca.
Brands,Marcas
Breakdown,Colapso
Budget,Orçamento
Budget Allocated,Orçamento alocado
Budget Control,Controle de Orçamento
Budget Detail,Detalhe orçamento
Budget Details,Detalhes Orçamento
Budget Distribution,Distribuição orçamento
Budget Distribution Detail,Detalhe Distribuição orçamento
Budget Distribution Details,Distribuição Detalhes Orçamento
Budget Variance Report,Relatório Variance Orçamento
Build Modules,Criar módulos
Build Pages,Crie páginas
Build Server API,Construir Server API
Build Sitemap,Construir Mapa do Site
Bulk Email,E-mail em massa
Bulk Email records.,Volume de registros e-mail.
Bummer! There are more holidays than working days this month.,Bummer! Há mais feriados do que dias úteis deste mês.
Bundle items at time of sale.,Bundle itens no momento da venda.
Button,Botão
Buyer of Goods and Services.,Comprador de Mercadorias e Serviços.
Buying,Comprar
Buying Amount,Comprar Valor
Buying Settings,Comprar Configurações
By,Por
C-FORM/,C-FORM /
C-Form,C-Form
C-Form Applicable,C-Form Aplicável
C-Form Invoice Detail,C-Form Detalhe Fatura
C-Form No,C-Forma Não
CI/2010-2011/,CI/2010-2011 /
COMM-,COMM-
CSS,CSS
CUST,CUST
CUSTMUM,CUSTMUM
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
Campaign,Campanha
Campaign Name,Nome da campanha
Can only be exported by users with role 'Report Manager',Só podem ser exportados por usuários com &quot;Gerenciador de Relatórios&quot; papel
Cancel,Cancelar
Cancel permission also allows the user to delete a document (if it is not linked to any other document).,Cancelar permissão também permite ao usuário excluir um documento (se ele não está vinculado a qualquer outro documento).
Cancelled,Cancelado
Cannot ,Não é possível
Cannot approve leave as you are not authorized to approve leaves on Block Dates.,Não pode aprovar deixar que você não está autorizado a aprovar folhas em datas bloco.
Cannot change from,Não pode mudar de
Cannot continue.,Não pode continuar.
Cannot have two prices for same Price List,Não pode ter dois preços para o mesmo Preço de
Cannot map because following condition fails: ,Não é possível mapear porque seguinte condição de falha:
Capacity,Capacidade
Capacity Units,Unidades de capacidade
Carry Forward,Transportar
Carry Forwarded Leaves,Carry Folhas encaminhadas
Case No(s) already in use. Please rectify and try again.				Recommended <b>From Case No. = %s</b>,"Processo n º (s) já está em uso. Por favor, corrigir e tentar novamente. Recomendado <b>De Processo n º =% s</b>"
Cash,Numerário
Cash Voucher,Comprovante de dinheiro
Cash/Bank Account,Caixa / Banco Conta
Categorize blog posts.,Categorizar posts.
Category,Categoria
Category Name,Nome da Categoria
Category of customer as entered in Customer master,"Categoria de cliente, entrou no Cadastro de Clientes"
Cell Number,Número de células
Center,Centro
"Certain documents should not be changed once final, like an Invoice for example. The final state for such documents is called <b>Submitted</b>. You can restrict which roles can Submit.","Alguns documentos não deve ser alterado, uma vez final, como uma nota fiscal, por exemplo. O estado final de tais documentos é chamado <b>Enviado.</b> Você pode restringir as funções que podem Enviar."
Change UOM for an Item.,Alterar UOM de um item.
Change the starting / current sequence number of an existing series.,Alterar o número de seqüência de partida / corrente de uma série existente.
Channel Partner,Parceiro de Canal
Charge,Carga
Chargeable,Imputável
Chart of Accounts,Plano de Contas
Chart of Cost Centers,Plano de Centros de Custo
Chat,Conversar
Check,Verificar
Check / Uncheck roles assigned to the Profile. Click on the Role to find out what permissions that Role has.,Verifique / Desmarque papéis atribuídos ao perfil. Clique sobre o Papel para descobrir o que as permissões que papel tem.
Check all the items below that you want to send in this digest.,Verifique todos os itens abaixo que você deseja enviar esta digerir.
Check how the newsletter looks in an email by sending it to your email.,Verifique como o boletim olha em um e-mail enviando-o para o seu e-mail.
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Verifique se factura recorrente, desmarque a parar recorrente ou colocar Data final adequada"
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Verifique se você precisa automáticos de facturas recorrentes. Depois de apresentar qualquer nota fiscal de venda, seção Recorrente será visível."
Check if you want to send salary slip in mail to each employee while submitting salary slip,Verifique se você quiser enviar folha de salário no correio a cada empregado ao enviar folha de salário
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 para selecionar uma série antes de salvar. Não haverá nenhum padrão, se você verificar isso."
Check this if you want to send emails as this id only (in case of restriction by your email provider).,Marque esta opção se você quiser enviar e-mails como este só id (no caso de restrição pelo seu provedor de e-mail).
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 make this the default letter head in all prints,Marque esta opção para tornar esta a cabeça carta padrão em todas as impressões
Check this to pull emails from your mailbox,Marque esta a puxar e-mails de sua caixa de correio
Check to activate,Marque para ativar
Check to make Shipping Address,Verifique para ter endereço de entrega
Check to make primary address,Verifique para ter endereço principal
Checked,Verificado
Cheque,Cheque
Cheque Date,Data Cheque
Cheque Number,Número de cheques
Child Tables are shown as a Grid in other DocTypes.,Mesas para crianças são mostrados como uma grade no DOCTYPEs outros.
City,Cidade
City/Town,Cidade / Município
Claim Amount,Quantidade reivindicação
Claims for company expense.,Os pedidos de despesa da empresa.
Class / Percentage,Classe / Percentual
Classic,Clássico
Classification of Customers by region,Classificação de clientes por região
Clear Cache & Refresh,Limpar Cache &amp; Atualizar
Clear Table,Tabela clara
Clearance Date,Data de Liquidação
"Click on ""Get Latest Updates""",Clique em &quot;Get Últimas Atualizações&quot;
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 button in the 'Condition' column and select the option 'User is the creator of the document',Clique no botão no &#39;Condição&#39; coluna e selecione a opção &quot;Usuário é o criador do documento &#39;
Click to Expand / Collapse,Clique para Expandir / Recolher
Client,Cliente
Close,Fechar
Closed,Fechado
Closing Account Head,Fechando Chefe Conta
Closing Date,Data de Encerramento
Closing Fiscal Year,Encerramento do exercício social
CoA Help,Ajuda CoA
Code,Código
Cold Calling,Cold Calling
Color,Cor
Column Break,Quebra de coluna
Comma separated list of email addresses,Lista separada por vírgulas de endereços de e-mail
Comment,Comentário
Comment By,Comentário por
Comment By Fullname,Comentário por Fullname
Comment Date,Comentário Data
Comment Docname,Comentário docName
Comment Doctype,Comentário Doctype
Comment Time,Comentário Tempo
Comments,Comentários
Commission Rate,Taxa de Comissão
Commission Rate (%),Comissão Taxa (%)
Commission partners and targets,Parceiros da Comissão e metas
Communication,Comunicação
Communication HTML,Comunicação HTML
Communication History,História da comunicação
Communication Medium,Meio de comunicação
Communication log.,Log de comunicação.
Company,Companhia
Company Details,Detalhes da empresa
Company History,História da Empresa
Company History Heading,História da Empresa título
Company Info,Informações da empresa
Company Introduction,Introdução da Empresa
Company Master.,Mestre Company.
Company Name,Nome da empresa
Company Settings,Configurações da empresa
Company branches.,Filiais da empresa.
Company departments.,Departamentos da empresa.
Company is missing or entered incorrect value,Empresa está faltando ou inseridos valor incorreto
Company mismatch for Warehouse,Incompatibilidade empresa para Armazém
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,Números da empresa de registro para sua referência. Exemplo: IVA números de matrícula etc
Company registration numbers for your reference. Tax numbers etc.,"Números da empresa de registro para sua referência. Números fiscais, etc"
Complaint,Reclamação
Complete,Completar
Complete By,Ao completar
Completed,Concluído
Completed Qty,Concluído Qtde
Completion Date,Data de Conclusão
Completion Status,Status de conclusão
Confirmed orders from Customers.,Confirmado encomendas de clientes.
Consider Tax or Charge for,Considere imposto ou encargo para
"Consider this Price List for fetching rate. (only which have ""For Buying"" as checked)","Considere esta Lista de Preços para a recuperação de taxa. (Só que &quot;para a compra&quot;, como verificado)"
Considered as Opening Balance,Considerado como Saldo
Considered as an Opening Balance,Considerado como um saldo de abertura
Consultant,Consultor
Consumed Qty,Qtde consumida
Contact,Contato
Contact Control,Fale Controle
Contact Desc,Contato Descr
Contact Details,Contacto
Contact Email,Contato E-mail
Contact HTML,Contato HTML
Contact Info,Informações para contato
Contact Mobile No,Contato móveis não
Contact Name,Nome de Contato
Contact No.,Fale Não.
Contact Person,Pessoa de contato
Contact Type,Tipo de Contato
Contact Us Settings,Contato Configurações
Contact in Future,Fale no Futuro
"Contact options, like ""Sales Query, Support Query"" etc each on a new line or separated by commas.","Opções de contato, como &quot;consulta de vendas, suporte de consulta&quot; etc cada um em uma nova linha ou separados por vírgulas."
Contacted,Contactado
Content,Conteúdo
Content Type,Tipo de conteúdo
Content in markdown format that appears on the main side of your page,Conteúdos em formato markdown que aparece no lado principal de sua página
Content web page.,Página web de conteúdo.
Contra Voucher,Vale Contra
Contract End Date,Data final do contrato
Contribution (%),Contribuição (%)
Contribution to Net Total,Contribuição para o Total Líquido
Control Panel,Painel de controle
Conversion Factor,Fator de Conversão
Conversion Rate,Taxa de Conversão
Convert into Recurring Invoice,Converter em fatura Recorrente
Converted,Convertido
Copy,Copie
Copy From Item Group,Copiar do item do grupo
Copyright,Direitos autorais
Core,Núcleo
Cost Center,Centro de Custos
Cost Center Details,Custo Detalhes Centro
Cost Center Name,Custo Nome Centro
Cost Center is mandatory for item: ,Centro de Custo é obrigatória para o item:
Cost Center must be specified for PL Account: ,Centro de Custo deve ser especificado para a Conta PL:
Costing,Custeio
Country,País
Country Name,Nome do País
Create,Criar
Create Bank Voucher for the total salary paid for the above selected criteria,Criar Vale do Banco Mundial para o salário total pago para os critérios acima selecionados
Create Material Requests,Criar Pedidos de Materiais
Create Production Orders,Criar ordens de produção
Create Receiver List,Criar Lista de Receptor
Create Salary Slip,Criar folha de salário
Create Stock Ledger Entries when you submit a Sales Invoice,Criar entradas da Razão quando você enviar uma fatura de vendas
"Create a price list from Price List master and enter standard ref rates against each of them. On selection of a price list in Quotation, Sales Order or Delivery Note, corresponding ref rate will be fetched for this item.","Criar uma lista de preços de mestre Lista de Preços e introduzir taxas de ref padrão contra cada um deles. Na seleção de uma lista de preços em Cotação Ordem de Vendas, ou nota de entrega, a taxa de ref correspondente será obtido para este item."
Create and Send Newsletters,Criar e enviar Newsletters
Created Account Head: ,Chefe da conta:
Created By,Criado por
Created Customer Issue,Problema do cliente criado
Created Group ,Criado Grupo
Created Opportunity,Criado Oportunidade
Created Support Ticket,Ticket Suporte criado
Creates salary slip for above mentioned criteria.,Cria folha de salário para os critérios acima mencionados.
Credentials,Credenciais
Credit,Crédito
Credit Amt,Crédito Amt
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,Para crédito
Cross Listing of Item in multiple groups,Atravesse de Listagem do item em vários grupos
Currency,Moeda
Currency Exchange,Câmbio
Currency Format,Formato de moeda
Currency Name,Nome da Moeda
Currency Settings,Configurações Moeda
Currency and Price List,Moeda e Preço
Currency does not match Price List Currency for Price List,Moeda não corresponde Lista de Preços Moeda para Preço
Current Accommodation Type,Tipo de Alojamento atual
Current Address,Endereço Atual
Current BOM,BOM atual
Current Fiscal Year,Atual Exercício
Current Stock,Estoque atual
Current Stock UOM,UOM Estoque atual
Current Value,Valor Atual
Current status,Estado atual
Custom,Personalizado
Custom Autoreply Message,Mensagem de resposta automática personalizada
Custom CSS,CSS personalizado
Custom Field,Campo personalizado
Custom Message,Mensagem personalizada
Custom Reports,Relatórios Customizados
Custom Script,Script personalizado
Custom Startup Code,Código de inicialização personalizada
Custom?,Personalizado?
Customer,Cliente
Customer (Receivable) Account,Cliente (receber) Conta
Customer / Item Name,Cliente / Nome do item
Customer Account,Conta de Cliente
Customer Account Head,Cliente Cabeça Conta
Customer Address,Endereço do cliente
Customer Addresses And Contacts,Endereços e contatos de clientes
Customer Code,Código Cliente
Customer Codes,Códigos de clientes
Customer Details,Detalhes do cliente
Customer Discount,Discount cliente
Customer Discounts,Descontos a clientes
Customer Feedback,Comentário do cliente
Customer Group,Grupo de Clientes
Customer Group Name,Nome do grupo de clientes
Customer Intro,Cliente Intro
Customer Issue,Edição 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 Type,Tipo de Cliente
Customer classification tree.,Árvore de classificação do cliente.
Customer database.,Banco de dados do cliente.
Customer's Currency,Hoje Cliente
Customer's Item Code,Código do Cliente item
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 Vendor,Vendedor cliente
Customer's currency,Moeda cliente
"Customer's currency - If you want to select a currency that is not the default currency, then you must also specify the Currency Conversion Rate.","Moeda do cliente - Se você deseja selecionar uma moeda que não é a moeda padrão, então você também deve especificar a taxa de conversão."
Customers Not Buying Since Long Time,Os clientes não compra desde há muito tempo
Customerwise Discount,Desconto Customerwise
Customize,Personalize
Customize Form,Personalize Forma
Customize Form Field,Personalize campo de formulário
"Customize Label, Print Hide, Default etc.","Personalize Etiqueta, Esconder-impressão, etc Padrão"
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 separado introdutório.
DN,DN
DN Detail,Detalhe DN
Daily,Diário
Daily Event Digest is sent for Calendar Events where reminders are set.,Diariamente Evento Digest é enviado para Calendário de eventos onde os lembretes são definidos.
Daily Time Log Summary,Resumo Diário Log Tempo
Danger,Perigo
Data,Dados
Data missing in table,Falta de dados na tabela
Database,Banco de dados
Database Folder ID,ID Folder Database
Database of potential customers.,Banco de dados de clientes potenciais.
Date,Data
Date Format,Formato de data
Date Of Retirement,Data da aposentadoria
Date and Number Settings,Data e número Configurações
Date is repeated,Data é repetido
Date must be in format,A data deve estar no formato
Date of Birth,Data de Nascimento
Date of Issue,Data de Emissão
Date of Joining,Data da Unir
Date on which lorry started from supplier warehouse,Data em que o camião começou a partir de armazém fornecedor
Date on which lorry started from your warehouse,Data em que o camião começou a partir de seu armazém
Date on which the lead was last contacted,Data em que a liderança foi passada contactado
Dates,Datas
Datetime,Datetime
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,Débito Amt
Debit Note,Nota de Débito
Debit To,Para débito
Debit or Credit,Débito ou crédito
Deduct,Subtrair
Deduction,Dedução
Deduction Type,Tipo de dedução
Deduction1,Deduction1
Deductions,Deduções
Default,Omissão
Default Account,Conta Padrão
Default BOM,BOM padrão
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,Conta padrão Banco / Cash será atualizado automaticamente na fatura POS quando este modo for selecionado.
Default Bank Account,Conta Bancária Padrão
Default Cash Account,Conta Caixa padrão
Default Commission Rate,Taxa de Comissão padrão
Default Company,Empresa padrão
Default Cost Center,Centro de Custo 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 Home Page,Home Page padrão
Default Home Pages,Início Páginas padrão
Default Income Account,Conta Rendimento padrão
Default Item Group,Grupo Item padrão
Default Price List,Lista de Preços padrão
Default Print Format,Formato de impressão 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 Sales Partner,Parceiro de vendas padrão
Default Settings,Predefinições
Default Source Warehouse,Armazém da fonte padrão
Default Stock UOM,Padrão da UOM
Default Supplier,Fornecedor padrão
Default Supplier Type,Tipo de fornecedor padrão
Default Target Warehouse,Armazém alvo padrão
Default Territory,Território padrão
Default Unit of Measure,Unidade de medida padrão
Default Valuation Method,Método de Avaliação padrão
Default Value,Valor padrão
Default Warehouse,Armazém padrão
Default Warehouse is mandatory for Stock Item.,Armazém padrão é obrigatório para Banco de Item.
Default settings for Shopping Cart,As configurações padrão para Carrinho de Compras
"Default: ""Contact Us""",Padrão: &quot;Fale Conosco&quot;
DefaultValue,DefaultValue
Defaults,Padrõ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"">Mestre Empresa</a>"
Defines actions on states and the next step and allowed roles.,Define ações em estados e no próximo passo e papéis permitidos.
Defines workflow states and rules for a document.,Define os estados do workflow e regras para um documento.
Delete,Excluir
Delete Row,Apagar Linha
Delivered,Entregue
Delivered Items To Be Billed,Itens entregues a ser cobrado
Delivered Qty,Qtde entregue
Delivery Address,Endereço de entrega
Delivery Date,Data de entrega
Delivery Details,Detalhes da entrega
Delivery Document No,Documento de Entrega Não
Delivery Document Type,Tipo de Documento de Entrega
Delivery Note,Guia de remessa
Delivery Note Item,Item Nota de Entrega
Delivery Note Items,Nota Itens de entrega
Delivery Note Message,Mensagem Nota de Entrega
Delivery Note No,Nota de Entrega Não
Packed Item,Entrega do item embalagem Nota
Delivery Note Required,Nota de Entrega Obrigatório
Delivery Note Trends,Nota de entrega Trends
Delivery Status,Estado entrega
Delivery Time,Prazo de entrega
Delivery To,Entrega
Department,Departamento
Depends On,Depende
Depends on LWP,Depende LWP
Descending,Descendente
Description,Descrição
Description HTML,Descrição HTML
"Description for listing page, in plain text, only a couple of lines. (max 140 characters)","Descrição da página perfil, em texto simples, apenas um par de linhas. (Máximo 140 caracteres)"
Description for page header.,Descrição cabeçalho da página.
Description of a Job Opening,Descrição de uma vaga de emprego
Designation,Designação
Desktop,Área de trabalho
Detailed Breakup of the totals,Breakup detalhada dos totais
Details,Detalhes
Deutsch,Deutsch
Did not add.,Não adicionar.
Did not cancel,Não cancelar
Did not save,Não salvar
Difference,Diferença
"Different ""States"" this document can exist in. Like ""Open"", ""Pending Approval"" etc.","Diferente &quot;Estados&quot;, este documento pode existir dentro Como &quot;Abrir&quot;, &quot;Aprovação Pendente&quot; etc"
Disable Customer Signup link in Login page,Cliente ligação Cadastro Desativar página de login
Disable Rounded Total,Desativar total arredondado
Disable Signup,Desativar Registre-se
Disabled,Inválido
Discount  %,% De desconto
Discount %,% De desconto
Discount (%),Desconto (%)
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Campos de desconto estará disponível em Ordem de Compra, Recibo de Compra, Nota Fiscal de Compra"
Discount(%),Desconto (%)
Display,Exibir
Display Settings,Configurações de exibição
Display all the individual items delivered with the main items,Exibir todos os itens individuais entregues com os principais itens
Distinct unit of an Item,Unidade distinta de um item
Distribute transport overhead across items.,Distribua por cima o transporte através itens.
Distribution,Distribuição
Distribution Id,Id distribuição
Distribution Name,Nome de distribuição
Distributor,Distribuidor
Divorced,Divorciado
Do not show any symbol like $ etc next to currencies.,Não mostrar qualquer símbolo como US $ etc ao lado de moedas.
Doc Name,Nome Doc
Doc Status,Estado Doc
Doc Type,Tipo Doc
DocField,DocField
DocPerm,DocPerm
DocType,DOCTYPE
DocType Details,Detalhes DOCTYPE
DocType is a Table / Form in the application.,DocType é uma Tabela / Form na aplicação.
DocType on which this Workflow is applicable.,DOCTYPE em que este fluxo de trabalho é aplicável.
DocType or Field,DocType ou Campo
Document,Documento
Document Description,Descrição documento
Document Numbering Series,Documento série de numeração
Document Status transition from ,Documento transição Estado de
Document Type,Tipo de Documento
Document is only editable by users of role,Documento só é editável por usuários de papel
Documentation,Documentação
Documentation Generator Console,Console Gerador de Documentação
Documentation Tool,Ferramenta de Documentação
Documents,Documentos
Domain,Domínio
Download Backup,Descarregar o Backup
Download Materials Required,Baixe Materiais Necessários
Download Template,Baixe Template
Download a report containing all raw materials with their latest inventory status,Baixe um relatório contendo todas as matérias-primas com o seu estado mais recente inventário
"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","Baixe o modelo, preencha os dados apropriados e anexar as datas file.All modificados e combinação de funcionários no período selecionado virá no modelo, com registros de freqüência existentes"
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
EMP/,EMP /
ESIC CARD No,CARTÃO ESIC Não
ESIC No.,ESIC Não.
Earning,Ganhando
Earning & Deduction,Ganhar &amp; Dedução
Earning Type,Ganhando Tipo
Earning1,Earning1
Edit,Editar
Editable,Editável
Educational Qualification,Qualificação Educacional
Educational Qualification Details,Detalhes educacionais de qualificação
Eg. smsgateway.com/api/send_sms.cgi,Por exemplo. smsgateway.com / api / send_sms.cgi
Email,E-mail
Email (By company),E-mail (por empresa)
Email Digest,E-mail Digest
Email Digest Settings,E-mail Digest Configurações
Email Host,Anfitrião e-mail
Email Id,Id e-mail
"Email Id must be unique, already exists for: ","Id e-mail deve ser único, já existe para:"
"Email Id where a job applicant will email e.g. ""jobs@example.com""",Id e-mail onde um candidato a emprego vai enviar e-mail &quot;jobs@example.com&quot; por exemplo
Email Login,Login Email
Email Password,Senha de e-mail
Email Sent,E-mail enviado
Email Sent?,E-mail enviado?
Email Settings,Configurações de e-mail
Email Settings for Outgoing and Incoming Emails.,Configurações de e-mail para e-mails enviados e recebidos.
Email Signature,Assinatura de e-mail
Email Use SSL,Email Usar SSL
"Email addresses, separted by commas","Endereços de email, separted por vírgulas"
Email ids separated by commas.,Ids e-mail separados por vírgulas.
"Email settings for jobs email id ""jobs@example.com""",Configurações de e-mail para e-mail empregos id &quot;jobs@example.com&quot;
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""","Configurações de e-mail para extrair Leads de vendas de e-mail, por exemplo ID &quot;sales@example.com&quot;"
Email...,E-mail ...
Embed image slideshows in website pages.,Incorporar apresentações de imagem em páginas do site.
Emergency Contact Details,Detalhes de contato de emergência
Emergency Phone Number,Número de telefone de emergência
Employee,Empregado
Employee Birthday,Aniversário empregado
Employee Designation.,Designação empregado.
Employee Details,Detalhes do Funcionários
Employee Education,Educação empregado
Employee External Work History,Empregado história de trabalho externo
Employee Information,Informações do Funcionário
Employee Internal Work History,Empregado História Trabalho Interno
Employee Internal Work Historys,Historys funcionário interno de trabalho
Employee Leave Approver,Empregado Leave Approver
Employee Leave Balance,Empregado Leave Balance
Employee Name,Nome do Funcionário
Employee Number,Número empregado
Employee Records to be created by,Empregado Records para ser criado por
Employee Setup,Configuração empregado
Employee Type,Tipo de empregado
Employee grades,Notas de funcionários
Employee record is created using selected field. ,Registro de empregado é criado usando o campo selecionado.
Employee records.,Registros de funcionários.
Employee: ,Funcionário:
Employees Email Id,Funcionários ID e-mail
Employment Details,Detalhes de emprego
Employment Type,Tipo de emprego
Enable Auto Inventory Accounting,Ativar Contabilidade Inventário Auto
Enable Shopping Cart,Ativar Carrinho de Compras
Enabled,Habilitado
Enables <b>More Info.</b> in all documents,<b>Mais informações permite.</b> Em todos os documentos
Encashment Date,Data cobrança
End Date,Data final
End date of current invoice's period,Data final do período de fatura atual
End of Life,Fim da Vida
Ends on,Termina em
Enter Email Id to receive Error Report sent by users.E.g.: support@iwebnotes.com,Digite o Id-mail para receber Relatório de erros enviados por users.Eg: support@iwebnotes.com
Enter Form Type,Digite o Tipo de formulário
Enter Row,Digite Row
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 que a fonte de chumbo é a campanha.
"Enter default value fields (keys) and values. If you add multiple values for a field, the first one will be picked. These defaults are also used to set ""match"" permission rules. To see list of fields, go to <a href=""#Form/Customize Form/Customize Form"">Customize Form</a>.","Digite campos padrão de valor (teclas) e valores. Se você adicionar vários valores para um campo, o primeiro vai ser escolhido. Esses padrões são usados ​​também para definir &quot;combinar&quot; regras de permissão. Para ver a lista de campos, ir para <a href=""#Form/Customize Form/Customize Form"">Personalizar formulário</a> ."
Enter department to which this Contact belongs,Entre com o departamento a que pertence este contato
Enter designation of this Contact,Digite designação de este contato
"Enter email id separated by commas, invoice will be mailed automatically on particular date","Digite o ID de e-mail separados por vírgulas, a fatura será enviada automaticamente em determinada data"
Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,Digite itens e qty 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 fonte de pesquisa é a campanha
"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Digite os parâmetros URL estática aqui (por exemplo remetente = ERPNext, username = ERPNext, password = 1234, etc)"
Enter the company name under which Account Head will be created for this Supplier,Digite o nome da empresa em que Chefe da conta será criada para este fornecedor
Enter the date by which payments from customer is expected against this invoice.,Digite a data em que os pagamentos de cliente é esperado contra esta factura.
Enter url parameter for message,Digite o parâmetro url para mensagem
Enter url parameter for receiver nos,Digite o parâmetro url para nn receptor
Entries,Entradas
Entries are not allowed against this Fiscal Year if the year is closed.,Entradas não são permitidos contra este Ano Fiscal se o ano está fechada.
Error,Erro
Error for,Erro para
Error: Document has been modified after you have opened it,Erro: O documento foi modificado depois de abri-la
Estimated Material Cost,Custo de Material estimada
Event,Evento
Event End must be after Start,Evento Final deverá ser após o início
Event Individuals,Indivíduos de eventos
Event Role,Papel evento
Event Roles,Papéis de eventos
Event Type,Tipo de evento
Event User,Usuário evento
Events In Today's Calendar,Eventos no calendário de hoje
Every Day,Every Day
Every Month,Todos os meses
Every Week,Todas as semanas
Every Year,Todo Ano
Everyone can read,Todo mundo pode ler
Example:,Exemplo:
Exchange Rate,Taxa de Câmbio
Excise Page Number,Número de página especial sobre o consumo
Excise Voucher,Vale especiais de consumo
Exemption Limit,Limite de isenção
Exhibition,Exposição
Existing Customer,Cliente existente
Exit,Sair
Exit Interview Details,Sair Detalhes Entrevista
Expected,Esperado
Expected Delivery Date,Data de entrega prevista
Expected End Date,Data final esperado
Expected Start Date,Data de Início do esperado
Expense Account,Conta Despesa
Expense Account is mandatory,Conta de despesa é obrigatória
Expense Claim,Relatório de Despesas
Expense Claim Approved,Relatório de Despesas Aprovado
Expense Claim Approved Message,Relatório de Despesas Aprovado Mensagem
Expense Claim Detail,Detalhe de Despesas
Expense Claim Details,Reivindicação detalhes da despesa
Expense Claim Rejected,Relatório de Despesas Rejeitado
Expense Claim Rejected Message,Relatório de Despesas Rejeitado Mensagem
Expense Claim Type,Tipo de reembolso de despesas
Expense Date,Data despesa
Expense Details,Detalhes despesas
Expense Head,Chefe despesa
Expense account is mandatory for item: ,Conta de despesa é obrigatória para o item:
Expense/Adjustment Account,Despesa / Acerto de Contas
Expenses Booked,Despesas Reservado
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
Exports,Exportações
External,Externo
Extract Emails,Extrair e-mails
FCFS Rate,Taxa FCFS
FIFO,FIFO
Facebook Share,Facebook Compartilhar
Failed: ,Falha:
Family Background,Antecedentes familiares
FavIcon,FavIcon
Fax,Fax
Features Setup,Configuração características
Feed,Alimentar
Feed Type,Tipo de feed
Feedback,Comentários
Female,Feminino
Fetch lead which will be converted into customer.,Fetch chumbo que vai ser convertido em cliente.
Field Description,Campo Descrição
Field Name,Nome do Campo
Field Type,Tipo de campo
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Campo disponível na nota de entrega, cotação, nota fiscal de venda, Ordem de vendas"
"Field that represents the Workflow State of the transaction (if field is not present, a new hidden Custom Field will be created)","Campo que representa o Estado de fluxo de trabalho da transação (se o campo não estiver presente, um campo oculto novo Custom será criado)"
Fieldname,Fieldname
Fields,Campos
"Fields separated by comma (,) will be included in the<br /><b>Search By</b> list of Search dialog box","Campos separados por vírgula (,) serão incluídos no <br /> <b>Pesquisa por</b> lista de caixa de diálogo Pesquisar"
File,Arquivo
File Data,Dados de arquivo
File Name,Nome do arquivo
File Size,Tamanho
File URL,URL do arquivo
File size exceeded the maximum allowed size,O tamanho do arquivo excedeu o tamanho máximo permitido
Files Folder ID,Arquivos de ID de pasta
Filing in Additional Information about the Opportunity will help you analyze your data better.,Apresentação de informações adicionais sobre o Opportunity vai ajudar a analisar melhor seus dados.
Filing in Additional Information about the Purchase Receipt will help you analyze your data better.,Apresentação de informações adicionais sobre o Recibo de compra vai ajudar a analisar melhor seus dados.
Filling in Additional Information about the Delivery Note will help you analyze your data better.,Preenchimento de informações adicionais sobre a Guia de Transporte irá ajudá-lo a analisar os seus dados melhor.
Filling in additional information about the Quotation will help you analyze your data better.,Preenchimento de informações adicionais sobre a cotação irá ajudá-lo a analisar os seus dados melhor.
Filling in additional information about the Sales Order will help you analyze your data better.,Preenchimento de informações adicionais sobre a ordem de venda vai ajudar a analisar melhor seus dados.
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 com base no item
Final Confirmation Date,Data final de confirmação
Financial Analytics,Análise Financeira
Financial Statements,Demonstrações Financeiras
First Name,Nome
First Responded On,Primeiro respondeu em
Fiscal Year,Exercício fiscal
Fixed Asset Account,Conta de ativo fixo
Float,Flutuar
Float Precision,Flutuante de precisão
Follow via Email,Siga por e-mail
Following Journal Vouchers have been created automatically,Seguindo Vouchers Journal ter sido criado automaticamente
"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.",Após tabela mostrará valores se os itens são sub - contratada. Estes valores serão obtidos a partir do mestre de &quot;Bill of Materials&quot; de sub - itens contratados.
Font (Heading),Font (rubrica)
Font (Text),Fonte (texto)
Font Size (Text),Tamanho da fonte (texto)
Fonts,Fontes
Footer,Rodapé
Footer Items,Itens Rodapé
For All Users,Para todos os usuários
For Company,Para a Empresa
For Employee,Para Empregado
For Employee Name,Para Nome do Funcionário
For Item ,Para o Item
"For Links, enter the DocType as rangeFor Select, enter list of Options separated by comma","Para Links, digite o DocType como rangeFor Select, entrar na lista de opções separadas por vírgula"
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 Territory,Para Território
For UOM,Para UOM
For Warehouse,Para Armazém
"For comparative filters, start with","Para filtros comparativos, comece com"
"For e.g. 2012, 2012-13","Para por exemplo 2012, 2012-13"
For example if you cancel and amend 'INV004' it will become a new document 'INV004-1'. This helps you to keep track of each amendment.,"Por exemplo, se você cancelar e alterar &#39;INV004&#39; ele vai se tornar um novo documento &quot;INV004-1 &#39;. Isso ajuda você a manter o controle de cada emenda."
For example: You want to restrict users to transactions marked with a certain property called 'Territory',Por exemplo: Você quer restringir os usuários a transações marcadas com uma certa propriedade chamado &#39;Território&#39;
For opening balance entry account can not be a PL account,Para a abertura de conta de entrada saldo não pode ser uma conta de PL
For ranges,Para faixas
For reference,Para referência
For reference only.,Apenas para referência.
For row,Para a linha
"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 facturas e guias de entrega"
Form,Forma
Format: hh:mm example for one hour expiry set as 01:00. Max expiry will be 72 hours. Default is 24 hours,Formato: hh: mm para um exemplo de validade definido como hora 01:00. Max termo será de 72 horas. Padrão é de 24 horas
Forum,Fórum
Fraction,Fração
Fraction Units,Unidades fração
Freeze Stock Entries,Congelar da Entries
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 Date,A partir da data
From Date must be before To Date,A partir da data deve ser anterior a Data
From Delivery Note,De Nota de Entrega
From Employee,De Empregado
From Lead,De Chumbo
From PR Date,De PR Data
From Package No.,De No. Package
From Purchase Order,Da Ordem de Compra
From Purchase Receipt,De Recibo de compra
From Sales Order,Da Ordem de Vendas
From Time,From Time
From Value,De Valor
From Value should be less than To Value,Do valor deve ser inferior a de Valor
Frozen,Congelado
Fulfilled,Cumprido
Full Name,Nome Completo
Fully Completed,Totalmente concluída
GL Entry,Entrada GL
GL Entry: Debit or Credit amount is mandatory for ,GL Entrada: Débito ou crédito montante é obrigatória para
GRN,GRN
Gantt Chart,Gantt
Gantt chart of all tasks.,Gantt de todas as tarefas.
Gender,Sexo
General,Geral
General Ledger,General Ledger
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 salários
Generate Schedule,Gerar Agende
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Gerar comprovantes de entrega de pacotes a serem entregues. Usado para notificar número do pacote, o conteúdo do pacote e seu peso."
Generates HTML to include selected image in the description,Gera HTML para incluir imagem selecionada na descrição
Georgia,Geórgia
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 Last Purchase Rate,Obter Tarifa de Compra Última
Get Non Reconciled Entries,Obter entradas não Reconciliados
Get Outstanding Invoices,Obter faturas pendentes
Get Purchase Receipt,Obter Recibo de compra
Get Sales Orders,Obter Pedidos de Vendas
Get Specification Details,Obtenha detalhes Especificação
Get Stock and Rate,Obter Estoque e Taxa de
Get Template,Obter modelo
Get Terms and Conditions,Obter os Termos e Condições
Get Weekly Off Dates,Obter semanal Datas Off
"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 taxa de valorização e estoque disponível na origem / destino em armazém mencionado postagem data e hora. Se serializado item, prima este botão depois de entrar n º s de série."
Give additional details about the indent.,Dê mais detalhes sobre o travessão.
Global Defaults,Padrões globais
Go back to home,Volte para casa
Go to Setup > <a href='#user-properties'>User Properties</a> to set \			'territory' for diffent Users.,Vá para Configuração&gt; <a href='#user-properties'>Propriedades do usuário</a> para definir \ &#39;território&#39; para usuários diffent.
Goal,Meta
Goals,Metas
Goods received from Suppliers.,Mercadorias recebidas de fornecedores.
Google Analytics ID,Google Analytics ID
Google Drive,Google Drive
Google Drive Access Allowed,Acesso Google Drive admitidos
Google Plus One,Google Plus One
Google Web Font (Heading),Google Web Font (rubrica)
Google Web Font (Text),Google Web Font (Texto)
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
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 + Valor vencido cobrança - Dedução Total
Gross Profit,Lucro bruto
Gross Profit (%),Lucro Bruto (%)
Gross Weight,Peso bruto
Gross Weight UOM,UOM Peso Bruto
Group,Grupo
Group or Ledger,Grupo ou Ledger
Groups,Grupos
HR,HR
HR Settings,Configurações HR
HTML,HTML
HTML / Banner that will show on the top of product list.,HTML bandeira / que vai mostrar no topo da lista de produtos.
Half Day,Meio Dia
Half Yearly,Semestrais
Half-yearly,Semestral
Has Batch No,Não tem Batch
Has Child Node,Tem nó filho
Has Serial No,Não tem de série
Header,Cabeçalho
Heading,Título
Heading Text As,Como o texto do título
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Chefes (ou grupos) contra o qual as entradas de contabilidade são feitas e os saldos são mantidos.
Health Concerns,Preocupações com a Saúde
Health Details,Detalhes 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;)"
Helvetica Neue,Helvetica Neue
"Hence, maximum allowed Manufacturing Quantity","Assim, a quantidade máxima permitida Manufacturing"
"Here you can maintain family details like name and occupation of parent, spouse and children","Aqui você pode manter detalhes como o nome da família 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, etc preocupações médica"
Hey there! You need to put at least one item in \				the item table.,Hey there! Você precisa colocar pelo menos um item em \ tabela do item.
Hey! All these items have already been invoiced.,Hey! Todos esses itens já foram faturados.
Hey! There should remain at least one System Manager,Hey! Não deve permanecer pelo menos um System Manager
Hidden,Escondido
Hide Actions,Ocultar Ações
Hide Copy,Ocultar Copiar
Hide Currency Symbol,Ocultar Símbolo de Moeda
Hide Email,Esconder-mail
Hide Heading,Ocultar título
Hide Print,Ocultar Imprimir
Hide Toolbar,Ocultar barra de ferramentas
High,Alto
Highlight,Realçar
History,História
History In Company,História In Company
Hold,Segurar
Holiday,Férias
Holiday List,Lista de feriado
Holiday List Name,Nome da lista férias
Holidays,Férias
Home,Casa
Home Page,Home Page
Home Page is Products,Home Page é produtos
Home Pages,Home Pages
Host,Anfitrião
"Host, Email and Password required if emails are to be pulled",E-mail host e senha necessária se e-mails devem ser puxado
Hour Rate,Taxa de hora
Hour Rate Consumable,Taxa de consumíveis hora
Hour Rate Electricity,Eletricidade Taxa de hora
Hour Rate Labour,A taxa de hora
Hour Rate Rent,Aluguel Taxa de hora
Hours,Horas
How frequently?,Com que freqüência?
"How should this currency be formatted? If not set, will use system defaults","Como deve ser essa moeda ser formatado? Se não for definido, vai usar padrões do sistema"
How to upload,Como fazer upload
Hrvatski,Hrvatski
Human Resources,Recursos Humanos
Hurray! The day(s) on which you are applying for leave \					coincide with holiday(s). You need not apply for leave.,Viva! O dia (s) em que você está aplicando para deixar \ coincidir com feriado (s). Você não precisa pedir licença.
I,Eu
ID (name) of the entity whose property is to be set,ID (nome) da entidade cuja propriedade está a ser definida
IDT,IDT
II,II
III,III
IN,EM
INV,INV
INV/10-11/,INV/10-11 /
ITEM,ITEM
IV,IV
Icon,Ícone
Icon will appear on the button,Ícone aparecerá no botão
Id of the profile will be the email.,ID do perfil será o e-mail.
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 excedido
"If Sale BOM is defined, the actual BOM of the Pack is displayed as table.Available in Delivery Note and Sales Order","Se BOM venda é definido, o BOM real do pacote é exibido como table.Available na nota de entrega e Ordem de Vendas"
"If Supplier Part Number exists for given Item, it gets stored here","Se Número da peça de Fornecedor existe para determinado item, ele fica armazenado aqui"
If Yearly Budget Exceeded,Se orçamento anual excedido
"If a User does not have access at Level 0, then higher levels are meaningless","Se um usuário não tem acesso no nível 0, então os níveis mais altos são sem sentido"
"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 selecionado, o BOM para a sub-montagem itens serão considerados para obter matérias-primas. Caso contrário, todos os itens de sub-montagem vai ser tratado como uma 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, all other workflows become inactive.","Se marcada, todos os outros fluxos de trabalho tornam-se inativos."
"If checked, an email with an attached HTML format will be added to part of the EMail body as well as attachment. To only send as attachment, uncheck this.","Se marcado, um e-mail com formato HTML anexado será adicionado a uma parte do corpo do email, bem como anexo. Para enviar apenas como acessório, desmarque essa."
"If checked, the Home page will be the default Item Group for the website.","Se selecionado, a página inicial será o Grupo item padrão para o site."
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Se selecionado, o valor do imposto será considerado como já incluído na tarifa Impressão / Quantidade de impressão"
"If disable, 'Rounded Total' field will not be visible in any transaction","Se desativar, &#39;Arredondado Total &quot;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 image is selected, color will be ignored (attach first)","Se a imagem for selecionada, a cor será ignorado (anexar primeiro)"
If more than one package of the same type (for print),Se mais do que uma embalagem do mesmo tipo (por impressão)
If non standard port (e.g. 587),"Se a porta não padrão (por exemplo, 587)"
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 not, create a","Se não, crie um"
"If set, data entry is only allowed for specified users. Else, entry is allowed for all users with requisite permissions.","Se definido, a entrada de dados só é permitida para usuários especificados. Outra, a entrada é permitida para todos os usuários com permissões necessárias."
"If specified, send the newsletter using this email address","Se especificado, enviar a newsletter usando esse endereço de e-mail"
"If the 'territory' Link Field exists, it will give you an option to select it","Se o campo da &#39;território&#39; Link existe, ele vai te dar uma opção para selecioná-la"
"If the account is frozen, entries are allowed for the ""Account Manager"" only.","Se a conta for congelada, as entradas são permitidos para o &quot;Account Manager&quot; apenas."
"If this Account represents a Customer, Supplier or Employee, set it here.","Se essa conta representa um cliente, fornecedor ou funcionário, configurá-lo aqui."
If you follow Quality Inspection<br>Enables item QA Required and QA No in Purchase Receipt,Se você seguir Inspeção de Qualidade <br> Permite Nenhum item obrigatório e QA QA 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) podem ser marcadas e manter sua contribuição 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 Imposto de Compra e Master 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 de Vendas Impostos e Encargos mestre, 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ê tem muito tempo imprimir formatos, 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<br>Enables item <b>Is Manufactured</b>,Se você envolver na atividade industrial <br> Permite que o item <b>é fabricado</b>
Ignore,Ignorar
Ignored: ,Ignorados:
Image,Imagem
Image Link,Link da imagem
Image View,Ver imagem
Implementation Partner,Parceiro de implementação
Import,Importar
Import Attendance,Importação de Atendimento
Import Log,Importar Log
Important dates and commitments in your project life cycle,Datas importantes e compromissos em seu ciclo de vida do projeto
Imports,Importações
In Dialog,Em diálogo
In Filter,Em Filtro
In Hours,Em Horas
In List View,Na exibição de lista
In Process,Em Processo
In Report Filter,No Relatório Filtro
In Row,Em Linha
In Store,Na loja
In Words,Em Palavras
In Words (Company Currency),In Words (Moeda Company)
In Words (Export) will be visible once you save the Delivery Note.,Em Palavras (Exportação) será visível quando você salvar a Nota de Entrega.
In Words will be visible once you save the Delivery Note.,Em Palavras será visível quando você salvar a Nota de Entrega.
In Words will be visible once you save the Purchase Invoice.,Em Palavras será visível quando você salvar a factura de compra.
In Words will be visible once you save the Purchase Order.,Em Palavras será visível quando você salvar a Ordem de Compra.
In Words will be visible once you save the Purchase Receipt.,Em Palavras será visível quando você salvar o recibo de compra.
In Words will be visible once you save the Quotation.,Em Palavras será visível quando você salvar a cotação.
In Words will be visible once you save the Sales Invoice.,Em Palavras será visível quando você salvar a nota fiscal de venda.
In Words will be visible once you save the Sales Order.,Em Palavras será visível quando você salvar a Ordem de Vendas.
In response to,Em resposta aos
"In the Permission Manager, click on the button in the 'Condition' column for the Role you want to restrict.","No Gerenciador de Permissão, clique no botão no &#39;Condição&#39; coluna para a função que deseja restringir."
Incentives,Incentivos
Incharge Name,Nome incharge
Include holidays in Total no. of Working Days,Incluir feriados em nenhuma total. de dias de trabalho
Income / Expense,Receitas / Despesas
Income Account,Conta Renda
Income Booked,Renda Reservado
Income Year to Date,Ano renda para Data
Income booked for the digest period,Renda reservado para o período digest
Incoming,Entrada
Incoming / Support Mail Setting,Entrada / Suporte Setting Correio
Incoming Rate,Taxa de entrada
Incoming Time,Tempo de entrada
Incoming quality inspection.,Inspeção de qualidade de entrada.
Index,Índice
Indicates that the package is a part of this delivery,Indica que o pacote é uma parte deste fornecimento
Individual,Individual
Individuals,Indivíduos
Industry,Indústria
Industry Type,Tipo indústria
Info,Informações
Insert After,Depois de inserir
Insert Below,Inserir Abaixo
Insert Code,Insira Código
Insert Row,Inserir Linha
Insert Style,Insira Estilo
Inspected By,Inspecionado por
Inspection Criteria,Critérios de inspeção
Inspection Required,Inspeção Obrigatório
Inspection Type,Tipo de Inspeção
Installation Date,Data de instalação
Installation Note,Nota de Instalação
Installation Note Item,Item Nota de Instalação
Installation Status,Status da instalação
Installation Time,O tempo de instalação
Installation record for a Serial No.,Registro de instalação de um n º de série
Installed Qty,Quantidade instalada
Instructions,Instruções
Int,Int.
Integrations,Integrações
Interested,Interessado
Internal,Interno
Introduce your company to the website visitor.,Apresente sua empresa para o visitante do site.
Introduction,Introdução
Introductory information for the Contact Us Page,Informação introdutória para a página Fale Conosco
Invalid Delivery Note. Delivery Note should exist and should be in 				draft state. Please rectify and try again.,"Nota de Entrega inválido. Nota de Entrega deve existir e deve estar em estado de rascunho. Por favor, corrigir e tentar novamente."
Invalid Email,E-mail inválido
Invalid Email Address,Endereço de email inválido
Invalid Item or Warehouse Data,Item inválido ou Data Warehouse
Invalid Leave Approver,Inválido Deixe Approver
Inventory,Inventário
Inverse,Inverso
Invoice Date,Data da fatura
Invoice Details,Detalhes da fatura
Invoice No,A factura n º
Invoice Period From Date,Período fatura do Data
Invoice Period To Date,Período fatura para Data
Is Active,É Ativo
Is Advance,É o avanço
Is Asset Item,É item de ativo
Is Cancelled,É cancelado
Is Carry Forward,É Carry Forward
Is Child Table,É tabela filho
Is Default,É Default
Is Encash,É cobrar
Is LWP,É LWP
Is Mandatory Field,É campo obrigatório
Is Opening,Está abrindo
Is Opening Entry,Está abrindo Entry
Is PL Account,É Conta PL
Is POS,É POS
Is Primary Contact,É Contato Principal
Is Purchase Item,É item de compra
Is Sales Item,É item de vendas
Is Service Item,É item de serviço
Is Single,É único
Is Standard,É Padrão
Is Stock Item,É item de estoque
Is Sub Contracted Item,É item Contratado Sub
Is Subcontracted,É subcontratada
Is Submittable,É Submittable
Is it a Custom DocType created by you?,É um DocType personalizado criado por você?
Is this Tax included in Basic Rate?,É este imposto incluído na Taxa Básica?
Issue,Questão
Issue Date,Data de Emissão
Issue Details,Detalhes incidente
Issued Items Against Production Order,Itens emitida contra Ordem de Produção
It is needed to fetch Item Details.,É preciso buscar item Detalhes.
It was raised because the (actual + ordered + indented - reserved) 						quantity reaches re-order level when the following record was created,"Foi levantada porque a (real + ordenado + recuado - reservado) quantidade atinge o nível re-ordem, quando o seguinte registro foi criado"
Item,Item
Item Advanced,Item Avançado
Item Barcode,Código de barras do item
Item Batch Nos,Lote n item
Item Classification,Classificação item
Item Code,Código do artigo
Item Code (item_code) is mandatory because Item naming is not sequential.,"Código do item (item_code) é obrigatório, pois nomeação artigo não é seqüencial."
Item Customer Detail,Detalhe Cliente item
Item Description,Item Descrição
Item Desription,Desription item
Item Details,Item Detalhes
Item Group,Grupo Item
Item Group Name,Nome do Grupo item
Item Groups in Details,Grupos de itens em Detalhes
Item Image (if not slideshow),Imagem item (se não slideshow)
Item Name,Nome do item
Item Naming By,Item de nomeação
Item Price,Item Preço
Item Prices,Preços de itens
Item Quality Inspection Parameter,Item Parâmetro de Inspeção de Qualidade
Item Reorder,Item Reordenar
Item Serial No,No item de série
Item Serial Nos,Item n º s de série
Item Supplier,Fornecedor item
Item Supplier Details,Fornecedor Item Detalhes
Item Tax,Imposto item
Item Tax Amount,Valor do imposto item
Item Tax Rate,Taxa de Imposto item
Item Tax1,Item Tax1
Item To Manufacture,Item Para Fabricação
Item UOM,Item UOM
Item Website Specification,Especificação Site item
Item Website Specifications,Site Item Especificações
Item Wise Tax Detail ,Detalhe Imposto Sábio item
Item classification.,Item de classificação.
Item to be manufactured or repacked,Item a ser fabricados ou reembalados
Item will be saved by this name in the data base.,O artigo será salva por este nome na base de dados.
"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","Item, Garantia, AMC (Contrato Anual de Manutenção) detalhes serão automaticamente carregada quando o número de série é selecionado."
Item-Wise Price List,Item-Wise Lista de Preços
Item-wise Last Purchase Rate,Item-wise Última Tarifa de Compra
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 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 armazéns com base no qty projetada e qty 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 no pedido do cliente
Itemwise Discount,Desconto Itemwise
Itemwise Recommended Reorder Level,Itemwise Recomendado nível de reposição
JSON,JSON
JV,JV
Javascript,Javascript
Javascript to append to the head section of the page.,Javascript para acrescentar à seção principal da página.
Job Applicant,Candidato a emprego
Job Opening,Abertura de emprego
Job Profile,Perfil trabalho
Job Title,Cargo
"Job profile, qualifications required etc.","Profissão de perfil, qualificações exigidas, etc"
Jobs Email Settings,E-mail Configurações de empregos
Journal Entries,Jornal entradas
Journal Entry,Journal Entry
Journal Entry for inventory that is received but not yet invoiced,"Journal Entry para o inventário que é recebido, mas ainda não facturados"
Journal Voucher,Vale Jornal
Journal Voucher Detail,Jornal Detalhe Vale
Journal Voucher Detail No,Jornal Detalhe folha no
KRA,KRA
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Mantenha o controle de campanhas de vendas. Mantenha o controle de ligações, cotações, ordem de venda, etc das campanhas para medir retorno sobre o investimento."
Keep a track of all communications,Manter um controle de todas as comunicações
Keep a track of communication related to this enquiry which will help for future reference.,Mantenha uma faixa de comunicação relacionada a este inquérito que irá ajudar para referência futura.
Key,Chave
Key Performance Area,Área Key Performance
Key Responsibility Area,Área de Responsabilidade chave
LEAD,LEAD
LEAD/10-11/,LEAD/10-11 /
LEAD/MUMBAI/,LEAD / MUMBAI /
LR Date,Data LR
LR No,Não LR
Label,Etiqueta
Label Help,Ajuda rótulo
Lacs,Lacs
Landed Cost Item,Item de custo Landed
Landed Cost Items,Desembarcaram itens de custo
Landed Cost Purchase Receipt,Recibo de compra Landed Cost
Landed Cost Purchase Receipts,Recibos de compra desembarcaram Custo
Landed Cost Wizard,Assistente de Custo Landed
Landing Page,Landing Page
Language,Linguagem
Language preference for user interface (only if available).,Preferência de idioma para interface de usuário (se disponível).
Last Contact Date,Data do último contato
Last IP,Última IP
Last Login,Último Login
Last Name,Sobrenome
Last Purchase Rate,Compra de última
Lato,Lato
Lead,Conduzir
Lead Details,Chumbo Detalhes
Lead Lost,Levar Perdido
Lead Name,Nome levar
Lead Owner,Levar Proprietário
Lead Source,Chumbo Fonte
Lead Status,Chumbo Estado
Lead Time Date,Chumbo Data Hora
Lead Time Days,Levar dias Tempo
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,Chumbo Tipo
Leave Allocation,Deixe Alocação
Leave Allocation Tool,Deixe Ferramenta de Alocação
Leave Application,Deixe Aplicação
Leave Approver,Deixe Aprovador
Leave Approver can be one of,Adicione Approver pode ser um dos
Leave Approvers,Deixe aprovadores
Leave Balance Before Application,Deixe Equilíbrio Antes da aplicaçã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,Deixe Painel de Controle
Leave Encashed?,Deixe cobradas?
Leave Encashment Amount,Deixe Quantidade cobrança
Leave Setup,Deixe Setup
Leave Type,Deixar Tipo
Leave Type Name,Deixe Nome Tipo
Leave Without Pay,Licença sem vencimento
Leave allocations.,Deixe alocações.
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 blank if you have not decided the end date.,Deixe em branco se você ainda não decidiu a data de término.
Leave by,Deixe por
"Leave can be approved by users with Role, ""Leave Approver""","A licença pode ser aprovado por usuários com papel, &quot;Deixe Aprovador&quot;"
Ledger,Livro-razão
Left,Esquerda
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Pessoa Jurídica / Subsidiária com um gráfico separado de Contas pertencentes à Organização.
Letter Head,Cabeça letra
Letter Head Image,Imagem Cabeça letra
Letter Head Name,Nome Cabeça letra
Level,Nível
"Level 0 is for document level permissions, higher levels for field level permissions.","Nível 0 é para permissões de nível de documento, os níveis mais elevados de permissões de nível de campo."
Lft,Lft
Link,Link
Link to other pages in the side bar and next section,Link para outras páginas na barra lateral e seção seguinte
Linked In Share,Linked In Compartilhar
Linked With,Com ligados
List,Lista
List items that form the package.,Lista de itens que compõem o pacote.
List of holidays.,Lista de feriados.
List of patches executed,Lista de patches executados
List of records in which this document is linked,Lista de registros em que este documento está ligado
List of users who can edit a particular Note,Lista de usuários que podem editar uma determinada Nota
List this Item in multiple groups on the website.,Lista este item em vários grupos no site.
Live Chat,Live Chat
Load Print View on opening of an existing form,Carregar Ver impressão na abertura de um formulário existente
Loading,Carregamento
Loading Report,Relatório de carregamento
Log,Entrar
"Log of Activities performed by users against Tasks that can be used for tracking time, billing.","Log das atividades realizadas pelos usuários contra as tarefas que podem ser usados ​​para controlar o tempo, de faturamento."
Log of Scheduler Errors,Registro de erros Scheduler
Login After,Após entrar
Login Before,Login antes
Login Id,Login ID
Logo,Logotipo
Logout,Sair
Long Text,Texto Longo
Lost Reason,Razão perdido
Low,Baixo
Lower Income,Baixa Renda
Lucida Grande,Lucida Grande
MIS Control,MIS Controle
MREQ-,Mreq-
MTN Details,Detalhes da MTN
Mail Footer,Rodapé correio
Mail Password,Mail Senha
Mail Port,Mail Port
Mail Server,Servidor de Correio
Main Reports,Relatórios principais
Main Section,Seção Principal
Maintain Same Rate Throughout Sales Cycle,Manter o mesmo ritmo durante todo o ciclo de vendas
Maintain same rate throughout purchase cycle,Manter mesmo ritmo durante todo o ciclo de compra
Maintenance,Manutenção
Maintenance Date,Data de manutenção
Maintenance Details,Detalhes de manutenção
Maintenance Schedule,Programação de Manutenção
Maintenance Schedule Detail,Detalhe Programa de Manutenção
Maintenance Schedule Item,Item Programa de Manutenção
Maintenance Schedules,Horários de Manutenção
Maintenance Status,Estado de manutenção
Maintenance Time,Tempo de Manutenção
Maintenance Type,Tipo de manutenção
Maintenance Visit,Visita de manutenção
Maintenance Visit Purpose,Finalidade visita de manutenção
Major/Optional Subjects,Assuntos Principais / Opcional
Make Bank Voucher,Faça Vale Banco
Make Difference Entry,Faça Entrada Diferença
Make Time Log Batch,Faça a hora Batch Log
Make a new,Faça um novo
Make sure that the transactions you want to restrict have a Link field 'territory' that maps to a 'Territory' master.,Certifique-se de que as operações que pretende restringir ter &quot;território&quot; de um campo Link que mapeia para um &quot;território&quot; mestre.
Male,Masculino
Manage cost of operations,Gerenciar custo das operações
Manage exchange rates for currency conversion,Gerenciar taxas de câmbio para conversão de moeda
Mandatory,Obrigatório
"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 Vendas
Manufacture/Repack,Fabricação / Repack
Manufactured Qty,Qtde fabricados
Manufactured quantity will be updated in this warehouse,Quantidade fabricada será atualizado neste armazém
Manufacturer,Fabricante
Manufacturer Part Number,Número da peça de fabricante
Manufacturing,Fabrico
Manufacturing Quantity,Quantidade de fabricação
Margin,Margem
Marital Status,Estado civil
Market Segment,Segmento de mercado
Married,Casado
Mass Mailing,Divulgação em massa
Master,Mestre
Master Name,Nome mestre
Master Type,Master Classe
Masters,Mestres
Match,Combinar
Match non-linked Invoices and Payments.,Combinar não vinculados faturas e pagamentos.
Material Issue,Emissão de material
Material Receipt,Recebimento de materiais
Material Request,Pedido de material
Material Request Date,Data de Solicitação 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 used to make this Stock Entry,Pedido de material usado para fazer isto Stock Entry
Material Requirement,Material Requirement
Material Transfer,Transferência de Material
Materials,Materiais
Materials Required (Exploded),Materiais necessários (explodida)
Max 500 rows only.,Max 500 apenas as linhas.
Max Attachments,Anexos Max.
Max Days Leave Allowed,Dias Max Deixe admitidos
Max Discount (%),Max Desconto (%)
"Meaning of Submit, Cancel, Amend","Significado do Submit, Cancelar, Alterar"
Medium,Médio
"Menu items in the Top Bar. For setting the color of the Top Bar, go to <a href=""#Form/Style Settings"">Style Settings</a>","Os itens de menu na barra superior. Para definir a cor da barra superior, vá até <a href=""#Form/Style Settings"">Settings</a>"
Merge,Fundir
Merge Into,Fundem-se
Merge Warehouses,Mesclar Armazéns
Merging is only possible between Group-to-Group or 					Ledger-to-Ledger,A fusão só é possível entre o grupo-a-grupo ou Ledger-to-Ledger
"Merging is only possible if following \					properties are same in both records.					Group or Ledger, Debit or Credit, Is PL Account","A fusão só é possível se seguindo \ propriedades são as mesmas em ambos os registros. Grupo ou Ledger, de débito ou de crédito, é Conta PL"
Message,Mensagem
Message Parameter,Parâmetro mensagem
Messages greater than 160 characters will be split into multiple messages,Mensagem maior do que 160 caracteres vai ser dividido em mesage múltipla
Messages,Mensagens
Method,Método
Middle Income,Rendimento Médio
Middle Name (Optional),Nome do Meio (Opcional)
Milestone,Marco miliário
Milestone Date,Data Milestone
Milestones,Milestones
Milestones will be added as Events in the Calendar,Marcos será adicionado como eventos no calendário
Millions,Milhões
Min Order Qty,Min Qty Ordem
Minimum Order Qty,Qtde mínima
Misc,Variados
Misc Details,Detalhes Diversos
Miscellaneous,Diverso
Miscelleneous,Miscelleneous
Mobile No,No móvel
Mobile No.,Mobile No.
Mode of Payment,Modo de Pagamento
Modern,Moderno
Modified Amount,Quantidade modificado
Modified by,Modificado por
Module,Módulo
Module Def,Módulo Def
Module Name,Nome do Módulo
Modules,Módulos
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 salário mensal.
Monthly salary template.,Modelo de salário mensal.
More,Mais
More Details,Mais detalhes
More Info,Mais informações
More content for the bottom of the page.,Mais conteúdo para o fundo da página.
Moving Average,Média móvel
Moving Average Rate,Movendo Taxa Média
Mr,Sr.
Ms,Ms
Multiple Item Prices,Vários preços de itens
Multiple root nodes not allowed.,"Vários nós raiz, não é permitido."
Mupltiple Item prices.,Item preços Mupltiple.
Must be Whole Number,Deve ser Número inteiro
Must have report permission to access this report.,Deve ter permissão de relatório para acessar este relatório.
Must specify a Query to run,Deve especificar uma consulta para executar
My Settings,Minhas Configurações
NL-,NL-
Name,Nome
Name Case,Caso Nome
Name and Description,Nome e descrição
Name and Employee ID,Nome e identificação do funcionário
Name as entered in Sales Partner master,Nome como entrou em Vendas mestre Parceiro
Name is required,Nome é obrigatório
Name of organization from where lead has come,Nome da organização de onde veio chumbo
Name of person or organization that this address belongs to.,Nome da pessoa ou organização que este endereço pertence.
Name of the Budget Distribution,Nome da Distribuição de Orçamento
Name of the entity who has requested for the Material Request,Nome da entidade que solicitou para a solicitação de material
Naming,Nomeando
Naming Series,Nomeando Series
Naming Series mandatory,Nomeando obrigatório Series
Negative balance is not allowed for account ,Saldo negativo não é permitido por conta
Net Pay,Pagamento Net
Net Pay (in words) will be visible once you save the Salary Slip.,Pagamento líquido (em palavras) será visível quando você salvar a folha de salário.
Net Total,Líquida Total
Net Total (Company Currency),Total Líquido (Moeda Company)
Net Weight,Peso Líquido
Net Weight UOM,UOM Peso Líquido
Net Weight of each Item,Peso líquido de cada item
Net pay can not be negative,Remuneração líquida não pode ser negativo
Never,Nunca
New,Novo
New BOM,Novo BOM
New Communications,New Communications
New Delivery Notes,Novas notas de entrega
New Enquiries,Consultas novo
New Leads,Nova leva
New Leave Application,Aplicação deixar Nova
New Leaves Allocated,Nova Folhas alocado
New Leaves Allocated (In Days),Folhas novas atribuído (em dias)
New Material Requests,Novos Pedidos Materiais
New Password,Nova senha
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 Vendas
New Stock Entries,Novas entradas em existências
New Stock UOM,Nova da UOM
New Supplier Quotations,Novas citações Fornecedor
New Support Tickets,Novos pedidos de ajuda
New Workplace,Novo local de trabalho
New value to be set,Novo valor a ser definido
Newsletter,Boletim informativo
Newsletter Content,Conteúdo boletim
Newsletter Status,Estado boletim
"Newsletters to contacts, leads.","Newsletters para contatos, leva."
Next Communcation On,No próximo Communcation
Next Contact By,Contato Próxima Por
Next Contact Date,Data Contato próximo
Next Date,Data próxima
Next State,Estado próximo
Next actions,Próximas ações
Next email will be sent on:,Próximo e-mail será enviado em:
No,Não
"No Account found in csv file, 							May be company abbreviation is not correct","Não Conta encontrado no arquivo CSV, podem ser abreviatura empresa não está correto"
No Action,Nenhuma ação
No Communication tagged with this ,Nenhuma comunicação com etiquetas com esta
No Copy,Nenhuma cópia
No Customer Accounts found. Customer Accounts are identified based on \			'Master Type' value in account record.,Nenhum cliente encontrado. Contas dos clientes são identificados com base no valor \ &#39;Type Master&#39; em registro de conta.
No Item found with Barcode,Nenhum artigo encontrado com código de barras
No Items to Pack,Nenhum item para embalar
No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user.,"Não Deixe aprovadores. Por favor, atribuir &#39;Deixe aprovador&#39; Role a pelo menos um usuário."
No Permission,Nenhuma permissão
No Permission to ,Sem permissão para
No Permissions set for this criteria.,Sem permissões definidas para este critério.
No Report Loaded. Please use query-report/[Report Name] to run a report.,No Report Loaded. Utilize query-report / [Report Name] para executar um relatório.
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 \ &#39;Type Master&#39; em registro de conta.
No User Properties found.,Não Propriedades do usuário encontrado.
No default BOM exists for item: ,Não existe BOM padrão para o item:
No further records,Não há mais registros
No of Requested SMS,No pedido de SMS
No of Sent SMS,N º de SMS enviados
No of Visits,N º de Visitas
No one,Ninguém
No permission to write / remove.,Sem permissão para escrever / remover.
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:
"No table is created for Single DocTypes, all values are stored in tabSingles as a tuple.","Nenhuma tabela é criada para DOCTYPEs simples, todos os valores são armazenados em tabSingles como uma tupla."
None,Nenhum
None: End of Workflow,Nenhum: Fim do fluxo de trabalho
Not,Não
Not Active,Não Ativo
Not Applicable,Não Aplicá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 allowed for: ,Não permitido para:
Not enough permission to see links.,Não permissão suficiente para ver os links.
Not in Use,Não está em uso
Not interested,Não está interessado
Not linked,Não ligados
Note,Nota
Note User,Nota usuários
Note is a free page where users can share documents / notes,"Nota é uma página livre, onde os usuários podem compartilhar documentos / notas"
"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: Email will not be sent to disabled users,Nota: e-mail não será enviado para utilizadores com deficiência
"Note: For best results, images must be of the same size and width must be greater than height.","Nota: Para melhores resultados, as imagens devem ser do mesmo tamanho e largura não deve ser maior do que a altura."
Note: Other permission rules may also apply,Nota: As regras de permissão Outros também se podem aplicar
Note: You Can Manage Multiple Address or Contacts via Addresses & Contacts,Nota: você pode gerenciar Endereço múltipla ou Contatos através de endereços e contatos
Note: maximum attachment size = 1mb,Nota: tamanho máximo do anexo = 1mb
Notes,Notas
Nothing to show,Nada para mostrar
Notice - Number of Days,Aviso - número de 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
O+,O +
O-,O-
OPPT,OPPT
Office,Escritório
Old Parent,Pai Velho
On,Em
On Net Total,Em Líquida Total
On Previous Row Amount,Quantidade em linha anterior
On Previous Row Total,No total linha anterior
"Once you have set this, the users will only be able access documents with that property.","Depois de ter definido isso, os usuários só acessar documentos capazes com essa propriedade."
Only Administrator allowed to create Query / Script Reports,Somente Administrador autorizado a criar consultas / Script Reports
Only Administrator can save a standard report. Please rename and save.,"Somente Administrador pode salvar um relatório padrão. Por favor, renomear e salvar."
Only Allow Edit For,Somente permitir editar para
Only Stock Items are allowed for Stock Entry,Apenas Itens Em Stock são permitidos para Banco de Entrada
Only System Manager can create / edit reports,System Manager só pode criar / editar relatórios
Only leaf nodes are allowed in transaction,Nós folha apenas são permitidos em operação
Open,Abrir
Open Sans,Sans abertas
Open Tickets,Bilhetes abertas
Opening Date,Data de abertura
Opening Entry,Abertura Entry
Opening Time,Tempo de abertura
Opening for a Job.,A abertura para um trabalho.
Operating Cost,Custo de Operação
Operation Description,Descrição da operação
Operation No,Nenhuma operação
Operation Time (mins),Tempo de Operação (minutos)
Operations,Operações
Opportunity,Oportunidade
Opportunity Date,Data oportunidade
Opportunity From,Oportunidade De
Opportunity Item,Item oportunidade
Opportunity Items,Itens oportunidade
Opportunity Lost,Oportunidade perdida
Opportunity Type,Tipo de Oportunidade
Options,Opções
Options Help,Opções Ajuda
Order Confirmed,Confirmado fim
Order Lost,Ordem Perdido
Order Type,Tipo de Ordem
Ordered Items To Be Billed,Itens ordenados a ser cobrado
Ordered Items To Be Delivered,Itens ordenados a ser entregue
Ordered Quantity,Quantidade pedida
Orders released for production.,Ordens liberado para produção.
Organization Profile,Perfil da Organização
Original Message,Mensagem original
Other,Outro
Other Details,Outros detalhes
Out,Fora
Out of AMC,Fora da AMC
Out of Warranty,Fora de Garantia
Outgoing,Cessante
Outgoing Mail Server,Outgoing Mail Server
Outgoing Mails,E-mails de saída
Outstanding Amount,Saldo em aberto
Outstanding for Voucher ,Excelente para Vale
Over Heads,Mais Cabeças
Overhead,Despesas gerais
Overlapping Conditions found between,Condições sobreposição encontrada entre
Owned,Possuído
PAN Number,Número PAN
PF No.,PF Não.
PF Number,Número PF
PI/2011/,PI/2011 /
PIN,PIN
PO,PO
POP3 Mail Server,Servidor de correio POP3
POP3 Mail Server (e.g. pop.gmail.com),"POP3 Mail Server (por exemplo, pop.gmail.com)"
POP3 Mail Settings,Configurações de mensagens pop3
POP3 mail server (e.g. pop.gmail.com),POP3 servidor de correio (por exemplo pop.gmail.com)
POP3 server e.g. (pop.gmail.com),"Servidor POP3, por exemplo (pop.gmail.com)"
POS Setting,Definição POS
POS View,POS Ver
PR Detail,Detalhe PR
PRO,PRO
PS,PS
Package Item Details,Item Detalhes do pacote
Package Items,Itens do pacote
Package Weight Details,Peso Detalhes do pacote
Packing Details,Detalhes da embalagem
Packing Detials,Detials embalagem
Packing List,Lista de embalagem
Packing Slip,Embalagem deslizamento
Packing Slip Item,Embalagem item deslizamento
Packing Slip Items,Embalagem Itens deslizamento
Packing Slip(s) Cancelled,Deslizamento de embalagem (s) Cancelado
Page,Página
Page Background,Fundo da Página
Page Border,Border página
Page Break,Quebra de página
Page HTML,Página HTML
Page Headings,Títulos de página
Page Links,Pagina Links
Page Name,Nome da Página
Page Role,Papel página
Page Text,Página de texto
Page content,O conteúdo da página
Page not found,Página não encontrada
Page text and background is same color. Please change.,"Texto da página e no fundo é a mesma cor. Por favor, altere."
Page to show on the website,Página para mostrar no site
"Page url name (auto-generated) (add "".html"")",Nome da página url (gerado automaticamente) (adicione &quot;. Html&quot;)
Paid Amount,Valor pago
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 Detalhe pai
Parent Item,Item Pai
Parent Item Group,Grupo item pai
Parent Label,Etiqueta pai
Parent Sales Person,Vendas Pessoa pai
Parent Territory,Território pai
Parent is required.,É necessário Parent.
Parenttype,ParentType
Partially Completed,Parcialmente concluída
Participants,Participantes
Partly Billed,Parcialmente faturado
Partly Delivered,Entregue em parte
Partner Target Detail,Detalhe Alvo parceiro
Partner Type,Tipo de parceiro
Partner's Website,Site do parceiro
Passive,Passiva
Passport Number,Número do Passaporte
Password,Senha
Password Expires in (days),Senha expira em (dias)
Patch,Remendo
Patch Log,Log remendo
Pay To / Recd From,Para pagar / RECD De
Payables,Contas a pagar
Payables Group,Grupo de contas a pagar
Payment Collection With Ageing,Cobrança Com o Envelhecimento
Payment Days,Datas de Pagamento
Payment Entries,Entradas de pagamento
Payment Entry has been modified after you pulled it. 			Please pull it again.,"Entrada de pagamento foi modificada depois que você tirou isso. Por favor, puxe-o novamente."
Payment Made With Ageing,O pagamento feito com o Envelhecimento
Payment Reconciliation,Reconciliação de pagamento
Payment Terms,Condições de Pagamento
Payment to Invoice Matching Tool,Pagamento a ferramenta correspondente fatura
Payment to Invoice Matching Tool Detail,Pagamento a Detalhe Ferramenta 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 Setup,Configuração da folha de pagamento
Pending,Pendente
Pending Review,Revisão pendente
Pending SO Items For Purchase Request,"Itens Pendentes Assim, por solicitação de compra"
Percent,Por cento
Percent Complete,Porcentagem Concluída
Percentage Allocation,Alocação percentual
Percentage Allocation should be equal to ,Percentual de alocação deve ser igual ao
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 Closing Voucher,Comprovante de Encerramento período
Periodicity,Periodicidade
Perm Level,Perm Nível
Permanent Accommodation Type,Tipo de Alojamento Permanente
Permanent Address,Endereço permanente
Permission,Permissão
Permission Level,Nível de Permissão
Permission Levels,Níveis de Permissão
Permission Manager,Gerente de Permissão
Permission Rules,Regras de permissão
Permissions,Permissões
Permissions Settings,Configurações de permissões
Permissions are automatically translated to Standard Reports and Searches,As permissões são automaticamente traduzidos para Relatórios Padrão e Pesquisas
"Permissions are set on Roles and Document Types (called DocTypes) by restricting read, edit, make new, submit, cancel, amend and report rights.","As permissões são definidas em Funções e tipos de documentos (chamados DOCTYPEs) restringindo ler, editar, fazer novos, enviar, cancelar, alterar e denunciar direitos."
Permissions at higher levels are 'Field Level' permissions. All Fields have a 'Permission Level' set against them and the rules defined at that permissions apply to the field. This is useful incase you want to hide or make certain field read-only.,Permissões em níveis mais elevados são permissões &quot;nível de campo&quot;. Todos os campos têm um conjunto &#39;Nível de Permissão &quot;contra eles e as regras definidas em que as permissões se aplicam ao campo. Isto é útil no caso de você querer esconder ou fazer determinado campo somente leitura.
"Permissions at level 0 are 'Document Level' permissions, i.e. they are primary for access to the document.","Permissões no nível 0 são permissões &#39;Nível de Documento &quot;, ou seja, são primário para o acesso ao documento."
Permissions translate to Users based on what Role they are assigned,Permissões traduzir aos usuários com base em papel que são atribuídos
Person,Pessoa
Person To Be Contacted,Pessoa a ser contatada
Personal,Pessoal
Personal Details,Detalhes pessoais
Personal Email,E-mail pessoal
Phone,Telefone
Phone No,N º de telefone
Phone No.,Não. telefone
Pick Columns,Escolha 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 Quantity,Quantidade planejada
Plant,Planta
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,Por favor insira Abreviação ou Nome Curto corretamente como ele será adicionado como sufixo a todos os chefes de Conta.
Please Update Stock UOM with the help of Stock UOM Replace Utility.,"Atualize Banco UOM, com a ajuda do Banco UOM Utility Replace."
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,"Por favor, verifique"
Please enter Default Unit of Measure,Por favor insira unidade de medida padrão
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 Number,Por favor insira Número do Funcionário
Please enter Expense Account,Por favor insira Conta Despesa
Please enter Expense/Adjustment Account,Por favor insira Despesa / Acerto de Contas
Please enter Purchase Receipt No to proceed,Por favor insira Compra recibo Não para continuar
Please enter Reserved Warehouse for item ,Por favor insira Warehouse reservada para o item
Please enter valid,Por favor insira válido
Please enter valid ,Por favor insira válido
Please install dropbox python module,"Por favor, instale o Dropbox módulo python"
Please make sure that there are no empty columns in the file.,"Por favor, certifique-se de que não existem colunas vazias no arquivo."
Please mention default value for ',"Por favor, mencione o valor padrão para &#39;"
Please reduce qty.,Reduza qty.
Please refresh to get the latest document.,Por favor de atualização para obter as últimas documento.
Please save the Newsletter before sending.,"Por favor, salve o boletim antes de enviar."
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 seleccione Carry Forward se você também quer incluir equilíbrio ano fiscal anterior deixa para este ano fiscal
Please select Date on which you want to run the report,Selecione Data na qual você deseja executar o relatório
Please select Naming Neries,Por favor seleccione nomenclatura Neries
Please select Price List,"Por favor, selecione Lista de Preço"
Please select Time Logs.,Por favor seleccione Time Logs.
Please select a,Por favor seleccione um
Please select a csv file,"Por favor, selecione um arquivo csv"
Please select a file or url,"Por favor, selecione um arquivo ou url"
Please select a service item or change the order type to Sales.,"Por favor, selecione um item de serviço ou mudar o tipo de ordem de vendas."
Please select a sub-contracted item or do not sub-contract the transaction.,"Por favor, selecione um item do sub-contratado ou não subcontratar a transação."
Please select a valid csv file with data.,"Por favor, selecione um arquivo csv com dados válidos."
Please select month and year,Selecione mês e ano
Please select the document type first,"Por favor, selecione o tipo de documento primeiro"
Please select: ,Por favor seleccione:
Please set Dropbox access keys in,Defina teclas de acesso Dropbox em
Please set Google Drive access keys in,Defina teclas de acesso do Google Drive em
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 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, especificar a moeda padrão na empresa MASTER \ e Padrões Globais"
Please specify a,"Por favor, especifique um"
Please specify a Price List which is valid for Territory,"Por favor, especifique uma lista de preços que é válido para o território"
Please specify a valid,"Por favor, especifique um válido"
Please specify a valid 'From Case No.',"Por favor, especifique um válido &#39;De Caso No.&#39;"
Please specify currency in Company,"Por favor, especificar a moeda em Empresa"
Point of Sale,Ponto de Venda
Point-of-Sale Setting,Ponto-de-Venda Setting
Post Graduate,Pós-Graduação
Post Topic,Postar Tópico
Postal,Postal
Posting Date,Data da Publicação
Posting Date Time cannot be before,Postando Data Hora não pode ser antes
Posting Time,Postagem Tempo
Posts,Posts
Potential Sales Deal,Negócio de Vendas
Potential opportunities for selling.,Oportunidades potenciais para a venda.
"Precision for Float fields (quantities, discounts, percentages etc). Floats will be rounded up to specified decimals. Default = 3","Precisão para os campos float (quantidade, descontos, porcentagens, etc.) Carros alegóricos será arredondado para decimais especificadas. Padrão = 3"
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 Work Experience,Experiência anterior de trabalho
Price,Preço
Price List,Lista de Preços
Price List Currency,Hoje Lista de Preços
Price List Currency Conversion Rate,O preço de lista taxa de conversão
Price List Exchange Rate,Preço Lista de Taxa de Câmbio
Price List Master,Mestre 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 for Costing,Lista de Preços para Custeio
Price Lists and Rates,Listas de Preços e Tarifas
Primary,Primário
Print Format,Imprimir Formato
Print Format Style,Formato de impressão Estilo
Print Format Type,Tipo de impressão Formato
Print Heading,Imprimir título
Print Hide,Imprimir Ocultar
Print Width,Largura de impressão
Print Without Amount,Imprimir Sem Quantia
Print...,Imprimir ...
Priority,Prioridade
Private,Privado
Proceed to Setup,Proceder à instalação
Process,Processo
Process Payroll,Payroll processo
Produced Quantity,Quantidade produzida
Product Enquiry,Produto Inquérito
Production Order,Ordem de Produção
Production Orders,Ordens de Produção
Production Plan Item,Item do plano de produção
Production Plan Items,Plano de itens de produção
Production Plan Sales Order,Produção Plano de Ordem de Vendas
Production Plan Sales Orders,Vendas de produção do Plano de Ordens
Production Planning (MRP),Planejamento de Produção (MRP)
Production Planning Tool,Ferramenta de Planejamento da Produção
"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-idade em buscas padrão. Mais o peso-idade, maior o produto irá aparecer na lista."
Profile,Perfil
Profile Defaults,Padrões de Perfil
Profile Represents a User in the system.,Perfil Representa um usuário no sistema.
Profile of a Blogger,Perfil de um Blogger
Profile of a blog writer.,Perfil de um escritor do blog.
Project,Projeto
Project Costing,Project Costing
Project Details,Detalhes do projeto
Project Milestone,Projeto Milestone
Project Milestones,Etapas 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 de projeto / tarefa.
Project master.,Projeto mestre.
Project will get saved and will be searchable with project name given,Projeto será salvo e poderão ser pesquisados ​​com o nome de determinado projeto
Project wise Stock Tracking,Projeto sábios Stock Rastreamento
Projected Qty,Qtde Projetada
Projects,Projetos
Prompt for Email on Submission of,Solicitar-mail mediante a apresentação da
Properties,Propriedades
Property,Propriedade
Property Setter,Setter propriedade
Property Setter overrides a standard DocType or Field property,Setter propriedade substitui uma propriedade DocType ou Campo padrão
Property Type,Tipo de propriedade
Provide email id registered in company,Fornecer ID e-mail registrado na empresa
Public,Público
Published,Publicado
Published On,Publicado no
Pull Emails from the Inbox and attach them as Communication records (for known contacts).,Puxe-mails da caixa de entrada e anexá-los como registros de comunicação (por contatos conhecidos).
Pull Payment Entries,Puxe as entradas de pagamento
Pull sales orders (pending to deliver) based on the above criteria,Puxe pedidos de vendas pendentes (de entregar) com base nos critérios acima
Purchase,Comprar
Purchase Analytics,Analytics compra
Purchase Common,Compre comum
Purchase Date,Data da compra
Purchase Details,Detalhes de compra
Purchase Discounts,Descontos de compra
Purchase Document No,Compra documento n
Purchase Document Type,Compra Tipo de Documento
Purchase In Transit,Compre Em Trânsito
Purchase Invoice,Compre Fatura
Purchase Invoice Advance,Compra Antecipada Fatura
Purchase Invoice Advances,Avanços comprar Fatura
Purchase Invoice Item,Comprar item Fatura
Purchase Invoice Trends,Compra Tendências fatura
Purchase Order,Ordem de Compra
Purchase Order Date,Data da compra Ordem
Purchase Order Item,Comprar item Ordem
Purchase Order Item No,Comprar item Portaria n
Purchase Order Item Supplied,Item da ordem de compra em actualização
Purchase Order Items,Comprar Itens Encomendar
Purchase Order Items Supplied,Itens ordem de compra em actualização
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 comprar Ordem
Purchase Order Required,Ordem de Compra Obrigatório
Purchase Order Trends,Ordem de Compra Trends
Purchase Order sent by customer,Ordem de Compra enviada pelo cliente
Purchase Orders given to Suppliers.,As ordens de compra dadas a fornecedores.
Purchase Receipt,Compra recibo
Purchase Receipt Item,Comprar item recepção
Purchase Receipt Item Supplied,Recibo de compra do item em actualização
Purchase Receipt Item Supplieds,Compre Supplieds item recepção
Purchase Receipt Items,Comprar Itens Recibo
Purchase Receipt Message,Mensagem comprar Recebimento
Purchase Receipt No,Compra recibo Não
Purchase Receipt Required,Recibo de compra Obrigatório
Purchase Receipt Trends,Compra Trends Recibo
Purchase Register,Compra Registre
Purchase Return,Voltar comprar
Purchase Returned,Compre Devolvido
Purchase Taxes and Charges,Impostos e Encargos de compra
Purchase Taxes and Charges Master,Impostos de compra e Master Encargos
Purpose,Propósito
Purpose must be one of ,Objetivo deve ser um dos
Python Module Name,Python Nome do Módulo
QA Inspection,Inspeção QA
QAI/11-12/,QAI/11-12 /
QTN,QTN
Qty,Qty
Qty Consumed Per Unit,Qtde consumida por unidade
Qty To Manufacture,Qtde Para Fabricação
Qty as per Stock UOM,Qtde como por Ação UOM
Qualification,Qualificação
Quality,Qualidade
Quality Inspection,Inspeção de Qualidade
Quality Inspection Parameters,Inspeção parâmetros de qualidade
Quality Inspection Reading,Leitura de Inspeção de Qualidade
Quality Inspection Readings,Leituras de inspeção de qualidade
Quantity,Quantidade
Quantity Requested for Purchase,Quantidade Solicitada para Compra
Quantity already manufactured,Quantidade já fabricados
Quantity and Rate,Quantidade e Taxa
Quantity and Warehouse,Quantidade e Armazém
Quantity cannot be a fraction.,A quantidade não pode ser uma fracção.
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Quantidade do item obtido após a fabricação / reembalagem de determinadas quantidades de matérias-primas
Quantity should be equal to Manufacturing Quantity. ,Quantidade deve ser igual a quantidade Manufacturing.
Quarter,Trimestre
Quarterly,Trimestral
Query,Pergunta
Query Options,Opções de Consulta
Query Report,Query Report
Query must be a SELECT,Consulta deve ser um SELECT
Quick Help for Setting Permissions,Ajuda rápida para definir permissões
Quick Help for User Properties,Ajuda rápida para Propriedades do usuário
Quotation,Citação
Quotation Date,Data citação
Quotation Item,Item citação
Quotation Items,Itens cotação
Quotation Lost Reason,Cotação Perdeu Razão
Quotation Message,Mensagem citação
Quotation Sent,Cotação enviada
Quotation Series,Série citação
Quotation To,Para citação
Quotation Trend,Cotação Tendência
Quotations received from Suppliers.,Citações recebidas de fornecedores.
Quotes to Leads or Customers.,Cotações para Leads 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,Acaso
Range,Alcance
Rate,Taxa
Rate ,Taxa
Rate (Company Currency),Rate (moeda da empresa)
Rate Of Materials Based On,Taxa de materiais com base
Rate and Amount,Taxa e montante
Rate at which Customer Currency is converted to customer's base currency,Taxa em que moeda do cliente é convertido para a moeda base de cliente
Rate at which Price list currency is converted to company's base currency,Taxa em que moeda lista de preços é convertido para a moeda da empresa de base
Rate at which Price list currency is converted to customer's base currency,Taxa em que moeda lista de preços é convertido para a moeda base de cliente
Rate at which customer's currency is converted to company's base currency,Taxa na qual a moeda do cliente é convertido para a moeda da empresa de base
Rate at which supplier's currency is converted to company's base currency,Taxa na qual a moeda que fornecedor é convertido para a moeda da empresa de base
Rate at which this tax is applied,Taxa em que este imposto é aplicado
Raw Material Item Code,Item Código de matérias-primas
Raw Materials Supplied,Matérias-primas em actualização
Raw Materials Supplied Cost,Matérias-primas fornecidas Custo
Re-Order Level,Re Ordem Nível
Re-Order Qty,Re-Ordem Qtde
Re-order,Re-vista
Re-order Level,Re fim-Level
Re-order Qty,Re-vista Qtde
Read,Ler
Read Only,Somente leitura
Reading 1,Leitura 1
Reading 10,Leitura 10
Reading 2,Leitura 2
Reading 3,Leitura 3
Reading 4,Reading 4
Reading 5,Leitura 5
Reading 6,Leitura 6
Reading 7,Lendo 7
Reading 8,Leitura 8
Reading 9,Leitura 9
Reason,Razão
Reason for Leaving,Motivo da saída
Reason for Resignation,Motivo para Demissão
Recd Quantity,Quantidade RECD
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 recebeu
Received and Accepted,Recebeu e aceitou
Receiver List,Lista de receptor
Receiver Parameter,Parâmetro receptor
Recipient,Beneficiário
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,Fatura recorrente
Recurring Type,Tipo recorrente
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,Ref Código
Ref Date is Mandatory if Ref Number is specified,Ref data é obrigatória se Número Ref é especificada
Ref DocType,Ref DocType
Ref Name,Nome Ref
Ref Rate,Taxa de Ref
Ref SQ,Ref ²
Ref Type,Tipo Ref
Reference,Referência
Reference Date,Data de Referência
Reference DocName,Referência DocNome
Reference DocType,Referência TipoDoc
Reference Name,Nome de referência
Reference Number,Número de Referência
Reference Type,Tipo de referência
Refresh,Refrescar
Registered but disabled.,"Registrado, mas desativado."
Registration Details,Detalhes registro
Registration Details Emailed.,Detalhes do registro enviado por email.
Registration Info,Registo Informações
Rejected,Rejeitado
Rejected Quantity,Quantidade rejeitado
Rejected Serial No,Rejeitado Não Serial
Rejected Warehouse,Armazém rejeitado
Relation,Relação
Relieving Date,Aliviar Data
Relieving Date of employee is ,Aliviar Data de empregado é
Remark,Observação
Remarks,Observações
Remove Bookmark,Remover Bookmark
Rename Log,Renomeie Entrar
Rename Tool,Renomear Ferramenta
Rename...,Renomear ...
Rented,Alugado
Repeat On,Repita On
Repeat Till,Repita até que
Repeat on Day of Month,Repita no Dia do Mês
Repeat this Event,Repita este evento
Replace,Substituir
Replace Item / BOM in all BOMs,Substituir item / BOM em todas as BOMs
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM","Substituir um BOM particular em todas as BOMs outros onde ele é usado. Ele irá substituir o link BOM antigo, atualizar o custo e regenerar &quot;Explosão BOM Item&quot; tabela como por novo BOM"
Replied,Respondeu
Report,Relatório
Report Builder,Report Builder
Report Builder reports are managed directly by the report builder. Nothing to do.,Os relatórios do Construtor são gerenciados diretamente pelo construtor relatório. Nada a fazer.
Report Date,Relatório Data
Report Hide,Hide
Report Name,Nome do Relatório
Report Type,Tipo de relatório
Report was not saved (there were errors),Relatório não foi salvo (houve erros)
Reports,Relatórios
Reports to,Relatórios para
Represents the states allowed in one document and role assigned to change the state.,Representa os estados permitidos em um documento e papel atribuído a alterações do estado.
Reqd,Reqd
Reqd By Date,Reqd Por Data
Request Type,Tipo de Solicitação
Request for Information,Pedido de Informação
Request for purchase.,Pedido de compra.
Requested By,Solicitado por
Requested Items To Be Ordered,Itens solicitados devem ser pedidos
Requested Items To Be Transferred,Itens solicitados para ser transferido
Requests for items.,Os pedidos de itens.
Required By,Exigido por
Required Date,Data Obrigatório
Required Qty,Quantidade requerida
Required only for sample item.,Necessário apenas para o item amostra.
Required raw materials issued to the supplier for producing a sub - contracted item.,Matérias-primas necessárias emitidos para o fornecedor para a produção de um sub - item contratado.
Reseller,Revendedor
Reserved Quantity,Quantidade reservados
Reserved Warehouse,Reservado Armazém
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
Resignation Letter Date,Data carta de demissão
Resolution,Resolução
Resolution Date,Data resolução
Resolution Details,Detalhes de Resolução
Resolved By,Resolvido por
Restrict IP,Restringir IP
Restrict user from this IP address only. Multiple IP addresses can be added by separating with commas. Also accepts partial IP addresses like (111.111.111),Restringir usuário a partir deste endereço IP. Vários endereços IP podem ser adicionados ao separar com vírgulas. Também aceita parciais endereços IP como (111.111.111)
Restricting By User,Restringir por usuário
Retail,Varejo
Retailer,Varejista
Review Date,Comente Data
Rgt,Rgt
Right,Direito
Role,Papel
Role Allowed to edit frozen stock,Papel permissão para editar estoque congelado
Role Name,Nome da Função
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.
Roles,Funções
Roles Assigned,Funções atribuídas
Roles Assigned To User,Funções atribuídas ao Usuário
Roles HTML,Funções HTML
Root ,Raiz
Root cannot have a parent cost center,Root não pode ter um centro de custos pai
Rounded Total,Total arredondado
Rounded Total (Company Currency),Total arredondado (Moeda Company)
Row,Linha
Row ,Linha
Row #,Linha #
Row # ,Linha #
Rules defining transition of state in the workflow.,Regras que definem a transição de estado do fluxo de trabalho.
"Rules for how states are transitions, like next state and which role is allowed to change state etc.","Regras de como os estados são transições, como o próximo estado e que terá permissão para mudar de estado etc"
Rules to calculate shipping amount for a sale,Regras para calcular valor de frete para uma venda
SLE Exists,LES existe
SMS,SMS
SMS Center,SMS Center
SMS Control,SMS Controle
SMS Gateway URL,SMS Gateway de URL
SMS Log,SMS Log
SMS Parameter,Parâmetro SMS
SMS Parameters,SMS Parâmetros
SMS Sender Name,Nome do remetente SMS
SMS Settings,Definições SMS
SMTP Server (e.g. smtp.gmail.com),"SMTP Server (smtp.gmail.com, por exemplo)"
SO,SO
SO Date,SO Data
SO Pending Qty,Está pendente de Qtde
SO/10-11/,SO/10-11 /
SO1112,SO1112
SQTN,SQTN
STE,STO
SUP,SUP
SUPP,SUPP
SUPP/10-11/,SUPP/10-11 /
Salary,Salário
Salary Information,Informação salário
Salary Manager,Gerente de salário
Salary Mode,Modo de salário
Salary Slip,Folha de salário
Salary Slip Deduction,Dedução folha de salário
Salary Slip Earning,Folha de salário Ganhando
Salary Structure,Estrutura Salarial
Salary Structure Deduction,Dedução Estrutura Salarial
Salary Structure Earning,Estrutura salarial Ganhando
Salary Structure Earnings,Estrutura Lucros Salário
Salary breakup based on Earning and Deduction.,Separação Salário com base em salário e dedução.
Salary components.,Componentes salariais.
Sales,De vendas
Sales Analytics,Sales Analytics
Sales BOM,BOM vendas
Sales BOM Help,Vendas Ajuda BOM
Sales BOM Item,Vendas item BOM
Sales BOM Items,Vendas Itens BOM
Sales Common,Vendas comuns
Sales Details,Detalhes de vendas
Sales Discounts,Descontos de vendas
Sales Email Settings,Vendas Configurações de Email
Sales Extras,Extras de vendas
Sales Invoice,Fatura de vendas
Sales Invoice Advance,Vendas antecipadas Fatura
Sales Invoice Item,Vendas item Fatura
Sales Invoice Items,Vendas itens da fatura
Sales Invoice Message,Vendas Mensagem Fatura
Sales Invoice No,Vendas factura n
Sales Invoice Trends,Vendas Tendências fatura
Sales Order,Ordem de Vendas
Sales Order Date,Vendas Data Ordem
Sales Order Item,Vendas item Ordem
Sales Order Items,Vendas Itens Encomendar
Sales Order Message,Vendas Mensagem Ordem
Sales Order No,Vendas decreto n º
Sales Order Required,Ordem vendas Obrigatório
Sales Order Trend,Pedido de Vendas da Trend
Sales Partner,Parceiro de vendas
Sales Partner Name,Vendas Nome do parceiro
Sales Partner Target,Vendas Alvo Parceiro
Sales Partners Commission,Vendas Partners Comissão
Sales Person,Vendas Pessoa
Sales Person Incharge,Vendas Pessoa Incharge
Sales Person Name,Vendas Nome Pessoa
Sales Person Target Variance (Item Group-Wise),Vendas Pessoa Variance Alvo (Item Group-Wise)
Sales Person Targets,Metas de vendas Pessoa
Sales Person-wise Transaction Summary,Resumo da transação Pessoa-wise vendas
Sales Register,Vendas Registrar
Sales Return,Vendas Retorno
Sales Taxes and Charges,Vendas Impostos e Taxas
Sales Taxes and Charges Master,Vendas Impostos e Encargos mestre
Sales Team,Equipe de Vendas
Sales Team Details,Vendas Team Detalhes
Sales Team1,Vendas team1
Sales and Purchase,Vendas e Compras
Sales campaigns,Campanhas de vendas
Sales persons and targets,Vendas pessoas e metas
Sales taxes template.,Impostos sobre as vendas do modelo.
Sales territories.,Os territórios de vendas.
Salutation,Saudação
Same file has already been attached to the record,Mesmo arquivo já foi anexado ao registro
Sample Size,Tamanho da amostra
Sanctioned Amount,Quantidade sancionada
Saturday,Sábado
Save,Salvar
Schedule,Programar
Schedule Details,Detalhes da Agenda
Scheduled,Programado
Scheduled Confirmation Date,Confirmação Data programada
Scheduled Date,Data prevista
Scheduler Log,Scheduler Log
School/University,Escola / Universidade
Score (0-5),Pontuação (0-5)
Score Earned,Pontuação Agregado
Scrap %,Sucata%
Script,Escrita
Script Report,Relatório de Script
Script Type,Tipo de roteiro
Script to attach to all web pages.,Script para anexar a todas as páginas da web.
Search,Pesquisar
Search Fields,Campos de Pesquisa
Seasonality for setting budgets.,Sazonalidade para definir orçamentos.
Section Break,Quebra de seção
Security Settings,Configurações de Segurança
"See ""Rate Of Materials Based On"" in Costing Section",Consulte &quot;taxa de materiais baseados em&quot; no Custeio Seção
Select,Selecionar
"Select ""Yes"" for sub - contracting items",Selecione &quot;Sim&quot; para a sub - itens contratantes
"Select ""Yes"" if this item is to be sent to a customer or received from a supplier as a sample. Delivery notes and Purchase Receipts will update stock levels but there will be no invoice against this item.","Selecione &quot;Sim&quot; se este item é para ser enviado para um cliente ou recebidas de um fornecedor como amostra. Notas de entrega e recibos de compra irá atualizar os níveis de estoque, mas não haverá fatura contra este item."
"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ê fornecer matérias-primas para o seu fornecedor para fabricar este item.
Select All,Selecionar tudo
Select Attachments,Selecione Anexos
Select Budget Distribution to unevenly distribute targets across months.,Selecione distribuição do orçamento para distribuir desigualmente alvos em todo mês.
"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 Customer,Selecione Cliente
Select Digest Content,Selecione o conteúdo Digest
Select DocType,Selecione DocType
Select Document Type,Selecione Tipo de Documento
Select Document Type or Role to start.,Selecione tipo de documento ou papel para começar.
Select Items,Selecione itens
Select PR,Selecionar PR
Select Print Format,Selecione Formato de Impressão
Select Print Heading,Selecione Imprimir título
Select Report Name,Selecione Nome do Relatório
Select Role,Selecione Papel
Select Sales Orders,Selecione Pedidos de Vendas
Select Sales Orders from which you want to create Production Orders.,Selecione Ordens de venda a partir do qual você deseja criar ordens de produção.
Select Terms and Conditions,Selecione Termos e Condições
Select Time Logs and Submit to create a new Sales Invoice.,Selecione Time Logs e enviar para criar uma nova factura de venda.
Select Transaction,Selecione Transação
Select Type,Selecione o Tipo
Select User or Property to start.,Selecione Usuário ou propriedade para começar.
Select a Banner Image first.,Selecione um Banner Image primeiro.
Select account head of the bank where cheque was deposited.,Selecione cabeça conta do banco onde cheque foi depositado.
Select an image of approx width 150px with a transparent background for best results.,Selecione uma imagem de aproximadamente 150px de largura com um fundo transparente para melhores resultados.
Select company name first.,Selecione o nome da empresa em primeiro lugar.
Select dates to create a new ,Selecione as datas para criar uma nova
Select name of Customer to whom project belongs,Selecione o nome do cliente a quem pertence projeto
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 currency in which price list is maintained,Selecione a moeda na qual a lista de preços é mantida
Select the label after which you want to insert new field.,Selecione o rótulo após o qual você deseja inserir novo campo.
Select the period when the invoice will be generated automatically,Selecione o período em que a factura será gerado automaticamente
"Select the price list as entered in ""Price List"" master. This will pull the reference rates of items against this price list as specified in ""Item"" master.","Selecione a lista de preços como entrou em master &quot;Preço de lista&quot;. Isso vai puxar as taxas de referência de itens contra esta lista de preços, conforme especificado no &quot;Item&quot; mestre."
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 para
"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","Selecionando &quot;Sim&quot; vai permitir que este item deve aparecer 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 para figurar na Ordem de Vendas, Nota de Entrega"
"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; permitirá a você criar Bill of Material mostrando 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 identidade única para cada entidade deste item que pode ser visto no mestre Número de ordem.
Selling,Vendendo
Selling Settings,Vendendo Configurações
Send,Enviar
Send Autoreply,Enviar Autoreply
Send Email,Enviar E-mail
Send From,Enviar de
Send Invite Email,Enviar convite mail
Send Me A Copy,Envie-me uma cópia
Send Notifications To,Enviar notificações para
Send Print in Body and Attachment,Enviar Imprimir em Corpo e Anexo
Send SMS,Envie SMS
Send To,Enviar para
Send To Type,Enviar para Digite
Send an email reminder in the morning,Enviar um e-mail lembrete na parte da manhã
Send automatic emails to Contacts on Submitting transactions.,Enviar e-mails automáticos para Contatos no Submetendo transações.
Send mass SMS to your contacts,Enviar SMS em massa para seus contatos
Send regular summary reports via Email.,Enviar relatórios resumidos regulares via e-mail.
Send to this list,Enviar para esta lista
Sender,Remetente
Sender Name,Nome do remetente
"Sending newsletters is not allowed for Trial users, \				to prevent abuse of this feature.","Envio de newsletters não é permitido para usuários experimentais, \ para evitar o abuso deste recurso."
Sent Mail,E-mails enviados
Sent On,Enviado em
Sent Quotation,Cotação enviada
Separate production order will be created for each finished good item.,Ordem de produção separado será criado para cada item acabado.
Serial No,N º de Série
Serial No Details,Serial Detalhes Nenhum
Serial No Service Contract Expiry,N º de Série Vencimento Contrato de Serviço
Serial No Status,No Estado de série
Serial No Warranty Expiry,Caducidade Não Serial Garantia
Serialized Item: ',Item serializado: &#39;
Series List for this Transaction,Lista de séries para esta transação
Server,Servidor
Service Address,Serviço Endereço
Services,Serviços
Session Expired. Logging you out,Sessão expirada. Deslogar você
Session Expires in (time),Expira em sessão (tempo)
Session Expiry,Caducidade sessão
Session Expiry in Hours e.g. 06:00,"Caducidade sessão em Horas, por exemplo 06:00"
Set Banner from Image,Jogo da bandeira da Imagem
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,"Definir item Group-wise orçamentos sobre este território. Você também pode incluir sazonalidade, definindo a distribuição."
Set Login and Password if authentication is required.,Set Login e Senha se é necessária autenticação.
Set New Password,Definir nova senha
Set Value,Definir valor
"Set a new password and ""Save""",Definir uma nova senha e &quot;Save&quot;
Set prefix for numbering series on your transactions,Definir prefixo para numeração de série em suas transações
Set targets Item Group-wise for this Sales Person.,Estabelecer metas item Group-wise para este Vendas Pessoa.
"Set your background color, font and image (tiled)","Defina sua cor de fundo, fonte e imagem (lado a lado)"
"Set your outgoing mail SMTP settings here. All system generated notifications, emails will go from this mail server. If you are not sure, leave this blank to use ERPNext servers (emails will still be sent from your email id) or contact your email provider.","Defina suas configurações de SMTP de envio de correio aqui. Todo o sistema gerou notificações, e-mails vai a partir deste servidor de correio. Se você não tem certeza, deixe este campo em branco para usar servidores ERPNext (e-mails ainda serão enviadas a partir do seu ID e-mail) ou entre em contato com seu provedor de e-mail."
Setting Account Type helps in selecting this Account in transactions.,Tipo de conta Definir ajuda na seleção desta conta em transações.
Settings,Configurações
Settings for About Us Page.,Sobre as definições para nós página.
Settings for Accounts,Definições para contas
Settings for Buying Module,Configurações para comprar Module
Settings for Contact Us Page,Configurações para Contacte-nos Página
Settings for Contact Us Page.,Configurações para página Fale conosco.
Settings for Selling Module,Configurações para vender Module
Settings for the About Us Page,Definições para a página Sobre nós
"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 &quot;jobs@example.com&quot; caixa de correio, por exemplo"
Setup,Instalação
Setup Control,Controle de configuração
Setup Series,Série de configuração
Setup of Shopping Cart.,Configuração do Carrinho de Compras.
Setup of fonts and background.,Instalação de fontes e de fundo.
"Setup of top navigation bar, footer and logo.","Configuração de topo barra de navegação do rodapé, e logotipo."
Setup to pull emails from support email account,Configuração para puxar e-mails da conta de e-mail de apoio
Share,Ação
Share With,Compartilhar
Shipments to customers.,Os embarques para os clientes.
Shipping,Expedição
Shipping Account,Conta de Envio
Shipping Address,Endereço para envio
Shipping Address Name,Nome Endereço para 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
Shipping Rules,Regras de transporte
Shop,Loja
Shopping Cart,Carrinho de Compras
Shopping Cart Price List,Carrinho de Compras Lista de Preços
Shopping Cart Price Lists,Carrinho listas de preços
Shopping Cart Settings,Carrinho Configurações
Shopping Cart Shipping Rule,Carrinho de Compras Rule envio
Shopping Cart Shipping Rules,Carrinho Regras frete
Shopping Cart Taxes and Charges Master,Carrinho impostos e taxas Mestre
Shopping Cart Taxes and Charges Masters,Carrinho Impostos e Taxas de mestrado
Short Bio,Curta Bio
Short Name,Nome Curto
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.","Show &quot;Em Stock&quot; ou &quot;não em estoque&quot;, baseado em stock disponível neste armazém."
Show Details,Ver detalhes
Show In Website,Mostrar No Site
Show Print First,Mostrar Primeira Impressão
Show a slideshow at the top of the page,Ver uma apresentação de slides no topo da página
Show in Website,Show em site
Show rows with zero values,Mostrar as linhas com valores zero
Show this slideshow at the top of the page,Mostrar esta slideshow no topo da página
Showing only for,Mostrando apenas para
Signature,Assinatura
Signature to be appended at the end of every email,Assinatura para ser anexado no final de cada e-mail
Single,Único
Single Post (article).,Resposta Única (artigo).
Single unit of an Item.,Única unidade de um item.
Sitemap Domain,Mapa do Site Domínio
Slideshow,Slideshow
Slideshow Items,Itens slideshow
Slideshow Name,Nome slideshow
Slideshow like display for the website,Slideshow como display para o site
Small Text,Texto Pequeno
Solid background color (default light gray),Cor sólida (cinza claro padrão)
Sorry we were unable to find what you were looking for.,"Desculpe, não foram capazes de encontrar 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! We can only allow upto 100 rows for Stock Reconciliation.,Desculpe! Nós só podemos permitir que até 100 linhas para Reconciliação Stock.
"Sorry! You cannot change company's default currency, because there are existing transactions against it. You will need to cancel those transactions if you want to change the default currency.","Desculpe! Você não pode alterar a moeda padrão da empresa, porque existem operações existentes contra ele. Você terá que cancelar essas transações se você deseja alterar a moeda padrão."
Sorry. Companies cannot be merged,Desculpe. As empresas não podem ser fundidas
Sorry. Serial Nos. cannot be merged,Desculpe. N º s de série não podem ser mescladas
Sort By,Classificar por
Source,Fonte
Source Warehouse,Armazém fonte
Source and Target Warehouse cannot be same,Fonte e armazém de destino não pode ser igual
Source of th,Fonte do th
"Source of the lead. If via a campaign, select ""Campaign""","Fonte do chumbo. Se através de uma campanha, selecione &quot;Campanha&quot;"
Spartan,Espartano
Special Page Settings,Especiais Configurações da página
Specification Details,Detalhes especificação
Specify Exchange Rate to convert one currency into another,Especifique Taxa de câmbio para converter uma moeda em outra
"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 conditions to calculate shipping amount,Especificar as condições para calcular valor de frete
Split Delivery Note into packages.,Nota de Entrega dividir em pacotes.
Standard,Padrão
Standard Rate,Taxa normal
"Standard Terms and Conditions that can be added to Sales and Purchases.Examples:1. Validity of the offer.1. Payment Terms (In Advance, On Credit, part advance etc).1. What is extra (or payable by the Customer).1. Safety / usage warning.1. Warranty if any.1. Returns Policy.1. Terms of shipping, if applicable.1. Ways of addressing disputes, indemnity, liability, etc.1. Address and Contact of your Company.","Termos e Condições Padrão que pode ser adicionado para Vendas e Purchases.Examples: 1. Validade do offer.1. Condições de pagamento (adiantado, no crédito etc antecedência, parte) 0,1. O que é muito (ou a pagar pelo Cliente) .1. Segurança / uso warning.1. Garantia se any.1. Retorna Policy.1. Condições de entrega, se applicable.1. Formas de disputas de endereçamento, indenização, responsabilidade, etc.1. Endereço e contato da sua empresa."
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.10. Add or Deduct: Whether you want to add or deduct the tax.","Modelo imposto padrão que pode ser aplicado a todas as operações de compra. Este modelo pode conter lista de cabeças de impostos e também chefes de despesas outras como &quot;Frete&quot;, &quot;Seguro&quot;, &quot;Manipulação&quot;, etc taxa de imposto # # # # ObservaçãoO você definir aqui será a taxa normal do IVA para todos os itens ** ** . Se houver ** ** Itens que têm taxas diferentes, eles devem ser adicionados no Imposto item ** ** tabela no item ** ** mestre. # # # # Descrição do Columns1. Tipo de Cálculo: - Isto pode ser em ** Total Líquida ** (que é a soma do valor de base). - ** Na linha anterior Total / Montante ** (para impostos cumulativos ou encargos). Se você selecionar esta opção, o imposto será aplicado como um percentual da linha anterior (na tabela do imposto) ou montante total. - ** Real ** (como mencionado) .2. Chefe da conta: O livro conta em que este imposto será booked3. Custo Center: Se o imposto / carga é uma renda (como o transporte) ou despesa que precisa ser contabilizadas a um Custo Center.4. Descrição: Descrição do imposto (que será impresso nas faturas / cotações) .5. Taxa: Imposto rate.6. Quantidade: Imposto amount.7. Total: total acumulado a este point.8. Digite Row: Se com base em &quot;Total linha anterior&quot; você pode escolher o número da linha que será tomado como base para este cálculo (o padrão é a linha anterior) .9. Considere imposto ou encargo para: Nesta seção, você pode especificar se o imposto / carga é apenas para avaliação (não uma parte do total) ou apenas para total (não adiciona valor ao produto) ou para both.10. Adicionar ou Deduzir: Se você quiser adicionar ou deduzir o imposto."
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Modelo imposto padrão que pode ser aplicado a todas as suas vendas. Este modelo pode conter lista de cabeças de impostos e também outras despesas / receitas cabeças como &quot;Frete&quot;, &quot;Seguro&quot;, &quot;Manipulação&quot;, etc taxa de imposto # # # # ObservaçãoO você definir aqui será a taxa normal do IVA para todos os itens ** . ** Se houver ** ** Itens que têm taxas diferentes, eles devem ser adicionados no Imposto item ** ** tabela no item ** ** mestre. # # # # Descrição do Columns1. Tipo de Cálculo: - Isto pode ser em ** Total Líquida ** (que é a soma do valor de base). - ** Na linha anterior Total / Montante ** (para impostos cumulativos ou encargos). Se você selecionar esta opção, o imposto será aplicado como um percentual da linha anterior (na tabela do imposto) ou montante total. - ** Real ** (como mencionado) .2. Chefe da conta: O livro conta em que este imposto será booked3. Custo Center: Se o imposto / carga é uma renda (como o transporte) ou despesa que precisa ser contabilizadas a um Custo Center.4. Descrição: Descrição do imposto (que será impresso nas faturas / cotações) .5. Taxa: Imposto rate.6. Quantidade: Imposto amount.7. Total: total acumulado a este point.8. Digite Row: Se com base em &quot;Total linha anterior&quot; você pode escolher o número da linha que será tomado como base para este cálculo (o padrão é a linha anterior) .9. É este imposto incluído na tarifa básica:? Se você verificar isso, significa que este imposto não será mostrado abaixo da tabela item, mas será incluída na taxa básica em sua mesa principal item. Isso é útil quando você quer dar um preço fixo (incluindo todos os impostos) preço aos clientes."
Start Date,Data de Início
Start Report For,Para começar Relatório
Start date of current invoice's period,A data de início do período de fatura atual
Starts on,Inicia em
Startup,Startup
State,Estado
States,Estados
Static Parameters,Parâmetros estáticos
Status,Estado
Status must be one of ,Estado deve ser um dos
Status should be Submitted,Estado deverá ser apresentado
Statutory info and other general information about your Supplier,Informações legais e outras informações gerais sobre o seu Fornecedor
Stock,Estoque
Stock Adjustment Account,Banco de Acerto de Contas
Stock Adjustment Cost Center,Ajuste de estoque Centro de Custo
Stock Ageing,Envelhecimento estoque
Stock Analytics,Analytics ações
Stock Balance,Balanço de estoque
Stock Entry,Entrada estoque
Stock Entry Detail,Detalhe Entrada estoque
Stock Frozen Upto,Fotografia congelada Upto
Stock In Hand Account,Estoque em conta Mão
Stock Ledger,Estoque Ledger
Stock Ledger Entry,Entrada da Razão
Stock Level,Nível de estoque
Stock Qty,Qtd
Stock Queue (FIFO),Da fila (FIFO)
Stock Received But Not Billed,"Banco recebido, mas não faturados"
Stock Reconciliation,Da Reconciliação
Stock Reconciliation file not uploaded,Da Reconciliação arquivo não carregou
Stock Settings,Configurações da
Stock UOM,Estoque UOM
Stock UOM Replace Utility,Utilitário da Substituir UOM
Stock Uom,Estoque Uom
Stock Value,Valor da
Stock Value Difference,Banco de Valor Diferença
Stop,Pare
Stop users from making Leave Applications on following days.,Pare de usuários de fazer aplicações deixam nos dias seguintes.
Stopped,Parado
Structure cost centers for budgeting.,Estrutura centros de custo para orçamentação.
Structure of books of accounts.,Estrutura de livros de contas.
Style,Estilo
Style Settings,Settings
"Style represents the button color: Success - Green, Danger - Red, Inverse - Black, Primary - Dark Blue, Info - Light Blue, Warning - Orange","Estilo representa a cor do botão: Sucesso - Verde, Perigo - vermelho, Inverse - Preto, Primário - Dark Info, azul - azul claro, Aviso - Orange"
"Sub-currency. For e.g. ""Cent""",Sub-moeda. Para &quot;Cent&quot; por exemplo
Sub-domain provided by erpnext.com,Sub-domínio fornecido pelo erpnext.com
Subcontract,Subcontratar
Subdomain,Subdomínio
Subject,Assunto
Submit,Submeter
Submit Salary Slip,Enviar folha de salário
Submit all salary slips for the above selected criteria,Submeter todas as folhas de salários para os critérios acima selecionados
Submitted,Enviado
Submitted Record cannot be deleted,Registro apresentado não pode ser excluído
Subsidiary,Subsidiário
Success,Sucesso
Successful: ,Bem-sucedido:
Suggestion,Sugestão
Suggestions,Sugestões
Sunday,Domingo
Supplier,Fornecedor
Supplier (Payable) Account,Fornecedor (pago) Conta
Supplier (vendor) name as entered in supplier master,"Nome do fornecedor (fornecedor), inscritos no cadastro de fornecedores"
Supplier Account Head,Fornecedor Cabeça Conta
Supplier Address,Endereço do Fornecedor
Supplier Details,Detalhes fornecedor
Supplier Intro,Intro 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 de fornecedor
Supplier Quotation,Cotação fornecedor
Supplier Quotation Item,Cotação do item fornecedor
Supplier Reference,Referência fornecedor
Supplier Shipment Date,Fornecedor Expedição Data
Supplier Shipment No,Fornecedor Expedição Não
Supplier Type,Tipo de fornecedor
Supplier Warehouse,Armazém fornecedor
Supplier Warehouse mandatory subcontracted purchase receipt,Armazém Fornecedor obrigatório recibo de compra subcontratada
Supplier classification.,Classificação fornecedor.
Supplier database.,Banco de dados de fornecedores.
Supplier of Goods or Services.,Fornecedor de bens ou serviços.
Supplier warehouse where you have issued raw materials for sub - contracting,Armazém do fornecedor onde você emitiu matérias-primas para a sub - contratação
Supplier's currency,Moeda fornecedor
Support,Apoiar
Support Analytics,Analytics apoio
Support Email,Suporte E-mail
Support Email Id,Suporte E-mail Id
Support Password,Senha de
Support Ticket,Ticket de Suporte
Support queries from customers.,Suporte a consultas de clientes.
Symbol,Símbolo
Sync Inbox,Sincronização Caixa de Entrada
Sync Support Mails,Sincronizar e-mails de apoio
Sync with Dropbox,Sincronizar com o Dropbox
Sync with Google Drive,Sincronia com o Google Drive
System,Sistema
System Defaults,Padrões do sistema
System Settings,Configurações do sistema
System User,Usuário do Sistema
"System User (login) ID. If set, it will become default for all HR forms.","Sistema de identificação do usuário (login). Se for definido, ele vai se tornar padrão para todas as formas de RH."
System for managing Backups,Sistema para gerenciamento de Backups
System generated mails will be sent from this email id.,Mails gerados pelo sistema serão enviados a partir deste ID de e-mail.
TL-,TL-
TLB-,TLB-
Table,Tabela
Table for Item that will be shown in Web Site,Tabela para Item que será mostrado no site
Tag,Etiqueta
Tag Name,Nome tag
Tags,Etiquetas
Tahoma,Tahoma
Target,Alvo
Target  Amount,Valor Alvo
Target Detail,Detalhe alvo
Target Details,Detalhes alvo
Target Details1,Alvo Details1
Target Distribution,Distribuição alvo
Target Qty,Qtde alvo
Target Warehouse,Armazém alvo
Task,Tarefa
Task Details,Detalhes da tarefa
Tax,Imposto
Tax Calculation,Cálculo do imposto
Tax Category can not be 'Valuation' or 'Valuation and Total' 					as all items are non-stock items,"Categoria fiscal não pode ser &quot;Valuation&quot; ou &quot;Avaliação e total&quot;, como todos os itens não são itens de estoque"
Tax Master,Imposto de Mestre
Tax Rate,Taxa de Imposto
Tax Template for Purchase,Modelo de impostos para compra
Tax Template for Sales,Modelo de imposto para vendas
Tax and other salary deductions.,Fiscais e deduções salariais outros.
Tax detail table fetched from item master as a string and stored in this field.Used for Taxes and Charges,Tabela de detalhes fiscal obtido a partir do cadastro de itens como uma string e armazenada neste field.Used dos Impostos e Encargos
Taxable,Tributável
Taxes,Impostos
Taxes and Charges,Impostos e Encargos
Taxes and Charges Added,Impostos e Encargos Adicionado
Taxes and Charges Added (Company Currency),Impostos e taxas Adicionado (Moeda Company)
Taxes and Charges Calculation,Impostos e Encargos de Cálculo
Taxes and Charges Deducted,Impostos e Encargos Deduzidos
Taxes and Charges Deducted (Company Currency),Impostos e taxas Deduzido (Moeda Company)
Taxes and Charges Total,Impostos e encargos totais
Taxes and Charges Total (Company Currency),Impostos e Encargos Total (moeda da empresa)
Taxes and Charges1,Impostos e Charges1
Team Members,Membros da Equipe
Team Members Heading,Membros da Equipe título
Template for employee performance appraisals.,Modelo para avaliação de desempenho dos funcionários.
Template of terms or contract.,Modelo de termos ou contratos.
Term Details,Detalhes prazo
Terms and Conditions,Termos e Condições
Terms and Conditions Content,Termos e Condições conteúdo
Terms and Conditions Details,Termos e Condições Detalhes
Terms and Conditions Template,Termos e Condições de modelo
Terms and Conditions1,Termos e Conditions1
Territory,Território
Territory Manager,Territory Manager
Territory Name,Nome território
Territory Target Variance (Item Group-Wise),Território Variance Alvo (Item Group-Wise)
Territory Targets,Metas território
Test,Teste
Test Email Id,Email Id teste
Test Runner,Test Runner
Test the Newsletter,Teste a Newsletter
Text,Texto
Text Align,Alinhar texto
Text Editor,Editor de Texto
"The ""Web Page"" that is the website home page","A &quot;Página Web&quot;, que é a página inicial do site"
The BOM which will be replaced,O BOM que será substituído
"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;é o item da&quot; como &quot;Não&quot; e &quot;é o item de vendas&quot; como &quot;Sim&quot;
The date at which current entry is made in system.,A data em que a entrada actual é feita no sistema.
The date at which current entry will get or has actually executed.,A data em que a entrada de corrente vai ter ou tem realmente executado.
The date on which next invoice will be generated. It is generated on submit.,A data em que próxima fatura será gerada. Ele é gerado em enviar.
The date on which recurring invoice will be stop,A data em que fatura recorrente será parar
"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 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 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 / website as you want to appear on browser title bar. All pages will have this as the prefix to the title.,O nome da sua empresa / site como você quer que apareça na barra de título do navegador. Todas as páginas vão ter isso como o prefixo para o título.
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 de peso líquido dos itens)
The new BOM after replacement,O BOM novo após substituição
The rate at which Bill Currency is converted into company's base currency,A taxa na qual a moeda que Bill é convertida em moeda empresa de base
"The system provides pre-defined roles, but you can <a href='#List/Role'>add new roles</a> to set finer permissions","O sistema fornece papéis pré-definidos, mas você pode <a href='#List/Role'>adicionar novas funções</a> para definir as permissões mais finos"
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)"
These properties are Link Type fields from all Documents.,Estas propriedades são campos tipo de ligação de todos os documentos.
"These properties can also be used to 'assign' a particular document, whose property matches with the User's property to a User. These can be set using the <a href='#permission-manager'>Permission Manager</a>","Essas propriedades também podem ser usados ​​para &quot;atribuir&quot; um documento particular, cuja propriedade coincide com a propriedade do usuário para um usuário. Estes podem ser definidos usando o <a href='#permission-manager'>Gerente de Permissão</a>"
These properties will appear as values in forms that contain them.,Estas propriedades aparecerá como valores em formas que os contêm.
These values will be automatically updated in transactions and also will be useful to restrict permissions for this user on transactions containing these values.,Esses valores serão atualizados automaticamente em transações e também será útil para restringir as permissões para este usuário em operações que contenham esses valores.
This Price List will be selected as default for all Customers under this Group.,Esta lista de preços será selecionado como padrão para todos os clientes sob este grupo.
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,Este tempo de registro de conflitos com
This account will be used to maintain value of available stock,Essa conta será usada para manter o valor do estoque disponível
This currency will get fetched in Purchase transactions of this supplier,Essa moeda vai ser buscado em transações de compra deste fornecedor
This currency will get fetched in Sales transactions of this customer,Essa moeda vai ser buscado em transações de vendas deste cliente
"This feature is for merging duplicate warehouses. It will replace all the links of this warehouse by ""Merge Into"" warehouse. After merging you can delete this warehouse, as stock level for this warehouse will be zero.","Este recurso é para a fusão armazéns duplicados. Ele irá substituir todos os links deste armazém por &quot;Merge Into&quot; armazém. Após a fusão, você pode excluir este armazém, como nível de estoque para este depósito será zero."
This feature is only applicable to self hosted instances,Este recurso só é aplicável aos casos de auto-hospedado
This field will appear only if the fieldname defined here has value OR the rules are true (examples): <br>myfieldeval:doc.myfield=='My Value'<br>eval:doc.age>18,Este campo só aparece se o nome do campo definido aqui tem valor ou as regras são verdadeiras (exemplos): <br> myfieldeval: doc.myfield == &#39;o meu valor&#39; <br> eval: doc.age&gt; 18
This goes above the slideshow.,Isto vai acima do slideshow.
This is PERMANENT action and you cannot undo. Continue?,Esta é uma ação permanente e você não pode desfazer. Continuar?
This is an auto generated Material Request.,Este é um auto gerado Solicitação de Materiais.
This is permanent action and you cannot undo. Continue?,Esta é uma ação permanente e você não pode desfazer. Continuar?
This is the number of the last created transaction with this prefix,Este é o número da última transacção criados com este prefixo
This message goes away after you create your first customer.,Esta mensagem vai embora depois de criar o seu primeiro cliente.
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Esta ferramenta ajuda a atualizar ou corrigir a quantidade ea valorização do estoque no sistema. Ele é geralmente usado para sincronizar os valores do sistema eo que realmente existe em seus armazéns.
This will be used for setting rule in HR module,Isso será usado para fixação de regras no módulo HR
Thread HTML,Tópico HTML
Thursday,Quinta-feira
Time,Tempo
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 status must be 'Submitted',Status do lote Log tempo deve ser &#39;Enviado&#39;
Time Log Status must be Submitted.,Tempo de registro de Estado deve ser apresentado.
Time Log for tasks.,Tempo de registro para as tarefas.
Time Log is not billable,Tempo de registro não é cobrável
Time Log must have status 'Submitted',Tempo de registro deve ter status &#39;Enviado&#39;
Time Zone,Fuso horário
Time Zones,Time Zones
Time and Budget,Tempo e Orçamento
Time at which items were delivered from warehouse,Hora em que itens foram entregues a partir de armazém
Time at which materials were received,Momento em que os materiais foram recebidos
Title,Título
Title / headline of your page,Título / manchete de sua página
Title Case,Caso título
Title Prefix,Prefixo título
To,Para
To Currency,A Moeda
To Date,Conhecer
To Discuss,Para Discutir
To Do,Que fazer
To Do List,Para fazer a lista
To PR Date,Data de PR
To Package No.,Para empacotar Não.
To Reply,Para Responder
To Time,Para Tempo
To Value,Ao Valor
To Warehouse,Para Armazém
"To add a tag, open the document and click on ""Add Tag"" on the sidebar","Para adicionar uma marca, abra o documento e clique em &quot;Adicionar marca&quot; no sidebar"
"To assign this issue, use the ""Assign"" button in the sidebar.","Para atribuir esse problema, use o botão &quot;Atribuir&quot; na barra lateral."
"To automatically create Support Tickets from your incoming mail, set your POP3 settings here. You must ideally create a separate email id for the erp system so that all emails will be synced into the system from that mail id. If you are not sure, please contact your EMail Provider.","Para criar automaticamente pedidos de ajuda de seu correio de entrada, definir as configurações de POP3 aqui. Você deve, idealmente, criar um ID de e-mail separado para o sistema ERP para que todos os e-mails serão sincronizados para o sistema de que e-mail id. Se você não tiver certeza, entre em contato com seu provedor de e-mail."
"To create an Account Head under a different company, select the company and save customer.","Para criar uma conta, sob Cabeça uma empresa diferente, selecione a empresa e salvar cliente."
To enable <b>Point of Sale</b> features,Para habilitar o <b>Ponto de Venda</b> características
To enable more currencies go to Setup > Currency,Para permitir que mais moedas vá para Configuração&gt; Currency
"To fetch items again, click on 'Get Items' button \						or update the Quantity manually.","Para buscar itens novamente, clique em &quot;Obter itens &#39;botão \ ou atualizar a quantidade manualmente."
"To format columns, give column labels in the query.","Para formatar colunas, dar rótulos de coluna na consulta."
"To further restrict permissions based on certain values in a document, use the 'Condition' settings.","Para restringir ainda mais permissões com base em determinados valores em um documento, use a &#39;condição&#39; definições."
To get Item Group in details table,Para obter Grupo item na tabela de detalhes
To manage multiple series please go to Setup > Manage Series,"Para gerenciar várias séries por favor, vá para Configuração&gt; Gerenciar Series"
To restrict a User of a particular Role to documents that are explicitly assigned to them,Para restringir um usuário de um papel especial a documentos que são explicitamente atribuídos a eles
To restrict a User of a particular Role to documents that are only self-created.,Para restringir um usuário de um papel especial a documentos que são apenas auto-criado.
"To set reorder level, item must be Purchase Item","Para definir o nível de reposição, o artigo deve ser de compra do item"
"To set user roles, just go to <a href='#List/Profile'>Setup > Users</a> and click on the user to assign roles.","Para definir funções de usuário, basta ir a <a href='#List/Profile'>Configuração&gt; Usuários</a> e clique sobre o usuário para atribuir funções."
To track any installation or commissioning related work after sales,Para rastrear qualquer instalação ou comissionamento trabalho relacionado após vendas
"To track brand name in the following documents<br>Delivery Note, Enuiry, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","Para acompanhar marca nos seguintes documentos <br> Nota de Entrega, Enuiry, solicitar material, Item, Ordem de Compra, comprovante de compra, recebimento Comprador, cotação, nota fiscal de venda, BOM Vendas, Ordem de Vendas, N º de Série"
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 ordem. Este é também pode ser usada 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 com lotes n º s <br> <b>Indústria preferido: etc Chemicals</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 nota de entrega e nota fiscal de venda pela digitalização de código de barras do item.
ToDo,ToDo
Tools,Ferramentas
Top,Topo
Top Bar,Top Bar
Top Bar Background,Fundo da barra superior
Top Bar Item,Item da barra de topo
Top Bar Items,Top Bar Itens
Top Bar Text,Top Bar Texto
Top Bar text and background is same color. Please change.,"Top Bar texto eo fundo é a mesma cor. Por favor, altere."
Total,Total
Total (sum of) points distribution for all goals should be 100.,Total (soma de) distribuição de pontos para todos os objetivos deve ser 100.
Total Advance,Antecipação total
Total Amount,Valor Total
Total Amount To Pay,Valor total a pagar
Total Amount in Words,Valor Total em Palavras
Total Billing This Year: ,Faturamento total deste ano:
Total Claimed Amount,Montante reclamado total
Total Commission,Total Comissão
Total Cost,Custo Total
Total Credit,Crédito Total
Total Debit,Débito total
Total Deduction,Dedução Total
Total Earning,Ganhar total
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 férias
Total Leaves Allocated,Folhas total atribuído
Total Operating Cost,Custo Operacional Total
Total Points,Total de pontos
Total Raw Material Cost,Custo total das matérias-primas
Total SMS Sent,SMS total enviado
Total Sanctioned Amount,Valor total Sancionada
Total Score (Out of 5),Pontuação total (em 5)
Total Tax (Company Currency),Imposto Total (moeda da empresa)
Total Taxes and Charges,Total Impostos e Encargos
Total Taxes and Charges (Company Currency),Total de Impostos e Taxas (moeda da empresa)
Total Working Days In The Month,Total de dias úteis do mês
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 in words,Total em palavras
Total production order qty for item,Total da ordem qty produção para o item
Totals,Totais
Track separate Income and Expense for product verticals or divisions.,Localizar renda separado e Despesa para verticais de produtos ou divisões.
Track this Delivery Note against any Project,Acompanhar este Nota de Entrega contra qualquer projeto
Track this Sales Invoice against any Project,Acompanhar este factura de venda contra qualquer projeto
Track this Sales Order against any Project,Acompanhar este Ordem de vendas contra qualquer projeto
Transaction,Transação
Transaction Date,Data Transação
Transfer,Transferir
Transition Rules,Regras de transição
Transporter Info,Informações Transporter
Transporter Name,Nome Transporter
Transporter lorry number,Número caminhão transportador
Trash Reason,Razão lixo
Tree of item classification,Árvore de classificação de itens
Trial Balance,Balancete
Tuesday,Terça-feira
Tweet will be shared via your user account (if specified),Tweet serão compartilhados através da sua conta de usuário (se especificado)
Twitter Share,Twitter Compartilhar
Twitter Share via,Compartilhar via Twitter
Type,Tipo
Type of document to rename.,Tipo de documento a ser renomeado.
Type of employment master.,Tipo de mestre emprego.
"Type of leaves like casual, sick etc.","Tipo de folhas como etc, casual doente"
Types of Expense Claim.,Tipos de reembolso de despesas.
Types of activities for Time Sheets,Tipos de atividades para folhas de tempo
UOM,UOM
UOM Conversion Detail,UOM Detalhe Conversão
UOM Conversion Details,Conversão Detalhes UOM
UOM Conversion Factor,UOM Fator de Conversão
UOM Conversion Factor is mandatory,UOM Fator de Conversão é obrigatório
UOM Details,Detalhes UOM
UOM Name,Nome UOM
UOM Replace Utility,UOM Utility Substituir
UPPER CASE,MAIÚSCULAS
UPPERCASE,Maiúsculas
URL,URL
Unable to complete request: ,Não é possível concluir pedido:
Under AMC,Sob AMC
Under Graduate,Sob graduação
Under Warranty,Sob Garantia
Unit of Measure,Unidade de Medida
"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Unidade de medida do item (por exemplo kg Unidade, não, par)."
Units/Hour,Unidades / hora
Units/Shifts,Unidades / Turnos
Unmatched Amount,Quantidade incomparável
Unpaid,Não remunerado
Unread Messages,Mensagens não lidas
Unscheduled,Sem marcação
Unsubscribed,Inscrição cancelada
Upcoming Events for Today,Próximos Eventos para Hoje
Update,Atualizar
Update Clearance Date,Atualize Data Liquidação
Update Field,Atualizar campo
Update PR,Atualização PR
Update Series,Atualização Series
Update Series Number,Atualização de Número de Série
Update Stock,Actualização de stock
Update Stock should be checked.,Atualização de Estoque deve ser verificado.
Update Value,Atualize Valor
"Update allocated amount in the above table and then click ""Allocate"" button",Atualize montante atribuído no quadro acima e clique em &quot;alocar&quot; botão
Update bank payment dates with journals.,Atualização de pagamento bancário com data revistas.
Update is in progress. This may take some time.,Atualização está em andamento. Isso pode levar algum tempo.
Updated,Atualizado
Upload Attachment,Envie 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,Enviar um arquivo
Upload and Import,Carregar e Importar
Upload attendance from a .csv file,Carregar atendimento de um arquivo CSV.
Upload stock balance via csv.,Carregar saldo de estoque via csv.
Uploading...,Upload ...
Upper Income,Renda superior
Urgent,Urgente
Use Multi-Level BOM,Utilize Multi-Level BOM
Use SSL,Use SSL
User,Usuário
User Cannot Create,Usuário não pode criar
User Cannot Search,O usuário não pode pesquisar
User ID,ID de usuário
User Image,Imagem do usuário
User Name,Nome de usuário
User Remark,Observação de usuário
User Remark will be added to Auto Remark,Observação usuário será adicionado à observação Auto
User Tags,Etiquetas de usuários
User Type,Tipo de Usuário
User must always select,O usuário deve sempre escolher
User not allowed entry in the Warehouse,Entrada do usuário não é permitido no Armazém
User not allowed to delete.,Usuário não tem permissão para excluir.
UserRole,UserRole
Username,Nome de Utilizador
Users who can approve a specific employee's leave applications,Usuários que podem aprovar aplicações deixam de um funcionário específico
Users with this role are allowed to do / modify accounting entry before frozen date,Usuários com esta função estão autorizados a fazer / modificar a entrada de contabilidade antes da data congelado
Utilities,Utilitários
Utility,Utilidade
Valid For Territories,Válido para os territórios
Valid Upto,Válido Upto
Valid for Buying or Selling?,Válido para comprar ou vender?
Valid for Territories,Válido para Territórios
Validate,Validar
Valuation,Avaliação
Valuation Method,Método de Avaliação
Valuation Rate,Taxa de valorização
Valuation and Total,Avaliação e Total
Value,Valor
Value missing for,Valor em falta para
Vehicle Dispatch Date,Veículo Despacho Data
Vehicle No,No veículo
Verdana,Verdana
Verified By,Verified By
Visit,Visitar
Visit report for maintenance call.,Relatório de visita para a chamada manutenção.
Voucher Detail No,Detalhe folha no
Voucher ID,ID comprovante
Voucher Import Tool,Ferramenta de Importação de comprovante
Voucher No,Não vale
Voucher Type,Tipo comprovante
Voucher Type and Date,Tipo Vale e Data
WIP Warehouse required before Submit,WIP Warehouse necessária antes de Enviar
Waiting for Customer,À espera de cliente
Walk In,Walk In
Warehouse,Armazém
Warehouse Contact Info,Armazém Informações de Contato
Warehouse Detail,Detalhe Armazém
Warehouse Name,Nome Armazém
Warehouse User,Usuário Armazém
Warehouse Users,Usuários do Warehouse
Warehouse and Reference,Warehouse and Reference
Warehouse does not belong to company.,Warehouse não pertence à empresa.
Warehouse where you are maintaining stock of rejected items,Armazém onde você está mantendo estoque de itens rejeitados
Warehouse-Wise Stock Balance,Warehouse-sábio Stock Balance
Warehouse-wise Item Reorder,Armazém-sábio item Reordenar
Warehouses,Armazéns
Warn,Avisar
Warning,Aviso
Warning: Leave application contains following block dates,Atenção: Deixe o aplicativo contém seguintes datas bloco
Warranty / AMC Details,Garantia / AMC Detalhes
Warranty / AMC Status,Garantia / AMC Estado
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)
Web Content,Conteúdo da Web
Web Page,Página Web
Website,Site
Website Description,Descrição do site
Website Item Group,Grupo Item site
Website Item Groups,Item Grupos site
Website Overall Settings,Configurações do site em geral
Website Script,Script site
Website Settings,Configurações do site
Website Slideshow,Slideshow site
Website Slideshow Item,Item Slideshow site
Website User,Site do Usuário
Website Warehouse,Armazém site
Wednesday,Quarta-feira
Weekly,Semanal
Weekly Off,Weekly Off
Weight UOM,Peso UOM
Weightage,Weightage
Weightage (%),Weightage (%)
Welcome,Boas-vindas
"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 verificadas estão &quot;Enviado&quot;, um e-mail pop-up aberta automaticamente para enviar um e-mail para o associado &quot;Contato&quot;, em que a transação, com a transação como um anexo. O usuário pode ou não enviar o e-mail."
"When you <b>Amend</b> a document after cancel and save it, it will get a new number that is a version of the old number.","Quando você <b>alterar</b> um documento depois de cancelar e salvá-lo, ele vai ter um novo número que é uma versão do número antigo."
Where items are stored.,Onde os itens são armazenados.
Where manufacturing operations are carried out.,Sempre que as operações de fabricação são realizadas.
Widowed,Viúva
Width,Largura
Will be calculated automatically when you enter the details,Será calculado automaticamente quando você digitar os detalhes
Will be fetched from Customer,Será obtido a partir Cliente
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.
Will be used in url (usually first name).,Será utilizado na url (geralmente o primeiro nome).
With Operations,Com Operações
Work Details,Detalhes da Obra
Work Done,Trabalho feito
Work In Progress,Trabalho em andamento
Work-in-Progress Warehouse,Armazém Work-in-Progress
Workflow,Fluxo de trabalho
Workflow Action,Ação de fluxo de trabalho
Workflow Action Master,Mestre ação de fluxo de trabalho
Workflow Action Name,Nome da ação de fluxo de trabalho
Workflow Document State,Estado Documento de fluxo de trabalho
Workflow Document States,Fluxo de trabalho Documento Estados
Workflow Name,Nome de fluxo de trabalho
Workflow State,Estado de fluxo de trabalho
Workflow State Field,Campo do Estado de fluxo de trabalho
Workflow State Name,Nome Estado fluxo de trabalho
Workflow Transition,Transição de fluxo de trabalho
Workflow Transitions,Transições de fluxo de trabalho
Workflow state represents the current state of a document.,Estado de fluxo de trabalho representa o estado atual de um documento.
Workflow will start after saving.,Fluxo de trabalho terá início após a poupança.
Working,Trabalhando
Workstation,Estação de trabalho
Workstation Name,Nome da Estação de Trabalho
Write,Escrever
Write Off Account,Escreva Off Conta
Write Off Amount,Escreva Off Quantidade
Write Off Amount <=,Escreva Off Valor &lt;=
Write Off Based On,Escreva Off Baseado em
Write Off Cost Center,Escreva Off Centro de Custos
Write Off Outstanding Amount,Escreva Off montante em dívida
Write Off Voucher,Escreva voucher
Write a Python file in the same folder where this is saved and return column and result.,Gravar um arquivo Python na mesma pasta onde esta é salvo e coluna de retorno e resultado.
Write a SELECT query. Note result is not paged (all data is sent in one go).,Escreva uma consulta SELECT. Nota resultado não é paginada (todos os dados são enviados de uma só vez).
Write sitemap.xml,Escrever sitemap.xml
Write titles and introductions to your blog.,Escreva títulos e introduções para o seu blog.
Writers Introduction,Escritores Introdução
Wrong Template: Unable to find head row.,Template errado: Não é possível encontrar linha cabeça.
Year,Ano
Year Closed,Ano Encerrado
Year Name,Nome Ano
Year Start Date,Data de início do ano
Year of Passing,Ano de Passagem
Yearly,Anual
Yes,Sim
Yesterday,Ontem
You are not authorized to do/modify back dated entries before ,Você não está autorizado a fazer / modificar volta entradas datadas antes
You can enter any date manually,Você pode entrar em 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 ordenada.
You can not enter both Delivery Note No and Sales Invoice No. \					Please enter any one.,"Você não pode entrar tanto Entrega Nota Não e Vendas Nota Fiscal n ° \ Por favor, entrar em qualquer um."
You can set various 'properties' to Users to set default values and apply permission rules based on the value of these properties in various forms.,Você pode definir vários &#39;propriedades&#39; para usuários para definir os valores padrão e aplicar regras de permissão com base no valor dessas propriedades em várias formas.
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 use <a href='#Form/Customize Form'>Customize Form</a> to set levels on fields.,Você pode usar <a href='#Form/Customize Form'>Personalizar Formulário</a> para definir os níveis em campos.
You may need to update: ,Você pode precisar atualizar:
Your Customer's TAX registration numbers (if applicable) or any general information,Seu cliente FISCAIS números de inscrição (se aplicável) ou qualquer outra informação geral
"Your download is being built, this may take a few moments...","O seu download está sendo construída, isso pode demorar alguns instantes ..."
Your letter head content,Seu conteúdo cabeça carta
Your sales person who will contact the customer in future,Sua pessoa de vendas que entrará em contato com o cliente no futuro
Your sales person who will contact the lead in future,Sua pessoa de vendas que entrará em contato com a liderança no futuro
Your sales person will get a reminder on this date to contact the customer,Seu vendedor receberá um lembrete sobre esta data para contato com o cliente
Your sales person will get a reminder on this date to contact the lead,Seu vendedor receberá um lembrete nesta data em contato com o chumbo
Your support email id - must be a valid email - this is where your emails will come!,O seu ID e-mail de apoio - deve ser um email válido - este é o lugar onde seus e-mails virão!
[Error],[Erro]
[Label]:[Field Type]/[Options]:[Width],[Etiqueta]: [Tipo de campo] / [Options]: [Largura]
add your own CSS (careful!),adicionar seu próprio CSS (cuidado!)
adjust,ajustar
align-center,alinhar-centro
align-justify,alinhar-justificar
align-left,alinhar-esquerda
align-right,alinhar à direita
also be included in Item's rate,também ser incluído na tarifa do item
and,e
arrow-down,seta para baixo
arrow-left,seta para a esquerda
arrow-right,seta para a direita
arrow-up,seta para cima
assigned by,atribuído pela
asterisk,asterisco
backward,para trás
ban-circle,proibição de círculo
barcode,código de barras
bell,sino
bold,negrito
book,livro
bookmark,marcar
briefcase,pasta
bullhorn,megafone
calendar,calendário
camera,câmera
cancel,cancelar
cannot be 0,não pode ser 0
cannot be empty,não pode ser vazio
cannot be greater than 100,não pode ser maior do que 100
cannot be included in Item's rate,não podem ser incluídos em taxa de ponto
"cannot have a URL, because it has child item(s)","Não é possível ter um URL, porque tem filho item (s)"
cannot start with,não pode começar com
certificate,certidão
check,verificar
chevron-down,chevron-down
chevron-left,chevron-esquerda
chevron-right,Chevron-direito
chevron-up,chevron-up
circle-arrow-down,círculo de seta para baixo
circle-arrow-left,círculo de seta para a esquerda
circle-arrow-right,círculo de seta à direita
circle-arrow-up,círculo de seta para cima
cog,roda dentada
comment,comentário
create a Custom Field of type Link (Profile) and then use the 'Condition' settings to map that field to the Permission rule.,Criar um campo personalizado de ligação tipo (perfil) e depois usar as configurações de &#39;condição&#39; para mapear o campo para a regra de permissão.
dd-mm-yyyy,dd-mm-aaaa
dd/mm/yyyy,dd / mm / aaaa
deactivate,desativar
does not belong to BOM: ,não pertence ao BOM:
does not exist,não existe
does not have role 'Leave Approver',não tem papel de &#39;Leave aprovador&#39;
does not match,não corresponde
download,baixar
download-alt,download-alt
"e.g. Bank, Cash, Credit Card","por exemplo Banco, Dinheiro, cartão de crédito"
"e.g. Kg, Unit, Nos, m","kg por exemplo, Unidade, n, m"
edit,editar
eg. Cheque Number,por exemplo. Número de cheques
eject,ejetar
english,Inglês
envelope,envelope
español,español
example: Next Day Shipping,exemplo: Next Day envio
example: http://help.erpnext.com,exemplo: http://help.erpnext.com
exclamation-sign,exclamação sinal-
eye-close,olho-
eye-open,olho-aberto
facetime-video,facetime vídeo
fast-backward,rápido para trás
fast-forward,avançar
file,arquivo
film,filme
filter,filtrar
fire,fogo
flag,bandeira
folder-close,pasta close-
folder-open,pasta-aberto
font,fonte
forward,para a frente
français,français
fullscreen,fullscreen
gift,dom
glass,vidro
globe,globo
hand-down,mão-down
hand-left,mão esquerda
hand-right,mão direita
hand-up,mão-
has been entered atleast twice,foi inserido pelo menos duas vezes
have a common territory,tem um território comum
have the same Barcode,têm o mesmo código de barras
hdd,hdd
headphones,fones de ouvido
heart,coração
home,casa
icon,ícone
in,em
inbox,caixa de entrada
indent-left,travessão esquerdo
indent-right,travessão direito
info-sign,Informações sinal-
is a cancelled Item,é um item cancelado
is linked in,está ligado na
is not a Stock Item,não é um item de estoque
is not allowed.,não é permitido.
italic,itálico
leaf,folha
lft,lft
list,lista
list-alt,lista de alt-
lock,trancar
lowercase,minúsculas
magnet,ímã
map-marker,mapa marcador
minus,menos
minus-sign,sinal de menos-
mm-dd-yyyy,mm-dd-aaaa
mm/dd/yyyy,dd / mm / aaaa
move,mover
music,música
must be one of,deve ser um dos
nederlands,nederlands
not a purchase item,não é um item de compra
not a sales item,não é um item de vendas
not a service item.,não é um item de serviço.
not a sub-contracted item.,não é um item do sub-contratado.
not in,não em
not within Fiscal Year,não dentro de Ano Fiscal
of,de
of type Link,Tipo de Link
off,fora
ok,ok
ok-circle,ok círculo
ok-sign,ok-sinal
old_parent,old_parent
or,ou
pause,pausa
pencil,lápis
picture,quadro
plane,avião
play,jogar
play-circle,jogo-círculo
plus,mais
plus-sign,plus-assinar
português,português
português brasileiro,português brasileiro
print,imprimir
qrcode,QRCode
question-sign,pergunta sinal-
random,acaso
reached its end of life on,chegou ao fim da vida na
refresh,refrescar
remove,remover
remove-circle,remove-círculo
remove-sign,remover-assinar
repeat,repetir
resize-full,redimensionamento completo
resize-horizontal,redimensionamento horizontal
resize-small,redimensionamento pequeno
resize-vertical,redimensionamento vertical
retweet,retwitar
rgt,rgt
road,estrada
screenshot,tela
search,pesquisar
share,ação
share-alt,partes alt-
shopping-cart,carrinho de compras
should be 100%,deve ser de 100%
signal,sinalizar
star,estrela
star-empty,estrelas vazio
step-backward,passo para trás-
step-forward,passo-
stop,parar
tag,etiqueta
tags,etiquetas
"target = ""_blank""",target = &quot;_blank&quot;
tasks,tarefas
text-height,texto de altura
text-width,texto de largura
th,ª
th-large,ª-grande
th-list,ª-lista
thumbs-down,polegares para baixo
thumbs-up,polegar para cima
time,tempo
tint,matiz
to,para
"to be included in Item's rate, it is required that: ","para ser incluído na taxa do item, é necessário que:"
trash,lixo
upload,carregar
user,usuário
user_image_show,user_image_show
values and dates,valores e as datas
volume-down,volume baixo
volume-off,volume de off-
volume-up,volume-
warning-sign,sinal de alerta-
website page link,link da página site
which is greater than sales order qty ,que é maior do que as vendas ordem qty
wrench,chave inglesa
yyyy-mm-dd,aaaa-mm-dd
zoom-in,zoom-in
zoom-out,zoom-out
