 (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 Entry,Contra Vale Jornal
Against Journal Entry {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 Entry,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 Entry,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 Entry,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 Entry 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 Entry,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 Entry,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 Entry 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 Entry,Vale Jornal
Journal Entry Account,Jornal Detalhe Vale
Journal Entry Account No,Jornal Detalhe folha no
Journal Entry {0} does not have account {1} or already matched,Jornal Vale {0} não tem conta {1} ou já combinava
Journal Entries {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 Entry,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 Entry',Goedkeuring datum actualisering van Journaalposten gemarkeerd als ' Bank Entry '
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 Entry,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 Entry' 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
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer Group""> toevoegen / bewerken < / a>"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> toevoegen / bewerken < / a>"
Billed,Faturado
Company,Companhia
Currency is required for Price List {0},Moeda é necessário para Preço de {0}
Default Customer Group,Grupo de Clientes padrão
Default Territory,Território padrão
Delivered,Entregue
Enable Shopping Cart,Ativar Carrinho de Compras
Go ahead and add something to your cart.,Vá em frente e acrescentar algo ao seu carrinho.
Hey! Go ahead and add an address,Ei! Vá em frente e adicionar um endereço
Invalid Billing Address,Inválido Endereço de Cobrança
Invalid Shipping Address,Inválido envio Endereço
Missing Currency Exchange Rates for {0},Falta de câmbio de moeda para {0}
Name is required,Nome é obrigatório
Not Allowed,não Permitido
Paid,betaald
Partially Billed,gedeeltelijk gefactureerde
Partially Delivered,gedeeltelijk Geleverd
Please specify a Price List which is valid for Territory,"Por favor, especifique uma lista de preços que é válido para o território"
Please specify currency in Company,"Por favor, especificar a moeda em Empresa"
Please write something,Iets schrijven aub
Please write something in subject and message!,Schrijf iets in het onderwerp en een bericht !
Price List,Lista de Preços
Price List not configured.,Lista de Preço não configurado.
Quotation Series,Série citação
Shipping Rule,Regra de envio
Shopping Cart,Carrinho de Compras
Shopping Cart Price List,Carrinho de Compras Lista de Preços
Shopping Cart Price Lists,Carrinho listas de preços
Shopping Cart Settings,Carrinho Configurações
Shopping Cart Shipping Rule,Carrinho de Compras Rule envio
Shopping Cart Shipping Rules,Carrinho Regras frete
Shopping Cart Taxes and Charges Master,Carrinho impostos e taxas Mestre
Shopping Cart Taxes and Charges Masters,Carrinho Impostos e Taxas de mestrado
Something went wrong!,Algo deu errado!
Something went wrong.,Algo deu errado.
Tax Master,Imposto de Mestre
To Pay,te betalen
Updated,Atualizado
You are not allowed to reply to this ticket.,Het is niet toegestaan ​​om te reageren op dit kaartje .
You need to be logged in to view your cart.,Você precisa estar logado para ver seu carrinho.
You need to enable Shopping Cart,Você precisa habilitar o Carrinho de Compras
{0} cannot be purchased using Shopping Cart,{0} não pode ser comprado usando Carrinho de Compras
{0} is required,{0} é necessária
{0} {1} has a common territory {2},{0} {1} tem um território comum {2}
