 (Half Day),(Meio Dia)
 and year: ,e ano:
""" does not exists",""" Bestaat niet"
%  Delivered,Entregue%
% Amount Billed,Valor% faturado
% Billed,Anunciado%
% Completed,% Concluído
% Delivered,% Geleverd
% 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
'Actual Start Date' can not be greater than 'Actual End Date',' Real data de início ' não pode ser maior que ' Actual Data Final '
'Based On' and 'Group By' can not be same,'Baseado ' e ' Grupo por ' não pode ser o mesmo
'Days Since Last Order' must be greater than or equal to zero,' Dias desde a última Ordem deve ser maior ou igual a zero
'Entries' cannot be empty,' Entradas ' não pode estar vazio
'Expected Start Date' can not be greater than 'Expected End Date',""" Data de Início esperado ' não pode ser maior que' Data Final Esperado '"
'From Date' is required,'From Date' é necessária
'From Date' must be after 'To Date','De Data ' deve ser depois de ' To Date '
'Has Serial No' can not be 'Yes' for non-stock item,'Não tem de série ' não pode ser 'Sim' para o item não- estoque
'Notification Email Addresses' not specified for recurring invoice,"«Notificação endereços de email "" não especificadas para fatura recorrentes"
'Profit and Loss' type account {0} not allowed in Opening Entry,""" Lucros e Perdas "" tipo de conta {0} não é permitido na abertura de entrada"
'To Case No.' cannot be less than 'From Case No.',&quot;Para Processo n º &#39; não pode ser inferior a &#39;From Processo n&#39;
'To Date' is required,' To Date ' é necessária
'Update Stock' for Sales Invoice {0} must be set,"'Atualizar Estoque ""para vendas Invoice {0} deve ser definido"
* Will be calculated in the transaction.,* Será calculado na transação.
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,1 Moeda = [?] Fração  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
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer Group""> toevoegen / bewerken < / a>"
"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item Group""> toevoegen / bewerken < / a>"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> toevoegen / bewerken < / a>"
"<h4>Default Template</h4><p>Uses <a href=""http://jinja.pocoo.org/docs/templates/"">Jinja Templating</a> and all the fields of Address (including Custom Fields if any) will be available</p><pre><code>{{ address_line1 }}&lt;br&gt;{% if address_line2 %}{{ address_line2 }}&lt;br&gt;{% endif -%}{{ city }}&lt;br&gt;{% if state %}{{ state }}&lt;br&gt;{% endif -%}{% if pincode %} PIN:  {{ pincode }}&lt;br&gt;{% endif -%}{{ country }}&lt;br&gt;{% if phone %}Phone: {{ phone }}&lt;br&gt;{% endif -%}{% if fax %}Fax: {{ fax }}&lt;br&gt;{% endif -%}{% if email_id %}Email: {{ email_id }}&lt;br&gt;{% endif -%}</code></pre>","<h4> modelo padrão </ h4>  <p> Usa <a href=""http://jinja.pocoo.org/docs/templates/""> Jinja Templating </ a> e todos os campos de Endereço ( incluindo campos personalizados se houver) estará disponível </ p>  <pre> <code> {{}} address_line1 <br>  {% if address_line2%} {{}} address_line2 <br> { endif% -%}  {{cidade}} <br>  {% if%} Estado {{estado}} {% endif <br> -%}  {% if pincode%} PIN: {{}} pincode <br> {% endif -%}  {{país}} <br>  {% if%} telefone Telefone: {{telefone}} {<br> endif% -%}  {% if%} fax Fax: {{fax}} {% endif <br> -%}  {% if% email_id} E-mail: {{}} email_id <br> , {% endif -%}  </ code> </ pre>"
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Um grupo de clientes existente com o mesmo nome, por favor altere o nome do cliente ou renomear o grupo de clientes"
A Customer exists with same name,Um cliente existe com o mesmo nome
A Lead with this email id should exist,Um Lead com esse ID de e-mail deve existir
A Product or Service,Um produto ou serviço
A Supplier exists with same name,Um Fornecedor existe com mesmo nome
A symbol for this currency. For e.g. $,Um símbolo para esta moeda. Por exemplo: $
AMC Expiry Date,AMC Data de Validade
Abbr,Abbr
Abbreviation cannot have more than 5 characters,Abreviatura não pode ter mais de 5 caracteres
Above Value,Acima de Valor
Absent,Ausente
Acceptance Criteria,Critérios de Aceitação
Accepted,Aceito
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Aceite + Qty Rejeitada deve ser igual a quantidade recebida por item {0}
Accepted Quantity,Quantidade Aceite
Accepted Warehouse,Armazém Aceite
Account,conta
Account Balance,Saldo em Conta
Account Created: {0},Conta Criada : {0}
Account Details,Detalhes da conta
Account Head,Conta principal
Account Name,Nome da conta
Account Type,Tipo de conta
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Saldo já em crédito, você não tem permissão para definir 'saldo deve ser' como 'débito'"
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Saldo já em débito, você não tem permissão para definir 'saldo deve ser' como 'crédito'"
Account for the warehouse (Perpetual Inventory) will be created under this Account.,Uma conta para o armazém ( Perpetual Inventory ) será criada tendo como base esta conta.
Account head {0} created,Conta principal {0} criada
Account must be a balance sheet account,Conta deve ser uma conta de balanço
Account with child nodes cannot be converted to ledger,Conta com nós filhos não pode ser convertido em livro
Account with existing transaction can not be converted to group.,Conta com a transação existente não pode ser convertido em grupo.
Account with existing transaction can not be deleted,Conta com a transação existente não pode ser excluído
Account with existing transaction cannot be converted to ledger,Conta com a transação existente não pode ser convertido em livro
Account {0} cannot be a Group,Conta {0} não pode ser um grupo
Account {0} does not belong to Company {1},Conta {0} não pertence à empresa {1}
Account {0} does not belong to company: {1},Conta {0} não pertence à empresa: {1}
Account {0} does not exist,Conta {0} não existe
Account {0} has been entered more than once for fiscal year {1},Conta {0} foi inserido mais de uma vez para o ano fiscal {1}
Account {0} is frozen,Conta {0} está congelado
Account {0} is inactive,Conta {0} está inativo
Account {0} is not valid,Conta {0} não é válido
Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item,"Conta {0} deve ser do tipo "" Ativo Fixo "" como item {1} é um item de ativos"
Account {0}: Parent account {1} can not be a ledger,Conta {0}: conta principal {1} não pode ser um livro
Account {0}: Parent account {1} does not belong to company: {2},Conta {0}: conta principal {1} não pertence à empresa: {2}
Account {0}: Parent account {1} does not exist,Conta {0}: conta principal {1} não existe
Account {0}: You can not assign itself as parent account,Conta {0}: Você não pode atribuir-se como conta principal
Account: {0} can only be updated via \					Stock Transactions,Conta: {0} só pode ser atualizado através de \ operações de stock
Accountant,Contabilista
Accounting,Contabilidade
"Accounting Entries can be made against leaf nodes, called",Registos contábeis podem ser realizadas através de chamadas a nós filhos
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Registo contábil congelado até à presente data, ninguém pode fazer / modificar entrada exceto para as regras especificadas abaixo."
Accounting journal entries.,Lançamentos contábeis jornal.
Accounts,Contas
Accounts Browser,Contas Navegador
Accounts Frozen Upto,Contas congeladas Upto
Accounts Payable,Contas a Pagar
Accounts Receivable,Contas a receber
Accounts Settings,Configurações de contas
Active,Ativo
Active: Will extract emails from ,Ativo: Irá extrair e-mails a partir de
Activity,Atividade
Activity Log,Registro de Atividade
Activity Log:,Registro de Atividade:
Activity Type,Tipo de Atividade
Actual,Atual
Actual Budget,Orçamento Atual
Actual Completion Date,Atual Data de Conclusão
Actual Date,Data atual
Actual End Date,Atual Data final
Actual Invoice Date,Atual Data da Fatura
Actual Posting Date,Actual Data lançamento
Actual Qty,Qtde Atual
Actual Qty (at source/target),Qtde Atual (na origem / destino)
Actual Qty After Transaction,Qtde atual após a transação
Actual Qty: Quantity available in the warehouse.,Atual Qtde: Quantidade existente no armazém.
Actual Quantity,Quantidade Atual
Actual Start Date,Atual Data de início
Add,Adicionar
Add / Edit Taxes and Charges,Adicionar / Editar Impostos e Taxas
Add Child,Adicionar Descendente
Add Serial No,Adicionar número de série
Add Taxes,Adicionar impostos
Add Taxes and Charges,Adicionar impostos e taxas
Add or Deduct,Adicionar ou Deduzir
Add rows to set annual budgets on Accounts.,Adicionar linhas para definir orçamentos anuais nas contas.
Add to Cart,Adicionar ao carrinho de compras
Add to calendar on this date,Adicionar ao calendário nesta data
Add/Remove Recipients,Adicionar / Remover Destinatários
Address,Endereço
Address & Contact,Endereço e contato
Address & Contacts,Endereço e contatos
Address Desc,Endereço Descr
Address Details,Detalhes de endereço
Address HTML,Endereço HTML
Address Line 1,Endereço Linha 1
Address Line 2,Endereço Linha 2
Address Template,Modelo de endereço
Address Title,Título do endereço
Address Title is mandatory.,O título do Endereço é obrigatório.
Address Type,Tipo de endereço
Address master.,Endereço principal.
Administrative Expenses,Despesas Administrativas
Administrative Officer,Diretor Administrativo
Advance Amount,Quantidade Adiantada
Advance amount,Valor do adiantamento
Advances,Avanços
Advertisement,Anúncio
Advertising,publicidade
Aerospace,aeroespaço
After Sale Installations,Após instalações Venda
Against,Contra
Against Account,Contra Conta
Against Bill {0} dated {1},Contra Bill {0} datado {1}
Against Docname,Contra Docname
Against Doctype,Contra Doctype
Against Document Detail No,Contra Detalhe documento No
Against Document No,Contra documento No
Against Expense Account,Contra a conta de despesas
Against Income Account,Contra Conta a Receber
Against Journal Voucher,Contra Vale Jornal
Against Journal Voucher {0} does not have any unmatched {1} entry,Contra Jornal Vale {0} não tem {1} entrada incomparável
Against Purchase Invoice,Contra a Nota Fiscal de Compra
Against Sales Invoice,Contra a nota fiscal de venda
Against Sales Order,Contra Ordem de Venda
Against Voucher,Contra Vale
Against Voucher Type,Tipo contra Vale
Ageing Based On,Contra Baseado em
Ageing Date is mandatory for opening entry,Envelhecimento Data é obrigatória para a abertura de entrada
Ageing date is mandatory for opening entry,Data Envelhecer é obrigatória para a abertura de entrada
Agent,Agente
Aging Date,Envelhecimento Data
Aging Date is mandatory for opening entry,Envelhecimento Data é obrigatória para a abertura de entrada
Agriculture,Agricultura
Airline,Companhia aérea
All Addresses.,Todos os endereços.
All Contact,Todos os Contatos
All Contacts.,Todos os contatos.
All Customer Contact,Todos os contatos de clientes
All Customer Groups,Todos os grupos de clientes
All Day,Todo o Dia
All Employee (Active),Todos os Empregados (Ativo)
All Item Groups,Todos os grupos de itens
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 as Pessoas de Vendas
All Supplier Contact,Todos os contatos de fornecedores
All Supplier Types,Todos os tipos de fornecedores
All Territories,Todos os Territórios
"All export related fields like currency, conversion rate, export total, export grand total etc are available in Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Todos os campos exportados tais como, moeda, taxa de conversão, total de exportação, total de exportação final, etc estão disponíveis na nota de entrega , POS, Cotação , Fatura de Vendas, Ordem de vendas, etc."
"All import related fields like currency, conversion rate, import total, import grand total etc are available in Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Todos os campos exportados tais como, moeda, taxa de conversão, total de exportação, total de exportação final e etc, estão disponíveis no Recibo de compra, fornecedor de cotação, factura de compra, ordem de compra e etc."
All items have already been invoiced,Todos os itens já foram faturados
All these items have already been invoiced,Todos esses itens já foram faturados
Allocate,Atribuír
Allocate leaves for a period.,Atribuír folhas por um período .
Allocate leaves for the year.,Atribuír folhas para o ano.
Allocated Amount,Montante atribuído
Allocated Budget,Orçamento atribuído
Allocated amount,Montante atribuído
Allocated amount can not be negative,Montante atribuído não pode ser negativo
Allocated amount can not greater than unadusted amount,Montante atribuído não pode ser superior à quantia desasjustada
Allow Bill of Materials,Permitir Lista de Materiais
Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item,"Permitir Lista de Materiais deve ser ""sim"". Porque uma ou várias listas de materiais encontram-se ativas para este item"
Allow Children,Permitir descendentes
Allow Dropbox Access,Permitir Dropbox Acesso
Allow Google Drive Access,Permitir acesso Google Drive
Allow Negative Balance,Permitir saldo negativo
Allow Negative Stock,Permitir stock negativo
Allow Production Order,Permitir Ordem de Produção
Allow User,Permitir utilizador
Allow Users,Permitir utilizadores
Allow the following users to approve Leave Applications for block days.,"Permitir que os seguintes utilizadores aprovem ""Deixar Aplicações"" para os dias de bloco."
Allow user to edit Price List Rate in transactions,Permitir ao utilizador editar Taxa de Lista de Preços em transações
Allowance Percent,Subsídio Percentual
Allowance for over-{0} crossed for Item {1},Provisão para over-{0} cruzou para item {1}
Allowance for over-{0} crossed for Item {1}.,Provisão para over-{0} cruzou para item {1}.
Allowed Role to Edit Entries Before Frozen Date,Regras de permissão para edição de entradas antes da data ser congelada.
Amended From,Alterado De
Amount,Quantidade
Amount (Company Currency),Amount (Moeda Company)
Amount Paid,Valor pago
Amount to Bill,Neerkomen op Bill
An Customer exists with same name,Existe um cliente com o mesmo nome
"An Item Group exists with same name, please change the item name or rename the item group","Um grupo de itens existe com o mesmo nome, por favor, mude o nome do item ou mudar o nome do grupo de itens"
"An item exists with same name ({0}), please change the item group name or rename the item","Um item existe com o mesmo nome ( {0}) , por favor, altere o nome do grupo de itens ou renomear o item"
Analyst,analista
Annual,anual
Another Period Closing Entry {0} has been made after {1},Outra entrada Período de Encerramento {0} foi feita após {1}
Another Salary Structure {0} is active for employee {0}. Please make its status 'Inactive' to proceed.,"Outra estrutura salarial {0} está ativo para empregado {0}. Por favor, faça seu status ' inativo ' para prosseguir ."
"Any other comments, noteworthy effort that should go in the records.","Quaisquer outros comentários, esforço notável que deve ir para os registros."
Apparel & Accessories,Vestuário e Acessórios
Applicability,aplicabilidade
Applicable For,aplicável
Applicable Holiday List,Lista de férias aplicável
Applicable Territory,Toepasselijk Territory
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.
Application of Funds (Assets),Aplicações de Recursos ( Ativos )
Applications for leave.,Os pedidos de licença.
Applies to Company,Aplica-se a Empresa
Apply On,aplicar Em
Appraisal,Avaliação
Appraisal Goal,Meta de avaliação
Appraisal Goals,Metas de avaliação
Appraisal Template,Modelo de avaliação
Appraisal Template Goal,Meta Modelo de avaliação
Appraisal Template Title,Título do modelo de avaliação
Appraisal {0} created for Employee {1} in the given date range,Appraisal {0} criado para Employee {1} no intervalo de datas
Apprentice,aprendiz
Approval Status,Status de Aprovação
Approval Status must be 'Approved' or 'Rejected',"Status de Aprovação deve ser ""Aprovado"" ou "" Rejeitado """
Approved,Aprovado
Approver,Aprovador
Approving Role,Aprovar Papel
Approving Role cannot be same as role the rule is Applicable To,Aprovando Papel não pode ser o mesmo que papel a regra é aplicável a
Approving User,Aprovar Usuário
Approving User cannot be same as user the rule is Applicable To,Aprovando usuário não pode ser o mesmo que usuário a regra é aplicável a
Are you sure you want to STOP ,Are you sure you want to STOP 
Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP 
Arrear Amount,Quantidade atraso
"As Production Order can be made for this item, it must be a stock item.","Como ordem de produção pode ser feita para este item , deve ser um item de estoque."
As per Stock UOM,Como 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'","Want er zijn bestaande voorraad transacties voor dit artikel , kunt u de waarden van ' Has Serial No ' niet veranderen , ' Is Stock Item ' en ' Valuation Method '"
Asset,ativos
Assistant,assistente
Associate,associado
Atleast one of the Selling or Buying must be selected,Pelo menos um dos que vendem ou compram deve ser selecionado
Atleast one warehouse is mandatory,Pelo menos um armazém é obrigatório
Attach Image,anexar imagem
Attach Letterhead,anexar timbrado
Attach Logo,anexar Logo
Attach Your Picture,Fixe sua imagem
Attendance,Comparecimento
Attendance Date,Data de atendimento
Attendance Details,Detalhes atendimento
Attendance From Date,Presença de Data
Attendance From Date and Attendance To Date is mandatory,Aanwezigheid Van Datum en tot op heden opkomst is verplicht
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 employee {0} is already marked,Atendimento para empregado {0} já está marcado
Attendance record.,Recorde de público.
Authorization Control,Controle de autorização
Authorization Rule,Regra autorização
Auto Accounting For Stock Settings,Auto Accounting Voor Stock Instellingen
Auto Material Request,Pedido de material Auto
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 compose message on submission of transactions.,Compor automaticamente mensagem na apresentação de transações.
Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box 
Automatically extract Leads from a mail box e.g.,Leads automatisch extraheren uit een brievenbus bijv.
Automatically updated via Stock Entry of type Manufacture/Repack,Atualizado automaticamente através da entrada de Fabricação tipo / Repack
Automotive,automotivo
Autoreply when a new mail is received,Autoreply quando um novo e-mail é recebido
Available,beschikbaar
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 , factura de compra , ordem de produção , ordem de compra , Recibo de compra , nota fiscal de venda , ordem de venda , Stock entrada , quadro de horários"
Average Age,Gemiddelde Leeftijd
Average Commission Rate,Gemiddelde Commissie Rate
Average Discount,Desconto médio
Awesome Products,produtos impressionantes
Awesome Services,impressionante Serviços
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 number is required for manufactured Item {0} in row {1},BOM número é necessário para manufaturados item {0} na linha {1}
BOM number not allowed for non-manufactured Item {0} in row {1},Número BOM não é permitido para os não- manufaturado item {0} na linha {1}
BOM recursion: {0} cannot be parent or child of {2},BOM recursão: {0} não pode ser pai ou filho de {2}
BOM replaced,BOM substituído
BOM {0} for Item {1} in row {2} is inactive or not submitted,BOM {0} para {1} item na linha {2} está inativo ou não submetido
BOM {0} is not active or not submitted,BOM {0} não está ativo ou não submetidos
BOM {0} is not submitted or inactive BOM for Item {1},BOM {0} não for apresentado ou inativo BOM por item {1}
Backup Manager,Backup Manager
Backup Right Now,Faça backup Right Now
Backups will be uploaded to,Backups serão enviados para
Balance Qty,Balance Aantal
Balance Sheet,Balanço
Balance Value,Balance Waarde
Balance for Account {0} must always be {1},Saldo Conta {0} deve ser sempre {1}
Balance must be,Equilíbrio deve ser
"Balances of Accounts of type ""Bank"" or ""Cash""","Saldos das contas do tipo "" Banco"" ou ""Cash """
Bank,Banco
Bank / Cash Account,Banco / Conta Caixa
Bank A/C No.,Bank A / C N º
Bank Account,Conta bancária
Bank Account No.,Banco Conta N º
Bank Accounts,bankrekeningen
Bank Clearance Summary,Banco Resumo Clearance
Bank Draft,cheque administrativo
Bank Name,Nome do banco
Bank Overdraft Account,Conta Garantida 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/Cash Balance,Banco / Saldo de Caixa
Banking,bancário
Barcode,Código de barras
Barcode {0} already used in Item {1},Barcode {0} já utilizado em item {1}
Based On,Baseado em
Basic,básico
Basic Info,Informações Básicas
Basic Information,Informações Básicas
Basic Rate,Taxa Básica
Basic Rate (Company Currency),Taxa Básica (Moeda Company)
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-Wise Balance History,Por lotes História Balance
Batched for Billing,Agrupadas para Billing
Better Prospects,Melhores perspectivas
Bill Date,Data Bill
Bill No,Projeto de Lei n
Bill No {0} already booked in Purchase Invoice {1},Bill Não {0} já reservado na factura de compra {1}
Bill of Material,Lista de Materiais
Bill of Material to be considered for manufacturing,Lista de Materiais a serem considerados para a fabricação
Bill of Materials (BOM),Lista de Materiais (BOM)
Billable,Faturável
Billed,Faturado
Billed Amount,gefactureerde bedrag
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
Biotechnology,biotecnologia
Birthday,verjaardag
Block Date,Bloquear Data
Block Days,Dias bloco
Block leave applications by department.,Bloquear deixar aplicações por departamento.
Blog Post,Blog Mensagem
Blog Subscriber,Assinante Blog
Blood Group,Grupo sanguíneo
Both Warehouse must belong to same Company,Beide Warehouse moeten behoren tot dezelfde Company
Box,caixa
Branch,Ramo
Brand,Marca
Brand Name,Marca
Brand master.,Mestre marca.
Brands,Marcas
Breakdown,Colapso
Broadcasting,radiodifusão
Brokerage,corretagem
Budget,Orçamento
Budget Allocated,Orçamento alocado
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
Budget cannot be set for Group Cost Centers,Orçamento não pode ser definido por centros de custo do grupo
Build Report,Build Report
Bundle items at time of sale.,Bundle itens no momento da venda.
Business Development Manager,Gerente de Desenvolvimento de Negócios
Buying,Comprar
Buying & Selling,Compra e Venda
Buying Amount,Comprar Valor
Buying Settings,Comprar Configurações
"Buying must be checked, if Applicable For is selected as {0}","Compra deve ser verificada, se for caso disso for selecionado como {0}"
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
C-Form records,C -Form platen
CENVAT Capital Goods,CENVAT Bens de Capital
CENVAT Edu Cess,CENVAT Edu Cess
CENVAT SHE Cess,CENVAT SHE Cess
CENVAT Service Tax,CENVAT Imposto sobre Serviços
CENVAT Service Tax Cess 1,CENVAT Imposto sobre Serviços Cess 1
CENVAT Service Tax Cess 2,CENVAT Imposto sobre Serviços Cess 2
Calculate Based On,Calcule Baseado em
Calculate Total Score,Calcular a pontuação total
Calendar Events,Calendário de Eventos
Call,Chamar
Calls,chamadas
Campaign,Campanha
Campaign Name,Nome da campanha
Campaign Name is required,Nome da campanha é necessária
Campaign Naming By,Campanha de nomeação
Campaign-.####,Campanha - . # # # #
Can be approved by {0},Pode ser aprovado pelo {0}
"Can not filter based on Account, if grouped by Account",Kan niet filteren op basis van account als gegroepeerd per account
"Can not filter based on Voucher No, if grouped by Voucher","Kan niet filteren op basis van Voucher Nee, als gegroepeerd per Voucher"
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Pode se referir linha apenas se o tipo de acusação é 'On Anterior Valor Row ' ou ' Previous Row Total'
Cancel Material Visit {0} before cancelling this Customer Issue,Cancelar material Visita {0} antes de cancelar este problema do cliente
Cancel Material Visits {0} before cancelling this Maintenance Visit,Cancelar Materiais Visitas {0} antes de cancelar este Manutenção Visita
Cancelled,Cancelado
Cancelling this Stock Reconciliation will nullify its effect.,Annuleren van dit Stock Verzoening zal het effect teniet doen .
Cannot Cancel Opportunity as Quotation Exists,Kan niet annuleren Opportunity als Offerte Bestaat
Cannot approve leave as you are not authorized to approve leaves on Block Dates,Não foi possível aprovar a licença que você não está autorizado a aprovar folhas em datas Bloco
Cannot cancel because Employee {0} is already approved for {1},Não pode cancelar porque Employee {0} já está aprovado para {1}
Cannot cancel because submitted Stock Entry {0} exists,Não pode cancelar por causa da entrada submetido {0} existe
Cannot carry forward {0},Não é possível levar adiante {0}
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Não é possível alterar o Ano Fiscal Data de Início e Data de Fim Ano Fiscal uma vez que o Ano Fiscal é salvo.
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Não é possível alterar a moeda padrão da empresa, porque existem operações existentes. Transações devem ser canceladas para alterar a moeda padrão."
Cannot convert Cost Center to ledger as it has child nodes,"Não é possível converter Centro de Custo de contabilidade , uma vez que tem nós filhos"
Cannot covert to Group because Master Type or Account Type is selected.,Não é possível converter ao Grupo porque Type Master ou Tipo de Conta é selecionado.
Cannot deactive or cancle BOM as it is linked with other BOMs,"Não pode desativados ou cancle BOM , pois está relacionada com outras BOMs"
"Cannot declare as lost, because Quotation has been made.","Kan niet verklaren als verloren , omdat Offerte is gemaakt."
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Não pode deduzir quando é para categoria ' Avaliação ' ou ' Avaliação e Total'
"Cannot delete Serial No {0} in stock. First remove from stock, then delete.","Não é possível excluir Sem Serial {0} em estoque. Primeiro retire do estoque , em seguida, exclua ."
"Cannot directly set amount. For 'Actual' charge type, use the rate field","Não é possível definir diretamente montante. Para ' Actual ' tipo de carga , use o campo taxa"
"Cannot overbill for Item {0} in row {0} more than {1}. To allow overbilling, please set in Stock Settings","Não pode overbill para item {0} na linha {0} mais de {1}. Para permitir o superfaturamento, defina no Banco Configurações"
Cannot produce more Item {0} than Sales Order quantity {1},Não é possível produzir mais item {0} do que a quantidade Ordem de Vendas {1}
Cannot refer row number greater than or equal to current row number for this Charge type,Não é possível consultar número da linha superior ou igual ao número da linha atual para este tipo de carga
Cannot return more than {0} for Item {1},Não pode retornar mais de {0} para {1} item
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,"Não é possível selecionar o tipo de carga como "" Valor Em linha anterior ' ou ' On Anterior Row Total ' para a primeira linha"
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for valuation. You can select only 'Total' option for previous row amount or previous row total,"Não é possível selecionar o tipo de carga como "" Valor Em linha anterior ' ou ' On Anterior Row Total ' para a avaliação. Você pode selecionar apenas a opção ' Total' para montante linha anterior ou linha anterior total de"
Cannot set as Lost as Sales Order is made.,Kan niet ingesteld als Lost als Sales Order wordt gemaakt .
Cannot set authorization on basis of Discount for {0},Não é possível definir a autorização com base em desconto para {0}
Capacity,Capacidade
Capacity Units,Unidades de capacidade
Capital Account,Conta Capital
Capital Equipments,Equipamentos Capitais
Carry Forward,Transportar
Carry Forwarded Leaves,Carry Folhas encaminhadas
Case No(s) already in use. Try from Case No {0},Processo n º (s) já está em uso . Tente de Processo n {0}
Case No. cannot be 0,Zaak nr. mag geen 0
Cash,Numerário
Cash In Hand,Dinheiro na mão
Cash Voucher,Comprovante de dinheiro
Cash or Bank Account is mandatory for making payment entry,Dinheiro ou conta bancária é obrigatória para a tomada de entrada de pagamento
Cash/Bank Account,Caixa / Banco Conta
Casual Leave,Casual Deixar
Cell Number,Número de células
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 of type 'Actual' in row {0} cannot be included in Item Rate,Charge do tipo ' real ' na linha {0} não pode ser incluído no item Taxa
Chargeable,Imputável
Charity and Donations,Caridade e Doações
Chart Name,Nome do gráfico
Chart of Accounts,Plano de Contas
Chart of Cost Centers,Plano de Centros de Custo
Check 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 show in website,Marque esta opção se você deseja mostrar no site
Check this to disallow fractions. (for Nos),Marque esta opção para não permitir frações. (Para n)
Check this to pull emails from your mailbox,Marque esta a puxar 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
Chemical,químico
Cheque,Cheque
Cheque Date,Data Cheque
Cheque Number,Número de cheques
Child account exists for this account. You can not delete this account.,Conta Criança existe para esta conta. Você não pode excluir esta conta.
City,Cidade
City/Town,Cidade / Município
Claim Amount,Quantidade reivindicação
Claims for company expense.,Os pedidos de despesa da empresa.
Class / Percentage,Classe / Percentual
Classic,Clássico
Clear Table,Tabela clara
Clearance Date,Data de Liquidação
Clearance Date not mentioned,Apuramento data não mencionada
Clearance date cannot be before check date in row {0},Apuramento data não pode ser anterior à data de verificação na linha {0}
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,Clique em &#39;Criar Fatura de vendas&#39; botão para criar uma nova factura de venda.
Click on a link to get options to expand get options ,Click on a link to get options to expand get options 
Client,Cliente
Close Balance Sheet and book Profit or Loss.,Sluiten Balans en boek Winst of verlies .
Closed,Fechado
Closing (Cr),Fechamento (Cr)
Closing (Dr),Fechamento (Dr)
Closing Account Head,Fechando Chefe Conta
Closing Account {0} must be of type 'Liability',Fechando Conta {0} deve ser do tipo ' responsabilidade '
Closing Date,Data de Encerramento
Closing Fiscal Year,Encerramento do exercício social
Closing Qty,closing Aantal
Closing Value,eindwaarde
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
Comments,Comentários
Commercial,comercial
Commission,comissão
Commission Rate,Taxa de Comissão
Commission Rate (%),Comissão Taxa (%)
Commission on Sales,Comissão sobre Vendas
Commission rate cannot be greater than 100,Taxa de comissão não pode ser maior do que 100
Communication,Comunicação
Communication HTML,Comunicação HTML
Communication History,História da comunicação
Communication log.,Log de comunicação.
Communications,communicatie
Company,Companhia
Company (not Customer or Supplier) master.,Company ( não cliente ou fornecedor ) mestre.
Company Abbreviation,bedrijf Afkorting
Company Details,Detalhes da empresa
Company Email,bedrijf E-mail
"Company Email ID not found, hence mail not sent","Empresa E-mail ID não foi encontrado , daí mail não enviado"
Company Info,Informações da empresa
Company Name,Nome da empresa
Company Settings,Configurações da empresa
Company is missing in warehouses {0},Empresa está em falta nos armazéns {0}
Company is required,Companhia é obrigada
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,Números 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"
"Company, Month and Fiscal Year is mandatory","Bedrijf , maand en het fiscale jaar is verplicht"
Compensatory Off,compensatória Off
Complete,Completar
Complete Setup,Instalação concluída
Completed,Concluído
Completed Production Orders,Voltooide productieorders
Completed Qty,Concluído Qtde
Completion Date,Data de Conclusão
Completion Status,Status de conclusão
Computer,computador
Computers,informática
Confirmation Date,bevestiging Datum
Confirmed orders from Customers.,Confirmado encomendas de clientes.
Consider Tax or Charge for,Considere imposto ou encargo para
Considered as Opening Balance,Considerado como Saldo
Considered as an Opening Balance,Considerado como um saldo de abertura
Consultant,Consultor
Consulting,consultor
Consumable,Consumíveis
Consumable Cost,verbruiksartikelen Cost
Consumable cost per hour,Verbruiksartikelen kosten per uur
Consumed Qty,Qtde consumida
Consumer Products,produtos para o Consumidor
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 master.,Contato mestre.
Contacts,Contactos
Content,Conteúdo
Content Type,Tipo de conteúdo
Contra Voucher,Vale Contra
Contract,contrato
Contract End Date,Data final do contrato
Contract End Date must be greater than Date of Joining,Data Contrato Final deve ser maior que Data de Participar
Contribution (%),Contribuição (%)
Contribution to Net Total,Contribuição para o Total Líquido
Conversion Factor,Fator de Conversão
Conversion Factor is required,Fator de Conversão é necessária
Conversion factor cannot be in fractions,Fator de conversão não pode estar em frações
Conversion factor for default Unit of Measure must be 1 in row {0},Fator de conversão de unidade de medida padrão deve ser 1 na linha {0}
Conversion rate cannot be 0 or 1,A taxa de conversão não pode ser 0 ou 1
Convert into Recurring Invoice,Converter em fatura Recorrente
Convert to Group,Converteren naar Groep
Convert to Ledger,Converteren naar Ledger
Converted,Convertido
Copy From Item Group,Copiar do item do grupo
Cosmetics,Cosméticos
Cost Center,Centro de Custos
Cost Center Details,Custo Detalhes Centro
Cost Center Name,Custo Nome Centro
Cost Center is required for 'Profit and Loss' account {0},"Centro de custo é necessário para "" Lucros e Perdas "" conta {0}"
Cost Center is required in row {0} in Taxes table for type {1},Centro de Custo é necessária na linha {0} no Imposto de mesa para o tipo {1}
Cost Center with existing transactions can not be converted to group,Centro de custo com as operações existentes não podem ser convertidos em grupo
Cost Center with existing transactions can not be converted to ledger,Centro de custo com as operações existentes não podem ser convertidos em livro
Cost Center {0} does not belong to Company {1},Centro de Custo {0} não pertence a Empresa {1}
Cost of Goods Sold,Custo dos Produtos Vendidos
Costing,Custeio
Country,País
Country Name,Nome do País
Country wise default Address Templates,Modelos País default sábio endereço
"Country, Timezone and Currency","Country , Tijdzone en Valuta"
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 Customer,Maak de klant
Create Material Requests,Criar Pedidos de Materiais
Create New,Create New
Create Opportunity,Maak Opportunity
Create Production Orders,Criar ordens de produção
Create Quotation,Maak Offerte
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 and manage daily, weekly and monthly email digests.","Criar e gerenciar diários, semanais e mensais digere e-mail."
Create rules to restrict transactions based on values.,Criar regras para restringir operações com base em valores.
Created By,Criado por
Creates salary slip for above mentioned criteria.,Cria folha de salário para os critérios acima mencionados.
Creation Date,aanmaakdatum
Creation Document No,Creatie Document No
Creation Document Type,Type het maken van documenten
Creation Time,Aanmaaktijd
Credentials,Credenciais
Credit,Crédito
Credit Amt,Crédito Amt
Credit Card,cartão de crédito
Credit Card Voucher,Comprovante do cartão de crédito
Credit Controller,Controlador de crédito
Credit Days,Dias de crédito
Credit Limit,Limite de Crédito
Credit Note,Nota de Crédito
Credit To,Para crédito
Currency,Moeda
Currency Exchange,Câmbio
Currency Name,Nome da Moeda
Currency Settings,Configurações Moeda
Currency and Price List,Moeda e Preço
Currency exchange rate master.,Mestre taxa de câmbio .
Current Address,Endereço Atual
Current Address Is,Huidige adres wordt
Current Assets,Ativo Circulante
Current BOM,BOM atual
Current BOM and New BOM can not be same,Atual BOM e Nova BOM não pode ser o mesmo
Current Fiscal Year,Atual Exercício
Current Liabilities,passivo circulante
Current Stock,Estoque atual
Current Stock UOM,UOM Estoque atual
Current Value,Valor Atual
Custom,Personalizado
Custom Autoreply Message,Mensagem de resposta automática personalizada
Custom Message,Mensagem personalizada
Customer,Cliente
Customer (Receivable) Account,Cliente (receber) Conta
Customer / Item Name,Cliente / Nome do item
Customer / Lead Address,Klant / Lead Adres
Customer / Lead Name,Cliente / Nome de chumbo
Customer > Customer Group > Territory,Cliente> Grupo Cliente> Território
Customer Account Head,Cliente Cabeça Conta
Customer Acquisition and Loyalty,Klantenwerving en Loyalty
Customer Address,Endereço do cliente
Customer Addresses And Contacts,Endereços e contatos de clientes
Customer Addresses and Contacts,Endereços de Clientes e Contactos
Customer Code,Código Cliente
Customer Codes,Códigos de clientes
Customer Details,Detalhes do cliente
Customer Feedback,Comentário do cliente
Customer Group,Grupo de Clientes
Customer Group / Customer,Customer Group / Klantenservice
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 Service,atendimento ao cliente
Customer database.,Banco de dados do cliente.
Customer is required,É necessário ao cliente
Customer master.,Mestre de clientes.
Customer required for 'Customerwise Discount',Necessário para ' Customerwise Discount ' Cliente
Customer {0} does not belong to project {1},Cliente {0} não pertence ao projeto {1}
Customer {0} does not exist,Cliente {0} não existe
Customer's Item Code,Código do 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 Purchase Order Number,Klant Inkoopordernummer
Customer's Vendor,Vendedor cliente
Customers Not Buying Since Long Time,Os clientes não compra desde há muito tempo
Customerwise Discount,Desconto Customerwise
Customize,Personalize
Customize the Notification,Personalize a Notificação
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,Personalize o texto introdutório que vai como uma parte do que e-mail. Cada transação tem um texto separado introdutório.
DN Detail,Detalhe DN
Daily,Diário
Daily Time Log Summary,Resumo Diário Log Tempo
Database Folder ID,ID Folder Database
Database of potential customers.,Banco de dados de clientes potenciais.
Date,Data
Date Format,Formato de data
Date Of Retirement,Data da aposentadoria
Date Of Retirement must be greater than Date of Joining,Data da aposentadoria deve ser maior que Data de Juntando
Date is repeated,Data é repetido
Date of Birth,Data de Nascimento
Date of Issue,Data de Emissão
Date of Joining,Data da Unir
Date of Joining must be greater than Date of Birth,Data de Juntando deve ser maior do que o Data de Nascimento
Date on which lorry started from supplier warehouse,Data em que o 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
Dates,Datas
Days Since Last Order,Dagen sinds vorige Bestel
Days for which Holidays are blocked for this department.,Dias para que feriados são bloqueados para este departamento.
Dealer,Revendedor
Debit,Débito
Debit Amt,Débito Amt
Debit Note,Nota de Débito
Debit To,Para débito
Debit and Credit not equal for this voucher. Difference is {0}.,Débito e Crédito não é igual para este voucher. A diferença é {0}.
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 Address Template cannot be deleted,Template endereço padrão não pode ser excluído
Default Amount,Quantidade 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 Buying Cost Center,Compra Centro de Custo Padrão
Default Buying Price List,Standaard Buying Prijslijst
Default Cash Account,Conta Caixa padrão
Default Company,Empresa padrão
Default Currency,Moeda padrão
Default Customer Group,Grupo de Clientes padrão
Default Expense Account,Conta Despesa 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 Purchase Account in which cost of the item will be debited.,Conta de compra padrão em que o custo do item será debitado.
Default Selling Cost Center,Venda Padrão Centro de Custo
Default Settings,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 Unit of Measure can not be changed directly because you have already made some transaction(s) with another UOM. To change default UOM, use 'UOM Replace Utility' tool under Stock module.","Standaard meeteenheid kan niet direct worden veranderd , omdat je al enkele transactie (s ) heeft gemaakt met een andere Verpakking . Om standaard Verpakking wijzigen, gebruikt ' Verpakking Vervang Utility ' hulpmiddel onder Stock module ."
Default Valuation Method,Método de Avaliação padrão
Default Warehouse,Armazém padrão
Default Warehouse is mandatory for stock Item.,Armazém padrão é obrigatório para estoque Item.
Default settings for accounting transactions.,As configurações padrão para as transações contábeis.
Default settings for buying transactions.,As configurações padrão para a compra de transações.
Default settings for selling transactions.,As configurações padrão para a venda de transações.
Default settings for stock transactions.,As configurações padrão para transações com ações .
Defense,defesa
"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>"
Del,Del
Delete,Excluir
Delete {0} {1}?,Excluir {0} {1} ?
Delivered,Entregue
Delivered Items To Be Billed,Itens entregues a ser cobrado
Delivered Qty,Qtde entregue
Delivered Serial No {0} cannot be deleted,Entregue Serial Não {0} não pode ser excluído
Delivery Date,Data de entrega
Delivery Details,Detalhes da entrega
Delivery Document No,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
Delivery Note Required,Nota de Entrega Obrigatório
Delivery Note Trends,Nota de entrega Trends
Delivery Note {0} is not submitted,Entrega Nota {0} não é submetido
Delivery Note {0} must not be submitted,Entrega Nota {0} não deve ser apresentado
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Notas de entrega {0} deve ser cancelado antes de cancelar esta ordem de venda
Delivery Status,Estado entrega
Delivery Time,Prazo de entrega
Delivery To,Entrega
Department,Departamento
Department Stores,Lojas de Departamento
Depends on LWP,Depende LWP
Depreciation,depreciação
Description,Descrição
Description HTML,Descrição HTML
Designation,Designação
Designer,estilista
Detailed Breakup of the totals,Breakup detalhada dos totais
Details,Detalhes
Difference (Dr - Cr),Diferença ( Dr - Cr)
Difference Account,verschil Account
"Difference Account must be a 'Liability' type account, since this Stock Reconciliation is an Opening Entry","Conta diferença deve ser um tipo de conta ' Responsabilidade ' , uma vez que este Banco de reconciliação é uma entrada de Abertura"
Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,UOM diferente para itens levará a incorreta valor Peso Líquido (Total ) . Certifique-se de que o peso líquido de cada item está na mesma UOM .
Direct Expenses,Despesas Diretas
Direct Income,Resultado direto
Disable,incapacitar
Disable Rounded Total,Desativar total arredondado
Disabled,Inválido
Discount  %,% De desconto
Discount %,% De desconto
Discount (%),Desconto (%)
Discount Amount,Montante do Desconto
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Campos de desconto estará disponível em Ordem de Compra, Recibo de Compra, Nota Fiscal de Compra"
Discount Percentage,Percentagem de Desconto
Discount Percentage can be applied either against a Price List or for all Price List.,Percentual de desconto pode ser aplicado contra uma lista de preços ou para todos Lista de Preços.
Discount must be less than 100,Desconto deve ser inferior a 100
Discount(%),Desconto (%)
Dispatch,expedição
Display all the individual items delivered with the main items,Exibir todos os itens individuais entregues com os principais itens
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 Contact,Neem geen contact op
Do not show any symbol like $ etc next to currencies.,Não mostrar qualquer símbolo como US $ etc ao lado de moedas.
Do really want to unstop production order: ,Do really want to unstop production order: 
Do you really want to STOP ,Do you really want to STOP 
Do you really want to STOP this Material Request?,Wil je echt wilt dit materiaal afbreken ?
Do you really want to Submit all Salary Slip for month {0} and year {1},Você realmente quer submeter todos os folha de salário do mês {0} e {1} ano
Do you really want to UNSTOP ,Do you really want to UNSTOP 
Do you really want to UNSTOP this Material Request?,Wil je echt wilt dit materiaal aanvragen opendraaien ?
Do you really want to stop production order: ,Do you really want to stop production order: 
Doc Name,Nome Doc
Doc Type,Tipo Doc
Document Description,Descrição documento
Document Type,Tipo de Documento
Documents,Documentos
Domain,Domínio
Don't send Employee Birthday Reminders,Stuur geen Werknemer verjaardagsherinneringen
Download Materials Required,Baixe Materiais Necessários
Download Reconcilation Data,Download Verzoening gegevens
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.","Baixe o modelo , preencha os dados apropriados e anexe o arquivo modificado."
"Download the Template, fill appropriate data and attach the modified file.All dates and employee combination in the selected period will come in the template, with existing attendance records","Baixe o modelo, preencha os dados apropriados e anexe o arquivo modificado. Todas as datas e combinação empregado no período selecionado virá no modelo, com registros de freqüência existentes"
Draft,Rascunho
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox acesso permitido
Dropbox Access Key,Dropbox Chave de Acesso
Dropbox Access Secret,Dropbox acesso secreta
Due Date,Data de Vencimento
Due Date cannot be after {0},Due Date não pode ser posterior a {0}
Due Date cannot be before Posting Date,Due Date não pode ser antes de Postar Data
Duplicate Entry. Please check Authorization Rule {0},"Duplicar entrada . Por favor, verifique Regra de Autorização {0}"
Duplicate Serial No entered for Item {0},Duplicar Serial Não entrou para item {0}
Duplicate entry,duplicar entrada
Duplicate row {0} with same {1},Linha duplicada {0} com o mesmo {1}
Duties and Taxes,Impostos e Contribuições
ERPNext Setup,ERPNext Setup
Earliest,vroegste
Earnest Money,Dinheiro Earnest
Earning,Ganhando
Earning & Deduction,Ganhar &amp; Dedução
Earning Type,Ganhando Tipo
Earning1,Earning1
Edit,Editar
Edu. Cess on Excise,Edu. Cess em impostos indiretos
Edu. Cess on Service Tax,Edu. Cess em Imposto sobre Serviços
Edu. Cess on TDS,Edu. Cess em TDS
Education,educação
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
Either debit or credit amount is required for {0},De qualquer débito ou valor do crédito é necessário para {0}
Either target qty or target amount is mandatory,Ou qty alvo ou valor alvo é obrigatório
Either target qty or target amount is mandatory.,Ou qty alvo ou valor alvo é obrigatória.
Electrical,elétrico
Electricity Cost,elektriciteitskosten
Electricity cost per hour,Kosten elektriciteit per uur
Electronics,eletrônica
Email,E-mail
Email Digest,E-mail Digest
Email Digest Settings,E-mail Digest Configurações
Email Digest: ,Email Digest: 
Email Id,Id e-mail
"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 Notifications,Notificações de e-mail
Email Sent?,E-mail enviado?
"Email id must be unique, already exists for {0}","ID de e-mail deve ser único, já existe para {0}"
Email ids separated by commas.,Ids e-mail separados por vírgulas.
"Email 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;"
Emergency Contact,Emergency Contact
Emergency Contact Details,Detalhes de contato de emergência
Emergency Phone,Emergency Phone
Employee,Empregado
Employee Birthday,Aniversário 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 Settings,werknemer Instellingen
Employee Type,Tipo de empregado
"Employee designation (e.g. CEO, Director etc.).","Designação do empregado (por exemplo, CEO , diretor , etc.)"
Employee master.,Mestre Employee.
Employee record is created using selected field. ,Registro de empregado é criado usando o campo selecionado.
Employee records.,Registros de funcionários.
Employee relieved on {0} must be set as 'Left',Empregado aliviada em {0} deve ser definido como 'Esquerda'
Employee {0} has already applied for {1} between {2} and {3},Empregado {0} já solicitou {1} {2} entre e {3}
Employee {0} is not active or does not exist,Empregado {0} não está ativo ou não existe
Employee {0} was on leave on {1}. Cannot mark attendance.,Empregado {0} estava de licença em {1} . Não pode marcar presença.
Employees Email Id,Funcionários ID e-mail
Employment Details,Detalhes de emprego
Employment Type,Tipo de emprego
Enable / disable currencies.,Ativar / desativar moedas.
Enabled,Habilitado
Encashment Date,Data cobrança
End Date,Data final
End Date can not be less than Start Date,Data final não pode ser inferior a data de início
End date of current invoice's period,Data final do período de fatura atual
End of Life,Fim da Vida
Energy,energia
Engineer,engenheiro
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 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 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
Entertainment & Leisure,Entretenimento & Lazer
Entertainment Expenses,despesas de representação
Entries,Entradas
Entries against ,Entries against 
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.
Equity,equidade
Error: {0} > {1},Erro: {0} > {1}
Estimated Material Cost,Custo de Material estimada
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Mesmo se houver várias regras de preços com maior prioridade, então seguintes prioridades internas são aplicadas:"
Everyone can read,Todo mundo pode ler
"Example: ABCD.#####If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.",". Exemplo: ABCD # # # # #  Se série está definido e número de série não é mencionado em transações, número de série, então automático será criado com base nessa série. Se você sempre quis mencionar explicitamente os números de ordem para este item. deixe em branco."
Exchange Rate,Taxa de Câmbio
Excise Duty 10,Impostos Especiais de Consumo 10
Excise Duty 14,Impostos Especiais de Consumo 14
Excise Duty 4,Excise Duty 4
Excise Duty 8,Excise Duty 8
Excise Duty @ 10,Impostos Especiais de Consumo @ 10
Excise Duty @ 14,Impostos Especiais de Consumo @ 14
Excise Duty @ 4,Impostos Especiais de Consumo @ 4
Excise Duty @ 8,Impostos Especiais de Consumo @ 8
Excise Duty Edu Cess 2,Impostos Especiais de Consumo Edu Cess 2
Excise Duty SHE Cess 1,Impostos Especiais de Consumo SHE Cess 1
Excise Page Number,Número de página especial sobre o consumo
Excise Voucher,Vale especiais de consumo
Execution,execução
Executive Search,Executive Search
Exemption Limit,Limite de isenção
Exhibition,Exposição
Existing Customer,Cliente existente
Exit,Sair
Exit Interview Details,Sair Detalhes Entrevista
Expected,Esperado
Expected Completion Date can not be less than Project Start Date,Esperada Data de Conclusão não pode ser inferior a Projeto Data de Início
Expected Date cannot be before Material Request Date,Verwachte datum kan niet voor de Material Aanvraagdatum
Expected Delivery Date,Data de entrega prevista
Expected Delivery Date cannot be before Purchase Order Date,Previsão de Entrega A data não pode ser antes de Ordem de Compra Data
Expected Delivery Date cannot be before Sales Order Date,Previsão de Entrega A data não pode ser antes de Ordem de Vendas Data
Expected End Date,Data final esperado
Expected Start Date,Data de Início do esperado
Expense,despesa
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Despesa conta / Diferença ({0}) deve ser um 'resultados' conta
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 Claim has been approved.,Declaratie is goedgekeurd .
Expense Claim has been rejected.,Declaratie is afgewezen .
Expense Claim is pending approval. Only the Expense Approver can update status.,Declaratie is in afwachting van goedkeuring . Alleen de Expense Approver kan status bijwerken .
Expense Date,Data despesa
Expense Details,Detalhes despesas
Expense Head,Chefe despesa
Expense account is mandatory for item {0},Conta de despesa é obrigatória para item {0}
Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,Despesa ou Diferença conta é obrigatória para item {0} como ela afeta o valor das ações em geral
Expenses,Despesas
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
Exports,Exportações
External,Externo
Extract Emails,Extrair e-mails
FCFS Rate,Taxa FCFS
Failed: ,Falha:
Family Background,Antecedentes familiares
Fax,Fax
Features Setup,Configuração características
Feed,Alimentar
Feed Type,Tipo de feed
Feedback,Comentários
Female,Feminino
Fetch exploded BOM (including sub-assemblies),Fetch ontplofte BOM ( inclusief onderdelen )
"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"
Files Folder ID,Arquivos de ID de pasta
Fill the form and save it,Vul het formulier in en sla het
Filter based on customer,Filtrar baseado em cliente
Filter based on item,Filtrar com base no item
Financial / accounting year.,Exercício / contabilidade.
Financial Analytics,Análise Financeira
Financial Services,Serviços Financeiros
Financial Year End Date,Encerramento do Exercício Social Data
Financial Year Start Date,Exercício Data de Início
Finished Goods,afgewerkte producten
First Name,Nome
First Responded On,Primeiro respondeu em
Fiscal Year,Exercício fiscal
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Ano Fiscal Data de Início e Término do Exercício Social Data já estão definidos no ano fiscal de {0}
Fiscal Year Start Date and Fiscal Year End Date cannot be more than a year apart.,Ano Fiscal Data de Início e Término do Exercício Social Data não pode ter mais do que um ano de intervalo.
Fiscal Year Start Date should not be greater than Fiscal Year End Date,Ano Fiscal Data de início não deve ser maior do que o Fiscal Year End Date
Fixed Asset,ativos Fixos
Fixed Assets,Imobilizado
Follow via Email,Siga por e-mail
"Following table will show values if items are sub - contracted. These values will be fetched from the master of ""Bill of Materials"" of sub - contracted items.",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.
Food,comida
"Food, Beverage & Tobacco","Alimentos, Bebidas e Fumo"
"For 'Sales BOM' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Sales BOM' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Para os itens de vendas 'BOM', Armazém, N º de Série e Batch Não será considerada a partir da tabela ""Packing List"". Se Warehouse e Batch Não são as mesmas para todos os itens de embalagem para qualquer item 'Vendas BOM', esses valores podem ser inseridos na tabela do item principal, os valores serão copiados para a tabela ""Packing List""."
For Company,Para a Empresa
For Employee,Para Empregado
For Employee Name,Para Nome do Funcionário
For Price List,Para Lista de Preço
For Production,Para Produção
For Reference Only.,Apenas para referência.
For Sales Invoice,Para fatura de vendas
For Server Side Print Formats,Para o lado do servidor de impressão Formatos
For Supplier,voor Leverancier
For Warehouse,Para Armazém
For Warehouse is required before Submit,Para for necessário Armazém antes Enviar
"For e.g. 2012, 2012-13","Para por exemplo 2012, 2012-13"
For reference,Para referência
For reference only.,Apenas para referência.
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Para a comodidade dos clientes, estes códigos podem ser usados ​​em formatos de impressão, como facturas e guias de entrega"
Fraction,Fração
Fraction Units,Unidades fração
Freeze Stock Entries,Congelar da Entries
Freeze Stocks Older Than [Days],Congeladores Stocks mais velhos do que [ dias ]
Freight and Forwarding Charges,Freight Forwarding e Encargos
Friday,Sexta-feira
From,De
From Bill of Materials,De Bill of Materials
From Company,Da Empresa
From Currency,De Moeda
From Currency and To Currency cannot be same,De Moeda e Para Moeda não pode ser o mesmo
From Customer,Do Cliente
From Customer Issue,Van Customer Issue
From Date,A partir da data
From Date cannot be greater than To Date,A partir de data não pode ser maior que a Data
From Date must be before To Date,A partir da data deve ser anterior a Data
From Date should be within the Fiscal Year. Assuming From Date = {0},A partir de data deve estar dentro do ano fiscal. Assumindo De Date = {0}
From Delivery Note,De Nota de Entrega
From Employee,De Empregado
From Lead,De Chumbo
From Maintenance Schedule,Van onderhoudsschema
From Material Request,Van Materiaal Request
From Opportunity,van Opportunity
From Package No.,De No. Package
From Purchase Order,Da Ordem de Compra
From Purchase Receipt,De Recibo de compra
From Quotation,van Offerte
From Sales Order,Da Ordem de Vendas
From Supplier Quotation,Van Leverancier Offerte
From Time,From Time
From Value,De Valor
From and To dates required,De e datas necessárias
From value must be less than to value in row {0},Do valor deve ser menor do que o valor na linha {0}
Frozen,Congelado
Frozen Accounts Modifier,Bevroren rekeningen Modifikatie
Fulfilled,Cumprido
Full Name,Nome Completo
Full-time,De tempo integral
Fully Billed,Totalmente Anunciado
Fully Completed,Totalmente concluída
Fully Delivered,Totalmente entregue
Furniture and Fixture,Móveis e utensílios
Further accounts can be made under Groups but entries can be made against Ledger,"Outras contas podem ser feitas em grupos , mas as entradas podem ser feitas contra Ledger"
"Further accounts can be made under Groups, but entries can be made against Ledger","Outras contas podem ser feitas em grupos , mas as entradas podem ser feitas contra Ledger"
Further nodes can be only created under 'Group' type nodes,Verder nodes kunnen alleen worden gemaakt op grond van het type nodes 'Groep'
GL Entry,Entrada GL
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
Generates HTML to include selected image in the description,Gera HTML para incluir imagem selecionada na descrição
Get Advances Paid,Obter adiantamentos pagos
Get Advances Received,Obter adiantamentos recebidos
Get Current Stock,Obter Estoque atual
Get Items,Obter itens
Get Items From Sales Orders,Obter itens de Pedidos de Vendas
Get Items from BOM,Items ophalen van BOM
Get Last Purchase Rate,Obter Tarifa de Compra Última
Get Outstanding Invoices,Obter faturas pendentes
Get Relevant Entries,Obter entradas relevantes
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 Unreconciled Entries,Obter Unreconciled Entradas
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."
Global Defaults,Padrões globais
Global POS Setting {0} already created for company {1},Setting POS global {0} já criado para a empresa {1}
Global Settings,Definições Globais
"Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts and create a new Account Ledger (by clicking on Add Child) of type ""Bank""","Vá para o grupo apropriado (geralmente Aplicação de Fundos > Ativo Circulante > Contas Bancárias e criar uma nova conta Ledger (clicando em Adicionar Criança) do tipo "" Banco"""
"Go to the appropriate group (usually Source of Funds > Current Liabilities > Taxes and Duties and create a new Account Ledger (by clicking on Add Child) of type ""Tax"" and do mention the Tax rate.","Vá para o grupo apropriado (geralmente Fonte de Recursos > Passivo Circulante > Impostos e Taxas e criar uma nova conta Ledger (clicando em Adicionar Criança) do tipo "" imposto "" e não mencionar a taxa de imposto."
Goal,Meta
Goals,Metas
Goods received from Suppliers.,Mercadorias recebidas de fornecedores.
Google Drive,Google Drive
Google Drive Access Allowed,Acesso Google Drive admitidos
Government,governo
Graduate,Pós-graduação
Grand Total,Total geral
Grand Total (Company Currency),Grande Total (moeda da empresa)
"Grid ""","Grid """
Grocery,mercearia
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 by Account,Grupo por Conta
Group by Voucher,Grupo pela Vale
Group or Ledger,Grupo ou Ledger
Groups,Grupos
HR Manager,Gerente de RH
HR Settings,Configurações HR
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
Happy Birthday!,Happy Birthday!
Hardware,ferragens
Has Batch No,Não tem Batch
Has Child Node,Tem nó filho
Has Serial No,Não tem de série
Head of Marketing and Sales,Diretor de Marketing e Vendas
Header,Cabeçalho
Health Care,Atenção à Saúde
Health Concerns,Preocupações com a Saúde
Health Details,Detalhes saúde
Held On,Realizada em
Help HTML,Ajuda HTML
"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Ajuda: Para vincular a outro registro no sistema, use &quot;# Form / Nota / [Nota Name]&quot; como a ligação URL. (Não use &quot;http://&quot;)"
"Here you can maintain family details like name and occupation of parent, spouse and children","Aqui você pode manter detalhes 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"
Hide Currency Symbol,Ocultar Símbolo de Moeda
High,Alto
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
Holiday master.,Mestre férias .
Holidays,Férias
Home,Casa
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,hora
Hour Rate,Taxa de hora
Hour Rate Labour,A taxa de hora
Hours,Horas
How Pricing Rule is applied?,Como regra de preços é aplicada?
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"
Human Resources,Recursos Humanos
Identification of the package for the delivery (for print),Identificação do pacote para a entrega (para impressão)
If Income or Expense,Se a renda ou Despesa
If Monthly Budget Exceeded,Se o orçamento mensal excedido
"If Sale BOM is defined, the actual BOM of the Pack is displayed as table. Available in Delivery Note and Sales Order","Se Venda BOM for definido, o BOM real do pacote é exibido como mesa. Disponível na nota de entrega e da Ordem de Vendas"
"If Supplier Part Number exists for given Item, it gets stored here","Se Número da peça de Fornecedor existe para determinado item, ele fica armazenado aqui"
If Yearly Budget Exceeded,Se orçamento anual excedido
"If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.","Se 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, 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 different than customer address,Se diferente do endereço do cliente
"If disable, 'Rounded Total' field will not be visible in any transaction","Se desativar, &#39;Arredondado Total &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 more than one package of the same type (for print),Se mais do que uma embalagem do mesmo tipo (por impressão)
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Se várias regras de preços continuam a prevalecer, os usuários são convidados a definir a prioridade manualmente para resolver o conflito."
"If no change in either Quantity or Valuation Rate, leave the cell blank.","Als er geen wijziging optreedt Hoeveelheid of Valuation Rate , verlaat de cel leeg ."
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 selected Pricing Rule is made for 'Price', it will overwrite Price List. Pricing Rule price is the final price, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Se a Regra de Preços selecionado é feita para 'Preço', ele irá substituir Lista de Preços. Preço Regra O preço é o preço final, de forma que nenhum desconto adicional deve ser aplicada. Assim, em operações como a ordem de venda, ordem de compra, etc, será buscado em campo 'Taxa', campo 'Lista de Preços Taxa de ""em vez de."
"If specified, send the newsletter using this email address","Se especificado, enviar a newsletter usando esse endereço de e-mail"
"If the account is frozen, entries are allowed to restricted users.","Als de account wordt gepauzeerd, blijven inzendingen mogen gebruikers met beperkte rechten ."
"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 two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Se duas ou mais regras de preços encontram-se com base nas condições acima, a prioridade é aplicada. A prioridade é um número entre 0 a 20, enquanto o valor padrão é zero (em branco). Número maior significa que ele terá precedência se houver várias regras de preços com as mesmas condições."
If you follow Quality Inspection. Enables Item QA Required and QA No in Purchase Receipt,Se você seguir Inspeção de Qualidade . Permite item QA Obrigatório e QA Não no Recibo de compra
If you have Sales Team and Sale Partners (Channel Partners)  they can be tagged and maintain their contribution in the sales activity,Se você tiver Equipe de Vendas e Parceiros de Venda (Parceiros de Canal) 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. Enables Item 'Is Manufactured',Se envolver em atividades de fabricação. Permite Item ' é fabricado '
Ignore,Ignorar
Ignore Pricing Rule,Ignorar regra de preços
Ignored: ,Ignorados:
Image,Imagem
Image View,Ver imagem
Implementation Partner,Parceiro de implementação
Import Attendance,Importação de Atendimento
Import Failed!,Import mislukt!
Import Log,Importar Log
Import Successful!,Importeer Succesvol!
Imports,Importações
In Hours,Em Horas
In Process,Em Processo
In Qty,in Aantal
In Value,in Waarde
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.
Incentives,Incentivos
Include Reconciled Entries,Incluir entradas Reconciliados
Include holidays in Total no. of Working Days,Incluir feriados em nenhuma total. de dias de trabalho
Income,renda
Income / Expense,Receitas / Despesas
Income Account,Conta Renda
Income Booked,Renda Reservado
Income Tax,Imposto de Renda
Income Year to Date,Ano renda para Data
Income booked for the digest period,Renda reservado para o período digest
Incoming,Entrada
Incoming Rate,Taxa de entrada
Incoming quality inspection.,Inspeção de qualidade de entrada.
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Número incorreto de General Ledger Entries encontrado. Talvez você tenha selecionado uma conta de errado na transação.
Incorrect or Inactive BOM {0} for Item {1} at row {2},Incorreto ou inativo BOM {0} para {1} item na linha {2}
Indicates that the package is a part of this delivery (Only Draft),Indica que o pacote é uma parte desta entrega (Só Projecto)
Indirect Expenses,Despesas Indiretas
Indirect Income,Resultado indirecto
Individual,Individual
Industry,Indústria
Industry Type,Tipo indústria
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 Note {0} has already been submitted,Instalação Nota {0} já foi apresentado
Installation Status,Status da instalação
Installation Time,O tempo de instalação
Installation date cannot be before delivery date for Item {0},Data de instalação não pode ser anterior à data de entrega de item {0}
Installation record for a Serial No.,Registro de instalação de um n º de série
Installed Qty,Quantidade instalada
Instructions,Instruções
Integrate incoming support emails to Support Ticket,Integreer inkomende support e-mails naar ticket support
Interested,Interessado
Intern,internar
Internal,Interno
Internet Publishing,Publishing Internet
Introduction,Introdução
Invalid Barcode,Código de barras inválido
Invalid Barcode or Serial No,Código de barras inválido ou Serial Não
Invalid Mail Server. Please rectify and try again.,"Mail Server inválido . Por favor, corrigir e tentar novamente."
Invalid Master Name,Ongeldige Master Naam
Invalid User Name or Support Password. Please rectify and try again.,"Nome de usuário inválido ou senha Suporte . Por favor, corrigir e tentar novamente."
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Quantidade inválido especificado para o item {0} . Quantidade deve ser maior do que 0 .
Inventory,Inventário
Inventory & Support,Inventário e Suporte
Investment Banking,Banca de Investimento
Investments,Investimentos
Invoice Date,Data da fatura
Invoice Details,Detalhes da fatura
Invoice No,A factura n º
Invoice Number,Número da fatura
Invoice Period From,Fatura Período De
Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Fatura Período De e Período fatura para datas obrigatórias para fatura recorrentes
Invoice Period To,Período fatura para
Invoice Type,Tipo de Fatura
Invoice/Journal Voucher Details,Factura / Jornal Vale detalhes
Invoiced Amount (Exculsive Tax),Factuurbedrag ( Exculsive BTW )
Is Active,É Ativo
Is Advance,É o avanço
Is Cancelled,É cancelado
Is Carry Forward,É Carry Forward
Is Default,É Default
Is Encash,É cobrar
Is Fixed Asset Item,É item de Imobilização
Is LWP,É LWP
Is Opening,Está abrindo
Is Opening Entry,Está abrindo Entry
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 Stock Item,É item de estoque
Is Sub Contracted Item,É item Contratado Sub
Is Subcontracted,É subcontratada
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 can also be used to create opening stock entries and to fix stock value.,Het kan ook worden gebruikt voor het openen van de voorraad te maken en om de balans de waarde vast te stellen .
Item,item
Item Advanced,Item Avançado
Item Barcode,Código de barras do item
Item Batch Nos,Lote n item
Item Code,Código do artigo
Item Code > Item Group > Brand,Código do item> Item Grupo> Marca
Item Code and Warehouse should already exist.,Item Code en Warehouse moet al bestaan ​​.
Item Code cannot be changed for Serial No.,Item Code kan niet worden gewijzigd voor Serienummer
Item Code is mandatory because Item is not automatically numbered,Código do item é obrigatório porque Item não é numerada automaticamente
Item Code required at Row No {0},Código do item exigido no Row Não {0}
Item Customer Detail,Detalhe 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 Group Tree,Punt Groepsstructuur
Item Group not mentioned in item master for item {0},Grupo item não mencionado no mestre de item para item {0}
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 Shortage Report,Punt Tekort Report
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 Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Item Imposto Row {0} deve ter em conta tipo de imposto ou de renda ou de despesa ou carregável
Item Tax1,Item Tax1
Item To Manufacture,Item Para Fabricação
Item UOM,Item UOM
Item Website Specification,Especificação Site item
Item Website Specifications,Site Item Especificações
Item Wise Tax Detail,Detalhe Imposto item Sábio
Item Wise Tax Detail ,Detalhe Imposto Sábio item
Item is required,Item é necessário
Item is updated,Item é atualizado
Item master.,Mestre Item.
"Item must be a purchase item, as it is present in one or many Active BOMs","O artigo deve ser um item de compra , uma vez que está presente em um ou muitos BOM Activo"
Item or Warehouse for row {0} does not match Material Request,Item ou Armazém para linha {0} não corresponde Pedido de materiais
Item table can not be blank,Item tabel kan niet leeg zijn
Item to be manufactured or repacked,Item a ser fabricados ou reembalados
Item valuation updated,Valorização item atualizado
Item will be saved by this name in the data base.,O artigo será salva por este nome na base de dados.
Item {0} appears multiple times in Price List {1},Item {0} aparece várias vezes na lista Preço {1}
Item {0} does not exist,Item {0} não existe
Item {0} does not exist in the system or has expired,Item {0} não existe no sistema ou expirou
Item {0} does not exist in {1} {2},Item {0} não existe em {1} {2}
Item {0} has already been returned,Item {0} já foi devolvido
Item {0} has been entered multiple times against same operation,Item {0} foi inserido várias vezes contra a mesma operação
Item {0} has been entered multiple times with same description or date,Item {0} foi inserido várias vezes com a mesma descrição ou data
Item {0} has been entered multiple times with same description or date or warehouse,Item {0} foi inserido várias vezes com a mesma descrição ou data ou armazém
Item {0} has been entered twice,Item {0} foi digitada duas vezes
Item {0} has reached its end of life on {1},Item {0} chegou ao fim da vida em {1}
Item {0} ignored since it is not a stock item,Item {0} ignorado uma vez que não é um item de estoque
Item {0} is cancelled,Item {0} é cancelada
Item {0} is not Purchase Item,Item {0} não é comprar item
Item {0} is not a serialized Item,Item {0} não é um item serializado
Item {0} is not a stock Item,Item {0} não é um item de estoque
Item {0} is not active or end of life has been reached,Item {0} não está ativo ou fim de vida útil foi atingido
Item {0} is not setup for Serial Nos. Check Item master,Item {0} não está configurado para n º s de série mestre check item
Item {0} is not setup for Serial Nos. Column must be blank,Item {0} não está configurado para Serial Coluna N º s deve estar em branco
Item {0} must be Sales Item,Item {0} deve ser item de vendas
Item {0} must be Sales or Service Item in {1},Item {0} deve ser de Vendas ou Atendimento item em {1}
Item {0} must be Service Item,Item {0} deve ser item de serviço
Item {0} must be a Purchase Item,Item {0} deve ser um item de compra
Item {0} must be a Sales Item,Item {0} deve ser um item de vendas
Item {0} must be a Service Item.,Item {0} deve ser um item de serviço .
Item {0} must be a Sub-contracted Item,Item {0} deve ser um item do sub- contratados
Item {0} must be a stock Item,Item {0} deve ser um item de estoque
Item {0} must be manufactured or sub-contracted,Item {0} deve ser fabricado ou sub- contratados
Item {0} not found,Item {0} não foi encontrado
Item {0} with Serial No {1} is already installed,Item {0} com Serial Não {1} já está instalado
Item {0} with same description entered twice,Item {0} com a mesma descrição inserida duas vezes
"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","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 Rate,Item- wise Prijslijst Rate
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
"Item: {0} managed batch-wise, can not be reconciled using \					Stock Reconciliation, instead use Stock Entry","Item: {0} gerido por lotes, não pode ser conciliada com \ Banco de reconciliação, em vez usar Banco de Entrada"
Item: {0} not found in the system,Item : {0} não foi encontrado no sistema
Items,Itens
Items To Be Requested,Items worden aangevraagd
Items required,Itens exigidos
"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty","Os itens a serem solicitados que estão &quot;fora de estoque&quot;, considerando todos os 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
Job Applicant,Candidato a emprego
Job Opening,Abertura de emprego
Job Profile,Perfil Job
Job Title,Cargo
"Job profile, qualifications required etc.","Perfil de trabalho , qualificações exigidas , etc"
Jobs Email Settings,E-mail Configurações de empregos
Journal Entries,Jornal entradas
Journal Entry,Journal Entry
Journal Voucher,Vale Jornal
Journal Voucher Detail,Jornal Detalhe Vale
Journal Voucher Detail No,Jornal Detalhe folha no
Journal Voucher {0} does not have account {1} or already matched,Jornal Vale {0} não tem conta {1} ou já combinava
Journal Vouchers {0} are un-linked,Jornal Vouchers {0} são não- ligado
Keep a track of communication related to this enquiry which will help for future reference.,Mantenha uma faixa de comunicação relacionada a este inquérito que irá ajudar para referência futura.
Keep it web friendly 900px (w) by 100px (h),Mantenha- web 900px amigável (w) por 100px ( h )
Key Performance Area,Área Key Performance
Key Responsibility Area,Área de Responsabilidade chave
Kg,Kg.
LR Date,Data LR
LR No,Não LR
Label,Etiqueta
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
Landed Cost updated successfully,Custo Landed atualizado com sucesso
Language,Linguagem
Last Name,Sobrenome
Last Purchase Rate,Compra de última
Latest,laatst
Lead,Conduzir
Lead Details,Chumbo Detalhes
Lead Id,lead Id
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
Lead must be set if Opportunity is made from Lead,Fila deve ser definido se Opportunity é feito de chumbo
Leave Allocation,Deixe Alocação
Leave Allocation Tool,Deixe Ferramenta de Alocação
Leave Application,Deixe Aplicação
Leave Approver,Deixe Aprovador
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 Type,Deixar Tipo
Leave Type Name,Deixe Nome Tipo
Leave Without Pay,Licença sem vencimento
Leave application has been approved.,Verlof aanvraag is goedgekeurd .
Leave application has been rejected.,Verlofaanvraag is afgewezen .
Leave approver must be one of {0},Deixe aprovador deve ser um dos {0}
Leave blank if considered for all branches,Deixe em branco se considerado para todos os ramos
Leave blank if considered for all departments,Deixe em branco se considerado para todos os departamentos
Leave blank if considered for all designations,Deixe em branco se considerado para todas as designações
Leave blank if considered for all employee types,Deixe em branco se considerado para todos os tipos de empregados
"Leave can be approved by users with Role, ""Leave Approver""","A licença pode ser aprovado por usuários com papel, &quot;Deixe Aprovador&quot;"
Leave of type {0} cannot be longer than {1},Deixar do tipo {0} não pode ser maior que {1}
Leaves Allocated Successfully for {0},Folhas atribuídos com sucesso para {0}
Leaves for type {0} already allocated for Employee {1} for Fiscal Year {0},Deixa para o tipo {0} já alocado para Employee {1} para o Ano Fiscal {0}
Leaves must be allocated in multiples of 0.5,"Folhas devem ser alocados em múltiplos de 0,5"
Ledger,Livro-razão
Ledgers,grootboeken
Left,Esquerda
Legal,legal
Legal Expenses,despesas legais
Letter Head,Cabeça letra
Letter Heads for print templates.,Chefes de letras para modelos de impressão .
Level,Nível
Lft,Lft
Liability,responsabilidade
List a few of your customers. They could be organizations or individuals.,Lijst een paar van uw klanten. Ze kunnen organisaties of personen .
List a few of your suppliers. They could be organizations or individuals.,Lijst een paar van uw leveranciers . Ze kunnen organisaties of personen .
List items that form the package.,Lista de itens que compõem o pacote.
List this Item in multiple groups on the website.,Lista este item em vários grupos no site.
"List your products or services that you buy or sell. Make sure to check the Item Group, Unit of Measure and other properties when you start.",Liste seus produtos ou serviços que você comprar ou vender .
"List your tax heads (e.g. VAT, Excise; they should have unique names) and their standard rates. This will create a standard template, which you can edit and add more later.","Liste seus chefes de impostos (por exemplo, IVA , impostos especiais de consumo , que devem ter nomes exclusivos ) e suas taxas normais."
Loading...,Loading ...
Loans (Liabilities),Empréstimos ( Passivo)
Loans and Advances (Assets),Empréstimos e Adiantamentos (Ativo )
Local,local
Login,login
Login with your new User ID,Log in met je nieuwe gebruikersnaam
Logo,Logotipo
Logo and Letter Heads,Logo en Letter Heads
Lost,verloren
Lost Reason,Razão perdido
Low,Baixo
Lower Income,Baixa Renda
MTN Details,Detalhes da MTN
Main,principal
Main Reports,Relatórios principais
Maintain Same Rate Throughout Sales Cycle,Manter o mesmo ritmo durante todo o ciclo de vendas
Maintain same rate throughout purchase cycle,Manter 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 Schedule is not generated for all the items. Please click on 'Generate Schedule',"Programação de manutenção não é gerado para todos os itens. Por favor, clique em "" Gerar Agenda '"
Maintenance Schedule {0} exists against {0},Programação de manutenção {0} existe contra {0}
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Programação de manutenção {0} deve ser cancelado antes de cancelar esta ordem de venda
Maintenance Schedules,Horários de Manutenção
Maintenance Status,Estado 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
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Manutenção Visita {0} deve ser cancelado antes de cancelar esta ordem de venda
Maintenance start date can not be before delivery date for Serial No {0},Manutenção data de início não pode ser anterior à data de entrega para Serial Não {0}
Major/Optional Subjects,Assuntos Principais / Opcional
Make ,Make 
Make Accounting Entry For Every Stock Movement,Maak boekhoudkundige afschrijving voor elke Stock Movement
Make Bank Voucher,Faça Vale Banco
Make Credit Note,Maak Credit Note
Make Debit Note,Maak debetnota
Make Delivery,Maak Levering
Make Difference Entry,Faça Entrada Diferença
Make Excise Invoice,Maak Accijnzen Factuur
Make Installation Note,Maak installatie Opmerking
Make Invoice,Maak Factuur
Make Maint. Schedule,Maken Maint . dienstregeling
Make Maint. Visit,Maken Maint . bezoek
Make Maintenance Visit,Maak Maintenance Visit
Make Packing Slip,Maak pakbon
Make Payment,Efetuar pagamento
Make Payment Entry,Betalen Entry
Make Purchase Invoice,Maak inkoopfactuur
Make Purchase Order,Maak Bestelling
Make Purchase Receipt,Maak Kwitantie
Make Salary Slip,Maak loonstrook
Make Salary Structure,Maak salarisstructuur
Make Sales Invoice,Maak verkoopfactuur
Make Sales Order,Maak klantorder
Make Supplier Quotation,Maak Leverancier Offerte
Make Time Log Batch,Make Time Log Batch
Male,Masculino
Manage Customer Group Tree.,Gerenciar Grupo Cliente Tree.
Manage Sales Partners.,Gerenciar parceiros de vendas.
Manage Sales Person Tree.,Gerenciar Vendas Pessoa Tree.
Manage Territory Tree.,Gerenciar Árvore Território.
Manage cost of operations,Gerenciar custo das operações
Management,gestão
Manager,gerente
"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
Manufactured quantity {0} cannot be greater than planned quanitity {1} in Production Order {2},Quantidade fabricada {0} não pode ser maior do que o planejado quanitity {1} em ordem de produção {2}
Manufacturer,Fabricante
Manufacturer Part Number,Número da peça de fabricante
Manufacturing,Fabrico
Manufacturing Quantity,Quantidade de fabricação
Manufacturing Quantity is mandatory,Manufacturing Kwantiteit is verplicht
Margin,Margem
Marital Status,Estado civil
Market Segment,Segmento de mercado
Marketing,marketing
Marketing Expenses,Despesas de Marketing
Married,Casado
Mass Mailing,Divulgação em massa
Master Name,Nome mestre
Master Name is mandatory if account type is Warehouse,Master Naam is verplicht als account type Warehouse
Master Type,Master Classe
Masters,Mestres
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 Detail No,Detalhe materiais Pedido Não
Material Request For Warehouse,Pedido de material para Armazém
Material Request Item,Item de solicitação de material
Material Request Items,Pedido de itens de material
Material Request No,Pedido de material no
Material Request Type,Tipo de solicitação de material
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Solicitação de materiais de máxima {0} pode ser feita para item {1} contra ordem de venda {2}
Material Request used to make this Stock Entry,Pedido de material usado para fazer isto Stock Entry
Material Request {0} is cancelled or stopped,Pedido de material {0} é cancelado ou interrompido
Material Requests for which Supplier Quotations are not created,Materiaal Verzoeken waarvoor Leverancier Offertes worden niet gemaakt
Material Requests {0} created,Pedidos de Materiais {0} criado
Material Requirement,Material Requirement
Material Transfer,Transferência de Material
Materials,Materiais
Materials Required (Exploded),Materiais necessários (explodida)
Max 5 characters,Max 5 caracteres
Max Days Leave Allowed,Dias Max Deixe admitidos
Max Discount (%),Max Desconto (%)
Max Qty,Max Qtde
Max discount allowed for item: {0} is {1}%,Max desconto permitido para o item: {0} é {1}%
Maximum Amount,Montante Máximo
Maximum allowed credit is {0} days after posting date,Crédito máximo permitido é {0} dias após a data de publicação
Maximum {0} rows allowed,Máximo de {0} linhas permitido
Maxiumm discount for Item {0} is {1}%,Maxiumm desconto para item {0} {1} %
Medical,médico
Medium,Médio
"Merging is only possible if following properties are same in both records. Group or Ledger, Root Type, Company",A fusão só é possível se seguintes propriedades são as mesmas em ambos os registros.
Message,Mensagem
Message Parameter,Parâmetro mensagem
Message Sent,bericht verzonden
Message updated,Mensagem Atualizado
Messages,Mensagens
Messages greater than 160 characters will be split into multiple messages,Mensagem maior do que 160 caracteres vai ser dividido em mesage múltipla
Middle Income,Rendimento Médio
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
Min Order Qty,Min Qty Ordem
Min Qty,min Qty
Min Qty can not be greater than Max Qty,Qty mínimo não pode ser maior do que Max Qtde
Minimum Amount,Montante Mínimo
Minimum Order Qty,Qtde mínima
Minute,minuto
Misc Details,Detalhes Diversos
Miscellaneous Expenses,Despesas Diversas
Miscelleneous,Miscelleneous
Mobile No,No móvel
Mobile No.,Mobile No.
Mode of Payment,Modo de Pagamento
Modern,Moderno
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.
More Details,Mais detalhes
More Info,Mais informações
Motion Picture & Video,Motion Picture & Video
Moving Average,Média móvel
Moving Average Rate,Movendo Taxa Média
Mr,Sr.
Ms,Ms
Multiple Item prices.,Meerdere Artikelprijzen .
"Multiple Price Rule exists with same criteria, please resolve \			conflict by assigning priority. Price Rules: {0}","Várias Rule Preço existe com os mesmos critérios, por favor resolver \ conflito atribuindo prioridade. Regras Preço: {0}"
Music,música
Must be Whole Number,Deve ser Número inteiro
Name,Nome
Name and Description,Nome e descrição
Name and Employee ID,Nome e identificação do funcionário
"Name of new Account. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master","Nome de nova conta. Nota: Por favor, não criar contas para clientes e fornecedores , eles são criados automaticamente a partir do Cliente e Fornecedor mestre"
Name of person or organization that this address belongs to.,Nome da pessoa ou organização que este endereço pertence.
Name of the Budget Distribution,Nome da Distribuição de Orçamento
Naming Series,Nomeando Series
Negative Quantity is not allowed,Negativo Quantidade não é permitido
Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},Negativo Banco de Erro ( {6} ) para item {0} no Armazém {1} em {2} {3} em {4} {5}
Negative Valuation Rate is not allowed,Negativa Avaliação Taxa não é permitido
Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},Saldo negativo em lote {0} para {1} item no Armazém {2} em {3} {4}
Net Pay,Pagamento 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 Profit / Loss,Lucro / Prejuízo Líquido
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 cannot be negative,Salário líquido não pode ser negativo
Never,Nunca
New ,New 
New Account,nieuw account
New Account Name,Nieuw account Naam
New BOM,Novo BOM
New Communications,New Communications
New Company,nieuw bedrijf
New Cost Center,Nieuwe kostenplaats
New Cost Center Name,Nieuwe kostenplaats Naam
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 Projects,Novos Projetos
New Purchase Orders,Novas ordens de compra
New Purchase Receipts,Novos recibos de compra
New Quotations,Novas cotações
New Sales Orders,Novos Pedidos de Vendas
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,"New Serial Não, não pode ter Warehouse. Warehouse deve ser definida pelo Banco de entrada ou Recibo de compra"
New Stock Entries,Novas entradas em existências
New Stock UOM,Nova da UOM
New Stock UOM is required,Novo Estoque UOM é necessária
New Stock UOM must be different from current stock UOM,Novo Estoque UOM deve ser diferente do atual UOM estoque
New Supplier Quotations,Novas citações Fornecedor
New Support Tickets,Novos pedidos de ajuda
New UOM must NOT be of type Whole Number,Nova UOM NÃO deve ser do tipo inteiro Número
New Workplace,Novo local de trabalho
Newsletter,Boletim informativo
Newsletter Content,Conteúdo boletim
Newsletter Status,Estado boletim
Newsletter has already been sent,Boletim informativo já foi enviado
"Newsletters to contacts, leads.","Newsletters para contatos, leva."
Newspaper Publishers,Editores de Jornais
Next,próximo
Next Contact By,Contato Próxima Por
Next Contact Date,Data Contato próximo
Next Date,Data próxima
Next email will be sent on:,Próximo e-mail será enviado em:
No,Não
No Customer Accounts found.,Geen Customer Accounts gevonden .
No Customer or Supplier Accounts found,Nenhum cliente ou fornecedor encontrado
No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user,"Não aprovadores Despesas. Por favor, atribuir função ' Despesa aprovador ' para pelo menos um usuário"
No Item with Barcode {0},Nenhum artigo com código de barras {0}
No Item with Serial No {0},Nenhum artigo com Serial Não {0}
No Items to pack,Nenhum item para embalar
No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user,"Não aprovadores sair. Por favor, atribuir ' Leave Aprovador ""Papel de pelo menos um usuário"
No Permission,Nenhuma permissão
No Production Orders created,Não há ordens de produção criadas
No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,Geen Leverancier Accounts gevonden . Leverancier Accounts worden geïdentificeerd op basis van 'Master Type' waarde in rekening te nemen.
No accounting entries for the following warehouses,Nenhuma entrada de contabilidade para os seguintes armazéns
No addresses created,Geen adressen aangemaakt
No contacts created,Geen contacten gemaakt
No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template.,"No modelo padrão Endereço encontrado. Por favor, crie um novo a partir de configuração> Impressão e Branding> modelo de endereço."
No default BOM exists for Item {0},No BOM padrão existe para item {0}
No description given,Sem descrição dada
No employee found,Nenhum funcionário encontrado
No employee found!,Nenhum funcionário encontrado!
No of Requested SMS,No pedido de SMS
No of Sent SMS,N º de SMS enviados
No of Visits,N º de Visitas
No permission,Sem permissão
No record found,Nenhum registro encontrado
No records found in the Invoice table,Nenhum registro encontrado na tabela de fatura
No records found in the Payment table,Nenhum registro encontrado na tabela de pagamento
No salary slip found for month: ,Sem folha de salário encontrado para o mês:
Non Profit,sem Fins Lucrativos
Nos,Nos
Not Active,Não Ativo
Not Applicable,Não Aplicável
Not Available,niet beschikbaar
Not Billed,Não faturado
Not Delivered,Não entregue
Not Set,niet instellen
Not allowed to update stock transactions older than {0},Não é permitido atualizar transações com ações mais velho do que {0}
Not authorized to edit frozen Account {0},Não autorizado para editar conta congelada {0}
Not authroized since {0} exceeds limits,Não authroized desde {0} excede os limites
Not permitted,não é permitido
Note,Nota
Note User,Nota usuários
"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.","Nota: Backups e arquivos não são excluídos do Dropbox, você terá que apagá-los manualmente."
"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.","Nota: Backups e arquivos não são excluídos do Google Drive, você terá que apagá-los manualmente."
Note: Due Date exceeds the allowed credit days by {0} day(s),Nota: Due Date excede os dias de crédito permitidas por {0} dia (s)
Note: Email will not be sent to disabled users,Nota: e-mail não será enviado para utilizadores com deficiência
Note: Item {0} entered multiple times,Nota : Item {0} entrou várias vezes
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Nota: Entrada pagamento não será criado desde 'Cash ou conta bancária ' não foi especificado
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Nota : O sistema não irá verificar o excesso de entrega e sobre- reserva para item {0} como quantidade ou valor é 0
Note: There is not enough leave balance for Leave Type {0},Nota: Não é suficiente equilíbrio pela licença Tipo {0}
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Nota: Este Centro de Custo é um grupo . Não pode fazer lançamentos contábeis contra grupos .
Note: {0},Nota : {0}
Notes,Notas
Notes:,Opmerkingen:
Nothing to request,Niets aan te vragen
Notice (days),Notice ( dagen )
Notification Control,Controle de Notificação
Notification Email Address,Endereço de email de notificação
Notify by Email on creation of automatic Material Request,Notificar por e-mail sobre a criação de Pedido de material automático
Number Format,Formato de número
Offer Date,aanbieding Datum
Office,Escritório
Office Equipments,Equipamentos de escritório
Office Maintenance Expenses,Despesas de manutenção de escritório
Office Rent,alugar escritório
Old Parent,Pai Velho
On Net Total,Em Líquida Total
On Previous Row Amount,Quantidade em linha anterior
On Previous Row Total,No total linha anterior
Online Auctions,Leilões Online
Only Leave Applications with status 'Approved' can be submitted,"Só Deixar Aplicações com status ""Aprovado"" podem ser submetidos"
"Only Serial Nos with status ""Available"" can be delivered.","Alleen serienummers met de status ""Beschikbaar"" kan worden geleverd."
Only leaf nodes are allowed in transaction,Nós folha apenas são permitidos em operação
Only the selected Leave Approver can submit this Leave Application,Somente o Leave aprovador selecionado pode enviar este pedido de férias
Open,Abrir
Open Production Orders,Open productieorders
Open Tickets,Bilhetes abertas
Opening (Cr),Abertura (Cr)
Opening (Dr),Abertura (Dr)
Opening Date,Data de abertura
Opening Entry,Abertura Entry
Opening Qty,Opening Aantal
Opening Time,Tempo de abertura
Opening Value,Opening Waarde
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)
Operation {0} is repeated in Operations Table,Operação {0} se repete em Operações de mesa
Operation {0} not present in Operations Table,Operação {0} não está presente na mesa de operações
Operations,Operações
Opportunity,Oportunidade
Opportunity Date,Data oportunidade
Opportunity From,Oportunidade De
Opportunity Item,Item oportunidade
Opportunity Items,Itens oportunidade
Opportunity Lost,Oportunidade perdida
Opportunity Type,Tipo de Oportunidade
Optional. This setting will be used to filter in various transactions.,Optioneel. Deze instelling wordt gebruikt om te filteren op diverse transacties .
Order Type,Tipo de Ordem
Order Type must be one of {0},Tipo de Ordem deve ser uma das {0}
Ordered,bestelde
Ordered Items To Be Billed,Itens ordenados a ser cobrado
Ordered Items To Be Delivered,Itens ordenados a ser entregue
Ordered Qty,bestelde Aantal
"Ordered Qty: Quantity ordered for purchase, but not received.","Bestelde Aantal : Aantal besteld voor aankoop , maar niet ontvangen ."
Ordered Quantity,Quantidade pedida
Orders released for production.,Ordens liberado para produção.
Organization Name,Naam van de Organisatie
Organization Profile,Perfil da Organização
Organization branch master.,Mestre Organização ramo .
Organization unit (department) master.,Organização unidade (departamento) mestre.
Other,Outro
Other Details,Outros detalhes
Others,outros
Out Qty,out Aantal
Out Value,out Waarde
Out of AMC,Fora da AMC
Out of Warranty,Fora de Garantia
Outgoing,Cessante
Outstanding Amount,Saldo em aberto
Outstanding for {0} cannot be less than zero ({1}),Excelente para {0} não pode ser inferior a zero ( {1})
Overhead,Despesas gerais
Overheads,overheadkosten
Overlapping conditions found between:,Condições sobreposição encontradas entre :
Overview,Overzicht
Owned,Possuído
Owner,eigenaar
P L A - Cess Portion,PLA - Cess Parcela
PL or BS,PL of BS
PO Date,PO Datum
PO No,PO Geen
POP3 Mail Server,Servidor de correio POP3
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 Setting required to make POS Entry,Setting POS obrigados a fazer POS Entry
POS Setting {0} already created for user: {1} and company {2},POS Setting {0} já criado para o usuário : {1} e {2} empresa
POS View,POS Ver
PR Detail,Detalhe PR
Package Item Details,Item Detalhes do pacote
Package Items,Itens do pacote
Package Weight Details,Peso Detalhes do pacote
Packed Item,Entrega do item embalagem Nota
Packed quantity must equal quantity for Item {0} in row {1},Embalado quantidade deve ser igual a quantidade de item {0} na linha {1}
Packing Details,Detalhes da embalagem
Packing List,Lista de embalagem
Packing Slip,Embalagem deslizamento
Packing Slip Item,Embalagem item deslizamento
Packing Slip Items,Embalagem Itens deslizamento
Packing Slip(s) cancelled,Deslizamento (s) de embalagem cancelado
Page Break,Quebra de página
Page Name,Nome da Página
Paid Amount,Valor pago
Paid amount + Write Off Amount can not be greater than Grand Total,Valor pago + Write Off Valor não pode ser maior do que o total geral
Pair,par
Parameter,Parâmetro
Parent Account,Conta pai
Parent Cost Center,Centro de Custo pai
Parent Customer Group,Grupo de Clientes pai
Parent Detail docname,Docname Detalhe pai
Parent Item,Item Pai
Parent Item Group,Grupo item pai
Parent Item {0} must be not Stock Item and must be a Sales Item,Pai item {0} não deve ser Stock item e deve ser um item de vendas
Parent Party Type,Tipo Partido Pais
Parent Sales Person,Vendas Pessoa pai
Parent Territory,Território pai
Parent Website Page,Pai site Página
Parent Website Route,Pai site Route
Parenttype,ParentType
Part-time,De meio expediente
Partially Completed,Parcialmente concluída
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
Party,Festa
Party Account,Conta Party
Party Type,Tipo de Festa
Party Type Name,Tipo Partido Nome
Passive,Passiva
Passport Number,Número do Passaporte
Password,Senha
Pay To / Recd From,Para pagar / RECD De
Payable,a pagar
Payables,Contas a pagar
Payables Group,Grupo de contas a pagar
Payment Days,Datas de Pagamento
Payment Due Date,Betaling Due Date
Payment Period Based On Invoice Date,Betaling Periode Based On Factuurdatum
Payment Reconciliation,Reconciliação Pagamento
Payment Reconciliation Invoice,Reconciliação O pagamento da fatura
Payment Reconciliation Invoices,Facturas Reconciliação Pagamento
Payment Reconciliation Payment,Reconciliação Pagamento
Payment Reconciliation Payments,Pagamentos Reconciliação Pagamento
Payment Type,betaling Type
Payment cannot be made for empty cart,O pagamento não pode ser feito para carrinho vazio
Payment of salary for the month {0} and year {1},Pagamento de salário para o mês {0} e {1} ano
Payments,Pagamentos
Payments Made,Pagamentos efetuados
Payments Received,Pagamentos Recebidos
Payments made during the digest period,Pagamentos efetuados durante o período de digestão
Payments received during the digest period,Pagamentos recebidos durante o período de digestão
Payroll Settings,payroll -instellingen
Pending,Pendente
Pending Amount,In afwachting van Bedrag
Pending Items {0} updated,Itens Pendentes {0} atualizada
Pending Review,Revisão pendente
Pending SO Items For Purchase Request,"Itens Pendentes Assim, por solicitação de compra"
Pension Funds,Fundos de Pensão
Percent Complete,Porcentagem Concluída
Percentage Allocation,Alocação percentual
Percentage Allocation should be equal to 100%,Percentual de alocação deve ser igual a 100%
Percentage variation in quantity to be allowed while receiving or delivering this item.,Variação percentual na quantidade a ser permitido ao receber ou entregar este item.
Percentage you are allowed to receive or deliver more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to receive 110 units.,"Percentagem que estão autorizados a receber ou entregar mais contra a quantidade encomendada. Por exemplo: Se você encomendou 100 unidades. e seu subsídio é de 10%, então você está autorizada a receber 110 unidades."
Performance appraisal.,Avaliação de desempenho.
Period,periode
Period Closing Voucher,Comprovante de Encerramento período
Periodicity,Periodicidade
Permanent Address,Endereço permanente
Permanent Address Is,Vast adres
Permission,Permissão
Personal,Pessoal
Personal Details,Detalhes pessoais
Personal Email,E-mail pessoal
Pharmaceutical,farmacêutico
Pharmaceuticals,Pharmaceuticals
Phone,Telefone
Phone No,N º de telefone
Piecework,trabalho por peça
Pincode,PINCODE
Place of Issue,Local de Emissão
Plan for maintenance visits.,Plano de visitas de manutenção.
Planned Qty,Qtde planejada
"Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured.","Planned Qtde: Quantidade , para a qual, ordem de produção foi levantada , mas está pendente para ser fabricado."
Planned Quantity,Quantidade planejada
Planning,planejamento
Plant,Planta
Plant and Machinery,Máquinas e instalações
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,Por favor insira Abreviação ou Nome Curto corretamente como ele será adicionado como sufixo a todos os chefes de Conta.
Please Update SMS Settings,Atualize Configurações SMS
Please add expense voucher details,"Por favor, adicione despesas detalhes do voucher"
Please add to Modes of Payment from Setup.,"Por favor, adicione às formas de pagamento a partir de configuração."
Please check 'Is Advance' against Account {0} if this is an advance entry.,"Por favor, verifique 'É Advance' contra Conta {0} se isso é uma entrada antecipadamente."
Please click on 'Generate Schedule',"Por favor, clique em "" Gerar Agenda '"
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Por favor, clique em "" Gerar Cronograma ' para buscar Serial Sem adição de item {0}"
Please click on 'Generate Schedule' to get schedule,"Por favor, clique em "" Gerar Agenda "" para obter cronograma"
Please create Customer from Lead {0},"Por favor, crie Cliente de chumbo {0}"
Please create Salary Structure for employee {0},"Por favor, crie estrutura salarial por empregado {0}"
Please create new account from Chart of Accounts.,Maak nieuwe account van Chart of Accounts .
Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.,Gelieve niet Account ( Grootboeken ) te creëren voor klanten en leveranciers . Ze worden rechtstreeks vanuit de klant / leverancier- meesters.
Please enter 'Expected Delivery Date',"Por favor, digite ' Data prevista de entrega '"
Please enter 'Is Subcontracted' as Yes or No,"Por favor, digite ' é subcontratado ""como Sim ou Não"
Please enter 'Repeat on Day of Month' field value,"Por favor, digite 'Repeat no Dia do Mês ' valor do campo"
Please enter Account Receivable/Payable group in company master,Por favor entre Contas a Receber / Pagar em grupo mestre empresa
Please enter Approving Role or Approving User,"Por favor, indique Aprovando Papel ou aprovar Usuário"
Please enter BOM for Item {0} at row {1},"Por favor, indique BOM por item {0} na linha {1}"
Please enter Company,Vul Company
Please enter Cost Center,Vul kostenplaats
Please enter Delivery Note No or Sales Invoice No to proceed,Por favor insira Entrega Nota Não ou fatura de vendas Não para continuar
Please enter Employee Id of this sales parson,Vul Werknemer Id van deze verkoop dominee
Please enter Expense Account,Por favor insira Conta Despesa
Please enter Item Code to get batch no,Vul de artikelcode voor batch niet krijgen
Please enter Item Code.,Vul Item Code .
Please enter Item first,Gelieve eerst in Item
Please enter Maintaince Details first,"Por favor, indique Maintaince Detalhes primeiro"
Please enter Master Name once the account is created.,Vul Master Naam zodra het account is aangemaakt .
Please enter Planned Qty for Item {0} at row {1},"Por favor, indique Planned Qt para item {0} na linha {1}"
Please enter Production Item first,Vul Productie Item eerste
Please enter Purchase Receipt No to proceed,Por favor insira Compra recibo Não para continuar
Please enter Reference date,"Por favor, indique data de referência"
Please enter Warehouse for which Material Request will be raised,Vul Warehouse waarvoor Materiaal Request zal worden verhoogd
Please enter Write Off Account,"Por favor, indique Escrever Off Conta"
Please enter atleast 1 invoice in the table,"Por favor, indique pelo menos uma fatura na tabela"
Please enter company first,Gelieve eerst in bedrijf
Please enter company name first,Vul de naam van het bedrijf voor het eerst
Please enter default Unit of Measure,Por favor entre unidade de medida padrão
Please enter default currency in Company Master,"Por favor, indique moeda padrão in Company Mestre"
Please enter email address,Por favor insira o endereço de email
Please enter item details,Por favor insira os detalhes do item
Please enter message before sending,Por favor introduza a mensagem antes de enviá-
Please enter parent account group for warehouse account,"Por favor, digite grupo conta principal para a conta do armazém"
Please enter parent cost center,Por favor entre o centro de custo pai
Please enter quantity for Item {0},"Por favor, indique a quantidade de item {0}"
Please enter relieving date.,"Por favor, indique data alívio ."
Please enter sales order in the above table,Vul de verkooporder in de bovenstaande tabel
Please enter valid Company Email,Por favor insira válido Empresa E-mail
Please enter valid Email Id,"Por favor, indique -mail válido Id"
Please enter valid Personal Email,"Por favor, indique -mail válido Pessoal"
Please enter valid mobile nos,"Por favor, indique nn móveis válidos"
Please find attached Sales Invoice #{0},Segue em anexo Vendas Invoice # {0}
Please install dropbox python module,"Por favor, instale o Dropbox módulo python"
Please mention no of visits required,"Por favor, não mencione de visitas necessárias"
Please pull items from Delivery Note,"Por favor, puxar itens de entrega Nota"
Please save the Newsletter before sending,"Por favor, salve o Boletim informativo antes de enviar"
Please save the document before generating maintenance schedule,Bewaar het document voordat het genereren van onderhoudsschema
Please see attachment,"Por favor, veja anexo"
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 Category first,Selecteer Categorie eerst
Please select Charge Type first,Selecteer Charge Type eerste
Please select Fiscal Year,Por favor seleccione o Ano Fiscal
Please select Group or Ledger value,Selecione Grupo ou Ledger valor
Please select Incharge Person's name,"Por favor, selecione o nome do Incharge Pessoa"
Please select Invoice Type and Invoice Number in atleast one row,Por favor seleccione fatura Tipo e número da fatura em pelo menos uma linha
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM","Por favor, selecione Item onde "" é Stock item "" é "" Não"" e "" é o item de vendas "" é ""Sim"" e não há nenhum outro BOM Vendas"
Please select Price List,"Por favor, selecione Lista de Preço"
Please select Start Date and End Date for Item {0},Por favor seleccione Data de início e data de término do item {0}
Please select Time Logs.,Por favor seleccione Tempo Logs.
Please select a csv file,"Por favor, selecione um arquivo csv"
Please select a valid csv file with data,"Por favor, selecione um arquivo csv com dados válidos"
Please select a value for {0} quotation_to {1},Por favor seleccione um valor para {0} {1} quotation_to
"Please select an ""Image"" first","Selecteer aub een "" beeld"" eerste"
Please select charge type first,"Por favor, selecione o tipo de carga primeiro"
Please select company first,Por favor seleccione primeira empresa
Please select company first.,Por favor seleccione primeira empresa.
Please select item code,Por favor seleccione código do item
Please select month and year,Selecione mês e ano
Please select prefix first,Por favor seleccione prefixo primeiro
Please select the document type first,"Por favor, selecione o tipo de documento primeiro"
Please select weekly off day,Por favor seleccione dia de folga semanal
Please select {0},Por favor seleccione {0}
Please select {0} first,Por favor seleccione {0} primeiro
Please select {0} first.,Por favor seleccione {0} primeiro.
Please set Dropbox access keys in your site config,Defina teclas de acesso Dropbox em sua configuração local
Please set Google Drive access keys in {0},Defina teclas de acesso do Google Drive em {0}
Please set default Cash or Bank account in Mode of Payment {0},Defina Caixa padrão ou conta bancária no Modo de pagamento {0}
Please set default value {0} in Company {0},"Por favor, defina o valor padrão {0} in Company {0}"
Please set {0},Defina {0}
Please setup Employee Naming System in Human Resource > HR Settings,"Por favor, configuração Employee Naming System em Recursos Humanos&gt; Configurações HR"
Please setup numbering series for Attendance via Setup > Numbering Series,"Por favor, configure série de numeração para Participação em Configurar> numeração Series"
Please setup your chart of accounts before you start Accounting Entries,Behagen opstelling uw rekeningschema voordat u start boekingen
Please specify,"Por favor, especifique"
Please specify Company,"Por favor, especifique Empresa"
Please specify Company to proceed,"Por favor, especifique Empresa proceder"
Please specify Default Currency in Company Master and Global Defaults,"Por favor, especifique Moeda predefinida in Company Mestre e padrões globais"
Please specify a,"Por favor, especifique um"
Please specify a valid 'From Case No.',"Por favor, especifique um válido &#39;De Caso No.&#39;"
Please specify a valid Row ID for {0} in row {1},"Por favor, especifique um ID Row válido para {0} na linha {1}"
Please specify either Quantity or Valuation Rate or both,"Por favor, especifique a quantidade ou Taxa de Valorização ou ambos"
Please submit to update Leave Balance.,Gelieve te werken verlofsaldo .
Plot,plot
Plot By,plot Door
Point of Sale,Ponto de Venda
Point-of-Sale Setting,Ponto-de-Venda Setting
Post Graduate,Pós-Graduação
Postal,Postal
Postal Expenses,despesas postais
Posting Date,Data da Publicação
Posting Time,Postagem Tempo
Posting date and posting time is mandatory,Data e postagem Posting tempo é obrigatório
Posting timestamp must be after {0},Postando timestamp deve ser posterior a {0}
Potential opportunities for selling.,Oportunidades potenciais para a venda.
Preferred Billing Address,Preferred Endereço de Cobrança
Preferred Shipping Address,Endereço para envio preferido
Prefix,Prefixo
Present,Apresentar
Prevdoc DocType,Prevdoc DocType
Prevdoc Doctype,Prevdoc Doctype
Preview,visualização
Previous,anterior
Previous Work Experience,Experiência anterior de trabalho
Price,preço
Price / Discount,Preço / desconto
Price List,Lista de Preços
Price List Currency,Hoje Lista de Preços
Price List Currency not selected,Lista de Preço Moeda não selecionado
Price List Exchange Rate,Preço Lista de Taxa de Câmbio
Price List Name,Nome da lista de preços
Price List Rate,Taxa de Lista de Preços
Price List Rate (Company Currency),Preço Taxa List (moeda da empresa)
Price List master.,Mestre Lista de Preços.
Price List must be applicable for Buying or Selling,Lista de Preço deve ser aplicável para comprar ou vender
Price List not selected,Lista de Preço não selecionado
Price List {0} is disabled,Preço de {0} está desativado
Price or Discount,Preço ou desconto
Pricing Rule,Regra de Preços
Pricing Rule Help,Regra Preços Ajuda
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Regra de Preços é o primeiro selecionado com base em ""Aplicar On 'campo, que pode ser Item, item de grupo ou Marca."
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Regra de preços é feita para substituir Lista de Preços / define percentual de desconto, com base em alguns critérios."
Pricing Rules are further filtered based on quantity.,As regras de tarifação são ainda filtrados com base na quantidade.
Print Format Style,Formato de impressão Estilo
Print Heading,Imprimir título
Print Without Amount,Imprimir Sem Quantia
Print and Stationary,Imprimir e estacionária
Printing and Branding,Impressão e Branding
Priority,Prioridade
Private Equity,Private Equity
Privilege Leave,Privilege Deixar
Probation,provação
Process Payroll,Payroll processo
Produced,geproduceerd
Produced Quantity,Quantidade produzida
Product Enquiry,Produto Inquérito
Production,produção
Production Order,Ordem de Produção
Production Order status is {0},Status de ordem de produção é {0}
Production Order {0} must be cancelled before cancelling this Sales Order,Ordem de produção {0} deve ser cancelado antes de cancelar esta ordem de venda
Production Order {0} must be submitted,Ordem de produção {0} deve ser apresentado
Production Orders,Ordens de Produção
Production Orders in Progress,Productieorders in Progress
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 Tool,Ferramenta de Planejamento da Produção
Products,produtos
"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."
Professional Tax,Imposto Profissional
Profit and Loss,Lucros e perdas
Profit and Loss Statement,Demonstração dos Resultados
Project,Projeto
Project Costing,Project Costing
Project Details,Detalhes do projeto
Project Manager,Gerente de Projetos
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
Project-wise data is not available for Quotation,Dados do projecto -wise não está disponível para Cotação
Projected,verwachte
Projected Qty,Qtde Projetada
Projects,Projetos
Projects & System,Projetos e Sistema
Prompt for Email on Submission of,Solicitar-mail mediante a apresentação da
Proposal Writing,Proposta Redação
Provide email id registered in company,Fornecer ID e-mail registrado na empresa
Provisional Profit / Loss (Credit),Lucro Provisória / Loss (Crédito)
Public,Público
Published on website at: {0},Publicado no site em: {0}
Publishing,Publishing
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 / Manufacture Details,Aankoop / Productie Details
Purchase Analytics,Analytics compra
Purchase Common,Compre comum
Purchase Details,Detalhes de compra
Purchase Discounts,Descontos de compra
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 Invoice {0} is already submitted,Compra Invoice {0} já é submetido
Purchase Order,Ordem de Compra
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 number required for Item {0},Número do pedido requerido para item {0}
Purchase Order {0} is 'Stopped',Ordem de Compra {0} está ' parado '
Purchase Order {0} is not submitted,Ordem de Compra {0} não é submetido
Purchase Orders given to Suppliers.,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 Receipt number required for Item {0},Número Recibo de compra necessário para item {0}
Purchase Receipt {0} is not submitted,Recibo de compra {0} não é submetido
Purchase Register,Compra Registre
Purchase Return,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
Purchse Order number required for Item {0},Número de pedido purchse necessário para item {0}
Purpose,Propósito
Purpose must be one of {0},Objetivo deve ser um dos {0}
QA Inspection,Inspeção QA
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
Qty to Deliver,Aantal te leveren
Qty to Order,Aantal te bestellen
Qty to Receive,Aantal te ontvangen
Qty to Transfer,Aantal Transfer
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
Quality Inspection required for Item {0},Inspeção de Qualidade exigido para item {0}
Quality Management,Gestão da Qualidade
Quantity,Quantidade
Quantity Requested for Purchase,Quantidade Solicitada para Compra
Quantity and Rate,Quantidade e Taxa
Quantity and Warehouse,Quantidade e Armazém
Quantity cannot be a fraction in row {0},A quantidade não pode ser uma fracção em linha {0}
Quantity for Item {0} must be less than {1},Quantidade de item {0} deve ser inferior a {1}
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Quantidade em linha {0} ( {1} ) deve ser a mesma quantidade fabricada {2}
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Quantidade do item obtido após a fabricação / reembalagem de determinadas quantidades de matérias-primas
Quantity required for Item {0} in row {1},Quantidade necessária para item {0} na linha {1}
Quarter,Trimestre
Quarterly,Trimestral
Quick Help,Quick Help
Quotation,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 To,Para citação
Quotation Trends,Tendências cotação
Quotation {0} is cancelled,Cotação {0} é cancelada
Quotation {0} not of type {1},Cotação {0} não é do tipo {1}
Quotations received from Suppliers.,Citações recebidas de fornecedores.
Quotes to Leads or Customers.,Cotações para 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 (%),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,Matéria-prima
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
Raw material cannot be same as main Item,Matéria-prima não pode ser o mesmo como o principal item
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
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
Real Estate,imóveis
Reason,Razão
Reason for Leaving,Motivo da saída
Reason for Resignation,Motivo para Demissão
Reason for losing,Reden voor het verliezen
Recd Quantity,Quantidade RECD
Receivable,a receber
Receivable / Payable account will be identified based on the field Master Type,Conta a receber / pagar serão identificados com base no campo Type Master
Receivables,Recebíveis
Receivables / Payables,Contas a receber / contas a pagar
Receivables Group,Grupo de recebíveis
Received Date,Data de recebimento
Received Items To Be Billed,Itens recebidos a ser cobrado
Received Qty,Qtde recebeu
Received and Accepted,Recebeu e aceitou
Receiver List,Lista de receptor
Receiver List is empty. Please create Receiver List,"Lista Receiver está vazio. Por favor, crie Lista Receiver"
Receiver Parameter,Parâmetro receptor
Recipients,Destinatários
Reconcile,conciliar
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,Ref
Ref Code,Ref Código
Ref SQ,Ref ²
Reference,Referência
Reference #{0} dated {1},Referência # {0} {1} datado
Reference Date,Data de Referência
Reference Name,Nome de referência
Reference No & Reference Date is required for {0},Número de referência e Referência Data é necessário para {0}
Reference No is mandatory if you entered Reference Date,Referência Não é obrigatório se você entrou Data de Referência
Reference Number,Número de Referência
Reference Row #,Referência Row #
Refresh,Refrescar
Registration Details,Detalhes registro
Registration Info,Registo Informações
Rejected,Rejeitado
Rejected Quantity,Quantidade rejeitado
Rejected Serial No,Rejeitado Não Serial
Rejected Warehouse,Armazém rejeitado
Rejected Warehouse is mandatory against regected item,Verworpen Warehouse is verplicht tegen regected post
Relation,Relação
Relieving Date,Aliviar Data
Relieving Date must be greater than Date of Joining,Aliviar A data deve ser maior que Data de Juntando
Remark,Observação
Remarks,Observações
Remarks Custom,Observações Personalizado
Rename,andere naam geven
Rename Log,Renomeie Entrar
Rename Tool,Renomear Ferramenta
Rent Cost,Kosten huur
Rent per hour,Huur per uur
Rented,Alugado
Repeat on Day of Month,Repita no Dia do Mês
Replace,Substituir
Replace Item / BOM in all BOMs,Substituir item / BOM em todas as BOMs
Replied,Respondeu
Report Date,Relatório Data
Report Type,Tipo de relatório
Report Type is mandatory,Tipo de relatório é obrigatória
Reports to,Relatórios para
Reqd By Date,Reqd Por Data
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,gevraagd
Requested For,gevraagd voor
Requested Items To Be Ordered,Itens solicitados devem ser pedidos
Requested Items To Be Transferred,Itens solicitados para ser transferido
Requested Qty,verzocht Aantal
"Requested Qty: Quantity requested for purchase, but not ordered.","Aangevraagd Aantal : Aantal op aankoop, maar niet besteld."
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.
Research,pesquisa
Research & Development,Pesquisa e Desenvolvimento
Researcher,investigador
Reseller,Revendedor
Reserved,gereserveerd
Reserved Qty,Gereserveerd Aantal
"Reserved Qty: Quantity ordered for sale, but not delivered.","Gereserveerd Aantal : Aantal besteld te koop , maar niet geleverd ."
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
Reserved Warehouse required for stock Item {0} in row {1},Armazém reservados necessário para stock o item {0} na linha {1}
Reserved warehouse required for stock item {0},Armazém reservados necessário para estoque item {0}
Reserves and Surplus,Reservas e Excedente
Reset Filters,Reset Filters
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
Rest Of The World,Resto do mundo
Retail,Varejo
Retail & Wholesale,Varejo e Atacado
Retailer,Varejista
Review Date,Comente Data
Rgt,Rgt
Role Allowed to edit frozen stock,Papel permissão para editar estoque congelado
Role that is allowed to submit transactions that exceed credit limits set.,Papel que é permitido submeter transações que excedam os limites de crédito estabelecidos.
Root Type,Tipo de Raiz
Root Type is mandatory,Tipo de Raiz é obrigatório
Root account can not be deleted,Conta root não pode ser excluído
Root cannot be edited.,Root não pode ser editado .
Root cannot have a parent cost center,Root não pode ter um centro de custos pai
Rounded Off,arredondado
Rounded Total,Total arredondado
Rounded Total (Company Currency),Total arredondado (Moeda Company)
Row # ,Linha #
Row # {0}: ,Row # {0}: 
Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,Row # {0}: qty ordenado pode não inferior a qty pedido mínimo do item (definido no mestre de item).
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Favor especificar Sem Serial para item {1}
Row {0}: Account does not match with \						Purchase Invoice Credit To account,Row {0}: Conta não corresponde com \ Compra fatura de crédito para conta
Row {0}: Account does not match with \						Sales Invoice Debit To account,Row {0}: Conta não corresponde com \ Vendas fatura de débito em conta
Row {0}: Conversion Factor is mandatory,Row {0}: Fator de Conversão é obrigatório
Row {0}: Credit entry can not be linked with a Purchase Invoice,Row {0}: entrada de crédito não pode ser associada com uma fatura de compra
Row {0}: Debit entry can not be linked with a Sales Invoice,Row {0}: lançamento de débito não pode ser associada com uma factura de venda
Row {0}: Payment amount must be less than or equals to invoice outstanding amount. Please refer Note below.,"Row {0}: Valor do pagamento deve ser menor ou igual a facturar montante em dívida. Por favor, consulte a nota abaixo."
Row {0}: Qty is mandatory,Row {0}: Quantidade é obrigatório
"Row {0}: Qty not avalable in warehouse {1} on {2} {3}.					Available Qty: {4}, Transfer Qty: {5}","Row {0}: Quantidade não avalable no armazém {1} em {2} {3}. Disponível Qtde: {4}, Transferência Qtde: {5}"
"Row {0}: To set {1} periodicity, difference between from and to date \						must be greater than or equal to {2}","Fila {0}: Para definir {1} periodicidade, diferença entre a data e a partir de \ deve ser maior do que ou igual a {2}"
Row {0}:Start Date must be before End Date,Row {0}: Data de início deve ser anterior a data de término
Rules for adding shipping costs.,Regras para adicionar os custos de envio .
Rules for applying pricing and discount.,Regras para aplicação de preços e de desconto.
Rules to calculate shipping amount for a sale,Regras para calcular valor de frete para uma venda
S.O. No.,S.O. Nee.
SHE Cess on Excise,SHE Cess em impostos indiretos
SHE Cess on Service Tax,SHE Cess em Imposto sobre Serviços
SHE Cess on TDS,SHE Cess em TDS
SMS Center,SMS Center
SMS Gateway URL,SMS Gateway de URL
SMS Log,SMS Log
SMS Parameter,Parâmetro SMS
SMS Sender Name,Nome do remetente SMS
SMS Settings,Definições SMS
SO Date,SO Data
SO Pending Qty,Está pendente de Qtde
SO Qty,SO Aantal
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 Slip of employee {0} already created for this month,Folha de salário de empregado {0} já criado para este mês
Salary Structure,Estrutura Salarial
Salary Structure Deduction,Dedução 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.
Salary template master.,Mestre modelo Salário .
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 Browser,Navegador Vendas
Sales Details,Detalhes de vendas
Sales Discounts,Descontos de vendas
Sales Email Settings,Vendas Configurações de Email
Sales Expenses,Despesas com Vendas
Sales Extras,Extras de vendas
Sales Funnel,Sales Funnel
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 Invoice {0} has already been submitted,Fatura de vendas {0} já foi apresentado
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Fatura de vendas {0} deve ser cancelado antes de cancelar esta ordem de venda
Sales Order,Ordem de 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 Trends,Pedido de Vendas Trends
Sales Order required for Item {0},Ordem de venda necessário para item {0}
Sales Order {0} is not submitted,Ordem de Vendas {0} não é submetido
Sales Order {0} is not valid,Ordem de Vendas {0} não é válido
Sales Order {0} is stopped,Ordem de Vendas {0} está parado
Sales Partner,Parceiro de vendas
Sales Partner Name,Vendas Nome do parceiro
Sales Partner Target,Vendas Alvo Parceiro
Sales Partners Commission,Vendas Partners Comissão
Sales Person,Vendas Pessoa
Sales Person Name,Vendas Nome Pessoa
Sales Person Target Variance Item Group-Wise,Vendas Pessoa Alvo Variance 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 Returned,Sales Terugkerende
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 .
Salutation,Saudação
Sample Size,Tamanho da amostra
Sanctioned Amount,Quantidade sancionada
Saturday,Sábado
Schedule,Programar
Schedule Date,tijdschema
Schedule Details,Detalhes da Agenda
Scheduled,Programado
Scheduled Date,Data prevista
Scheduled to send to {0},Programado para enviar para {0}
Scheduled to send to {0} recipients,Programado para enviar para {0} destinatários
Scheduler Failed Events,Eventos Scheduler Falha
School/University,Escola / Universidade
Score (0-5),Pontuação (0-5)
Score Earned,Pontuação Agregado
Score must be less than or equal to 5,Score moet lager dan of gelijk aan 5 zijn
Scrap %,Sucata%
Seasonality for setting budgets.,Sazonalidade para definir orçamentos.
Secretary,secretário
Secured Loans,Empréstimos garantidos
Securities & Commodity Exchanges,Valores Mobiliários e Bolsas de Mercadorias
Securities and Deposits,Títulos e depósitos
"See ""Rate Of Materials Based On"" in Costing Section",Consulte &quot;taxa de materiais baseados em&quot; no Custeio Seção
"Select ""Yes"" for sub - contracting items",Selecione &quot;Sim&quot; para a sub - itens contratantes
"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 Brand...,Selecione Marca ...
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 Company...,Selecione Empresa ...
Select DocType,Selecione DocType
Select Fiscal Year...,Selecione o ano fiscal ...
Select Items,Selecione itens
Select Project...,Selecione Project ...
Select Purchase Receipts,Selecteer Aankoopfacturen
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 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 Warehouse...,Selecione Armazém ...
Select Your Language,Selecione seu idioma
Select account head of the bank where cheque was deposited.,Selecione cabeça conta do banco onde cheque foi depositado.
Select company name first.,Selecione o nome da empresa em primeiro lugar.
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 period when the invoice will be generated automatically,Selecione o período em que a factura será gerado automaticamente
Select the relevant company name if you have multiple companies,"Selecione o nome da empresa em questão, se você tem várias empresas"
Select the relevant company name if you have multiple companies.,"Selecione o nome da empresa em questão, se você tem várias empresas."
Select who you want to send this newsletter to,Selecione para quem você deseja enviar esta newsletter para
Select your home country and check the timezone and currency.,Selecteer uw land en controleer de tijdzone en valuta .
"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
"Selling must be checked, if Applicable For is selected as {0}","Venda deve ser verificada, se for caso disso for selecionado como {0}"
Send,Enviar
Send Autoreply,Enviar Autoreply
Send Email,Enviar E-mail
Send From,Enviar de
Send Notifications To,Enviar notificações para
Send Now,Nu verzenden
Send SMS,Envie SMS
Send To,Enviar para
Send To Type,Enviar para Digite
Send mass SMS to your contacts,Enviar SMS em massa para seus contatos
Send to this list,Enviar para esta lista
Sender Name,Nome do remetente
Sent On,Enviado em
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 / Batch,Serienummer / Batch
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
Serial No is mandatory for Item {0},Não Serial é obrigatória para item {0}
Serial No {0} created,Serial Não {0} criado
Serial No {0} does not belong to Delivery Note {1},Serial Não {0} não pertence a entrega Nota {1}
Serial No {0} does not belong to Item {1},Serial Não {0} não pertence ao item {1}
Serial No {0} does not belong to Warehouse {1},Serial Não {0} não pertence ao Armazém {1}
Serial No {0} does not exist,Serial Não {0} não existe
Serial No {0} has already been received,Serial Não {0} já foi recebido
Serial No {0} is under maintenance contract upto {1},Serial Não {0} está sob contrato de manutenção até {1}
Serial No {0} is under warranty upto {1},Serial Não {0} está na garantia até {1}
Serial No {0} not in stock,Serial Não {0} não em estoque
Serial No {0} quantity {1} cannot be a fraction,Serial Não {0} {1} quantidade não pode ser uma fração
Serial No {0} status must be 'Available' to Deliver,Serial No {0} Estado deve ser ' Disponível ' para entregar
Serial Nos Required for Serialized Item {0},Serial Nos Obrigatório para Serialized item {0}
Serial Number Series,Serienummer Series
Serial number {0} entered more than once,Número de série {0} entrou mais de uma vez
Serialized Item {0} cannot be updated \					using Stock Reconciliation,Serialized item {0} não pode ser atualizado \ usando Banco de Reconciliação
Series,serie
Series List for this Transaction,Lista de séries para esta transação
Series Updated,Série Atualizado
Series Updated Successfully,Série atualizado com sucesso
Series is mandatory,Série é obrigatório
Series {0} already used in {1},Série {0} já usado em {1}
Service,serviço
Service Address,Serviço Endereço
Service Tax,Imposto sobre Serviços
Services,Serviços
Set,conjunto
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Definir valores padrão , como Company, de moeda, Atual Exercício , etc"
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,"Definir item Group-wise orçamentos sobre este território. Você também pode incluir sazonalidade, definindo a distribuição."
Set Status as Available,Definir status como Disponível
Set as Default,Instellen als standaard
Set as Lost,Instellen als Lost
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.
Setting Account Type helps in selecting this Account in transactions.,Tipo de conta Definir ajuda na seleção desta conta em transações.
Setting this Address Template as default as there is no other default,"A definição desse modelo de endereço como padrão, pois não há outro padrão"
Setting up...,Het opzetten ...
Settings,Configurações
Settings for HR Module,Configurações para o Módulo HR
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""","Definições para extrair os candidatos a emprego a partir de um &quot;jobs@example.com&quot; caixa de correio, por exemplo"
Setup,Instalação
Setup Already Complete!!,Setup al voltooid !
Setup Complete,Instalação concluída
Setup SMS gateway settings,Configurações de gateway SMS Setup
Setup Series,Série de configuração
Setup Wizard,Assistente de Configuração
Setup incoming server for jobs email id. (e.g. jobs@example.com),Configuração do servidor de entrada para os trabalhos de identificação do email . ( por exemplo jobs@example.com )
Setup incoming server for sales email id. (e.g. sales@example.com),Configuração do servidor de entrada de e-mail id vendas. ( por exemplo sales@example.com )
Setup incoming server for support email id. (e.g. support@example.com),Configuração do servidor de entrada para suporte e-mail id . ( por exemplo support@example.com )
Share,Ação
Share With,Compartilhar
Shareholders Funds,CAPITAL PRÓPRIO
Shipments to customers.,Os embarques para os clientes.
Shipping,Expedição
Shipping Account,Conta de Envio
Shipping Address,Endereço 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
Shop,Loja
Shopping Cart,Carrinho de Compras
Short biography for website and other publications.,Breve biografia para o site e outras publicações.
"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 / Hide features like Serial Nos, POS etc.","Mostrar / Ocultar recursos como os números de ordem , POS , etc"
Show In Website,Mostrar No Site
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
Sick Leave,doente Deixar
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 unit of an Item.,Única unidade de um item.
Sit tight while your system is being setup. This may take a few moments.,Hou je vast terwijl uw systeem wordt setup. Dit kan even duren .
Slideshow,Slideshow
Soap & Detergent,Soap & detergente
Software,Software
Software Developer,Software Developer
"Sorry, Serial Nos cannot be merged","Sorry , kan de serienummers niet worden samengevoegd"
"Sorry, companies cannot be merged","Sorry , bedrijven kunnen niet worden samengevoegd"
Source,Fonte
Source File,Source File
Source Warehouse,Armazém fonte
Source and target warehouse cannot be same for row {0},Fonte e armazém de destino não pode ser o mesmo para a linha {0}
Source of Funds (Liabilities),Fonte de Recursos ( Passivo)
Source warehouse is mandatory for row {0},Origem do Warehouse é obrigatória para a linha {0}
Spartan,Espartano
"Special Characters except ""-"" and ""/"" not allowed in naming series","Caracteres especiais , exceto "" - "" e ""/ "" não é permitido em série nomeando"
Specification Details,Detalhes especificação
Specifications,especificações
"Specify a list of Territories, for which, this Price List is valid","Especificar uma lista de territórios, para a qual, esta lista de preços é válida"
"Specify a list of Territories, for which, this Shipping Rule is valid","Especificar uma lista de territórios, para a qual, essa regra de envio é válida"
"Specify a list of Territories, for which, this Taxes Master is valid","Especificar uma lista de territórios, para a qual, este Impostos Master é válido"
"Specify the operations, operating cost and give a unique Operation no to your operations.","Geef de operaties , operationele kosten en geven een unieke operatie niet aan uw activiteiten ."
Split Delivery Note into packages.,Nota de Entrega dividir em pacotes.
Sports,esportes
Sr,Sr
Standard,Padrão
Standard Buying,Compra padrão
Standard Reports,Relatórios padrão
Standard Selling,venda padrão
Standard contract terms for Sales or Purchase.,Termos do contrato padrão para vendas ou compra.
Start,begin
Start Date,Data de Início
Start date of current invoice's period,A data de início do período de fatura atual
Start date should be less than end date for Item {0},Data de início deve ser inferior a data final para o item {0}
State,Estado
Statement of Account,Extrato de conta
Static Parameters,Parâmetros estáticos
Status,Estado
Status must be one of {0},Estado deve ser um dos {0}
Status of {0} {1} is now {2},Estado de {0} {1} é agora {2}
Status updated to {0},Atualizou estado para {0}
Statutory info and other general information about your Supplier,Informações legais e outras informações gerais sobre o seu Fornecedor
Stay Updated,Fique Atualizado
Stock,Estoque
Stock Adjustment,Banco de Ajuste
Stock Adjustment Account,Banco de Acerto de Contas
Stock Ageing,Envelhecimento estoque
Stock Analytics,Analytics ações
Stock Assets,Ativos estoque
Stock Balance,Balanço de estoque
Stock Entries already created for Production Order ,Stock Entries already created for Production Order 
Stock Entry,Entrada estoque
Stock Entry Detail,Detalhe Entrada estoque
Stock Expenses,despesas Stock
Stock Frozen Upto,Fotografia congelada Upto
Stock Ledger,Estoque Ledger
Stock Ledger Entry,Entrada da Razão
Stock Ledger entries balances updated,Banco de Ledger Entradas saldos atualizados
Stock Level,Nível de estoque
Stock Liabilities,Passivo estoque
Stock Projected Qty,Verwachte voorraad Aantal
Stock Queue (FIFO),Da fila (FIFO)
Stock Received But Not Billed,"Banco recebido, mas não faturados"
Stock Reconcilation Data,Stock Verzoening gegevens
Stock Reconcilation Template,Stock Verzoening Template
Stock Reconciliation,Da Reconciliação
"Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory.","Banco de reconciliação pode ser usado para atualizar o estoque em uma data específica , geralmente de acordo com o inventário físico ."
Stock Settings,Configurações da
Stock UOM,Estoque UOM
Stock UOM Replace Utility,Utilitário da Substituir UOM
Stock UOM updatd for Item {0},Updatd Banco UOM por item {0}
Stock Uom,Estoque Uom
Stock Value,Valor da
Stock Value Difference,Banco de Valor Diferença
Stock balances updated,Banco saldos atualizados
Stock cannot be updated against Delivery Note {0},Banco não pode ser atualizado contra entrega Nota {0}
Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name',As entradas em existências existir contra armazém {0} não pode voltar a atribuir ou modificar 'Master Name'
Stock transactions before {0} are frozen,Transações com ações antes {0} são congelados
Stop,Pare
Stop Birthday Reminders,Stop verjaardagsherinneringen
Stop Material Request,Stop Materiaal Request
Stop users from making Leave Applications on following days.,Pare de usuários de fazer aplicações deixam nos dias seguintes.
Stop!,Stop!
Stopped,Parado
Stopped order cannot be cancelled. Unstop to cancel.,Parado ordem não pode ser cancelado. Desentupir para cancelar.
Stores,Lojas
Stub,toco
Sub Assemblies,Sub Assembléias
"Sub-currency. For e.g. ""Cent""",Sub-moeda. Para &quot;Cent&quot; por exemplo
Subcontract,Subcontratar
Subject,Assunto
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
Submit this Production Order for further processing.,Submit deze productieorder voor verdere verwerking .
Submitted,Enviado
Subsidiary,Subsidiário
Successful: ,Bem-sucedido:
Successfully Reconciled,Reconciliados com sucesso
Suggestions,Sugestões
Sunday,Domingo
Supplier,Fornecedor
Supplier (Payable) Account,Fornecedor (pago) Conta
Supplier (vendor) name as entered in supplier master,"Nome do fornecedor (fornecedor), inscritos no cadastro de fornecedores"
Supplier > Supplier Type,Fornecedor> Fornecedor Tipo
Supplier Account Head,Fornecedor Cabeça Conta
Supplier Address,Endereço do Fornecedor
Supplier Addresses and Contacts,Leverancier Adressen en Contacten
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 Type,Tipo de fornecedor
Supplier Type / Supplier,Leverancier Type / leverancier
Supplier Type master.,Fornecedor Tipo de mestre.
Supplier Warehouse,Armazém fornecedor
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Fornecedor Armazém obrigatório para sub- contratados Recibo de compra
Supplier database.,Banco de dados de fornecedores.
Supplier master.,Fornecedor mestre.
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-Wise Sales Analytics,Leveranciers Wise Sales Analytics
Support,Apoiar
Support Analtyics,ondersteuning Analtyics
Support Analytics,Analytics apoio
Support Email,Suporte E-mail
Support Email Settings,Ondersteuning E-mailinstellingen
Support Password,Senha de
Support Ticket,Ticket de Suporte
Support queries from customers.,Suporte a consultas de clientes.
Symbol,Símbolo
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 Settings,Configurações 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."
TDS (Advertisement),TDS (Anúncio)
TDS (Commission),TDS (Comissão)
TDS (Contractor),TDS (Contratado)
TDS (Interest),TDS (interesse)
TDS (Rent),TDS (Rent)
TDS (Salary),TDS (Salário)
Target  Amount,Valor Alvo
Target Detail,Detalhe alvo
Target Details,Detalhes alvo
Target Details1,Alvo Details1
Target Distribution,Distribuição alvo
Target On,Target On
Target Qty,Qtde alvo
Target Warehouse,Armazém alvo
Target warehouse in row {0} must be same as Production Order,Warehouse de destino na linha {0} deve ser o mesmo que ordem de produção
Target warehouse is mandatory for row {0},Destino do Warehouse é obrigatória para a linha {0}
Task,Tarefa
Task Details,Detalhes da tarefa
Tasks,taken
Tax,Imposto
Tax Amount After Discount Amount,Total de Impostos Depois Montante do Desconto
Tax Assets,Ativo Fiscal
Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items,Fiscale categorie kan ' Valuation ' of ' Valuation en Total ' als alle items zijn niet-voorraadartikelen niet
Tax Rate,Taxa de Imposto
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 Imposto obtido a partir de mestre como uma string e armazenada neste campo. Usado para Impostos e Taxas
Tax template for buying transactions.,Modelo de impostos para a compra de transações.
Tax template for selling transactions.,Modelo imposto pela venda de transações.
Taxable,Tributável
Taxes,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)
Technology,tecnologia
Telecommunications,Telecomunicações
Telephone Expenses,Despesas de telefone
Television,televisão
Template,Modelo
Template for performance appraisals.,Modelo para avaliação de desempenho .
Template of terms or contract.,Modelo de termos ou contratos.
Temporary Accounts (Assets),Contas Transitórias (Ativo )
Temporary Accounts (Liabilities),Contas temporárias ( Passivo)
Temporary Assets,Ativos temporários
Temporary Liabilities,Passivo temporárias
Term Details,Detalhes prazo
Terms,Voorwaarden
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
Terretory,terretory
Territory,Território
Territory / Customer,Grondgebied / Klantenservice
Territory Manager,Territory Manager
Territory Name,Nome território
Territory Target Variance Item Group-Wise,Território Alvo Variance item Group-wise
Territory Targets,Metas território
Test,Teste
Test Email Id,Email Id teste
Test the Newsletter,Teste a Newsletter
The BOM which will be replaced,O BOM que será substituído
The First User: You,De eerste gebruiker : U
"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 Organization,de Organisatie
"The account head under Liability, in which Profit/Loss will be booked","De rekening hoofd onder Aansprakelijkheid , waarin Winst / verlies zal worden geboekt"
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 day(s) on which you are applying for leave are holiday. You need not apply for leave.,No dia (s) em que você está se candidatando para a licença estão de férias. Você não precisa solicitar uma licença .
The first Leave Approver in the list will be set as the default Leave Approver,O primeiro Deixe Approver na lista vai ser definido como o Leave Approver padrão
The first user will become the System Manager (you can change that later).,De eerste gebruiker zal de System Manager te worden (u kunt dat later wijzigen ) .
The gross weight of the package. Usually net weight + packaging material weight. (for print),O peso bruto do pacote. Normalmente peso líquido + peso do material de embalagem. (Para impressão)
The name of your company for which you are setting up this system.,De naam van uw bedrijf waar u het opzetten van dit systeem .
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 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 Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Então Preços Regras são filtradas com base no Cliente, Grupo de Clientes, Território, fornecedor, fornecedor Tipo, Campanha, Parceiro de vendas etc"
There are more holidays than working days this month.,Há mais feriados do que dias úteis do mês.
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Só pode haver uma regra de envio Condição com 0 ou valor em branco para "" To Valor """
There is not enough leave balance for Leave Type {0},Não há o suficiente equilíbrio pela licença Tipo {0}
There is nothing to edit.,Er is niets om te bewerken .
There was an error. One probable reason could be that you haven't saved the form. Please contact support@erpnext.com if the problem persists.,Er is een fout opgetreden . Een mogelijke reden zou kunnen zijn dat je niet hebt opgeslagen het formulier . Neem dan contact support@erpnext.com als het probleem aanhoudt .
There were errors.,Er waren fouten .
This Currency is disabled. Enable to use in transactions,Deze valuta is uitgeschakeld . In staat om te gebruiken in transacties
This Leave Application is pending approval. Only the Leave Apporver can update status.,Deze verlofaanvraag is in afwachting van goedkeuring . Alleen de Leave Apporver kan status bijwerken .
This Time Log Batch has been billed.,Este lote Log O tempo tem sido anunciado.
This Time Log Batch has been cancelled.,Este lote Log Tempo foi cancelada.
This Time Log conflicts with {0},Este Log Tempo em conflito com {0}
This format is used if country specific format is not found,Este formato é usado se o formato específico país não é encontrado
This is a root account and cannot be edited.,Dit is een root account en kan niet worden bewerkt .
This is a root customer group and cannot be edited.,Dit is een wortel klantgroep en kan niet worden bewerkt .
This is a root item group and cannot be edited.,Dit is een hoofditem groep en kan niet worden bewerkt .
This is a root sales person and cannot be edited.,Dit is een wortel verkoper en kan niet worden bewerkt .
This is a root territory and cannot be edited.,Dit is een wortel grondgebied en kan niet worden bewerkt .
This is an example website auto-generated from ERPNext,Este é um exemplo website auto- gerada a partir ERPNext
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 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 Log,Tempo Log
Time Log Batch,Tempo Batch Log
Time Log Batch Detail,Tempo Log Detail Batch
Time Log Batch Details,Tempo de registro de detalhes de lote
Time Log Batch {0} must be 'Submitted',Tempo Log Batch {0} deve ser ' enviado '
Time Log Status must be Submitted.,Tempo Log Estado devem ser apresentadas.
Time Log for tasks.,Tempo de registro para as tarefas.
Time Log is not billable,Tempo Log não é cobrável
Time Log {0} must be 'Submitted',Tempo Log {0} deve ser ' enviado '
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
Titles for print templates e.g. Proforma Invoice.,"Títulos para modelos de impressão , por exemplo, Proforma Invoice ."
To,Para
To Currency,A Moeda
To Date,Conhecer
To Date should be same as From Date for Half Day leave,Om datum moet dezelfde zijn als Van Datum voor halve dag verlof zijn
To Date should be within the Fiscal Year. Assuming To Date = {0},Para data deve ser dentro do exercício social. Assumindo Para Date = {0}
To Discuss,Para Discutir
To Do List,Para fazer a lista
To Package No.,Para empacotar Não.
To Produce,Produce
To Time,Para Tempo
To Value,Ao Valor
To Warehouse,Para Armazém
"To add child nodes, explore tree and click on the node under which you want to add more nodes.","Om onderliggende nodes te voegen , te verkennen boom en klik op het knooppunt waar u wilt meer knooppunten toe te voegen ."
"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 create a Bank Account,Para criar uma conta bancária
To create a Tax Account,Para criar uma conta de impostos
"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 date cannot be before from date,Tot op heden kan niet eerder worden vanaf datum
To enable <b>Point of Sale</b> features,Para habilitar o <b>Ponto de Venda</b> características
To enable <b>Point of Sale</b> view,Om <b> Point of Sale < / b > view staat
To get Item Group in details table,Para obter Grupo item na tabela de detalhes
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Para incluir impostos na linha {0} na taxa de Item, os impostos em linhas {1} também deve ser incluída"
"To merge, following properties must be same for both items","Te fuseren , moeten volgende eigenschappen hetzelfde zijn voor beide posten"
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Para não aplicar regra de preços em uma transação particular, todas as regras de preços aplicáveis devem ser desativados."
"To set this Fiscal Year as Default, click on 'Set as Default'","Om dit fiscale jaar ingesteld als standaard , klik op ' Als standaard instellen '"
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 Delivery Note, Opportunity, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","Para acompanhar marca nos seguintes documentos Nota de Entrega , Oportunidade, Solicitação Material, Item, Ordem de Compra, Compra Vale , Comprador recibo , cotação, nota fiscal de venda , Vendas BOM, Pedido de Vendas , Serial Não"
To track item in sales and purchase documents based on their serial nos. This is can also used to track warranty details of the product.,Para acompanhar o item em documentos de vendas e de compras com base em seus números de 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.
Too many columns. Export the report and print it using a spreadsheet application.,Muitas colunas. Exportar o relatório e imprimi-lo usando um aplicativo de planilha.
Tools,Ferramentas
Total,Total
Total ({0}),Total ({0})
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 Characters,Total de Personagens
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 Debit must be equal to Total Credit. The difference is {0},Débito total deve ser igual ao total de crédito.
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 Message(s),Mensagem total ( s )
Total Operating Cost,Custo Operacional Total
Total Points,Total de pontos
Total Raw Material Cost,Custo total das matérias-primas
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 allocated percentage for sales team should be 100,Porcentagem total alocado para a equipe de vendas deve ser de 100
Total amount of invoices received from suppliers during the digest period,O valor total das faturas recebidas de fornecedores durante o período de digestão
Total amount of invoices sent to the customer during the digest period,O valor total das faturas enviadas para o cliente durante o período de digestão
Total cannot be zero,Total não pode ser zero
Total in words,Total em palavras
Total points for all goals should be 100. It is {0},Total de pontos para todos os objetivos devem ser 100. Ele é {0}
Total valuation for manufactured or repacked item(s) can not be less than total valuation of raw materials,Valor total para o item (s) fabricados ou reembalados não pode ser menor do que valor total das matérias-primas
Total weightage assigned should be 100%. It is {0},Weightage total atribuído deve ser de 100 %. É {0}
Totals,Totais
Track Leads by Industry Type.,Trilha leva por setor Type.
Track this Delivery Note against any Project,Acompanhar este Nota de Entrega 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
Transaction not allowed against stopped Production Order {0},Transação não é permitido contra parou Ordem de produção {0}
Transfer,Transferir
Transfer Material,Transfer Materiaal
Transfer Raw Materials,Transfer Grondstoffen
Transferred Qty,overgedragen hoeveelheid
Transportation,transporte
Transporter Info,Informações Transporter
Transporter Name,Nome Transporter
Transporter lorry number,Número caminhão transportador
Travel,viagem
Travel Expenses,Despesas de viagem
Tree Type,boom Type
Tree of Item Groups.,Árvore de Grupos de itens .
Tree of finanial Cost Centers.,Árvore de Centros de custo finanial .
Tree of finanial accounts.,Árvore de contas finanial .
Trial Balance,Balancete
Tuesday,Terça-feira
Type,Tipo
Type of document to rename.,Tipo de documento a ser renomeado.
"Type of leaves like casual, sick etc.","Tipo de 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
"Types of employment (permanent, contract, intern etc.).","Tipos de emprego ( permanente , contrato, etc estagiário ) ."
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 required in row {0},UOM fator de conversão é necessária na linha {0}
UOM Name,Nome UOM
UOM coversion factor required for UOM: {0} in Item: {1},Fator coversion UOM necessário para UOM: {0} no Item: {1}
Under AMC,Sob AMC
Under Graduate,Sob graduação
Under Warranty,Sob Garantia
Unit,unidade
Unit of Measure,Unidade de Medida
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unidade de Medida {0} foi inserido mais de uma vez na Tabela de Conversão de Fator
"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Unidade de medida do item (por exemplo kg Unidade, não, par)."
Units/Hour,Unidades / hora
Units/Shifts,Unidades / Turnos
Unpaid,Não remunerado
Unreconciled Payment Details,Unreconciled Detalhes do pagamento
Unscheduled,Sem marcação
Unsecured Loans,Empréstimos não garantidos
Unstop,opendraaien
Unstop Material Request,Unstop Materiaal Request
Unstop Purchase Order,Unstop Bestelling
Unsubscribed,Inscrição cancelada
Update,Atualizar
Update Clearance Date,Atualize Data Liquidação
Update Cost,Kosten bijwerken
Update Finished Goods,Afgewerkt update Goederen
Update Landed Cost,Update Landed Cost
Update Series,Atualização Series
Update Series Number,Atualização de Número de Série
Update Stock,Actualização de stock
Update bank payment dates with journals.,Atualização de pagamento bancário com data revistas.
Update clearance date of Journal Entries marked as 'Bank Vouchers',Goedkeuring datum actualisering van Journaalposten gemarkeerd als ' Bank Vouchers '
Updated,Atualizado
Updated Birthday Reminders,Bijgewerkt verjaardagsherinneringen
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 attendance from a .csv file,Carregar atendimento de um arquivo CSV.
Upload stock balance via csv.,Carregar saldo de estoque via csv.
Upload your letter head and logo - you can edit them later.,Upload uw brief hoofd en logo - u kunt ze later bewerken .
Upper Income,Renda superior
Urgent,Urgente
Use Multi-Level BOM,Utilize Multi-Level BOM
Use SSL,Use SSL
Used for Production Plan,Usado para o Plano de Produção
User,Usuário
User ID,ID de usuário
User ID not set for Employee {0},ID do usuário não definido para Employee {0}
User Name,Nome de usuário
User Name or Support Password missing. Please enter and try again.,Nome de usuário ou senha Suporte faltando. Por favor entre e tente novamente.
User Remark,Observação de usuário
User Remark will be added to Auto Remark,Observação usuário será adicionado à observação Auto
User Remarks is mandatory,Usuário Observações é obrigatório
User Specific,Especificas do usuário
User must always select,O usuário deve sempre escolher
User {0} is already assigned to Employee {1},Usuário {0} já está atribuído a Employee {1}
User {0} is disabled,Usuário {0} está desativado
Username,Nome de Utilizador
Users with this role are allowed to create / modify accounting entry before frozen date,Gebruikers met deze rol mogen maken / boekhoudkundige afschrijving vóór bevroren datum wijzigen
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Gebruikers met deze rol mogen bevroren accounts en maak / boekingen tegen bevroren rekeningen wijzigen
Utilities,Utilitários
Utility Expenses,Despesas de Utilidade
Valid For Territories,Válido para os territórios
Valid From,Válido de
Valid Upto,Válido Upto
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 Rate required for Item {0},Valorização Taxa exigida para item {0}
Valuation and Total,Avaliação e Total
Value,Valor
Value or Qty,Waarde of Aantal
Vehicle Dispatch Date,Veículo Despacho Data
Vehicle No,No veículo
Venture Capital,venture Capital
Verified By,Verified By
View Ledger,Bekijk Ledger
View Now,Bekijk nu
Visit report for maintenance call.,Relatório de visita para a chamada manutenção.
Voucher #,voucher #
Voucher Detail No,Detalhe folha no
Voucher Detail Number,Número Detalhe voucher
Voucher ID,ID comprovante
Voucher No,Não vale
Voucher Type,Tipo comprovante
Voucher Type and Date,Tipo Vale e Data
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 and Reference,Warehouse and Reference
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Warehouse não pode ser excluído como existe entrada de material de contabilidade para este armazém.
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazijn kan alleen via Stock Entry / Delivery Note / Kwitantie worden veranderd
Warehouse cannot be changed for Serial No.,Magazijn kan niet worden gewijzigd voor Serienummer
Warehouse is mandatory for stock Item {0} in row {1},Armazém é obrigatória para stock o item {0} na linha {1}
Warehouse is missing in Purchase Order,Warehouse ontbreekt in Purchase Order
Warehouse not found in the system,Warehouse não foi encontrado no sistema
Warehouse required for stock Item {0},Armazém necessário para stock o item {0}
Warehouse where you are maintaining stock of rejected items,Armazém onde você está mantendo estoque de itens rejeitados
Warehouse {0} can not be deleted as quantity exists for Item {1},Armazém {0} não pode ser excluído como existe quantidade para item {1}
Warehouse {0} does not belong to company {1},Armazém {0} não pertence à empresa {1}
Warehouse {0} does not exist,Armazém {0} não existe
Warehouse {0}: Company is mandatory,Armazém {0}: Empresa é obrigatório
Warehouse {0}: Parent account {1} does not bolong to the company {2},Armazém {0}: conta Parent {1} não Bolong à empresa {2}
Warehouse-Wise Stock Balance,Warehouse-sábio Stock Balance
Warehouse-wise Item Reorder,Armazém-sábio item Reordenar
Warehouses,Armazéns
Warehouses.,Armazéns .
Warn,Avisar
Warning: Leave application contains following block dates,Atenção: Deixe o aplicativo contém seguintes datas bloco
Warning: Material Requested Qty is less than Minimum Order Qty,Waarschuwing : Materiaal gevraagde Aantal minder dan Minimum afname
Warning: Sales Order {0} already exists against same Purchase Order number,Aviso: Pedido de Vendas {0} já existe contra mesmo número de ordem de compra
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Aviso : O sistema não irá verificar superfaturamento desde montante para item {0} em {1} é zero
Warranty / AMC Details,Garantia / 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)
We buy this Item,Nós compramos este item
We sell this Item,Nós vendemos este item
Website,Site
Website Description,Descrição do site
Website Item Group,Grupo Item site
Website Item Groups,Item Grupos site
Website Settings,Configurações do site
Website Warehouse,Armazém site
Wednesday,Quarta-feira
Weekly,Semanal
Weekly Off,Weekly Off
Weight UOM,Peso UOM
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Gewicht wordt vermeld , \ nGelieve noemen "" Gewicht Verpakking "" te"
Weightage,Weightage
Weightage (%),Weightage (%)
Welcome,bem-vindo
Welcome to ERPNext. Over the next few minutes we will help you setup your ERPNext account. Try and fill in as much information as you have even if it takes a bit longer. It will save you a lot of time later. Good Luck!,"Welkom bij ERPNext . In de komende paar minuten zullen we u helpen opzetten van je ERPNext account. Probeer en vul zo veel mogelijk informatie je hebt , zelfs als het duurt een beetje langer . Het zal u een hoop tijd later besparen . Good Luck !"
Welcome to ERPNext. Please select your language to begin the Setup Wizard.,"Bem-vindo ao ERPNext . Por favor, selecione o idioma para iniciar o Assistente de Configuração."
What does it do?,Wat doet het?
"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 submitted, the system creates difference entries to set the given stock and valuation on this date.","Quando submetidos , o sistema cria entradas de diferença para definir o estoque e valorização dada nesta data ."
Where items are stored.,Onde os itens são armazenados.
Where manufacturing operations are carried out.,Sempre que as operações de fabricação são realizadas.
Widowed,Viúva
Will be calculated automatically when you enter the details,Será calculado automaticamente quando você digitar os detalhes
Will be updated after Sales Invoice is Submitted.,Será atualizado após a factura de venda é submetido.
Will be updated when batched.,Será atualizado quando agrupadas.
Will be updated when billed.,Será atualizado quando faturado.
Wire Transfer,por transferência bancária
With Operations,Com Operações
With Period Closing Entry,Com a entrada do período de encerramento
Work Details,Detalhes da Obra
Work Done,Trabalho feito
Work In Progress,Trabalho em andamento
Work-in-Progress Warehouse,Armazém Work-in-Progress
Work-in-Progress Warehouse is required before Submit,Trabalho em andamento Warehouse é necessário antes de Enviar
Working,Trabalhando
Working Days,Dias de trabalho
Workstation,Estação de trabalho
Workstation Name,Nome da Estação de Trabalho
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
Wrong Template: Unable to find head row.,Template errado: Não é possível encontrar linha cabeça.
Year,Ano
Year Closed,Ano Encerrado
Year End Date,Eind van het jaar Datum
Year Name,Nome Ano
Year Start Date,Data de início do ano
Year of Passing,Ano de Passagem
Yearly,Anual
Yes,Sim
You are not authorized to add or update entries before {0},Você não está autorizado para adicionar ou atualizar entradas antes de {0}
You are not authorized to set Frozen value,U bent niet bevoegd om Frozen waarde in te stellen
You are the Expense Approver for this record. Please Update the 'Status' and Save,U bent de Expense Approver voor dit record . Werk van de 'Status' en opslaan
You are the Leave Approver for this record. Please Update the 'Status' and Save,U bent de Leave Approver voor dit record . Werk van de 'Status' en opslaan
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 change rate if BOM mentioned agianst any item,U kunt geen koers veranderen als BOM agianst een item genoemd
You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Je kunt niet Geen Voer beide Delivery Note en verkoopfactuur Nee Geef iemand.
You can not enter current voucher in 'Against Journal Voucher' column,Você não pode entrar comprovante atual em ' Contra Jornal Vale ' coluna
You can set Default Bank Account in Company master,Você pode definir padrão Conta Bancária no mestre Empresa
You can start by selecting backup frequency and granting access for sync,Você pode começar por selecionar a freqüência de backup e concessão de acesso para sincronização
You can submit this Stock Reconciliation.,U kunt indienen dit Stock Verzoening .
You can update either Quantity or Valuation Rate or both.,U kunt Hoeveelheid of Valuation Rate of beide te werken.
You cannot credit and debit same account at the same time,Você não pode de crédito e débito mesma conta ao mesmo tempo
You have entered duplicate items. Please rectify and try again.,U heeft dubbele items ingevoerd. Aub verwijderen en probeer het opnieuw .
You may need to update: {0},Você pode precisar atualizar : {0}
You must Save the form before proceeding,Você deve salvar o formulário antes de continuar
Your Customer's TAX registration numbers (if applicable) or any general information,Seu cliente FISCAIS números de inscrição (se aplicável) ou qualquer outra informação geral
Your Customers,uw klanten
Your Login Id,Seu ID de login
Your Products or Services,Uw producten of diensten
Your Suppliers,uw Leveranciers
Your email address,Seu endereço de email
Your financial year begins on,O ano financeiro tem início a
Your financial year ends on,Seu exercício termina em
Your sales person who will contact the customer in future,Sua pessoa de vendas que entrará em contato com o cliente no futuro
Your sales person will get a reminder on this date to contact the customer,Seu vendedor receberá um lembrete sobre esta data para contato com o cliente
Your setup is complete. Refreshing...,Uw installatie is voltooid . Verfrissend ...
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]
[Select],[ Select]
`Freeze Stocks Older Than` should be smaller than %d days.,` Stocks Congelar Mais velho do que ` deve ser menor que %d dias .
and,e
are not allowed.,zijn niet toegestaan ​​.
assigned by,atribuído pela
cannot be greater than 100,não pode ser maior do que 100
"e.g. ""Build tools for builders""","por exemplo ""Construa ferramentas para os construtores """
"e.g. ""MC""","por exemplo "" MC """
"e.g. ""My Company LLC""","por exemplo "" My Company LLC"""
e.g. 5,por exemplo 5
"e.g. Bank, Cash, Credit Card","por exemplo Banco, Dinheiro, cartão de crédito"
"e.g. Kg, Unit, Nos, m","kg por exemplo, Unidade, n, m"
e.g. VAT,por exemplo IVA
eg. Cheque Number,por exemplo. Número de cheques
example: Next Day Shipping,exemplo: Next Day envio
lft,lft
old_parent,old_parent
rgt,rgt
subject,assunto
to,para
website page link,link da página site
{0} '{1}' not in Fiscal Year {2},{0} '{1}' não no ano fiscal de {2}
{0} Credit limit {0} crossed,{0} Limite de crédito {0} atravessou
{0} Serial Numbers required for Item {0}. Only {0} provided.,{0} números de série necessários para item {0}. Apenas {0} fornecida .
{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} orçamento para conta {1} contra Centro de Custo {2} excederá por {3}
{0} can not be negative,{0} não pode ser negativo
{0} created,{0} criado
{0} does not belong to Company {1},{0} não pertence à empresa {1}
{0} entered twice in Item Tax,{0} entrou duas vezes em Imposto item
{0} is an invalid email address in 'Notification Email Address',{0} é um endereço de e-mail inválido em ' Notificação de E-mail '
{0} is mandatory,{0} é obrigatório
{0} is mandatory for Item {1},{0} é obrigatório para item {1}
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} é obrigatório. Talvez recorde Câmbios não é criado para {1} de {2}.
{0} is not a stock Item,{0} não é um item de estoque
{0} is not a valid Batch Number for Item {1},{0} não é um número de lote válido por item {1}
{0} is not a valid Leave Approver. Removing row #{1}.,{0} não é uma licença Approver válido. Remoção de linha # {1}.
{0} is not a valid email id,{0} não é um ID de e-mail válido
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,"{0} é agora o padrão Ano Fiscal. Por favor, atualize seu navegador para que a alteração tenha efeito."
{0} is required,{0} é necessária
{0} must be a Purchased or Sub-Contracted Item in row {1},{0} deve ser um item comprado ou subcontratadas na linha {1}
{0} must be reduced by {1} or you should increase overflow tolerance,{0} deve ser reduzido em {1} ou você deve aumentar a tolerância ao excesso
{0} must have role 'Leave Approver',{0} deve ter papel ' Leave aprovador '
{0} valid serial nos for Item {1},{0} N º s de série válido para o item {1}
{0} {1} against Bill {2} dated {3},{0} {1} contra Bill {2} {3} datado
{0} {1} against Invoice {2},{0} {1} contra Invoice {2}
{0} {1} has already been submitted,{0} {1} já foi apresentado
{0} {1} has been modified. Please refresh.,"{0} {1} foi modificado . Por favor, atualize ."
{0} {1} is not submitted,{0} {1} não for apresentado
{0} {1} must be submitted,{0} {1} deve ser apresentado
{0} {1} not in any Fiscal Year,{0} {1} não em qualquer ano fiscal
{0} {1} status is 'Stopped',{0} {1} status é ' parado '
{0} {1} status is Stopped,{0} {1} status é parado
{0} {1} status is Unstopped,{0} {1} status é abrirão
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Centro de Custo é obrigatória para item {2}
{0}: {1} not found in Invoice Details table,{0}: {1} não foi encontrado na fatura Detalhes Mesa
