 (Half Day),(Medio día)
 and year: ,y el año:
""" does not exists","""No existe"
%  Delivered,Entregado %
% Amount Billed,% Importe Anunciado
% Billed,% Anunciado
% Completed,% completado
% Delivered,Entregado %
% Installed,instalado %
% Received,% Recibido
% of materials billed against this Purchase Order.,% De materiales facturados contra esta orden de compra .
% of materials billed against this Sales Order,% De materiales facturados contra esta Orden de Venta
% of materials delivered against this Delivery Note,% De los materiales entregados en contra de esta nota de entrega
% of materials delivered against this Sales Order,% De los materiales entregados en contra de esta Orden de Venta
% of materials ordered against this Material Request,% De materiales ordenados en contra de esta demanda de materiales
% of materials received against this Purchase Order,% Del material recibido en contra de esta orden de compra
'Actual Start Date' can not be greater than 'Actual End Date',"' Fecha de Comienzo real ' no puede ser mayor que ' Actual Fecha de finalización """
'Based On' and 'Group By' can not be same,"""Basado en "" y "" Agrupar por "" no puede ser el mismo"
'Days Since Last Order' must be greater than or equal to zero,' Días desde el último pedido ' debe ser mayor o igual a cero
'Entries' cannot be empty,' Comentarios ' no puede estar vacío
'Expected Start Date' can not be greater than 'Expected End Date',"'Fecha de inicio esperaba' no puede ser mayor que ' esperada Fecha de finalización """
'From Date' is required,"' A partir de la fecha "" se requiere"
'From Date' must be after 'To Date',"' A partir de la fecha "" debe ser después de ' A Fecha '"
'Has Serial No' can not be 'Yes' for non-stock item,"""No tiene de serie 'no puede ser ' Sí ' para la falta de valores"
'Notification Email Addresses' not specified for recurring invoice,"«Notificación Direcciones de correo electrónico "" no especificadas para la factura recurrente"
'Profit and Loss' type account {0} not allowed in Opening Entry,""" Pérdidas y Ganancias "" tipo de cuenta {0} no se permite la entrada con apertura"
'To Case No.' cannot be less than 'From Case No.',' Para el caso núm ' no puede ser inferior a ' De Caso No. '
'To Date' is required,""" Hasta la fecha "" se requiere"
'Update Stock' for Sales Invoice {0} must be set,"'Actualización de la "" factura de venta para {0} debe ajustarse"
* Will be calculated in the transaction.,* Se calculará en la transacción.
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,"1 moneda = [?] Fracción  Por ejemplo, 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 mantener el código del artículo sabia cliente y para efectuar búsquedas en ellos en función de su uso de código de esta opción
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer grupo""> Añadir / Editar < / a>"
"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item Group""> Añadir / Editar < / a>"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> Añadir / Editar < / 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> defecto plantilla </ h4>  <p> Usos <a href=""http://jinja.pocoo.org/docs/templates/""> Jinja plantillas </ a> y todos los campos de la Dirección ( incluyendo campos personalizados en su caso) estará disponible </ p>  <pre> <code> {{}} address_line1 <br>  {% if address_line2%} {{}} address_line2 <br> { endif% -%}  {{city}} <br>  {% if estado%} {{Estado}} {% endif <br> -%}  {% if%} pincode PIN: {{pincode}} {% endif <br> -%}  {{país}} <br>  {% if%} de teléfono Teléfono: {{phone}} {<br> endif% -%}  {% if%} fax Fax: {{fax}} {% endif <br> -%}  {% if%} email_ID Email: {{}} email_ID <br> ; {% endif -%}  </ code> </ pre>"
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Existe un Grupo de Clientes con el mismo nombre, por favor cambie el nombre del Cliente o cambie el nombre del Grupo de Clientes"
A Customer exists with same name,Existe un Cliente con el mismo nombre
A Lead with this email id should exist,Una Iniciativa con este correo electrónico debería existir
A Product or Service,Un Producto o Servicio
A Supplier exists with same name,Existe un Proveedor con el mismo nombre
A symbol for this currency. For e.g. $,"Un símbolo para esta moneda. Por ejemplo, $"
AMC Expiry Date,AMC Fecha de caducidad
Abbr,Abrev
Abbreviation cannot have more than 5 characters,Abreviatura no puede tener más de 5 caracteres
Above Value,Valor Superior
Absent,Ausente
Acceptance Criteria,Criterios de Aceptación
Accepted,Aceptado
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Cantidad Aceptada + Rechazada debe ser igual a la cantidad Recibida por el Artículo {0}
Accepted Quantity,Cantidad Aceptada
Accepted Warehouse,Almacén Aceptado
Account,Cuenta
Account Balance,Balance de la Cuenta
Account Created: {0},Cuenta Creada: {0}
Account Details,Detalles de la Cuenta
Account Head,cuenta Head
Account Name,Nombre de la Cuenta
Account Type,Tipo de Cuenta
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Balance de la cuenta ya en Crédito, no le está permitido establecer 'Balance Debe Ser' como 'Débito'"
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Balance de la cuenta ya en Débito, no le está permitido establecer ""Balance Debe Ser"" como ""Crédito"""
Account for the warehouse (Perpetual Inventory) will be created under this Account.,Cuenta para el almacén ( Inventario Permanente ) se creará en esta Cuenta.
Account head {0} created,Cabeza de cuenta {0} creado
Account must be a balance sheet account,La cuenta debe ser una cuenta de balance
Account with child nodes cannot be converted to ledger,Cuenta con nodos hijos no se puede convertir a cuentas del libro mayor
Account with existing transaction can not be converted to group.,Cuenta con transacción existente no se puede convertir al grupo.
Account with existing transaction can not be deleted,Cuenta con transacción existente no se puede eliminar
Account with existing transaction cannot be converted to ledger,Cuenta con una transacción existente no se puede convertir en el libro mayor
Account {0} cannot be a Group,Cuenta {0} no puede ser un Grupo
Account {0} does not belong to Company {1},Cuenta {0} no pertenece a la Compañía {1}
Account {0} does not belong to company: {1},Cuenta {0} no pertenece a la compañía: {1}
Account {0} does not exist,Cuenta {0} no existe
Account {0} has been entered more than once for fiscal year {1},Cuenta {0} se ha introducido más de una vez para el año fiscal {1}
Account {0} is frozen,Cuenta {0} está congelada
Account {0} is inactive,Cuenta {0} está inactiva
Account {0} is not valid,Cuenta {0} no es válida
Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item,Cuenta {0} debe ser de tipo 'Activos Fijos' porque Artículo {1} es un Elemento de Activo Fijo
Account {0}: Parent account {1} can not be a ledger,Cuenta {0}: Cuenta Padre {1} no puede ser una cuenta Mayor
Account {0}: Parent account {1} does not belong to company: {2},Cuenta {0}: Cuenta Padre {1} no pertenece a la compañía: {2}
Account {0}: Parent account {1} does not exist,Cuenta {0}: Cuenta Padre {1} no existe
Account {0}: You can not assign itself as parent account,Cuenta {0}: no puede asignar la misma cuenta como su cuenta Padre.
Account: {0} can only be updated via \					Stock Transactions,Cuenta: {0} sólo puede ser actualizado a través de \ Transacciones de Inventario
Accountant,Contador
Accounting,Contabilidad
"Accounting Entries can be made against leaf nodes, called","Asientos contables pueden ser hechos contra cuentas de detalle, llamada"
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.",Asiento contable congelado actualmente ; nadie puede modificar el asiento  excepto el rol que se especifica a continuación .
Accounting journal entries.,Entradas de diario de contabilidad.
Accounts,Cuentas
Accounts Browser,Navegador de Cuentas
Accounts Frozen Upto,Cuentas Congeladas Hasta
Accounts Payable,Cuentas por Pagar
Accounts Receivable,Cuentas por Cobrar
Accounts Settings,Configuración de Cuentas
Active,Activo
Active: Will extract emails from ,Activo: Extraerá correos electrónicos de
Activity,Actividad
Activity Log,Registro de Actividad
Activity Log:,Registro de Actividad:
Activity Type,Tipo de Actividad
Actual,Real
Actual Budget,Presupuesto Real
Actual Completion Date,Fecha Real de Terminación
Actual Date,Fecha Real
Actual End Date,Fecha Real de Finalización
Actual Invoice Date,Fecha Real de Factura
Actual Posting Date,Fecha Real de Envío
Actual Qty,Cantidad Real
Actual Qty (at source/target),Cantidad Real (en origen/destino)
Actual Qty After Transaction,Cantidad Real Después de la Transacción
Actual Qty: Quantity available in the warehouse.,Cantidad Actual: Cantidad disponible en el almacén.
Actual Quantity,Cantidad Real
Actual Start Date,Fecha de Comienzo Real
Add,Añadir
Add / Edit Taxes and Charges,Añadir / Editar Impuestos y Cargos
Add Child,Añadir Hijo
Add Serial No,Añadir Número de Serie
Add Taxes,Añadir Impuestos
Add Taxes and Charges,Añadir Impuestos y Cargos
Add or Deduct,Agregar o Deducir
Add rows to set annual budgets on Accounts.,Añadir filas para establecer los presupuestos anuales de las Cuentas .
Add to Cart,Añadir a la Cesta
Add to calendar on this date,Añadir al calendario en esta fecha
Add/Remove Recipients,Añadir / Quitar Destinatarios
Address,Dirección
Address & Contact,Dirección y Contacto
Address & Contacts,Dirección y Contactos
Address Desc,Dirección descripción
Address Details,Detalles de las Direcciones
Address HTML,Dirección HTML
Address Line 1,Dirección Línea 1
Address Line 2,Dirección Línea 2
Address Template,Plantilla de Direcciones
Address Title,Dirección Título
Address Title is mandatory.,Dirección Título es obligatorio.
Address Type,Tipo de dirección
Address master.,Dirección Principal.
Administrative Expenses,Gastos de Administración
Administrative Officer,Oficial Administrativo
Advance Amount,Cantidad Anticipada
Advance amount,cantidad anticipada
Advances,Anticipos
Advertisement,Anuncio
Advertising,Publicidad
Aerospace,Aeroespacial
After Sale Installations,Instalaciones Post Venta
Against,Contra
Against Account,Contra Cuenta
Against Bill {0} dated {1},Contra Factura {0} de fecha {1}
Against Docname,contra docName
Against Doctype,contra Doctype
Against Document Detail No,Contra Detalle documento n
Against Document No,Contra el Documento No
Against Expense Account,Contra la Cuenta de Gastos
Against Income Account,Contra la Cuenta de Utilidad
Against Journal Entry,Contra Comprobante de Diario
Against Journal Entry {0} does not have any unmatched {1} entry,Contra Comprobante de Diario {0} aún no tiene {1} entrada asignada
Against Purchase Invoice,Contra la Factura de Compra
Against Sales Invoice,Contra la Factura de Venta
Against Sales Order,Contra la Orden de Venta
Against Voucher,Contra Comprobante
Against Voucher Type,Contra Comprobante Tipo
Ageing Based On,Envejecimiento Basado En
Ageing Date is mandatory for opening entry,Envejecimiento Fecha es obligatorio para la apertura de la entrada
Ageing date is mandatory for opening entry,Fecha Envejecer es obligatorio para la apertura de la entrada
Agent,Agente
Aging Date,Fecha Envejecimiento
Aging Date is mandatory for opening entry,El envejecimiento de la fecha es obligatoria para la apertura de la entrada
Agriculture,Agricultura
Airline,Línea Aérea
All Addresses.,Todas las Direcciones .
All Contact,Todos los Contactos
All Contacts.,Todos los Contactos .
All Customer Contact,Todos Contactos de Clientes
All Customer Groups,Todos los Grupos de Clientes
All Day,Todo el Día
All Employee (Active),Todos los Empleados (Activos)
All Item Groups,Todos los Grupos de Artículos
All Lead (Open),Todas las Oportunidades (Abiertas)
All Products or Services.,Todos los Productos o Servicios .
All Sales Partner Contact,Todo Punto de Contacto de Venta
All Sales Person,Todos Ventas de Ventas
All Supplier Contact,Todos Contactos de Proveedores
All Supplier Types,Todos los Tipos de proveedores
All Territories,Todos los Territorios
"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 los Campos relacionados a exportaciones como moneda , tasa de conversión , el total de exportaciones, total general de las exportaciones , etc están disponibles en la nota de entrega , Punto de venta , cotización , factura de venta , órdenes de venta , 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 los ámbitos relacionados con la importación como la moneda , tasa de conversión , el total de las importaciones , la importación total de grand etc están disponibles en recibo de compra , proveedor de cotización , factura de compra , orden de compra , etc"
All items have already been invoiced,Todos los artículos que ya se han facturado
All these items have already been invoiced,Todos estos elementos ya fueron facturados
Allocate,Asignar
Allocate leaves for a period.,Asignar las hojas por un período .
Allocate leaves for the year.,Asignar las hojas para el año.
Allocated Amount,Monto Asignado
Allocated Budget,Presupuesto Asignado
Allocated amount,cantidad asignada
Allocated amount can not be negative,Monto asignado no puede ser negativo
Allocated amount can not greater than unadusted amount,Monto asignado no puede superar el importe en unadusted
Allow Bill of Materials,Permitir lista de materiales
Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item,"Permita que la lista de materiales debe ser ""Sí"" . Debido a que una o varias listas de materiales activos presentes para este artículo"
Allow Children,Permitir Niños
Allow Dropbox Access,Permitir Acceso a Dropbox
Allow Google Drive Access,Permitir Acceso a Google Drive
Allow Negative Balance,Permitir Saldo Negativo
Allow Negative Stock,Permitir Inventario Negativo
Allow Production Order,Permitir Orden de Producción
Allow User,Permitir al usuario
Allow Users,Permitir que los usuarios
Allow the following users to approve Leave Applications for block days.,Permitir a los usuarios siguientes para aprobar solicitudes Dejar de días de bloque.
Allow user to edit Price List Rate in transactions,Permitir al usuario editar Precio de Lista  en las transacciones
Allowance Percent,Porcentaje de Asignación
Allowance for over-{0} crossed for Item {1},Previsión por exceso de {0} cruzados por artículo {1}
Allowance for over-{0} crossed for Item {1}.,Previsión por exceso de {0} cruzado para el punto {1}.
Allowed Role to Edit Entries Before Frozen Date,Permitir al Rol editar las entradas antes de la Fecha de Cierre
Amended From,Modificado Desde
Amount,Cantidad
Amount (Company Currency),Importe ( Compañía de divisas )
Amount Paid,Total Pagado
Amount to Bill,Monto a Facturar
An Customer exists with same name,Existe un cliente con el mismo nombre
"An Item Group exists with same name, please change the item name or rename the item group","Existe un grupo de elementos con el mismo nombre , por favor, cambie el nombre del artículo , o cambiar el nombre del grupo de artículos"
"An item exists with same name ({0}), please change the item group name or rename the item","Existe un elemento con el mismo nombre ({0} ) , cambie el nombre del grupo de artículos o cambiar el nombre del elemento"
Analyst,Analista
Annual,Anual
Another Period Closing Entry {0} has been made after {1},Otra entrada de Cierre de Período {0} se ha hecho después de {1}
Another Salary Structure {0} is active for employee {0}. Please make its status 'Inactive' to proceed.,"Otra estructura salarial {0} está activa para empleado {0} . Por favor marque "" Inactivo "" para proceder ."
"Any other comments, noteworthy effort that should go in the records.","Cualquier otro comentario , notable esfuerzo que debe ir en los registros ."
Apparel & Accessories,Ropa y Accesorios
Applicability,Aplicable
Applicable For,Aplicable para
Applicable Holiday List,Lista de Días Feriados Aplicable
Applicable Territory,Territorio Aplicable
Applicable To (Designation),Aplicables a (Denominación )
Applicable To (Employee),Aplicable a ( Empleado )
Applicable To (Role),Aplicable a (Rol )
Applicable To (User),Aplicable a (Usuario)
Applicant Name,Nombre del Solicitante
Applicant for a Job.,Solicitante de empleo .
Application of Funds (Assets),Aplicación de Fondos (Activos )
Applications for leave.,Las solicitudes de licencia .
Applies to Company,Se aplica a la empresa
Apply On,Aplique En
Appraisal,Evaluación
Appraisal Goal,Evaluación Meta
Appraisal Goals,Objetivos de la valoración
Appraisal Template,Plantilla de Evaluación
Appraisal Template Goal,Objetivo Plantilla de Evaluación
Appraisal Template Title,Titulo de la Plantilla deEvaluación
Appraisal {0} created for Employee {1} in the given date range,Evaluación {0} creado por Empleado {1} en el rango de fechas determinado
Apprentice,Aprendiz
Approval Status,Estado de Aprobación
Approval Status must be 'Approved' or 'Rejected',"Estado de aprobación debe ser "" Aprobado "" o "" Rechazado """
Approved,Aprobado
Approver,aprobador
Approving Role,Aprobar Rol
Approving Role cannot be same as role the rule is Applicable To,Aprobar rol no puede ser igual que el papel de la regla es aplicable a
Approving User,Aprobar Usuario
Approving User cannot be same as user the rule is Applicable To,Aprobar usuario no puede ser igual que el usuario que la regla es aplicable a
Are you sure you want to STOP ,¿Esta seguro de que quiere DETENER?
Are you sure you want to UNSTOP ,¿Esta seguro de que quiere CONTINUAR?
Arrear Amount,Monto Mora
"As Production Order can be made for this item, it must be a stock item.","Como orden de producción puede hacerse por este concepto , debe ser un elemento de serie ."
As per Stock UOM,Según Stock UOM
"As there are existing stock transactions for this item, you can not change the values of 'Has Serial No', 'Is Stock Item' and 'Valuation Method'","Como hay transacciones de acciones existentes para este artículo , no se puede cambiar los valores de ""no tiene de serie ',' Is Stock Punto "" y "" Método de valoración '"
Asset,Activo
Assistant,Asistente
Associate,Asociado
Atleast one of the Selling or Buying must be selected,Al menos uno de la venta o compra debe seleccionar
Atleast one warehouse is mandatory,Al menos un almacén es obligatorio
Attach Image,Adjuntar Imagen
Attach Letterhead,Adjuntar Membrete
Attach Logo,Adjunte Logo
Attach Your Picture,Adjunte su Fotografía 
Attendance,Asistencia
Attendance Date,Fecha de Asistencia
Attendance Details,Datos de Asistencia
Attendance From Date,Asistencia De Fecha
Attendance From Date and Attendance To Date is mandatory,Asistencia Desde Fecha y Hasta Fecha de Asistencia es obligatoria
Attendance To Date,Asistencia a la fecha
Attendance can not be marked for future dates,La asistencia no se puede marcar para fechas futuras
Attendance for employee {0} is already marked,Asistencia para el empleado {0} ya está marcado
Attendance record.,Registro de Asistencia .
Authorization Control,Control de Autorización
Authorization Rule,Regla de Autorización
Auto Accounting For Stock Settings,Contabilidad Automatica para la Configuración de Inventario
Auto Material Request,Solicitud de Materiales Automatica
Auto-raise Material Request if quantity goes below re-order level in a warehouse,Generar Automaticamente Solicitud de Material si la cantidad está por debajo de nivel para solicitar nueva compra en un almacén
Automatically compose message on submission of transactions.,Componer automáticamente el mensaje en la presentación de las transacciones.
Automatically extract Job Applicants from a mail box ,Extraer automáticamente candidatos del buzón de correo.
Automatically extract Leads from a mail box e.g.,"Extraer automáticamente oportunidades de un buzón de correo electrónico , por ejemplo,"
Automatically updated via Stock Entry of type Manufacture/Repack,Actualiza automáticamente a través de la Entrada de Almacen si es tipo Fabricación / Reparación
Automotive,Automotor
Autoreply when a new mail is received,Respuesta automática cuando se recibe un nuevo correo
Available,Disponible
Available Qty at Warehouse,Cantidad Disponible en Almacén
Available Stock for Packing Items,Inventario Disponible de Artículos de Embalaje
"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Disponible en la lista de materiales , albarán, factura de compra , orden de fabricación , orden de compra , recibo de compra , factura de venta , pedidos de venta , inventario de entrada, parte de horas"
Average Age,Edad Promedio
Average Commission Rate,Tasa de Comisión Promedio
Average Discount,Descuento Promedio
Awesome Products,Productos Increíbles 
Awesome Services,Servicios Impresionantes 
BOM Detail No,Detalle BOM No
BOM Explosion Item,BOM Explosion Artículo
BOM Item,BOM artículo
BOM No,BOM No
BOM No. for a Finished Good Item,BOM N º de producto terminado artículo
BOM Operation,BOM Operación
BOM Operations,Operaciones BOM
BOM Replace Tool,BOM Replace Tool
BOM number is required for manufactured Item {0} in row {1},Se requiere el número de lista de materiales para el artículo manufacturado {0} en la fila {1}
BOM number not allowed for non-manufactured Item {0} in row {1},Número de la lista de materiales no autorizados para la partida no manufacturado {0} en la fila {1}
BOM recursion: {0} cannot be parent or child of {2},BOM recursividad : {0} no puede ser padre o hijo de {2}
BOM replaced,BOM reemplazado
BOM {0} for Item {1} in row {2} is inactive or not submitted,BOM {0} para el artículo {1} en la fila {2} está inactivo o no presentado
BOM {0} is not active or not submitted,BOM {0} no está activo o no presentado
BOM {0} is not submitted or inactive BOM for Item {1},BOM {0} no se presenta o inactivo lista de materiales para el elemento {1}
Backup Manager,Administrador de Respaldos
Backup Right Now,Respaldar Ya
Backups will be uploaded to,Respaldos serán subidos a
Balance Qty,Cantidad en Balance
Balance Sheet,Hoja de Balance
Balance Value,Valor de Balance
Balance for Account {0} must always be {1},Balance de Cuenta {0} debe ser siempre {1}
Balance must be,Balance debe ser
"Balances of Accounts of type ""Bank"" or ""Cash""","Los Balances de Cuentas de tipo ""Banco"" o ""Efectivo"""
Bank,Banco
Bank / Cash Account,Cuenta de Banco / Efectivo
Bank A/C No.,Número de Cuenta de Banco
Bank Account,Cuenta Bancaria
Bank Account No.,Número de Cuenta Bancaria
Bank Accounts,Cuentas Bancarias
Bank Clearance Summary,Resumen de Liquidación del Banco
Bank Draft,Cheque de Gerencia
Bank Name,Nombre del Banco
Bank Overdraft Account,Cuenta Crédito en Cuenta Corriente
Bank Reconciliation,Conciliación Bancaria
Bank Reconciliation Detail,Detalle de Conciliación Bancaria
Bank Reconciliation Statement,Declaración de Conciliación Bancaria
Bank Entry,Banco de Vales
Bank/Cash Balance,Banco / Balance de Caja
Banking,Banca
Barcode,Código de Barras
Barcode {0} already used in Item {1},Código de Barras {0} ya se utiliza en el elemento {1}
Based On,Basado en
Basic,Básico
Basic Info,Información Básica
Basic Information,Datos Básicos
Basic Rate,Tasa Básica
Basic Rate (Company Currency),Basic Rate ( Compañía de divisas )
Batch,Lote
Batch (lot) of an Item.,Batch (lote ) de un elemento .
Batch Finished Date,Fecha de terminacion de lote
Batch ID,ID de lote
Batch No,Lote Nro
Batch Started Date,Fecha de inicio de lote
Batch Time Logs for billing.,Registros de tiempo de lotes para la facturación .
Batch-Wise Balance History,Batch- Wise Historial de saldo
Batched for Billing,Lotes para facturar
Better Prospects,Mejores Prospectos
Bill Date,Fecha de Factura
Bill No,Factura No
Bill No {0} already booked in Purchase Invoice {1},Número de Factura {0} ya está reservado en Factura de Compra {1}
Bill of Material,Lista de Materiales
Bill of Material to be considered for manufacturing,Lista de materiales para ser considerado para la fabricación
Bill of Materials (BOM),Lista de Materiales (BOM )
Billable,Facturable
Billed,Facturado
Billed Amount,Importe Facturado
Billed Amt,Imp Facturado
Billing,Facturación
Billing Address,Dirección de Facturación
Billing Address Name,Dirección de Facturación Nombre
Billing Status,Estado de Facturación
Bills raised by Suppliers.,Bills planteadas por los proveedores.
Bills raised to Customers.,Bills planteadas a los clientes.
Bin,Papelera
Bio,Bio
Biotechnology,Biotecnología
Birthday,Cumpleaños
Block Date,Bloquear Fecha
Block Days,Bloquear Días
Block leave applications by department.,Bloquee aplicaciones de permiso por departamento.
Blog Post,Entrada en el Blog
Blog Subscriber,Suscriptor del Blog
Blood Group,Grupos Sanguíneos
Both Warehouse must belong to same Company,Ambos Almacenes deben pertenecer a una misma empresa
Box,Caja
Branch,Rama
Brand,Marca
Brand Name,Marca
Brand master.,Marca Maestra
Brands,Marcas
Breakdown,Desglose
Broadcasting,Radiodifusión
Brokerage,Brokerage
Budget,Presupuesto
Budget Allocated,Presupuesto asignado
Budget Detail,Detalle del Presupuesto
Budget Details,Presupuesto detalles
Budget Distribution,Presupuesto de Distribución
Budget Distribution Detail,Detalle Presupuesto Distribución
Budget Distribution Details,Detalles Presupuesto de Distribución
Budget Variance Report,Informe de  Varianza en el Presupuesto 
Budget cannot be set for Group Cost Centers,El presupuesto no se puede establecer para Centros de costes del Grupo
Build Report,Construir Informe
Bundle items at time of sale.,Agrupe elementos en el momento de la venta.
Business Development Manager,Gerente de Desarrollo de Negocios
Buying,Compra
Buying & Selling,Compra y Venta
Buying Amount,Importe de Compra
Buying Settings,Ajustes de Compras
"Buying must be checked, if Applicable For is selected as {0}","Compra debe comprobar, si se selecciona aplicable Para que {0}"
C-Form,C - Forma
C-Form Applicable,C -Form Aplicable
C-Form Invoice Detail,Detalle C -Form Factura
C-Form No,C -Form No
C-Form records,Registros C -Form
CENVAT Capital Goods,CENVAT Bienes de Capital
CENVAT Edu Cess,CENVAT Edu Cess
CENVAT SHE Cess,CENVAT SHE Cess
CENVAT Service Tax,CENVAT Tax Service
CENVAT Service Tax Cess 1,Servicio CENVAT Impuesto Cess 1
CENVAT Service Tax Cess 2,Servicio CENVAT Impuesto Cess 2
Calculate Based On,Calcular basado en
Calculate Total Score,Calcular Puntaje Total
Calendar Events,Calendario de Eventos
Call,Llamada
Calls,Llamadas
Campaign,Campaña
Campaign Name,Nombre de la campaña
Campaign Name is required,Es necesario ingresar el nombre  de la Campaña 
Campaign Naming By,Nombramiento de la Campaña Por
Campaign-.####,Campaña-.#### 
Can be approved by {0},Puede ser aprobado por {0}
"Can not filter based on Account, if grouped by Account","No se puede filtrar en función de la cuenta , si se agrupan por cuenta"
"Can not filter based on Voucher No, if grouped by Voucher","No se puede filtrar en función del número de comprobante, si esta agrupado por número de comprobante"
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',"Puede referirse a la fila sólo si el tipo de cargo es 'Sobre el importe de la fila anterior""o"" Total de la Fila Anterior"""
Cancel Material Visit {0} before cancelling this Customer Issue,Cancelar material Visita {0} antes de cancelar esta edición al Cliente
Cancel Material Visits {0} before cancelling this Maintenance Visit,Cancelar Visitas Materiales {0} antes de cancelar el Mantenimiento Visita
Cancelled,Cancelado
Cancelling this Stock Reconciliation will nullify its effect.,Cancelando esta Conciliación de Inventario anulará su efecto.
Cannot Cancel Opportunity as Quotation Exists,No se puede cancelar Oportunidad mientras existe una Cotización
Cannot approve leave as you are not authorized to approve leaves on Block Dates,"No se puede permitir la aprobación, ya que no está autorizado para aprobar sobre fechas bloqueadas"
Cannot cancel because Employee {0} is already approved for {1},No se puede cancelar porque Empleado {0} ya está aprobado para {1}
Cannot cancel because submitted Stock Entry {0} exists,No se puede cancelar debido a la entrada Stock presentado {0} existe
Cannot carry forward {0},No se puede llevar adelante {0}
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,No se puede cambiar la Fecha de Inicio del Año Fiscal y la Fecha de Finalización del Año Fiscal una vez que el Año Fiscal se ha guardado.
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","No se puede cambiar la moneda por defecto de la empresa, porque existen operaciones existentes. Las transacciones deben ser canceladas para cambiar la moneda por defecto."
Cannot convert Cost Center to ledger as it has child nodes,"No se puede convertir de Centros de Costos a una cuenta del Libro de Mayor , ya que tiene nodos secundarios"
Cannot covert to Group because Master Type or Account Type is selected.,No se puede convertir a Grupo porque se seleccionó Tipo Maestro o Tipo de Cuenta.
Cannot deactive or cancle BOM as it is linked with other BOMs,No se puede desactivar o cancelar la lista de materiales (BOM) ya que está vinculado con otras listas de materiales
"Cannot declare as lost, because Quotation has been made.","No se puede declarar como perdido , porque la Cotización ha sido hecha."
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',No se puede deducir cuando categoría es para ' Valoración ' o ' de Valoración y Total '
"Cannot delete Serial No {0} in stock. First remove from stock, then delete.","No se puede eliminar Nº de Serie {0} en stock . Primero elimine del stock, y a continuación elimine ."
"Cannot directly set amount. For 'Actual' charge type, use the rate field","No se puede establecer directamente cantidad . Para el tipo de carga ' real ' , utilice el campo Velocidad"
"Cannot overbill for Item {0} in row {0} more than {1}. To allow overbilling, please set in Stock Settings","No se puede facturas de mas para el producto {0} en la fila {0} más {1}. Para permitir la facturación excesiva, configure en Ajustes de Inventario"
Cannot produce more Item {0} than Sales Order quantity {1},No se puede producir más artículo {0} que en la cantidad de pedidos de cliente {1}
Cannot refer row number greater than or equal to current row number for this Charge type,No se puede hacer referencia número de la fila superior o igual al número de fila actual de este tipo de carga
Cannot return more than {0} for Item {1},No se puede devolver más de {0} para el artículo {1}
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,No se puede seleccionar el tipo de cargo como 'Importe en Fila Anterior' o ' Total en Fila Anterior' dentro de la primera fila
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,"No se puede seleccionar el tipo de carga como 'On Fila Anterior Importe ' o ' En Fila Anterior Total "" para la valoración. Sólo puede seleccionar la opción ""Total"" para la cantidad fila anterior o siguiente de filas total"
Cannot set as Lost as Sales Order is made.,No se puede definir tan perdido como está hecha de órdenes de venta .
Cannot set authorization on basis of Discount for {0},No se puede establecer la autorización sobre la base de Descuento para {0}
Capacity,Capacidad
Capacity Units,Unidades de Capacidad
Capital Account,Cuenta de Capital
Capital Equipments,Equipos de capitales
Carry Forward,Llevar adelante
Carry Forwarded Leaves,Llevar Hojas reenviados
Case No(s) already in use. Try from Case No {0},Nº de Caso ya en uso. Intente Nº de  Caso {0}
Case No. cannot be 0,Nº de Caso no puede ser 0
Cash,Efectivo
Cash In Hand,Efectivo Disponible
Cash Entry,Comprobante de Efectivo
Cash or Bank Account is mandatory for making payment entry,Cuenta de Efectivo o Cuenta Bancaria es obligatoria para hacer una entrada de pago
Cash/Bank Account,Cuenta de Caja / Banco
Casual Leave,Permiso Temporal
Cell Number,Número de la célula
Change UOM for an Item.,Cambie UOM para un artículo .
Change the starting / current sequence number of an existing series.,Cambie el número de secuencia de inicio / actual de una serie existente .
Channel Partner,Canal de Socio
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Cargo del tipo ' real ' en la fila {0} no puede ser incluido en el Punto de Cambio
Chargeable,Cobrable
Charity and Donations,Caridad y Donaciones
Chart Name,Nombre del Gráfico
Chart of Accounts,Plan General de Contabilidad
Chart of Cost Centers,Gráfico de Centros de Costos
Check how the newsletter looks in an email by sending it to your email.,Comprobar como el boletín se ve en un correo electrónico enviándolo a su correo electrónico .
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Marque si es factura periódica, desmarque para detener periodicidad o poner una Fecha de Fin apropiada"
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Marque si necesita facturas periódicas automáticas. Después del envio de cualquier factura de venta , la sección de periodicidad será visible."
Check if you want to send salary slip in mail to each employee while submitting salary slip,"Marque si usted desea enviar nómina por correo a cada empleado , mientras se sube el detalle de salario"
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Seleccione esta opción si desea obligar al usuario a seleccionar una serie antes de guardar. No habrá ninguna por defecto si marca ésta .
Check this if you want to show in website,Seleccione esta opción si desea que aparezca en el sitio web
Check this to disallow fractions. (for Nos),Active esta opción para no permitir fracciones. ( para refs )
Check this to pull emails from your mailbox,Active esta opción para tirar de correos electrónicos de su buzón
Check to activate,Marque para activar
Check to make Shipping Address,Seleccione para hacer ésta la de dirección de envío
Check to make primary address,Marque para hacer ésta la dirección principal
Chemical,Químico
Cheque,Cheque
Cheque Date,Fecha del Cheque
Cheque Number,Número de Cheque
Child account exists for this account. You can not delete this account.,Cuenta secundaria existe para esta cuenta. No es posible eliminar esta cuenta.
City,Ciudad
City/Town,Ciudad/Provincia
Claim Amount,Importe de la Petición
Claims for company expense.,Peticiones para gastos de empresa.
Class / Percentage,Clase / Porcentaje
Classic,Clásico
Clear Table,Borrar la tabla
Clearance Date,Fecha de Liquidación
Clearance Date not mentioned,Fecha de Liquidación no mencionada
Clearance date cannot be before check date in row {0},Fecha de Liquidación no puede ser antes de la fecha de verificación de la fila {0}
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,"Haga clic en el botón ' Hacer la factura de venta ""para crear una nueva factura de venta ."
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.,Cerrar Balance General y el libro de pérdidas y ganancias .
Closed,Cerrado
Closing (Cr),Cierre (Cr)
Closing (Dr),Cierre (Dr)
Closing Account Head,Cierre Cuenta Principal
Closing Account {0} must be of type 'Liability',Cuenta {0} de cierre debe ser de tipo ' Responsabilidad '
Closing Date,Fecha de Cierre
Closing Fiscal Year,Cerrando el Año Fiscal
Closing Qty,Cantidad de Cierre
Closing Value,Valor de Cierre
CoA Help,CoA Ayuda
Code,Código
Cold Calling,Llamadas en frío
Color,Color
Column Break,Salto de columna
Comma separated list of email addresses,Lista separada por comas de direcciones de correo electrónico
Comment,Comentario
Comments,Comentarios
Commercial,Comercial
Commission,Comisión
Commission Rate,Comisión de Tarifas
Commission Rate (%),Comisión de Cambio (% )
Commission on Sales,Comisión de Ventas
Commission rate cannot be greater than 100,Porcentaje de comisión no puede ser superior a 100
Communication,Comunicación
Communication HTML,Comunicación HTML
Communication History,Historia de Comunicación
Communication log.,Registro de Comunicación.
Communications,Comunicaciones
Company,Compañia
Company (not Customer or Supplier) master.,Company (no cliente o proveedor ) maestro.
Company Abbreviation,Abreviatura de la empresa
Company Details,Datos de la empresa
Company Email,Email Empresa 
"Company Email ID not found, hence mail not sent","Email ID de la Empresa no encontrado, por lo tanto, correo no enviado"
Company Info,Información de la empresa
Company Name,Nombre de Compañía
Company Settings,Configuración de la compañía
Company is missing in warehouses {0},Compañía no se encuentra en los almacenes {0}
Company is required,Se requiere Compañía
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,"Los números de registro de la empresa para su referencia . Los números de registro de IVA , etc : Ejemplo"
Company registration numbers for your reference. Tax numbers etc.,"Los números de registro de la empresa para su referencia . Números fiscales, etc"
"Company, Month and Fiscal Year is mandatory","Empresa, Mes y Año Fiscal es obligatorio"
Compensatory Off,compensatorio
Complete,Completar
Complete Setup,Configuracion Completa
Completed,Completado
Completed Production Orders,Órdenes de fabricación completadas
Completed Qty,"Cantidad Completada
"
Completion Date,Fecha de Terminación
Completion Status,Estado de finalización
Computer,"Computador
"
Computers,Computadoras
Confirmation Date,Fecha Confirmación 
Confirmed orders from Customers.,Pedidos en firme de los clientes.
Consider Tax or Charge for,Considere impuesto ni un cargo por
Considered as Opening Balance,Considerado como balance de apertura
Considered as an Opening Balance,Considerado como un saldo inicial
Consultant,Consultor
Consulting,Consuloría
Consumable,Consumible
Consumable Cost,Coste de Consumibles
Consumable cost per hour,Coste de consumibles por hora
Consumed Qty,Cant. Consumida
Consumer Products,Productos de Consumo
Contact,Contacto
Contact Control,Contacto de Control
Contact Desc,Desc. de Contacto
Contact Details,Datos del Contacto
Contact Email,Correo electrónico de contacto
Contact HTML,"HTML del Contacto
"
Contact Info,Información de Contacto
Contact Mobile No,No Móvil del Contacto
Contact Name,Nombre de contacto
Contact No.,Contacto No.
Contact Person,Persona de Contacto
Contact Type,Tipo de contacto
Contact master.,Contacto (principal).
Contacts,Contactos
Content,Contenido
Content Type,Tipo de Contenido
Contra Entry,Contra Entry
Contract,Contrato
Contract End Date,Fecha Fin de Contrato
Contract End Date must be greater than Date of Joining,La Fecha de Finalización de Contrato debe ser mayor que la Fecha de la Firma
Contribution (%),Contribución (% )
Contribution to Net Total,Contribución neta total
Conversion Factor,Factor de Conversión
Conversion Factor is required,Se requiere el factor de conversión
Conversion factor cannot be in fractions,Factor de conversión no puede estar en fracciones
Conversion factor for default Unit of Measure must be 1 in row {0},Factor de conversión de unidad de medida predeterminada debe ser de 1 en la fila {0}
Conversion rate cannot be 0 or 1,La tasa de conversión no puede ser 0 o 1
Convert into Recurring Invoice,Convertir en Factura Periodica
Convert to Group,Convertir al Grupo
Convert to Ledger,Convertir a Libro de Mayor
Converted,Convertido
Copy From Item Group,Copiar de Grupo Tema
Cosmetics,Productos Cosméticos
Cost Center,Centro de Costes
Cost Center Details,Detalles del Centro de Costes
Cost Center Name,Nombre Centro de Coste
Cost Center is required for 'Profit and Loss' account {0},"Se requiere de centros de coste para la cuenta "" Pérdidas y Ganancias "" {0}"
Cost Center is required in row {0} in Taxes table for type {1},Se requiere de centros de coste en la fila {0} en la tabla Impuestos para el tipo {1}
Cost Center with existing transactions can not be converted to group,Centro de costos de las transacciones existentes no se puede convertir al grupo
Cost Center with existing transactions can not be converted to ledger,Centro de costos de las transacciones existentes no se puede convertir en el libro mayor
Cost Center {0} does not belong to Company {1},Centro de coste {0} no pertenece a la empresa {1}
Cost of Goods Sold,Costo de las Ventas
Costing,Costeo
Country,País
Country Name,Nombre del país
Country wise default Address Templates,Plantillas País sabia dirección predeterminada
"Country, Timezone and Currency","País , Zona Horaria y Moneda"
Create Bank Entry for the total salary paid for the above selected criteria,Cree Banco Vale para el salario total pagado por los criterios seleccionados anteriormente
Create Customer,Crear cliente
Create Material Requests,Crear Solicitudes de Material
Create New,Crear Nuevo
Create Opportunity,Crear Oportunidad
Create Production Orders,Crear Órdenes de Producción
Create Quotation,Crear Cotización
Create Receiver List,Crear Lista de receptores
Create Salary Slip,Crear Nómina
Create Stock Ledger Entries when you submit a Sales Invoice,Crear Ledger entradas de archivo al momento de enviar una factura de venta
"Create and manage daily, weekly and monthly email digests.","Creación y gestión de resúmenes de correo electrónico diarias , semanales y mensuales."
Create rules to restrict transactions based on values.,Crear reglas para restringir las transacciones basadas en valores .
Created By,Creado por
Creates salary slip for above mentioned criteria.,Crea nómina de los criterios antes mencionados.
Creation Date,Fecha de Creación
Creation Document No,Creación del documento No
Creation Document Type,Tipo de creación de documentos
Creation Time,Momento de la creación
Credentials,cartas credenciales
Credit,Crédito
Credit Amt,crédito Amt
Credit Card,Tarjeta de Crédito
Credit Card Entry,Vale la tarjeta de crédito
Credit Controller,Credit Controller
Credit Days,Días de Crédito
Credit Limit,Límite de Crédito
Credit Note,Nota de Crédito
Credit To,crédito Para
Currency,Divisa
Currency Exchange,Cambio de Divisas
Currency Name,Nombre de la Divisa
Currency Settings,Configuración de Moneda
Currency and Price List,Divisa y Lista de precios
Currency exchange rate master.,Maestro del tipo de cambio de divisas .
Current Address,Dirección actual
Current Address Is,La Dirección actual es
Current Assets,Activo Corriente
Current BOM,BOM actual
Current BOM and New BOM can not be same,BOM actual y Nueva BOM no pueden ser iguales
Current Fiscal Year,El año fiscal actual
Current Liabilities,pasivo exigible
Current Stock,Stock actual
Current Stock UOM,Stock actual UOM
Current Value,Valor actual
Custom,Personalizar
Custom Autoreply Message,Mensaje de autorespuesta personalizado
Custom Message,Mensaje personalizado
Customer,Cliente
Customer (Receivable) Account,Cliente ( por cobrar ) Cuenta
Customer / Item Name,Cliente / Nombre de Artículo
Customer / Lead Address,Cliente / Dirección de plomo
Customer / Lead Name,Cliente / Nombre de plomo
Customer > Customer Group > Territory,Cliente> Grupo de Clientes> Territorio
Customer Account Head,Cuenta Cliente Head
Customer Acquisition and Loyalty,Adquisición de clientes y fidelización
Customer Address,Dirección del Cliente
Customer Addresses And Contacts,Las direcciones de clientes y contactos
Customer Addresses and Contacts,Las direcciones de clientes y contactos
Customer Code,Código de Cliente
Customer Codes,Los códigos de los clientes
Customer Details,Datos del cliente
Customer Feedback,Comentarios del cliente
Customer Group,Grupo de Clientes
Customer Group / Customer,Grupo de Clientes / Clientes
Customer Group Name,Nombre del grupo del Cliente
Customer Intro,Presentación del Cliente
Customer Issue,Orden Cliente
Customer Issue against Serial No.,Orden Cliente contra el número de serie
Customer Name,Nombre del cliente
Customer Naming By,Naming Cliente Por
Customer Service,Servicio al Cliente
Customer database.,Base de datos de clientes .
Customer is required,Se requiere Cliente
Customer master.,Maestro de clientes .
Customer required for 'Customerwise Discount',Cliente requiere para ' Customerwise descuento '
Customer {0} does not belong to project {1},Cliente {0} no pertenece a proyectar {1}
Customer {0} does not exist,{0} no existe Cliente
Customer's Item Code,Código de artículo del Cliente
Customer's Purchase Order Date,Fecha de Pedido de Compra del Cliente
Customer's Purchase Order No,Nº de Pedido de Compra del Cliente
Customer's Purchase Order Number,Número de Pedido de Compra del Cliente
Customer's Vendor,Vendedor del Cliente
Customers Not Buying Since Long Time,Clientes que no han comprado desde hace mucho tiempo
Customerwise Discount,Customerwise Descuento
Customize,Personalizar
Customize the Notification,Personalice la Notificación
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,Personalizar el texto de introducción que va como una parte de ese correo electrónico. Cada transacción tiene un texto introductorio separada.
DN Detail,Detalle DN
Daily,Diario
Daily Time Log Summary,Resumen diario Hora de registro
Database Folder ID,Base de Datos de Identificación de carpetas
Database of potential customers.,Base de datos de clientes potenciales.
Date,Fecha
Date Format,Formato de la fecha
Date Of Retirement,Fecha de la jubilación
Date Of Retirement must be greater than Date of Joining,Fecha de la jubilación debe ser mayor que Fecha de acceso
Date is repeated,Fecha se repite
Date of Birth,Fecha de nacimiento
Date of Issue,Fecha de emisión
Date of Joining,Fecha de ingreso
Date of Joining must be greater than Date of Birth,Fecha de acceso debe ser mayor que Fecha de Nacimiento
Date on which lorry started from supplier warehouse,Fecha en la que se inició desde el almacén camión proveedor
Date on which lorry started from your warehouse,Fecha en la que comenzó camión de su almacén
Dates,Fechas
Days Since Last Order,Días desde el último pedido
Days for which Holidays are blocked for this department.,Días para el cual Holidays se bloquean para este departamento .
Dealer,comerciante
Debit,débito
Debit Amt,débito Amt
Debit Note,Nota de Débito
Debit To,débito para
Debit and Credit not equal for this voucher. Difference is {0}.,Débito y Crédito no es igual para este bono. La diferencia es {0} .
Deduct,deducir
Deduction,deducción
Deduction Type,Tipo Deducción
Deduction1,Deduction1
Deductions,Deducciones
Default,defecto
Default Account,cuenta predeterminada
Default Address Template cannot be deleted,Plantilla de la dirección predeterminada no puede eliminarse
Default Amount,Default Amou
Default BOM,Por defecto la lista de materiales
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,Banco de la cuenta / Cash defecto se actualizará automáticamente en el punto de venta de facturas cuando se selecciona este modo .
Default Bank Account,Cuenta bancaria por defecto
Default Buying Cost Center,Por defecto compra de centros de coste
Default Buying Price List,Por defecto Compra Lista de precios
Default Cash Account,Cuenta de Tesorería por defecto
Default Company,compañía predeterminada
Default Currency,moneda predeterminada
Default Customer Group,Grupo predeterminado Cliente
Default Expense Account,Cuenta de Gastos por defecto
Default Income Account,Cuenta de Ingresos por defecto
Default Item Group,Grupo predeterminado artículo
Default Price List,Por defecto Lista de precios
Default Purchase Account in which cost of the item will be debited.,Cuenta de Compra por defecto en la que se cargará el costo del artículo.
Default Selling Cost Center,Por defecto Venta de centros de coste
Default Settings,Configuración predeterminada
Default Source Warehouse,Origen predeterminado Almacén
Default Stock UOM,Predeterminado Stock UOM
Default Supplier,predeterminado Proveedor
Default Supplier Type,Tipo predeterminado Proveedor
Default Target Warehouse,Destino predeterminado Almacén
Default Territory,Territorio predeterminado
Default Unit of Measure,Unidad de medida predeterminada
"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.","Unidad de medida predeterminada no se puede cambiar directamente porque ya ha realizado alguna transacción ( s ) con otro UOM . Para cambiar UOM predeterminado, utilice ' UOM reemplazar utilidad ' herramienta de bajo módulo de Stock ."
Default Valuation Method,Método predeterminado de Valoración
Default Warehouse,Por defecto Almacén
Default Warehouse is mandatory for stock Item.,Por defecto Warehouse es obligatorio para stock.
Default settings for accounting transactions.,Los ajustes por defecto para las transacciones contables.
Default settings for buying transactions.,Ajustes por defecto para la compra de las transacciones .
Default settings for selling transactions.,Los ajustes por defecto para la venta de las transacciones .
Default settings for stock transactions.,Los ajustes por defecto para las transacciones bursátiles.
Defense,Defensa
"Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>","Definir Presupuesto para este centro de coste . Para configurar la acción presupuestaria, ver <a href=""#!List/Company""> Company Maestro < / a>"
Del,Sup.
Delete,Eliminar
Delete {0} {1}?,Eliminar {0} {1} ?
Delivered,liberado
Delivered Items To Be Billed,Material que se adjunta a facturar
Delivered Qty,Entregado Cantidad
Delivered Serial No {0} cannot be deleted,Entregado de serie n {0} no se puede eliminar
Delivery Date,Fecha de Entrega
Delivery Details,Detalles de la entrega
Delivery Document No,Entrega del documento No
Delivery Document Type,Tipo de documento de entrega
Delivery Note,Nota de entrega
Delivery Note Item,Nota de entrega Artículo
Delivery Note Items,Entrega Nota Los elementos
Delivery Note Message,Nota de entrega de mensajes
Delivery Note No,Entrega Nota No
Delivery Note Required,Nota de entrega requerida
Delivery Note Trends,Tendencias de entrega Nota
Delivery Note {0} is not submitted,Nota de entrega {0} no se presenta
Delivery Note {0} must not be submitted,Nota de entrega {0} no debe ser presentado
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Albaranes {0} debe ser cancelado antes de cancelar esta orden Ventas
Delivery Status,Estado del Envío
Delivery Time,Tiempo de Entrega
Delivery To,Entrega Para
Department,departamento
Department Stores,Tiendas por Departamento
Depends on LWP,Depende LWP
Depreciation,depreciación
Description,Descripción
Description HTML,Descripción HTML
Designation,designación
Designer,diseñador
Detailed Breakup of the totals,Breakup detallada de los totales
Details,Detalles
Difference (Dr - Cr),Diferencia ( Db - Cr)
Difference Account,Cuenta para la Diferencia
"Difference Account must be a 'Liability' type account, since this Stock Reconciliation is an Opening Entry","Cuenta diferencia debe ser una cuenta de tipo ' Responsabilidad ' , ya que esta Stock reconciliación es una entrada de Apertura"
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 elementos dará lugar a incorrecto ( Total) Valor neto Peso . Asegúrese de que peso neto de cada artículo esté en la misma UOM .
Direct Expenses,Gastos Directos
Direct Income,Ingreso Directo
Disable,Inhabilitar
Disable Rounded Total,Desactivar Total Redondeado
Disabled,discapacitado
Discount  %,Descuento%
Discount %,Descuento%
Discount (%),Descuento (% )
Discount Amount,Cantidad de Descuento
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Los campos descuento estará disponible en orden de compra, recibo de compra , factura de compra"
Discount Percentage,Porcentaje de Descuento
Discount Percentage can be applied either against a Price List or for all Price List.,Porcentaje de descuento puede ser aplicado ya sea en contra de una lista de precios o para toda la lista de precios.
Discount must be less than 100,El descuento debe ser inferior a 100
Discount(%),Descuento (% )
Dispatch,despacho
Display all the individual items delivered with the main items,Ver todas las partidas individuales se suministran con los elementos principales
Distribute transport overhead across items.,Distribuir por encima transporte a través de artículos.
Distribution,Distribución
Distribution Id,Id Distribución
Distribution Name,Nombre del Distribución
Distributor,Distribuidor
Divorced,divorciado
Do Not Contact,No entre en contacto
Do not show any symbol like $ etc next to currencies.,No volver a mostrar cualquier símbolo como $ etc junto a monedas.
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?,¿De verdad quiere dejar de esta demanda de materiales?
Do you really want to Submit all Salary Slip for month {0} and year {1},¿De verdad quieres a que me envíen toda la nómina para el mes {0} y {1} años
Do you really want to UNSTOP ,Do you really want to UNSTOP 
Do you really want to UNSTOP this Material Request?,¿De verdad quiere destapar esta demanda de materiales?
Do you really want to stop production order: ,Do you really want to stop production order: 
Doc Name,Nombre del documento
Doc Type,Tipo Doc.
Document Description,Descripción del Documento
Document Type,Tipo de Documento
Documents,Documentos
Domain,Dominio
Don't send Employee Birthday Reminders,No envíe Empleado Birthday Reminders
Download Materials Required,Descargar Materiales Necesarios
Download Reconcilation Data,Descarga Reconciliación de Datos
Download Template,Descargar Plantilla
Download a report containing all raw materials with their latest inventory status,Descargar un informe con todas las materias primas con su estado actual inventario
"Download the Template, fill appropriate data and attach the modified file.","Descarga la plantilla , rellenar los datos correspondientes y adjuntar el archivo 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","Descarga la plantilla, rellenar los datos correspondientes y adjuntar el archivo modificado. Todas las fechas y combinaciones de empleados en el período seleccionado vendrán en la plantilla, con los registros de asistencia existentes"
Draft,Borrador
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox Acceso mascotas
Dropbox Access Key,Clave de Acceso de Dropbox 
Dropbox Access Secret,Acceso Secreto de Dropbox
Due Date,Fecha de vencimiento
Due Date cannot be after {0},Fecha de vencimiento no puede ser posterior a {0}
Due Date cannot be before Posting Date,Fecha de vencimiento no puede ser anterior Fecha de publicación
Duplicate Entry. Please check Authorization Rule {0},"Duplicate Entry. Por favor, consulte Autorización Rule {0}"
Duplicate Serial No entered for Item {0},Duplicar Serial No entró a la partida {0}
Duplicate entry,Entrada Duplicada
Duplicate row {0} with same {1},Duplicar fila {0} con el mismo {1}
Duties and Taxes,Derechos e Impuestos
ERPNext Setup,Configuración ERPNext
Earliest,Primeras
Earnest Money,Arras / Señal
Earning,Ganancia
Earning & Deduction,Ganancia y Descuento
Earning Type,Tipo de Ganancia
Earning1,Ganancia1
Edit,Editar
Edu. Cess on Excise,Edu. Cess sobre Impuestos Especiales
Edu. Cess on Service Tax,Edu. Impuesto sobre el Servicio de Impuestos
Edu. Cess on TDS,Edu. Impuesto sobre el TDS
Education,Educación
Educational Qualification,Capacitación Académica
Educational Qualification Details,Detalles Capacitacion Académica
Eg. smsgateway.com/api/send_sms.cgi,Eg . smsgateway.com / api / send_sms.cgi
Either debit or credit amount is required for {0},Se requiere ya sea de débito o crédito para la cantidad {0}
Either target qty or target amount is mandatory,Cualquiera Cantidad de destino o importe objetivo es obligatoria
Either target qty or target amount is mandatory.,Cualquiera Cantidad de destino o importe objetivo es obligatoria.
Electrical,Eléctrico
Electricity Cost,Coste de electricidad
Electricity cost per hour,Coste de electricidad por hora
Electronics,Electrónica
Email,Email
Email Digest,boletín por correo electrónico
Email Digest Settings,Configuración de correo electrónico Digest
Email Digest: ,Email Digest: 
Email Id,Identificación del email
"Email Id where a job applicant will email e.g. ""jobs@example.com""","Email Id donde un solicitante de empleo enviará por correo electrónico , por ejemplo, "" jobs@example.com """
Email Notifications,Notificaciones por correo electrónico
Email Sent?,Enviar Email ?
"Email id must be unique, already exists for {0}","Identificación E-mail debe ser único , ya existe para {0}"
Email ids separated by commas.,ID de correo electrónico separados por comas.
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""","Configuración de correo electrónico para extraer potenciales de ventas email Identificación del ejemplo "" sales@example.com """
Emergency Contact,Contacto de Emergencia
Emergency Contact Details,Detalles de Contacto de Emergencia
Emergency Phone,Teléfono de emergencia
Employee,Empleado
Employee Birthday,Cumpleaños del Empleado
Employee Details,Detalles del Empleado
Employee Education,Educación Empleado
Employee External Work History,Historial de trabajo externo del Empleado
Employee Information,Información del Empleado
Employee Internal Work History,Historial de trabajo interno del Empleado
Employee Internal Work Historys,Empleado trabajo interno historys
Employee Leave Approver,Empleado Dejar aprobador
Employee Leave Balance,Dejar Empleado Equilibrio
Employee Name,Nombre del empleado
Employee Number,Número del empleado
Employee Records to be created by,Registros de empleados a ser creados por
Employee Settings,Configuración del Empleado
Employee Type,Tipo de Empleado
"Employee designation (e.g. CEO, Director etc.).","Cargo del empleado ( por ejemplo, director general, director , etc.)"
Employee master.,Maestro de empleados .
Employee record is created using selected field. ,Registro de empleado se crea utilizando el campo seleccionado.
Employee records.,Registros de empleados .
Employee relieved on {0} must be set as 'Left',"Empleado relevado en {0} debe definirse como ""izquierda"""
Employee {0} has already applied for {1} between {2} and {3},Empleado {0} ya se ha aplicado para {1} entre {2} y {3}
Employee {0} is not active or does not exist,Empleado {0} no está activo o no existe
Employee {0} was on leave on {1}. Cannot mark attendance.,Empleado {0} estaba de permiso en {1} . No se puede marcar la asistencia.
Employees Email Id,Empleados Email Id
Employment Details,Detalles de Empleo
Employment Type,Tipo de empleo
Enable / disable currencies.,Habilitar / deshabilitar las monedas .
Enabled,Habilitado
Encashment Date,Fecha de Cobro
End Date,Fecha Final
End Date can not be less than Start Date,Fecha Final no puede ser inferior a Fecha de Inicio
End date of current invoice's period,Fecha final del periodo de facturación actual
End of Life,Final de la Vida
Energy,Energía
Engineer,Ingeniero
Enter Verification Code,Instroduzca el Código de Verificación
Enter campaign name if the source of lead is campaign.,Introduzca nombre de la campaña si el origen de la iniciativa es una campaña .
Enter department to which this Contact belongs,Introduzca departamento al que pertenece este Contacto
Enter designation of this Contact,Introduzca designación de este contacto
"Enter email id separated by commas, invoice will be mailed automatically on particular date","Introduzca ID de correo electrónico separados por comas, la factura será enviada automáticamente en una fecha determinada"
Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,Escriba artículos y Cantidad planificada para los que desea elevar las órdenes de producción o descargar la materia prima para su análisis.
Enter name of campaign if source of enquiry is campaign,Introduzca el nombre de la campaña si el origen de la encuesta es una campaña
"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Introduzca los parámetros de URL estáticas aquí (Ej. sender = ERPNext , nombre de usuario = ERPNext , contraseña = 1234 etc )"
Enter the company name under which Account Head will be created for this Supplier,Introduzca el nombre de la empresa en virtud del cual la Cuenta Principal se creará para este proveedor
Enter url parameter for message,Introduzca el parámetro url para el mensaje
Enter url parameter for receiver nos,Introduzca el parámetro url para el receptor nos
Entertainment & Leisure,Entretenimiento y Ocio
Entertainment Expenses,Gastos de Entretenimiento
Entries,Entradas
Entries against ,Contrapartida
Entries are not allowed against this Fiscal Year if the year is closed.,"Las entradas contra de este año fiscal no están permitidas, si el ejercicio está cerrado."
Equity,equidad
Error: {0} > {1},Error: {0} > {1}
Estimated Material Cost,Coste estimado del material
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Incluso si hay varias reglas de precios con mayor prioridad, se aplican entonces siguientes prioridades internas:"
Everyone can read,Todo el mundo puede leer
"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.",". Ejemplo: ABCD # # # # #  Si la serie se establece y No de serie no se menciona en las transacciones, número de serie y luego automática se creará sobre la base de esta serie. Si siempre quiere mencionar explícitamente los números de serie para este artículo. déjelo en blanco."
Exchange Rate,Tipo de Cambio
Excise Duty 10,Impuestos Especiales 10
Excise Duty 14,Impuestos Especiales 14
Excise Duty 4,Impuestos Especiales 4
Excise Duty 8,Impuestos Especiales 8
Excise Duty @ 10,Impuestos Especiales @ 10
Excise Duty @ 14,Impuestos Especiales @ 14
Excise Duty @ 4,Impuestos Especiales @ 4
Excise Duty @ 8,Impuestos Especiales @ 8
Excise Duty Edu Cess 2,Impuestos Especiales Edu Cess 2
Excise Duty SHE Cess 1,Impuestos Especiales SHE Cess 1
Excise Page Number,Número Impuestos Especiales Página
Excise Entry,vale de Impuestos Especiales
Execution,ejecución
Executive Search,Búsqueda de Ejecutivos
Exemption Limit,Límite de Exención
Exhibition,exposición
Existing Customer,cliente existente
Exit,salida
Exit Interview Details,Detalles Exit Interview
Expected,esperado
Expected Completion Date can not be less than Project Start Date,Fecha prevista de finalización no puede ser inferior al de inicio del proyecto Fecha
Expected Date cannot be before Material Request Date,Lanzamiento no puede ser anterior material Fecha de Solicitud
Expected Delivery Date,La fecha del alumbramiento
Expected Delivery Date cannot be before Purchase Order Date,Fecha prevista de entrega no puede ser anterior Orden de Compra Fecha
Expected Delivery Date cannot be before Sales Order Date,Fecha prevista de entrega no puede ser anterior Fecha de órdenes de venta
Expected End Date,Fecha de finalización prevista
Expected Start Date,Fecha prevista de inicio
Expense,gasto
Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Cuenta de gastos / Diferencia ({0}) debe ser una cuenta de 'utilidad o pérdida """
Expense Account,cuenta de Gastos
Expense Account is mandatory,Cuenta de Gastos es obligatorio
Expense Claim,Reclamación de Gastos
Expense Claim Approved,Reclamación de Gastos Aprobado
Expense Claim Approved Message,Mensaje de Gastos Aprobado
Expense Claim Detail,Detalle de Gastos
Expense Claim Details,Detalles de la Reclamación de gastos
Expense Claim Rejected,Reclamación de Gastos Rechazados
Expense Claim Rejected Message,Mensaje de Gastos Rechazados
Expense Claim Type,Tipo de Gastos
Expense Claim has been approved.,Cuenta de gastos ha sido aprobado.
Expense Claim has been rejected.,Cuenta de gastos ha sido rechazada.
Expense Claim is pending approval. Only the Expense Approver can update status.,Cuenta de gastos está pendiente de aprobación . Sólo el aprobador de gastos se puede actualizar el estado .
Expense Date,Gasto Fecha
Expense Details,Detalles de Gastos
Expense Head,Jefe de gastos
Expense account is mandatory for item {0},Cuenta de gastos es obligatorio para el elemento {0}
Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,"Cuenta de gastos o Diferencia es obligatorio para el elemento {0} , ya que los impactos valor de las acciones en general"
Expenses,gastos
Expenses Booked,gastos Reservados
Expenses Included In Valuation,Gastos dentro de la valoración
Expenses booked for the digest period,Gastos reservado para el período de digestión
Expiry Date,Fecha de caducidad
Exports,Exportaciones
External,externo
Extract Emails,extraer correos electrónicos
FCFS Rate,FCFS Cambio
Failed: ,Error:
Family Background,antecedentes familiares
Fax,Fax
Features Setup,Características del programa de instalación
Feed,Fuente
Feed Type,Tipo de Fuente
Feedback,feedback
Female,Femenino
Fetch exploded BOM (including sub-assemblies),Fetch BOM explotado (incluyendo subconjuntos )
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","El campo disponible en la nota de entrega , la cita , la factura de venta , órdenes de venta"
Files Folder ID,Carpeta de archivos ID
Fill the form and save it,Llene el formulario y guárdelo
Filter based on customer,Filtro basado en cliente
Filter based on item,Filtrar basada en el apartado
Financial / accounting year.,Ejercicio / contabilidad.
Financial Analytics,Financial Analytics
Financial Services,Servicios Financieros
Financial Year End Date,Ejercicio Fecha de finalización
Financial Year Start Date,Ejercicio Fecha de Inicio
Finished Goods,productos terminados
First Name,Nombre
First Responded On,Primero respondió el
Fiscal Year,Año Fiscal
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Año fiscal Fecha de Inicio y Fin de ejercicio Fecha ya están establecidas en el Año Fiscal {0}
Fiscal Year Start Date and Fiscal Year End Date cannot be more than a year apart.,Año fiscal Fecha de Inicio y Fin de ejercicio La fecha no puede ser más que un año de diferencia.
Fiscal Year Start Date should not be greater than Fiscal Year End Date,Año fiscal Fecha de inicio no debe ser mayor de Fin de ejercicio Fecha
Fixed Asset,Activos Fijos
Fixed Assets,Activos Fijos
Follow via Email,Siga a través de correo electrónico
"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.","La siguiente tabla se muestran los valores si los artículos son sub - contratado. Estos valores se pueden recuperar desde el maestro de la "" Lista de materiales "" de los sub - elementos contratados."
Food,Comida
"Food, Beverage & Tobacco","Alimentos, Bebidas y Tabaco"
"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 los artículos 'BOM Ventas', bodega, Número de Serie y Lote No se considerará a partir de la tabla de ""Packing List"". Si Almacén y lotes No son las mismas para todos los elementos de embalaje para cualquier artículo 'BOM Sales', esos valores se pueden introducir en el cuadro principal del artículo, los valores se copiarán a la mesa ""Packing List""."
For Company,Para la empresa
For Employee,Para Empleados
For Employee Name,En Nombre del Empleado
For Price List,Por paquete Precio
For Production,Para Producción
For Reference Only.,Sólo como referencia .
For Sales Invoice,Para la factura de venta
For Server Side Print Formats,Para formatos de impresión del lado del servidor
For Supplier,Para Proveedor
For Warehouse,para el almacén
For Warehouse is required before Submit,Para se requiere antes de Almacén Enviar
"For e.g. 2012, 2012-13","Por ejemplo, 2012 , 2012-13"
For reference,Para referencia
For reference only.,Sólo para referencia.
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Para comodidad de los clientes , estos códigos se pueden utilizar en formatos impresos como facturas y notas de entrega"
Fraction,Fracción
Fraction Units,Unidades de fracciones
Freeze Stock Entries,Helada Stock comentarios
Freeze Stocks Older Than [Days],Congele Acciones Older Than [ días ]
Freight and Forwarding Charges,Freight Forwarding y Cargos
Friday,Viernes
From,Desde
From Bill of Materials,De la lista de materiales
From Company,De Compañía
From Currency,De moneda
From Currency and To Currency cannot be same,Desde moneda y moneda no puede ser el mismo
From Customer,De cliente
From Customer Issue,De Emisión Cliente
From Date,Desde la Fecha
From Date cannot be greater than To Date,Desde La fecha no puede ser mayor que la fecha
From Date must be before To Date,Desde la fecha debe ser antes de la fecha
From Date should be within the Fiscal Year. Assuming From Date = {0},De fecha debe estar dentro del año fiscal. Suponiendo Desde Fecha = {0}
From Delivery Note,De la nota de entrega
From Employee,De Empleado
From Lead,De la iniciativa
From Maintenance Schedule,Desde Programa de mantenimiento
From Material Request,Desde Solicitud de material
From Opportunity,De Oportunidades
From Package No.,Del Paquete N º 
From Purchase Order,De la Orden de Compra
From Purchase Receipt,Desde recibo de compra
From Quotation,desde la cotización
From Sales Order,De órdenes de venta
From Supplier Quotation,Desde la cotización del proveedor
From Time,From Time
From Value,De Valor
From and To dates required,Desde y Hasta la fecha solicitada
From value must be less than to value in row {0},De valor debe ser inferior al valor de la fila {0}
Frozen,congelado
Frozen Accounts Modifier,Frozen Accounts modificador
Fulfilled,Cumplido
Full Name,Nombre Completo
Full-time,Jornada Completa
Fully Billed,Totalmente Facturado
Fully Completed,totalmente Terminado
Fully Delivered,Totalmente Entregado
Furniture and Fixture,Muebles y Fixture
Further accounts can be made under Groups but entries can be made against Ledger,Otras cuentas se pueden hacer en Grupos pero las entradas se pueden hacer en contra de Ledger
"Further accounts can be made under Groups, but entries can be made against Ledger","Otras cuentas se pueden hacer en Grupos, pero las entradas se pueden hacer en contra de Ledger"
Further nodes can be only created under 'Group' type nodes,Sólo se pueden crear más nodos bajo nodos de tipo  ' Grupo '
GL Entry,Entrada GL
Gantt Chart,Diagrama de Gantt
Gantt chart of all tasks.,Diagrama de Gantt de todas las tareas .
Gender,Género
General,General
General Ledger,Contabilidad General
Generate Description HTML,Generar Descripción HTML
Generate Material Requests (MRP) and Production Orders.,Generar solicitudes de material ( MRP ) y de las órdenes de producción .
Generate Salary Slips,Generar Salario Slips
Generate Schedule,Generar Horario
Generates HTML to include selected image in the description,Genera HTML para incluir la imagen seleccionada en la descripción
Get Advances Paid,Cómo anticipos pagados
Get Advances Received,Cómo anticipos recibidos
Get Current Stock,Obtenga Stock actual
Get Items,Obtener Artículos
Get Items From Sales Orders,Obtener elementos De órdenes de venta
Get Items from BOM,Obtener elementos de la lista de materiales
Get Last Purchase Rate,Obtenga Última Tarifa de compra
Get Outstanding Invoices,Recibe las facturas pendientes
Get Relevant Entries,Obtenga Asientos correspondientes
Get Sales Orders,Recibe órdenes de venta
Get Specification Details,Obtenga Especificación Detalles
Get Stock and Rate,Obtenga Stock y Cambio
Get Template,Obtenga Plantilla
Get Terms and Conditions,Obtenga Términos y Condiciones
Get Unreconciled Entries,Consigue entradas no reconciliadas
Get Weekly Off Dates,Obtenga Semanal Off Fechas
"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.","Obtenga tasa de valorización y el stock disponible en la fuente del almacén / destino en la fecha mencionada publicación a tiempo . Si serializado tema, por favor, pulse este botón después de entrar nos serie."
Global Defaults,predeterminados globales
Global POS Setting {0} already created for company {1},POS Global Ajuste {0} ya creado para la compañía de {1}
Global Settings,Configuración global
"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""","Ir al grupo apropiado (por lo general de Financiación > Activos Corrientes > Cuentas Bancarias y crear una nueva cuenta contable (haciendo clic en Add Child ) de 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.","Ir al grupo apropiado (generalmente Fuente de Fondos > Pasivos actuales> Impuestos y derechos y crear una nueva cuenta contable (haciendo clic en Add Child ) de tipo "" Impuestos "" y no hablar de la tasa de impuestos ."
Goal,Meta/Objetivo
Goals,Objetivos
Goods received from Suppliers.,Productos recibidos de proveedores .
Google Drive,Google Drive
Google Drive Access Allowed,Google Drive Acceso Permitido
Government,Gobierno
Graduate,graduado
Grand Total,Gran Total
Grand Total (Company Currency),Total general ( Compañía de divisas )
"Grid ""","Grid """
Grocery,tienda de comestibles
Gross Margin %,Margen Bruto %
Gross Margin Value,Valor Margen bruto
Gross Pay,Pago bruto
Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,Importe Bruto + Pay arrear Monto + Cobro - Deducción total
Gross Profit,Utilidad Bruta
Gross Profit (%),Utilidad bruta (%)
Gross Weight,Peso Bruto
Gross Weight UOM,Bruto UOM Peso
Group,Grupo
Group by Account,Grupos por Cuenta
Group by Voucher,Grupo por Bono
Group or Ledger,Grupo o Ledger
Groups,Grupos
HR Manager,Gerente de Recursos Humanos
HR Settings,Configuración de recursos humanos
HTML / Banner that will show on the top of product list.,HTML / Banner que aparecerá en la parte superior de la lista de productos.
Half Day,Medio Día
Half Yearly,Semestral
Half-yearly,Semestral
Happy Birthday!,¡Feliz cumpleaños!
Hardware,Hardware
Has Batch No,Tiene lotes No
Has Child Node,Tiene Nodo Niño
Has Serial No,Tiene de serie n
Head of Marketing and Sales,Director de Marketing y Ventas
Header,Encabezado
Health Care,Cuidado de la Salud
Health Concerns,Preocupaciones de salud
Health Details,Detalles de la Salud
Held On,celebrada el
Help HTML,Ayuda HTML
"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Ayuda : Para vincular a otro registro en el sistema , utilice ""# Form / nota / [ Nota Nombre ]"" como la dirección URL Link. (no utilice "" http://"" )"
"Here you can maintain family details like name and occupation of parent, spouse and children","Aquí usted puede mantener los detalles de la familia como el nombre y ocupación de los padres, cónyuge e hijos"
"Here you can maintain height, weight, allergies, medical concerns etc","Aquí usted puede mantener la altura , el peso, alergias , problemas médicos , etc"
Hide Currency Symbol,Ocultar símbolo de moneda
High,alto
History In Company,Historia In Company
Hold,mantener
Holiday,fiesta
Holiday List,Lista de vacaciones
Holiday List Name,Lista de nombres de vacaciones
Holiday master.,Master de vacaciones .
Holidays,Vacaciones
Home,Casa
Host,anfitrión
"Host, Email and Password required if emails are to be pulled","Host , correo electrónico y la contraseña requerida si los correos electrónicos son para ser tirado"
Hour,Hora
Hour Rate,Hora de Cambio
Hour Rate Labour,Hora Cambio del Trabajo
Hours,Horas
How Pricing Rule is applied?,¿Cómo se aplica la Regla Precios?
How frequently?,¿Con qué frecuencia ?
"How should this currency be formatted? If not set, will use system defaults","¿Cómo se debe formatear esta moneda ? Si no se establece, utilizará valores predeterminados del sistema"
Human Resources,Recursos Humanos
Identification of the package for the delivery (for print),La identificación del paquete para la entrega (para impresión)
If Income or Expense,Si los ingresos o Egresos
If Monthly Budget Exceeded,Si Presupuesto mensual excedido
"If Sale BOM is defined, the actual BOM of the Pack is displayed as table. Available in Delivery Note and Sales Order","Si se define la venta BOM , la lista de materiales real del paquete se muestra como mesa. Disponible en la nota de entrega y órdenes de venta"
"If Supplier Part Number exists for given Item, it gets stored here","Si existe Número de pieza del proveedor relativa a determinado tema , que se almacena aquí"
If Yearly Budget Exceeded,Si el presupuesto anual ha superado el
"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.","Si se selecciona, la lista de materiales para los elementos de sub-ensamble será considerado para conseguir materias primas. De lo contrario , todos los elementos de sub-ensamble serán tratados como materia prima ."
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Si se marca , no total . de días de trabajo se incluirán los días , y esto reducirá el valor del salario por día"
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Si se marca, el importe del impuesto se considerará como ya incluido en el Monto Imprimir Vota / Imprimir"
If different than customer address,Si es diferente a la dirección del cliente
"If disable, 'Rounded Total' field will not be visible in any transaction","Si desactiva , el campo "" Total redondeado ' no será visible en cualquier transacción"
"If enabled, the system will post accounting entries for inventory automatically.","Si está habilitado, el sistema contabiliza los asientos contables para el inventario de forma automática."
If more than one package of the same type (for print),Si más de un paquete del mismo tipo (por impresión)
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Si hay varias reglas de precios siguen prevaleciendo, los usuarios se les pide que establezca la prioridad manualmente para resolver el conflicto."
"If no change in either Quantity or Valuation Rate, leave the cell blank.","Si no hay cambio , ya sea en cantidad o de valoración por tipo , deje en blanco la celda."
If not applicable please enter: NA,"Si no es aplicable , por favor escriba: NA"
"If not checked, the list will have to be added to each Department where it has to be applied.","Si no está marcada , la lista tendrá que ser añadido a cada Departamento donde ha de aplicarse ."
"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.","Si Regla Precios seleccionado está hecho para 'Precio', sobrescribirá Lista de Precios. Regla precio El precio es el precio final, así que no hay descuento adicional debe aplicarse. Por lo tanto, en las transacciones como pedidos de venta, orden de compra, etc, se fue a buscar en el campo 'Cambio', en lugar de campo 'Precio de lista Cambio'."
"If specified, send the newsletter using this email address","Si se especifica, enviar el boletín de utilizar esta dirección de correo electrónico"
"If the account is frozen, entries are allowed to restricted users.","Si la cuenta está congelada , las entradas se les permite a los usuarios restringidos."
"If this Account represents a Customer, Supplier or Employee, set it here.","Si esta cuenta representa un cliente, proveedor o empleado, Ponlo aquí ."
"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.","Si se encuentran dos o más reglas de precios sobre la base de las condiciones anteriores, se aplica la prioridad. La prioridad es un número entre 0 y 20, mientras que el valor por defecto es cero (en blanco). Un número más alto significa que va a tener prioridad si hay varias reglas de precios con las mismas condiciones."
If you follow Quality Inspection. Enables Item QA Required and QA No in Purchase Receipt,Si usted sigue la Inspección de calidad . Permite Artículo QA Obligatorio y QA No en 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,Si usted tiene equipo de ventas y Venta Partners ( Socios de canal ) pueden ser etiquetados y mantener su contribución en la actividad de ventas
"If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.","Si ha creado un modelo estándar de las tasas de compra y los cargos principales, seleccione uno y haga clic en el botón de abajo ."
"If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.","Si ha creado un modelo estándar de las tasas y cargos de venta principales, seleccione uno y haga clic en el botón de abajo ."
"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","Si usted tiene formatos de impresión largos , esta característica puede ser utilizada para dividir la página que se imprimirá en varias páginas con todos los encabezados y pies de página en cada página"
If you involve in manufacturing activity. Enables Item 'Is Manufactured',Si usted involucra en la actividad manufacturera . Permite artículo ' está fabricado '
Ignore,Pasar por Alto
Ignore Pricing Rule,No haga caso de la Regla Precios
Ignored: ,Ignorado:
Image,imagen
Image View,Imagen Vista
Implementation Partner,socio de implementación
Import Attendance,Asistencia de importación
Import Failed!,Import Error !
Import Log,Importar registro
Import Successful!,¡Importación Exitosa!
Imports,Importaciones
In Hours,En Horas
In Process,En proceso
In Qty,En Cantidad
In Value,Valor
In Words,En palabras
In Words (Company Currency),En palabras (Divisa de la Compañia)
In Words (Export) will be visible once you save the Delivery Note.,En palabras (Export ) será visible una vez que guarde la nota de entrega .
In Words will be visible once you save the Delivery Note.,En palabras serán visibles una vez que se guarda la nota de entrega .
In Words will be visible once you save the Purchase Invoice.,En palabras serán visibles una vez que guarde la factura de compra .
In Words will be visible once you save the Purchase Order.,En palabras serán visibles una vez que guarde la Orden de Compra .
In Words will be visible once you save the Purchase Receipt.,En palabras serán visibles una vez que guarde el recibo de compra.
In Words will be visible once you save the Quotation.,En palabras serán visibles una vez que guarde la cita .
In Words will be visible once you save the Sales Invoice.,En palabras serán visibles una vez que guarde la factura de venta .
In Words will be visible once you save the Sales Order.,En palabras serán visibles una vez que guarde el pedido de ventas .
Incentives,Incentivos
Include Reconciled Entries,Incluya los comentarios conciliadas
Include holidays in Total no. of Working Days,Incluya vacaciones en total no. de días laborables
Income,Ingresos
Income / Expense,Ingresos / gastos
Income Account,Cuenta de Ingresos
Income Booked,Ingresos Reservados
Income Tax,Impuesto sobre la Renta
Income Year to Date,Ingresos Año a la Fecha
Income booked for the digest period,Ingresos reservado para el período de digestión
Incoming,Entrante
Incoming Rate,Incoming Cambio
Incoming quality inspection.,Inspección de calidad de entrada .
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Número incorrecto de entradas del libro mayor encontrado. Es posible que haya seleccionado una cuenta equivocada en la transacción.
Incorrect or Inactive BOM {0} for Item {1} at row {2},Incorrecta o Inactivo BOM {0} para el artículo {1} en la fila {2}
Indicates that the package is a part of this delivery (Only Draft),Indica que el paquete es una parte de esta entrega (Sólo borrador)
Indirect Expenses,Egresos Indirectos
Indirect Income,Ingresos Indirectos
Individual,Individual
Industry,Industria
Industry Type,Tipo de Industria
Inspected By,Inspección realizada por
Inspection Criteria,Criterios de Inspección
Inspection Required,Inspección Requerida
Inspection Type,Tipo de Inspección
Installation Date,Fecha de Instalación
Installation Note,Nota de Instalación
Installation Note Item,Nota de instalación de artículos
Installation Note {0} has already been submitted,Nota de instalación {0} ya se ha presentado
Installation Status,Estado de la instalación
Installation Time,Tiempo de instalación
Installation date cannot be before delivery date for Item {0},Fecha de instalación no puede ser antes de la fecha de entrega para el elemento {0}
Installation record for a Serial No.,Registro de la instalación para un número de serie
Installed Qty,Cantidad instalada
Instructions,Instrucciones
Integrate incoming support emails to Support Ticket,Integrar los correos electrónicos de apoyo recibidas de Apoyo Ticket
Interested,Interesado
Intern,Interno
Internal,Interno
Internet Publishing,Internet Publishing
Introduction,Introducción
Invalid Barcode,Código de Barras inválido
Invalid Barcode or Serial No,Código de barras de serie no válido o No
Invalid Mail Server. Please rectify and try again.,Servidor de correo válida . Por favor rectifique y vuelva a intentarlo .
Invalid Master Name,Nombre no válido Maestro
Invalid User Name or Support Password. Please rectify and try again.,No válida nombre de usuario o contraseña Soporte . Por favor rectifique y vuelva a intentarlo .
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Cantidad no válido para el elemento {0} . Cantidad debe ser mayor que 0 .
Inventory,inventario
Inventory & Support,Soporte de Inventario y
Investment Banking,Banca de Inversión
Investments,Inversiones
Invoice Date,Fecha de la factura
Invoice Details,Detalles de la Factura
Invoice No,Factura No
Invoice Number,Número de Factura
Invoice Period From,Factura Periodo Del
Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Factura Periodo Del Período y Factura Para las fechas obligatorias para la factura recurrente
Invoice Period To,Período Factura Para
Invoice Type,Tipo de Factura
Invoice/Journal Entry Details,Detalles de Factura / Comprobante de Diario
Invoiced Amount (Exculsive Tax),Cantidad facturada ( Impuesto exclusive )
Is Active,Está Activo
Is Advance,Es Avance
Is Cancelled,CANCELADO
Is Carry Forward,Es llevar adelante
Is Default,Es por defecto
Is Encash,Se convertirá en efectivo
Is Fixed Asset Item,Es partidas del activo inmovilizado
Is LWP,es LWP
Is Opening,está abriendo
Is Opening Entry,Es la entrada de apertura
Is POS,Es POS
Is Primary Contact,Es Contacto principal
Is Purchase Item,Es Compra de artículos
Is Sales Item,Es artículo de Ventas
Is Service Item,Es servicio de Artículo
Is Stock Item,Es Stock Artículo
Is Sub Contracted Item,Es subcontratación artículo
Is Subcontracted,se subcontrata
Is this Tax included in Basic Rate?,¿Está incluido este Impuesto la tarifa básica ?
Issue,Asunto
Issue Date,Fecha de Emisión
Issue Details,Detalles del problema
Issued Items Against Production Order,Los productos que emitan con cargo a la Orden de Producción
It can also be used to create opening stock entries and to fix stock value.,También puede ser utilizado para crear la apertura de las entradas en existencias y para fijar el valor de stock .
Item,artículo
Item Advanced,artículo avanzada
Item Barcode,Código de barras del artículo
Item Batch Nos,Lotes de artículos núms
Item Code,Código del artículo
Item Code > Item Group > Brand,Código del artículo> Grupo Elemento> Marca
Item Code and Warehouse should already exist.,Código del artículo y de almacenes ya deben existir.
Item Code cannot be changed for Serial No.,Código del artículo no se puede cambiar de número de serie
Item Code is mandatory because Item is not automatically numbered,Código del artículo es obligatorio porque El artículo no se numera automáticamente
Item Code required at Row No {0},Código del artículo requerido en la fila n {0}
Item Customer Detail,Elemento Detalle Cliente
Item Description,Descripción del Artículo
Item Desription,Descripción del Artículo
Item Details,Detalles del artículo
Item Group,Grupo de artículos
Item Group Name,Nombre del grupo de artículos
Item Group Tree,Artículo Grupo Árbol
Item Group not mentioned in item master for item {0},Grupo El artículo no se menciona en maestro de artículos para el elemento {0}
Item Groups in Details,Grupos de componentes en detalles
Item Image (if not slideshow),"Imagen del Artículo (si no, presentación de diapositivas)"
Item Name,Nombre del elemento
Item Naming By,Artículo Naming Por
Item Price,Precio del Artículo
Item Prices,Precios de los Artículos
Item Quality Inspection Parameter,Artículo Calidad de parámetros de Inspección
Item Reorder,artículo reorden
Item Serial No,Artículo N º de serie
Item Serial Nos,N º de serie de los Artículo
Item Shortage Report,Artículo Escasez Reportar
Item Supplier,Proveedor del Artículo
Item Supplier Details,Detalles del Proveedor del artículo
Item Tax,Impuesto del artículo
Item Tax Amount,Total de impuestos de los artículos
Item Tax Rate,Artículo Tasa de Impuesto
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Artículo Impuesto Row {0} debe tener en cuenta el tipo de impuestos o ingresos o de gastos o Imponible
Item Tax1,Impuesto1 del  artículo
Item To Manufacture,Artículo Para Fabricación
Item UOM,artículo UOM
Item Website Specification,Artículo Website Especificación
Item Website Specifications,Especificaciones Elemento Web
Item Wise Tax Detail,Artículo Wise detalle de impuestos
Item Wise Tax Detail ,Detalle del artículo Tax Wise
Item is required,Se requiere de artículos
Item is updated,El Artículo está Actualizado
Item master.,Maestro de artículos .
"Item must be a purchase item, as it is present in one or many Active BOMs","El artículo debe ser un artículo de la compra , ya que está presente en una o varias listas de materiales activos"
Item or Warehouse for row {0} does not match Material Request,Artículo o Bodega para la fila {0} no coincide Solicitud de material
Item table can not be blank,Tabla de artículos no puede estar en blanco
Item to be manufactured or repacked,Artículo a fabricar o embalados de nuevo
Item valuation updated,Valoración Artículo actualizado
Item will be saved by this name in the data base.,El artículo será salvado por este nombre en la base de datos.
Item {0} appears multiple times in Price List {1},Artículo {0} aparece varias veces en Precio de lista {1}
Item {0} does not exist,Elemento {0} no existe
Item {0} does not exist in the system or has expired,Elemento {0} no existe en el sistema o ha expirado
Item {0} does not exist in {1} {2},Elemento {0} no existe en {1} {2}
Item {0} has already been returned,Artículo {0} ya se ha devuelto
Item {0} has been entered multiple times against same operation,Artículo {0} ha sido ingresado varias veces contra la misma operación
Item {0} has been entered multiple times with same description or date,Artículo {0} ha sido ingresado varias veces con misma descripción o fecha
Item {0} has been entered multiple times with same description or date or warehouse,Artículo {0} ha sido ingresado varias veces con misma descripción o de la fecha o de un depósito
Item {0} has been entered twice,Artículo {0} ha sido ingresado dos veces
Item {0} has reached its end of life on {1},Artículo {0} ha llegado al término de la vida en {1}
Item {0} ignored since it is not a stock item,Artículo {0} ignorado ya que no es un tema de valores
Item {0} is cancelled,Artículo {0} se cancela
Item {0} is not Purchase Item,Artículo {0} no se compra del artículo
Item {0} is not a serialized Item,Elemento {0} no es un artículo serializado
Item {0} is not a stock Item,Elemento {0} no es un producto imprescindible
Item {0} is not active or end of life has been reached,Elemento {0} no está activo o ha llegado al final de la vida
Item {0} is not setup for Serial Nos. Check Item master,Elemento {0} no está configurado para el amo números de serie del cheque Artículo
Item {0} is not setup for Serial Nos. Column must be blank,Elemento {0} no está configurado para Serial Columna Nos. debe estar en blanco
Item {0} must be Sales Item,Artículo {0} debe ser artículo de Ventas
Item {0} must be Sales or Service Item in {1},Artículo {0} debe ser ventas o servicio al artículo en {1}
Item {0} must be Service Item,Artículo {0} debe ser de servicio Artículo
Item {0} must be a Purchase Item,Artículo {0} debe ser una compra de artículos
Item {0} must be a Sales Item,Artículo {0} debe ser un elemento de Ventas
Item {0} must be a Service Item.,Artículo {0} debe ser un elemento de servicio .
Item {0} must be a Sub-contracted Item,Artículo {0} debe ser un artículo subcontratada
Item {0} must be a stock Item,Artículo {0} debe ser un producto imprescindible
Item {0} must be manufactured or sub-contracted,Artículo {0} debe ser fabricado o subcontratado
Item {0} not found,Elemento {0} no encontrado
Item {0} with Serial No {1} is already installed,Artículo {0} con N º de serie {1} ya está instalada
Item {0} with same description entered twice,Artículo {0} con misma descripción entrado dos veces
"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","Item, Garantía , AMC ( Contrato de Mantenimiento Anual ) detalles serán automáticamente recupera cuando se selecciona el número de serie ."
Item-wise Price List Rate,- Artículo sabio Precio de lista Cambio
Item-wise Purchase History,- Artículo sabio Historial de compras
Item-wise Purchase Register,- Artículo sabio Compra Registrarse
Item-wise Sales History,- Artículo sabio Historia Ventas
Item-wise Sales Register,- Artículo sabio ventas Registrarse
"Item: {0} managed batch-wise, can not be reconciled using \					Stock Reconciliation, instead use Stock Entry","Artículo: {0} gestionado por lotes, no se puede conciliar el uso de \ Stock Reconciliación, en lugar utilizar la entrada Stock"
Item: {0} not found in the system,Artículo: {0} no se encuentra en el sistema
Items,Artículos
Items To Be Requested,Los artículos que se solicitarán
Items required,Elementos necesarios
"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty","Elementos que deben exigirse que son "" Fuera de Stock "", considerando todos los almacenes basados ​​en Cantidad proyectada y pedido mínimo Cantidad"
Items which do not exist in Item master can also be entered on customer's request,Los artículos que no existen en maestro de artículos también se pueden introducir en la petición del cliente
Itemwise Discount,Itemwise Descuento
Itemwise Recommended Reorder Level,Itemwise Recomendado por reorden Nivel
Job Applicant,solicitante de empleo
Job Opening,Oportunidad de Empleo
Job Profile,Perfil Laboral
Job Title,Título del trabajo
"Job profile, qualifications required etc.","Perfil laboral , las cualificaciones necesarias , etc"
Jobs Email Settings,Trabajos Email
Journal Entries,entradas de diario
Journal Entry,Entrada de diario
Journal Entry,Comprobante de Diario
Journal Entry Account,Detalle del Asiento de Diario
Journal Entry Account No,Detalle del Asiento de Diario No
Journal Entry {0} does not have account {1} or already matched,Comprobante de Diario {0} no tiene cuenta {1} o ya emparejado
Journal Entries {0} are un-linked,Asientos de Diario {0} no están vinculados.
Keep a track of communication related to this enquiry which will help for future reference.,Mantenga un registro de la comunicación en relación con esta consulta que ayudará para futuras consultas.
Keep it web friendly 900px (w) by 100px (h),Manténgalo  adecuado para la web 900px ( w ) por 100px ( h )
Key Performance Area,Área Clave de Rendimiento
Key Responsibility Area,Área de Responsabilidad Clave
Kg,Kilogramo
LR Date,LR Fecha
LR No,LR No
Label,Etiqueta
Landed Cost Item,Landed Cost artículo
Landed Cost Items,Landed Partidas de gastos
Landed Cost Purchase Receipt,Landed Cost recibo de compra
Landed Cost Purchase Receipts,Landed Cost Recibos de compra
Landed Cost Wizard,Asistente Landed Cost
Landed Cost updated successfully,Landed Cost actualizado correctamente
Language,Idioma
Last Name,Apellido
Last Purchase Rate,Tasa de Cambio de la Última Compra
Latest,Más Reciente
Lead,Iniciativa
Lead Details,Detalle de la Iniciativa
Lead Id,Iniciativa ID
Lead Name,Nombre de la Iniciativa
Lead Owner,Propietario de la Iniciativa
Lead Source,Fuente de de la Iniciativa
Lead Status,Estado de la Iniciativa
Lead Time Date,Fecha y Hora de la Iniciativa
Lead Time Days,Tiempo de Entrega en Días
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.,Tiempo de Entrega en Días de la Iniciativa es el número de días en que se espera que este el artículo en su almacén. Este día es usado en la Solicitud de Materiales cuando se selecciona este elemento.
Lead Type,Tipo de Iniciativa
Lead must be set if Opportunity is made from Lead,La iniciativa se debe establecer si la oportunidad está hecha de plomo
Leave Allocation,Deja Asignación
Leave Allocation Tool,Deja Herramienta de Asignación
Leave Application,Deja Aplicación
Leave Approver,Deja aprobador
Leave Approvers,Deja aprobadores
Leave Balance Before Application,Deja Saldo antes de la aplicación
Leave Block List,Deja Lista de bloqueo
Leave Block List Allow,Deja Lista de bloqueo Permitir
Leave Block List Allowed,Deja Lista de bloqueo animales
Leave Block List Date,Deja Lista de bloqueo Fecha
Leave Block List Dates,Deja lista Fechas Bloque
Leave Block List Name,Agregar Nombre Lista de bloqueo
Leave Blocked,Dejar Bloqueado
Leave Control Panel,Salir del Panel de Control
Leave Encashed?,Deja cobrados ?
Leave Encashment Amount,Deja Cobro Monto
Leave Type,Deja Tipo
Leave Type Name,Deja Tipo Nombre
Leave Without Pay,Licencia sin sueldo
Leave application has been approved.,Solicitud de autorización haya sido aprobada.
Leave application has been rejected.,Solicitud de autorización ha sido rechazada.
Leave approver must be one of {0},Deja aprobador debe ser uno de {0}
Leave blank if considered for all branches,Dejar en blanco si se considera para todas las ramas
Leave blank if considered for all departments,Dejar en blanco si se considera para todos los departamentos
Leave blank if considered for all designations,Dejar en blanco si se considera para todas las designaciones
Leave blank if considered for all employee types,Dejar en blanco si se considera para todos los tipos de empleados
"Leave can be approved by users with Role, ""Leave Approver""","Deja que se pueda aprobar por los usuarios con roles, "" Deja aprobador """
Leave of type {0} cannot be longer than {1},Dejar de tipo {0} no puede tener más de {1}
Leaves Allocated Successfully for {0},Hojas distribuidos con éxito para {0}
Leaves for type {0} already allocated for Employee {1} for Fiscal Year {0},Hojas para el tipo {0} ya asignado para Empleado {1} para el Año Fiscal {0}
Leaves must be allocated in multiples of 0.5,"Las hojas deben ser asignados en múltiplos de 0,5"
Ledger,Libro Mayor
Ledgers,Libros de contabilidad
Left,Izquierda
Legal,Legal
Legal Expenses,Gastos Legales
Letter Head,Membrete
Letter Heads for print templates.,Membretes para las plantillas de impresión.
Level,Nivel
Lft,Lft
Liability,Obligaciones
List a few of your customers. They could be organizations or individuals.,Enumere algunos de sus clientes. Pueden ser organizaciones o individuos.
List a few of your suppliers. They could be organizations or individuals.,Enumere algunos de sus proveedores. Pueden ser organizaciones o individuos.
List items that form the package.,Lista de tareas que forman el paquete .
List this Item in multiple groups on the website.,Este artículo no en varios grupos en el sitio web .
"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.",Publica tus productos o servicios que usted compra o vende .
"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.","Enumere sus cabezas fiscales ( por ejemplo, IVA , impuestos especiales , sino que deben tener nombres únicos ) y sus tasas estándar."
Loading...,Cargando ...
Loans (Liabilities),Préstamos (pasivos )
Loans and Advances (Assets),Préstamos y anticipos (Activos )
Local,local
Login,Iniciar Sesión
Login with your new User ID,Acceda con su nuevo ID de usuario
Logo,Logo
Logo and Letter Heads,Logo y Membrete
Lost,Perdido
Lost Reason,Razón de la pérdida
Low,Bajo
Lower Income,Ingreso Bajo
MTN Details,MTN Detalles
Main,Principal
Main Reports,Informes Principales
Maintain Same Rate Throughout Sales Cycle,Mantener mismo ritmo durante todo el ciclo de ventas
Maintain same rate throughout purchase cycle,Mantener mismo ritmo durante todo el ciclo de compra
Maintenance,Mantenimiento
Maintenance Date,Fecha de Mantenimiento
Maintenance Details,Detalles de Mantenimiento
Maintenance Schedule,Calendario de Mantenimiento
Maintenance Schedule Detail,Detalle de Calendario de Mantenimiento
Maintenance Schedule Item,Programa de mantenimiento de artículos
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',"Programa de mantenimiento no se genera para todos los artículos. Por favor, haga clic en ' Generar la Lista de"
Maintenance Schedule {0} exists against {0},Programa de mantenimiento {0} existe en contra de {0}
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Programa de mantenimiento {0} debe ser cancelado antes de cancelar esta orden Ventas
Maintenance Schedules,Programas de mantenimiento
Maintenance Status,Estado del Mantenimiento
Maintenance Time,Tiempo de mantenimiento
Maintenance Type,Tipo de Mantenimiento
Maintenance Visit,Visita de Mantenimiento
Maintenance Visit Purpose,Mantenimiento Visita Propósito
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Mantenimiento Visita {0} debe ser cancelado antes de cancelar el pedido de ventas
Maintenance start date can not be before delivery date for Serial No {0},Mantenimiento fecha de inicio no puede ser antes de la fecha de entrega para la serie n {0}
Major/Optional Subjects,Principales / Asignaturas optativas
Make ,Hacer
Make Accounting Entry For Every Stock Movement,Hacer asiento contable para cada movimiento de acciones
Make Bank Entry,Hacer Banco Voucher
Make Credit Note,Hacer Nota de Crédito
Make Debit Note,Haga Nota de Débito
Make Delivery,Hacer Entrega
Make Difference Entry,Hacer Entrada Diferencia
Make Excise Invoice,Haga Impuestos Especiales de la factura
Make Installation Note,Hacer Nota de instalación
Make Invoice,Hacer Factura
Make Maint. Schedule,Hacer Maint . horario
Make Maint. Visit,Hacer Maint . visita
Make Maintenance Visit,Hacer mantenimiento Visita
Make Packing Slip,Hacer lista de empaque
Make Payment,Realizar Pago
Make Payment Entry,Hacer Entrada Pago
Make Purchase Invoice,Hacer factura de compra
Make Purchase Order,Hacer Orden de Compra
Make Purchase Receipt,Hacer recibo de compra
Make Salary Slip,Hacer nómina
Make Salary Structure,Hacer Estructura Salarial
Make Sales Invoice,Hacer Factura de Venta
Make Sales Order,Hacer Orden de Venta
Make Supplier Quotation,Hacer Cotización de Proveedor
Make Time Log Batch,Haga la hora de lotes sesión
Male,Masculino
Manage Customer Group Tree.,Gestione Grupo de Clientes Tree.
Manage Sales Partners.,Administrar Puntos de ventas.
Manage Sales Person Tree.,Gestione Sales Person árbol .
Manage Territory Tree.,Gestione Territorio Tree.
Manage cost of operations,Gestione costo de las operaciones
Management,Gerencia
Manager,Gerente
"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.","Obligatorio si Stock Item es "" Sí"" . También el almacén por defecto en que la cantidad reservada se establece a partir de órdenes de venta ."
Manufacture against Sales Order,Fabricación contra pedido de ventas
Manufacture/Repack,Fabricación / Repack
Manufactured Qty,Fabricado Cantidad
Manufactured quantity will be updated in this warehouse,Fabricado cantidad se actualizará en este almacén
Manufactured quantity {0} cannot be greater than planned quanitity {1} in Production Order {2},Cantidad Fabricado {0} no puede ser mayor que quanitity planeado {1} en la orden de producción {2}
Manufacturer,Fabricante
Manufacturer Part Number,Número de Pieza del Fabricante
Manufacturing,Fabricación
Manufacturing Quantity,Fabricación Cantidad
Manufacturing Quantity is mandatory,Fabricación Cantidad es obligatorio
Margin,Margen
Marital Status,Estado Civil
Market Segment,Sector de Mercado
Marketing,Mercadeo
Marketing Expenses,gastos de comercialización
Married,Casado
Mass Mailing,Correo Masivo
Master Name,Maestro Nombre
Master Name is mandatory if account type is Warehouse,Maestro nombre es obligatorio si el tipo de cuenta es Almacén
Master Type,Type Master
Masters,Maestros
Match non-linked Invoices and Payments.,Coinciden con las facturas y pagos no vinculados.
Material Issue,material Issue
Material Receipt,Recepción de Materiales
Material Request,Solicitud de Material
Material Request Detail No,Material de Información de la petición No
Material Request For Warehouse,Solicitud de material para el almacén
Material Request Item,Material de Solicitud de artículos
Material Request Items,Material de elementos de solicitud
Material Request No,No. de Solicitud de Material
Material Request Type,Material de Solicitud Tipo
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Solicitud de materiales de máxima {0} se puede hacer para el punto {1} en contra de órdenes de venta {2}
Material Request used to make this Stock Entry,Solicitud de material utilizado para hacer esta entrada Stock
Material Request {0} is cancelled or stopped,Solicitud de material {0} se cancela o se detiene
Material Requests for which Supplier Quotations are not created,Las solicitudes de material para los que no se crean Citas Proveedor
Material Requests {0} created,Las solicitudes de material {0} creado
Material Requirement,material Requirement
Material Transfer,Transferencia de Material
Materials,Materiales
Materials Required (Exploded),Materiales necesarios ( despiece )
Max 5 characters,Máximo 5 caracteres
Max Days Leave Allowed,Número máximo de días de baja por mascotas
Max Discount (%),Descuento Máximo (%)
Max Qty,Max Und
Max discount allowed for item: {0} is {1}%,Descuento máximo permitido para cada elemento: {0} es {1}%
Maximum Amount,Importe máximo
Maximum allowed credit is {0} days after posting date,Crédito máximo permitido es {0} días después de la fecha de publicar
Maximum {0} rows allowed,Máximo {0} filas permitidos
Maxiumm discount for Item {0} is {1}%,Descuento Maxiumm de elemento {0} es {1}%
Medical,Médico
Medium,Medio
"Merging is only possible if following properties are same in both records. Group or Ledger, Root Type, Company",La fusión sólo es posible si las propiedades son las mismas en ambos registros.
Message,Mensaje
Message Parameter,Parámetro Mensaje
Message Sent,Mensaje enviado
Message updated,Mensaje actualizado
Messages,Mensajes
Messages greater than 160 characters will be split into multiple messages,Los mensajes de más de 160 caracteres se dividirá en varios mensajes
Middle Income,Ingresos Medio
Milestone,hito
Milestone Date,Milestone Fecha
Milestones,hitos
Milestones will be added as Events in the Calendar,Hitos se agregarán como Eventos en el Calendario
Min Order Qty,Cantidad mínima de Pedido (MOQ)
Min Qty,Cantidad Mínima
Min Qty can not be greater than Max Qty,Qty del minuto no puede ser mayor que Max Und
Minimum Amount,Volumen mínimo de
Minimum Order Qty,Mínimo Online con su nombre
Minute,Minuto
Misc Details,Otros Detalles
Miscellaneous Expenses,Gastos Varios
Miscelleneous,Varios
Mobile No,Móvil No
Mobile No.,Número Móvil
Mode of Payment,Modo de Pago
Modern,Moderno
Monday,Lunes
Month,Mes
Monthly,Mensual
Monthly Attendance Sheet,Hoja de Asistencia Mensual
Monthly Earning & Deduction,Ingresos mensuales y Deducción
Monthly Salary Register,Salario mensual Registrarse
Monthly salary statement.,Nómina Mensual.
More Details,Más detalles
More Info,Más información
Motion Picture & Video,Motion Picture & Video
Moving Average,media Móvil
Moving Average Rate,Mover Tarifa media
Mr,Sr.
Ms,Sra.
Multiple Item prices.,Precios de Artículos Múltiples
"Multiple Price Rule exists with same criteria, please resolve \			conflict by assigning priority. Price Rules: {0}","Múltiple Precio Regla existe con los mismos criterios, por favor resuelva \ conflicto mediante la asignación de prioridad. Reglas Precio: {0}"
Music,Música
Must be Whole Number,Debe ser un número entero
Name,Nombre
Name and Description,Nombre y descripción
Name and Employee ID,Nombre y ID de empleado
"Name of new Account. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master","Nombre de la nueva cuenta . Nota : Por favor no crear cuentas para clientes y proveedores , se crean automáticamente desde el cliente y el proveedor principal"
Name of person or organization that this address belongs to.,Nombre de la persona u organización que esta dirección pertenece.
Name of the Budget Distribution,Nombre de la Distribución del Presupuesto
Naming Series,Nombrar Series
Negative Quantity is not allowed,Cantidad negativa no se permite
Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},Negativo Stock Error ( {6} ) para el punto {0} en Almacén {1} en {2} {3} en {4} {5}
Negative Valuation Rate is not allowed,Negativo valoración de tipo no está permitida
Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},Saldo negativo en lotes {0} para el artículo {1} en Almacén {2} del {3} {4}
Net Pay,Pago neto
Net Pay (in words) will be visible once you save the Salary Slip.,Pago neto (en palabras) será visible una vez que guarde la nómina .
Net Profit / Loss,Utilidad Neta / Pérdida
Net Total,total Neto
Net Total (Company Currency),Total Neto ( Compañía de divisas )
Net Weight,Peso neto
Net Weight UOM,Peso neto UOM
Net Weight of each Item,Peso neto de cada artículo
Net pay cannot be negative,Salario neto no puede ser negativo
Never,nunca
New ,New 
New Account,Nueva cuenta
New Account Name,Nueva Cuenta Nombre
New BOM,Nueva lista de materiales
New Communications,nuevas comunicaciones
New Company,Nueva Empresa
New Cost Center,Nuevo Centro de Costo
New Cost Center Name,Nuevo nombre de centros de coste
New Delivery Notes,Nuevas notas de entrega
New Enquiries,Nuevas consultas
New Leads,nuevas pistas
New Leave Application,Nueva aplicación Dejar
New Leaves Allocated,Nuevas Hojas asignados
New Leaves Allocated (In Days),Nuevas Hojas Asignados ( en días)
New Material Requests,Las nuevas solicitudes de material
New Projects,Nuevos Proyectos
New Purchase Orders,Las nuevas órdenes de compra
New Purchase Receipts,Nuevos recibos de compra
New Quotations,Nuevas Citas
New Sales Orders,Las nuevas órdenes de venta
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nueva serie n no puede tener Warehouse. Depósito debe ser ajustado por Stock Entrada o recibo de compra
New Stock Entries,Comentarios Nuevo archivo
New Stock UOM,Nuevo Stock UOM
New Stock UOM is required,Se requiere un nuevo Stock UOM
New Stock UOM must be different from current stock UOM,Nuevo Stock UOM debe ser diferente del de valores actuales UOM
New Supplier Quotations,Nuevas citas de proveedores
New Support Tickets,Nuevos Tickets de Soporte
New UOM must NOT be of type Whole Number,Nueva UOM NO debe ser de tipo entero Número
New Workplace,Nuevo lugar de trabajo
Newsletter,hoja informativa
Newsletter Content,Boletín de noticias de contenido
Newsletter Status,Boletín Estado
Newsletter has already been sent,Boletín de noticias ya ha sido enviada
"Newsletters to contacts, leads.","Boletines de contactos, clientes potenciales ."
Newspaper Publishers,Editores de Periódicos
Next,próximo
Next Contact By,Siguiente Contactar Por
Next Contact Date,Siguiente Contactar Fecha
Next Date,Siguiente Fecha
Next email will be sent on:,Siguiente correo electrónico será enviado el:
No,Ningún
No Customer Accounts found.,Ningún cliente se encuentra .
No Customer or Supplier Accounts found,Ningún cliente o proveedor Cuentas encontrado
No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user,No hay aprobadores gasto. Asigne roles ' aprobador de gastos ' a al menos un usuario
No Item with Barcode {0},Ningún artículo con Barcode {0}
No Item with Serial No {0},Ningún artículo con Serial No {0}
No Items to pack,No hay artículos para empacar
No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user,No hay aprobadores irse. Asigne ' Dejar aprobador ' Rol de al menos un usuario
No Permission,Sin permiso
No Production Orders created,No hay órdenes de fabricación creadas
No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,No hay cuentas de proveedores encontrado . Cuentas de proveedores se identifican con base en el valor de ' Maestro Type' en el registro de cuenta.
No accounting entries for the following warehouses,No hay asientos contables para los siguientes almacenes
No addresses created,No hay direcciones creadas
No contacts created,No hay contactos creados
No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template.,"No se encontró la plantilla por defecto Dirección. Por favor, cree una nueva desde Configuración> Prensa y Branding> Plantilla de Dirección."
No default BOM exists for Item {0},No existe una lista de materiales por defecto para el elemento {0}
No description given,Sin descripción
No employee found,No se han encontrado empleado
No employee found!,Ningún empleado encontrado!
No of Requested SMS,No de SMS Solicitado
No of Sent SMS,No de SMS enviados
No of Visits,No de Visitas
No permission,No permission
No record found,No se han encontrado registros
No records found in the Invoice table,No se han encontrado en la tabla de registros de facturas
No records found in the Payment table,No se han encontrado en la tabla de registros de venta
No salary slip found for month: ,No nómina encontrado al mes:
Non Profit,Sin Fines De Lucro
Nos,nos
Not Active,No activo
Not Applicable,No aplicable
Not Available,No disponible
Not Billed,No Anunciado
Not Delivered,No Entregado
Not Set,No Especificado
Not allowed to update stock transactions older than {0},No se permite actualizar las transacciones de valores mayores de {0}
Not authorized to edit frozen Account {0},No autorizado para editar la cuenta congelada {0}
Not authroized since {0} exceeds limits,No distribuidor oficial autorizado desde {0} excede los límites
Not permitted,No se permite
Note,nota
Note User,Nota usuario
"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.","Nota: Las copias de seguridad y archivos no se eliminan de Dropbox, que tendrá que hacerlo manualmente ."
"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.","Nota: Las copias de seguridad y archivos no se eliminan de Google Drive, usted tendrá que hacerlo manualmente ."
Note: Due Date exceeds the allowed credit days by {0} day(s),Nota: Fecha de vencimiento es superior a los días de crédito permitidas por {0} día ( s )
Note: Email will not be sent to disabled users,Nota: El correo electrónico no se envía a los usuarios con discapacidad
Note: Item {0} entered multiple times,Nota : El artículo {0} entrado varias veces
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Nota : La entrada de pago no se creará desde ' Dinero en efectivo o cuenta bancaria ' no se ha especificado
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Nota : El sistema no verificará la entrega excesiva y el exceso de reservas para el elemento {0} como la cantidad o la cantidad es 0
Note: There is not enough leave balance for Leave Type {0},Nota : No hay equilibrio permiso suficiente para Dejar tipo {0}
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Nota: este centro de coste es un grupo. No se pueden hacer asientos contables en contra de grupos .
Note: {0},Nota: {0}
Notes,Notas
Notes:,Notas:
Nothing to request,Nada de pedir
Notice (days),Aviso ( días )
Notification Control,control de Notificación
Notification Email Address,Notificación de E-mail
Notify by Email on creation of automatic Material Request,Notificación por correo electrónico en la creación de la Solicitud de material automático
Number Format,Formato de número
Offer Date,Fecha de Oferta
Office,Oficina
Office Equipments,Equipos de Oficina
Office Maintenance Expenses,Gastos de Mantenimiento de Oficinas
Office Rent,Alquiler de Oficina
Old Parent,Antiguo Padres
On Net Total,En Total Neto
On Previous Row Amount,En la Fila Anterior de Cantidad
On Previous Row Total,En la Anterior Fila Total
Online Auctions,Subastas en Línea
Only Leave Applications with status 'Approved' can be submitted,"Sólo Agregar aplicaciones con estado "" Aprobado "" puede ser presentada"
"Only Serial Nos with status ""Available"" can be delivered.","Sólo los números de serie con el estado "" disponible"" puede ser entregado."
Only leaf nodes are allowed in transaction,Sólo los nodos hoja se permite en una transacción
Only the selected Leave Approver can submit this Leave Application,Sólo el aprobador Dejar seleccionado puede presentar esta solicitud de permiso
Open,Abierto
Open Production Orders,Abrir Ordenes de Producción
Open Tickets,Entradas abiertas
Opening (Cr),Apertura (Cr )
Opening (Dr),Apertura ( Dr)
Opening Date,Fecha de Apertura
Opening Entry,Entrada de Apertura
Opening Qty,Cant. de Apertura
Opening Time,Tiempo de Apertura
Opening Value,Valor de Apertura
Opening for a Job.,Apertura de un Trabajo .
Operating Cost,Costo de Funcionamiento
Operation Description,Descripción de la Operación
Operation No,Operación No
Operation Time (mins),Tiempo de Operación ( minutos)
Operation {0} is repeated in Operations Table,Operación {0} se repite en la Tabla de Operaciones
Operation {0} not present in Operations Table,Operación {0} no está presente en la Tabla de Operaciones
Operations,Operaciones
Opportunity,Oportunidad
Opportunity Date,Oportunidad Fecha
Opportunity From,Oportunidad De
Opportunity Item,Oportunidad Artículo
Opportunity Items,Artículos Oportunidad
Opportunity Lost,Oportunidad Perdida
Opportunity Type,Tipo de Oportunidad
Optional. This setting will be used to filter in various transactions.,Opcional . Este ajuste se utiliza para filtrar en varias transacciones.
Order Type,Tipo de Orden
Order Type must be one of {0},Tipo de orden debe ser uno de {0}
Ordered,Ordenado
Ordered Items To Be Billed,Artículos Pedidos a Facturar
Ordered Items To Be Delivered,Artículos pedidos para ser entregados
Ordered Qty,Cantidad Pedida
"Ordered Qty: Quantity ordered for purchase, but not received.","Pedido Cantidad : Cantidad a pedir para la compra, pero no recibió ."
Ordered Quantity,Cantidad Pedida
Orders released for production.,Las órdenes publicadas para la producción.
Organization Name,Nombre de la Organización
Organization Profile,Perfil de la Organización
Organization branch master.,Master rama Organización.
Organization unit (department) master.,Unidad de Organización ( departamento) maestro.
Other,Otro
Other Details,Otros Datos
Others,Otros
Out Qty,Salir Cant.
Out Value,disponibles Valor
Out of AMC,Fuera de AMC
Out of Warranty,Fuera de Garantía
Outgoing,Saliente
Outstanding Amount,Monto Pendiente
Outstanding for {0} cannot be less than zero ({1}),Sobresaliente para {0} no puede ser menor que cero ({1} )
Overhead,Gastos Generales
Overheads,Gastos Generales
Overlapping conditions found between:,La superposición de condiciones encontradas entre :
Overview,Visión de Conjunto
Owned,Propiedad
Owner,Propietario
P L A - Cess Portion,PLA - Porción Cess
PL or BS,PL o BS
PO Date,PO Fecha
PO No,PO No
POP3 Mail Server,Servidor de Correo POP3
POP3 Mail Settings,Configuración de Mensajes POP3
POP3 mail server (e.g. pop.gmail.com),Servidor de Correo POP3 (por ejemplo pop.gmail.com )
POP3 server e.g. (pop.gmail.com),Por ejemplo el servidor POP3 ( pop.gmail.com )
POS Setting,POS Ajuste
POS Setting required to make POS Entry,POS de ajuste necesario para hacer la entrada POS
POS Setting {0} already created for user: {1} and company {2},POS Ajuste {0} ya creado para el usuario: {1} y {2} empresa
POS View,POS Ver
PR Detail,Detalle PR
Package Item Details,"Detalles del Contenido del Paquete
"
Package Items,"Contenido del Paquete
"
Package Weight Details,Peso del paquete Detalles
Packed Item,Artículo Empacado
Packed quantity must equal quantity for Item {0} in row {1},Embalado cantidad debe ser igual a la cantidad de elemento {0} en la fila {1}
Packing Details,Detalles del embalaje
Packing List,Lista de embalaje
Packing Slip,El resbalón de embalaje
Packing Slip Item,Packing Slip artículo
Packing Slip Items,Albarán Artículos
Packing Slip(s) cancelled,Slip ( s ) de Embalaje cancelado
Page Break,Salto de página
Page Name,Nombre de la Página
Paid Amount,Cantidad pagada
Paid amount + Write Off Amount can not be greater than Grand Total,Cantidad pagada + Escribir Off La cantidad no puede ser mayor que Gran Total
Pair,Par
Parameter,Parámetro
Parent Account,Cuenta Primaria
Parent Cost Center,Centro de Costo de Padres
Parent Customer Group,Padres Grupo de Clientes
Parent Detail docname,DocNombre Detalle de Padres
Parent Item,Artículo Padre
Parent Item Group,Grupo de Padres del artículo
Parent Item {0} must be not Stock Item and must be a Sales Item,Artículo Padre {0} debe estar Stock punto y debe ser un elemento de Ventas
Parent Party Type,Tipo Partido Padres
Parent Sales Person,Sales Person Padres
Parent Territory,Territorio de Padres
Parent Website Page,Sitio web Padres Page
Parent Website Route,Padres Website Ruta
Parenttype,ParentType
Part-time,Medio Tiempo
Partially Completed,Completó Parcialmente
Partly Billed,Parcialmente Anunciado
Partly Delivered,Parcialmente Entregado
Partner Target Detail,Detalle Target Socio
Partner Type,Tipos de Socios
Partner's Website,Sitio Web del Socio
Party,Parte
Party Account,Cuenta Party
Party Type,Tipo del partido
Party Type Name,Tipo del partido Nombre
Passive,Pasivo
Passport Number,Número de pasaporte
Password,Contraseña
Pay To / Recd From,Pagar a / Recd Desde
Payable,Pagadero
Payables,Cuentas por Pagar
Payables Group,Deudas Grupo
Payment Days,Días de Pago
Payment Due Date,Pago Fecha de Vencimiento
Payment Period Based On Invoice Date,Período de pago basado en Fecha de la factura
Payment Reconciliation,Reconciliación Pago
Payment Reconciliation Invoice,Factura Reconciliación Pago
Payment Reconciliation Invoices,Facturas Reconciliación Pago
Payment Reconciliation Payment,Reconciliación Pago Pago
Payment Reconciliation Payments,Pagos conciliación de pagos
Payment Type,Tipo de Pago
Payment cannot be made for empty cart,El pago no se puede hacer para el carro vacío
Payment of salary for the month {0} and year {1},El pago del salario correspondiente al mes {0} y {1} años
Payments,Pagos
Payments Made,Pagos Realizados
Payments Received,Los pagos recibidos
Payments made during the digest period,Los pagos efectuados durante el período de digestión
Payments received during the digest period,Los pagos recibidos durante el período de digestión
Payroll Settings,Configuración de Nómina
Pending,Pendiente
Pending Amount,Monto Pendiente
Pending Items {0} updated,Elementos Pendientes {0} actualizado
Pending Review,opinión pendiente
Pending SO Items For Purchase Request,A la espera de SO Artículos A la solicitud de compra
Pension Funds,Fondos de Pensiones
Percent Complete,Porcentaje Completado
Percentage Allocation,Porcentaje de asignación de
Percentage Allocation should be equal to 100%,Porcentaje de asignación debe ser igual al 100 %
Percentage variation in quantity to be allowed while receiving or delivering this item.,La variación porcentual de la cantidad que se le permita al recibir o entregar este artículo.
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.,"Porcentaje que se les permite recibir o entregar más en contra de la cantidad pedida . Por ejemplo : Si se ha pedido 100 unidades. y el subsidio es de 10 %, entonces se le permite recibir 110 unidades."
Performance appraisal.,Evaluación del Desempeño .
Period,Período
Period Closing Voucher,Vale Período de Cierre
Periodicity,Periodicidad
Permanent Address,Dirección Permanente
Permanent Address Is,Dirección permanente es
Permission,Permiso
Personal,Personal
Personal Details,Datos Personales
Personal Email,Correo Electrónico Personal
Pharmaceutical,Farmacéutico
Pharmaceuticals,Productos farmacéuticos
Phone,Teléfono
Phone No,Teléfono No
Piecework,trabajo a destajo
Pincode,pincode
Place of Issue,Lugar de emisión
Plan for maintenance visits.,Plan para las visitas de mantenimiento .
Planned Qty,Cantidad Planificada
"Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured.","Planificada Cantidad : Cantidad , para lo cual, orden de producción se ha elevado , pero está a la espera de ser fabricados ."
Planned Quantity,Cantidad Planificada
Planning,Planificación
Plant,Planta
Plant and Machinery,Instalaciones técnicas y maquinaria
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,"Por favor, introduzca Abreviatura o Nombre corto correctamente ya que se añadirá como sufijo a todos los Jefes de Cuenta."
Please Update SMS Settings,Por favor actualizar la configuración de SMS
Please add expense voucher details,"Por favor, añada detalles de gastos de vales"
Please add to Modes of Payment from Setup.,"Por favor, añada a Modos de Pago de Configuración."
Please check 'Is Advance' against Account {0} if this is an advance entry.,"Por favor, consulte ' Es Avance ' contra la cuenta {0} si se trata de una entrada por adelantado."
Please click on 'Generate Schedule',"Por favor, haga clic en ' Generar la Lista de"
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Por favor, haga clic en "" Generar Schedule ' en busca del cuento por entregas añadido para el elemento {0}"
Please click on 'Generate Schedule' to get schedule,"Por favor, haga clic en ' Generar la Lista de conseguir horario"
Please create Customer from Lead {0},"Por favor, cree Cliente de plomo {0}"
Please create Salary Structure for employee {0},"Por favor, cree Estructura salarial para el empleado {0}"
Please create new account from Chart of Accounts.,"Por favor, cree una nueva cuenta de Plan General de Contabilidad ."
Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.,"Por favor, no crean la cuenta ( Libros de contabilidad ) para clientes y proveedores . Son creados directamente de los maestros de cliente / proveedor ."
Please enter 'Expected Delivery Date',"Por favor, introduzca "" la fecha del alumbramiento '"
Please enter 'Is Subcontracted' as Yes or No,"Por favor, introduzca "" se subcontrata "" como Sí o No"
Please enter 'Repeat on Day of Month' field value,Por favor introduce 'Repeat en el Día del Mes ' valor del campo
Please enter Account Receivable/Payable group in company master,Por favor introduce el grupo de cobro / pago de cuentas en master empresa
Please enter Approving Role or Approving User,Por favor introduzca Aprobar Papel o Aprobar usuario
Please enter BOM for Item {0} at row {1},Por favor ingrese la lista de materiales para el punto {0} en la fila {1}
Please enter Company,Por favor introduzca Company
Please enter Cost Center,Por favor introduzca Centro de Costos
Please enter Delivery Note No or Sales Invoice No to proceed,"Por favor, ingrese la nota de entrega o No Factura No para continuar"
Please enter Employee Id of this sales parson,Por favor introduzca Empleado Id de este párroco ventas
Please enter Expense Account,"Por favor, ingrese Cuenta de Gastos"
Please enter Item Code to get batch no,"Por favor, introduzca el código del artículo para obtener lotes no"
Please enter Item Code.,"Por favor, introduzca el código del artículo ."
Please enter Item first,Por favor introduzca Artículo primero
Please enter Maintaince Details first,Por favor introduzca Maintaince Detalles primero
Please enter Master Name once the account is created.,"Por favor , ingrese el nombre una vez que se creó la cuenta ."
Please enter Planned Qty for Item {0} at row {1},Por favor introduzca Planificada Cantidad de elemento {0} en la fila {1}
Please enter Production Item first,Por favor introduzca Artículo Producción primera
Please enter Purchase Receipt No to proceed,Por favor introduzca recibo de compra en No para continuar
Please enter Reference date,Por favor introduzca la fecha de referencia
Please enter Warehouse for which Material Request will be raised,"Por favor introduzca Almacén, bodega en la que se planteará Solicitud de material"
Please enter Write Off Account,Por favor introduce Escriba Off Cuenta
Please enter atleast 1 invoice in the table,Por favor introduzca al menos 1 de facturas en la tabla
Please enter company first,Por favor introduzca compañía primero
Please enter company name first,"Por favor, introduzca nombre de la empresa primero"
Please enter default Unit of Measure,Por favor ingrese unidad de medida predeterminada
Please enter default currency in Company Master,Por favor introduce la moneda por defecto en la empresa principal
Please enter email address,"Por favor, introduzca la dirección de correo electrónico"
Please enter item details,Por favor ingrese los detalles del artículo
Please enter message before sending,Por favor introduce el mensaje antes de enviarlo
Please enter parent account group for warehouse account,Por favor ingrese grupo de cuentas de los padres para la cuenta de depósito
Please enter parent cost center,"Por favor, introduzca el centro de coste de los padres"
Please enter quantity for Item {0},Por favor introduzca la cantidad para el elemento {0}
Please enter relieving date.,Por favor introduzca la fecha aliviar .
Please enter sales order in the above table,Por favor ingrese para ventas en la tabla anterior
Please enter valid Company Email,Por favor introduzca válida Empresa Email
Please enter valid Email Id,Por favor introduzca válido Email Id
Please enter valid Personal Email,Por favor introduzca válido Email Personal
Please enter valid mobile nos,Por favor introduzca nos móviles válidos
Please find attached Sales Invoice #{0},Se adjunta la factura de venta # {0}
Please install dropbox python module,"Por favor, instale el módulo python dropbox"
Please mention no of visits required,"¡Por favor, no de visitas requeridas"
Please pull items from Delivery Note,"Por favor, tire de los artículos en la nota de entrega"
Please save the Newsletter before sending,"Por favor, guarde el boletín antes de enviar"
Please save the document before generating maintenance schedule,"Por favor, guarde el documento antes de generar el programa de mantenimiento"
Please see attachment,"Por favor, véase el documento adjunto"
Please select Bank Account,Por favor seleccione la cuenta bancaria
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 si también desea incluir el saldo del ejercicio anterior deja a este año fiscal
Please select Category first,Por favor seleccione primero Categoría
Please select Charge Type first,"Por favor, seleccione Tipo de Cargo primero"
Please select Fiscal Year,"Por favor, seleccione el año fiscal"
Please select Group or Ledger value,"Por favor, seleccione Grupo o Ledger valor"
Please select Incharge Person's name,"Por favor, seleccione el nombre de InCharge persona"
Please select Invoice Type and Invoice Number in atleast one row,"Por favor, seleccione Factura Tipo y número de factura en al menos una fila"
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM","Por favor, seleccione el ítem donde "" Es Stock Item"" es "" No"" y ""¿ Punto de Ventas"" es "" Sí "", y no hay otra lista de materiales de ventas"
Please select Price List,"Por favor, seleccione Lista de precios"
Please select Start Date and End Date for Item {0},"Por favor, seleccione Fecha de inicio y Fecha de finalización para el punto {0}"
Please select Time Logs.,Por favor seleccione registros de tiempo.
Please select a csv file,"Por favor, seleccione un archivo csv"
Please select a valid csv file with data,"Por favor, seleccione un archivo csv válidos con datos"
Please select a value for {0} quotation_to {1},"Por favor, seleccione un valor para {0} {1} quotation_to"
"Please select an ""Image"" first","Por favor seleccione una "" imagen"" primera"
Please select charge type first,Por favor seleccione el tipo de carga primero
Please select company first,Por favor seleccione la empresa primero
Please select company first.,Por favor seleccione la empresa en primer lugar.
Please select item code,"Por favor, seleccione el código del artículo"
Please select month and year,Por favor seleccione el mes y el año
Please select prefix first,"Por favor, selecciona primero el prefijo"
Please select the document type first,Por favor seleccione el tipo de documento primero
Please select weekly off day,Por favor seleccione el día libre semanal
Please select {0},"Por favor, seleccione {0}"
Please select {0} first,"Por favor, seleccione {0} primero"
Please select {0} first.,"Por favor, seleccione {0} primero."
Please set Dropbox access keys in your site config,"Por favor, establece las claves de acceso de Dropbox en tu config sitio"
Please set Google Drive access keys in {0},"Por favor, establece las claves de acceso de Google Drive en {0}"
Please set default Cash or Bank account in Mode of Payment {0},"Por favor, ajuste de cuenta bancaria Efectivo por defecto o en el modo de pago {0}"
Please set default value {0} in Company {0},"Por favor, establece el valor por defecto {0} de la Compañía {0}"
Please set {0},"Por favor, configure {0}"
Please setup Employee Naming System in Human Resource > HR Settings,"Por favor, instalación del sistema de nombres de los empleados en Recursos Humanos > Configuración de recursos humanos"
Please setup numbering series for Attendance via Setup > Numbering Series,"Por favor, series de numeración de configuración para la asistencia a través de Configuración > Series de numeración"
Please setup your chart of accounts before you start Accounting Entries,"Por favor, configure su plan de cuentas antes de empezar los comentarios de Contabilidad"
Please specify,"Por favor, especifique"
Please specify Company,"Por favor, especifique la empresa"
Please specify Company to proceed,"Por favor, especifique la empresa para proceder"
Please specify Default Currency in Company Master and Global Defaults,"Por favor, especifique Moneda predeterminada en la empresa principal y los valores predeterminados globales"
Please specify a,"Por favor, especifique un"
Please specify a valid 'From Case No.',Especifique un válido ' De Caso No. '
Please specify a valid Row ID for {0} in row {1},Especifique un ID de fila válido para {0} en la fila {1}
Please specify either Quantity or Valuation Rate or both,Por favor especificar Cantidad o valoración de tipo o ambos
Please submit to update Leave Balance.,"Por favor, envíe actualizar Dejar Balance."
Plot,parcela
Plot By,Terreno Por
Point of Sale,Punto de Venta
Point-of-Sale Setting,Point -of -Sale Marco
Post Graduate,Postgrado
Postal,Postal
Postal Expenses,Gastos Postales
Posting Date,Fecha de publicación
Posting Time,Hora de publicación
Posting date and posting time is mandatory,Fecha de publicación y el envío tiempo es obligatorio
Posting timestamp must be after {0},Fecha y hora de publicación deberá ser posterior a {0}
Potential opportunities for selling.,Posibles oportunidades para vender .
Preferred Billing Address,Preferida Dirección de Facturación
Preferred Shipping Address,Preferida Dirección Envío
Prefix,Prefijo
Present,Presente
Prevdoc DocType,DocType Prevdoc
Prevdoc Doctype,Doctype Prevdoc
Preview,Vista Previa
Previous,Anterior
Previous Work Experience,Experiencia laboral previa
Price,Precio
Price / Discount,Precio / Descuento
Price List,Lista de Precios
Price List Currency,Lista de precios de divisas
Price List Currency not selected,Lista de precios de divisas no seleccionado
Price List Exchange Rate,Lista de precios Tipo de Cambio
Price List Name,Lista de Precios Nombre
Price List Rate,Lista de Precios Tarifa
Price List Rate (Company Currency),Lista de precios Tarifa ( Compañía de divisas )
Price List master.,Master Lista de precios .
Price List must be applicable for Buying or Selling,Lista de precios debe ser aplicable para comprar o vender
Price List not selected,Lista de precios no seleccionado
Price List {0} is disabled,Lista de precios {0} está deshabilitado
Price or Discount,Precio o Descuento
Pricing Rule,Regla de Precios
Pricing Rule Help,Ayuda de Regla de Precios
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Regla precios se selecciona por primera vez basado en 'Aplicar On' de campo, que puede ser elemento, elemento de grupo o Marca."
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Regla de precios está sobrescribir Precio de lista / definir porcentaje de descuento, sobre la base de algunos criterios."
Pricing Rules are further filtered based on quantity.,Reglas de las tarifas se filtran más basado en la cantidad.
Print Format Style,Formato de impresión Estilo
Print Heading,Imprimir Rubro
Print Without Amount,Imprimir sin Importe
Print and Stationary,Impresión y Papelería
Printing and Branding,Prensa y Branding
Priority,Prioridad
Private Equity,Private Equity
Privilege Leave,Privilege Dejar
Probation,libertad condicional
Process Payroll,Nómina de Procesos
Produced,Producido
Produced Quantity,Cantidad producida
Product Enquiry,Consulta de producto
Production,Producción
Production Order,Orden de Producción
Production Order status is {0},Estado de la orden de producción es de {0}
Production Order {0} must be cancelled before cancelling this Sales Order,Orden de producción {0} debe ser cancelado antes de cancelar esta orden Ventas
Production Order {0} must be submitted,Orden de producción {0} debe ser presentado
Production Orders,Órdenes de Producción
Production Orders in Progress,Órdenes de producción en Construcción
Production Plan Item,Plan de Producción de artículos
Production Plan Items,Elementos del Plan de Producción
Production Plan Sales Order,Plan de Producción Ventas Orden
Production Plan Sales Orders,Plan de Producción de órdenes de venta
Production Planning Tool,Herramienta de Planificación de la producción
Products,Productos
"Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.","Los productos se clasifican por peso-edad en las búsquedas por defecto. Más del peso-edad , más alto es el producto aparecerá en la lista."
Professional Tax,Profesional de Impuestos
Profit and Loss,Pérdidas y Ganancias
Profit and Loss Statement,Estado de Pérdidas y Ganancias
Project,Proyecto
Project Costing,Proyecto de Costos
Project Details,Detalles del Proyecto
Project Manager,Gerente de Proyectos
Project Milestone,Hito del Proyecto
Project Milestones,Hitos del Proyecto
Project Name,Nombre del proyecto
Project Start Date,Fecha de inicio del Proyecto
Project Type,Tipo de Proyecto
Project Value,Valor del Proyecto
Project activity / task.,Actividad del Proyecto / Tarea.
Project master.,Master de Proyectos.
Project will get saved and will be searchable with project name given,Proyecto conseguirá guardará y se podrá buscar con el nombre de proyecto determinado
Project wise Stock Tracking,Sabio proyecto Stock Tracking
Project-wise data is not available for Quotation,Datos del proyecto - sabio no está disponible para la cita
Projected,Proyectado
Projected Qty,Cantidad Projectada
Projects,Proyectos
Projects & System,Proyectos y Sistema
Prompt for Email on Submission of,Preguntar por el correo electrónico en la presentación de
Proposal Writing,Redacción de Propuestas
Provide email id registered in company,Proporcionar correo electrónico de identificación registrado en la compañía
Provisional Profit / Loss (Credit),Beneficio / Pérdida (Crédito) Provisional 
Public,Público
Published on website at: {0},Publicado en el sitio web en: {0}
Publishing,Publicación
Pull sales orders (pending to deliver) based on the above criteria,Tire de las órdenes de venta (pendiente de entregar ) sobre la base de los criterios anteriores
Purchase,Compra
Purchase / Manufacture Details,Detalles de compra / Fábricas
Purchase Analytics,Analitico de Compras
Purchase Common,Compra Común
Purchase Details,Detalles de Compra
Purchase Discounts,Descuentos sobre Compra
Purchase Invoice,Factura de Compra
Purchase Invoice Advance,Compra Factura Anticipada
Purchase Invoice Advances,Avances Compra Factura
Purchase Invoice Item,Factura de compra del artículo
Purchase Invoice Trends,Compra Tendencias Factura
Purchase Invoice {0} is already submitted,Compra Factura {0} ya está presentado
Purchase Order,Orden de Compra
Purchase Order Item,Orden de compra de artículos
Purchase Order Item No,Orden de compra del artículo
Purchase Order Item Supplied,Orden de compra del artículo suministrado
Purchase Order Items,Compra Items
Purchase Order Items Supplied,Compra Items suministrados
Purchase Order Items To Be Billed,Artículos de orden de compra a facturar
Purchase Order Items To Be Received,Los productos que compra para poder ser recibidas
Purchase Order Message,Orden de Compra Mensaje
Purchase Order Required,Orden de Compra Requerido
Purchase Order Trends,Compra Tendencias Solicitar
Purchase Order number required for Item {0},Número de orden de compra se requiere para el elemento {0}
Purchase Order {0} is 'Stopped',Orden de Compra {0} ' Detenido '
Purchase Order {0} is not submitted,Orden de Compra {0} no se presenta
Purchase Orders given to Suppliers.,Órdenes de Compra otorgados a Proveedores .
Purchase Receipt,Recibo de Compra
Purchase Receipt Item,Recibo de compra del artículo
Purchase Receipt Item Supplied,Recibo de compra del artículo suministrado
Purchase Receipt Item Supplieds,Compra de recibos Supplieds artículo
Purchase Receipt Items,Compra de recibos Artículos
Purchase Receipt Message,Recibo de compra mensaje
Purchase Receipt No,Recibo de compra No
Purchase Receipt Required,Recibo de compra requerida
Purchase Receipt Trends,Tendencias de Compra de recibos
Purchase Receipt number required for Item {0},Número de recibo de compra requerida para el punto {0}
Purchase Receipt {0} is not submitted,Recibo de compra {0} no se presenta
Purchase Register,Compra Registrarse
Purchase Return,Compra retorno
Purchase Returned,compra vuelta
Purchase Taxes and Charges,Impuestos de Compra y Cargos
Purchase Taxes and Charges Master,Impuestos de Compra y Cargos Maestro
Purchse Order number required for Item {0},Número de Orden de Compra se requiere para el elemento {0}
Purpose,Propósito
Purpose must be one of {0},Propósito debe ser uno de {0}
QA Inspection,Control de Calidad
Qty,Cantidad
Qty Consumed Per Unit,Cantidad Consumida por Unidad
Qty To Manufacture,Cantidad Para Fabricación
Qty as per Stock UOM,Cantidad de acuerdo de la UOM
Qty to Deliver,Cantidad para Ofrecer
Qty to Order,Cantidad a Solicitar
Qty to Receive,Cantidad a Recibir
Qty to Transfer,Cantidad a Transferir
Qualification,Calificación
Quality,Calidad
Quality Inspection,Inspección de Calidad
Quality Inspection Parameters,Parámetros de Inspección de Calidad
Quality Inspection Reading,Lectura de Inspección de Calidad
Quality Inspection Readings,Lecturas de Inspección de Calidad
Quality Inspection required for Item {0},Inspección de la calidad requerida para el articulo {0}
Quality Management,Gestión de la Calidad
Quantity,Cantidad
Quantity Requested for Purchase,Cantidad solicitada para la compra
Quantity and Rate,Cantidad y Cambio
Quantity and Warehouse,Cantidad y Almacén
Quantity cannot be a fraction in row {0},La cantidad no puede ser una fracción en la fila {0}
Quantity for Item {0} must be less than {1},Cantidad de elemento {0} debe ser menor de {1}
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Cantidad en la fila {0} ({1} ) debe ser la misma que la cantidad fabricada {2}
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Cantidad del punto obtenido después de la fabricación / reempaque de cantidades determinadas de materias primas
Quantity required for Item {0} in row {1},Cantidad requerida para el punto {0} en la fila {1}
Quarter,Trimestre
Quarterly,Trimestral
Quick Help,Ayuda Rápida
Quotation,Cotización
Quotation Item,Cotización del artículo
Quotation Items,Cotización de los Artículos
Quotation Lost Reason,Cotización Pérdida Razón
Quotation Message,Cotización Mensaje
Quotation To,Cotización Para
Quotation Trends,Tendencias de Cotización
Quotation {0} is cancelled,Cotización {0} se cancela
Quotation {0} not of type {1},Cotización {0} no es de tipo {1}
Quotations received from Suppliers.,Cotizaciones recibidas de los proveedores .
Quotes to Leads or Customers.,Cotizaciones a Oportunidades o Clientes
Raise Material Request when stock reaches re-order level,Levante Solicitud de material cuando la acción alcanza el nivel de re- orden
Raised By,Raised By
Raised By (Email),Raised By (Email )
Random,azar
Range,alcance
Rate,velocidad
Rate ,Velocidad
Rate (%),Cambio (% )
Rate (Company Currency),Tarifa ( Compañía de divisas )
Rate Of Materials Based On,Cambio de materiales basados ​​en
Rate and Amount,Ritmo y la cuantía
Rate at which Customer Currency is converted to customer's base currency,Velocidad a la que la Moneda se convierte a la moneda base del cliente
Rate at which Price list currency is converted to company's base currency,Grado en el que la lista de precios en moneda se convierte en la moneda base de la compañía
Rate at which Price list currency is converted to customer's base currency,Grado en el que la lista de precios en moneda se convierte en la moneda base del cliente
Rate at which customer's currency is converted to company's base currency,Velocidad a la que la moneda de los clientes se convierte en la moneda base de la compañía
Rate at which supplier's currency is converted to company's base currency,Velocidad a la que la moneda de proveedor se convierte en la moneda base de la compañía
Rate at which this tax is applied,Velocidad a la que se aplica este impuesto
Raw Material,materia prima
Raw Material Item Code,Materia Prima Código del artículo
Raw Materials Supplied,Materias primas suministradas
Raw Materials Supplied Cost,Coste materias primas suministradas
Raw material cannot be same as main Item,La materia prima no puede ser la misma que del artículo principal
Re-Order Level,Reordenar Nivel
Re-Order Qty,Re- Online con su nombre
Re-order,Reordenar
Re-order Level,Reordenar Nivel
Re-order Qty,Reordenar Cantidad
Read,Lectura
Reading 1,Lectura 1
Reading 10,Lectura 10
Reading 2,Lectura 2
Reading 3,Lectura 3
Reading 4,Lectura 4
Reading 5,Lectura 5
Reading 6,Lectura 6
Reading 7,Lectura 7
Reading 8,Lectura 8
Reading 9,Lectura 9
Real Estate,Bienes Raíces
Reason,Razón
Reason for Leaving,Razones para dejar el
Reason for Resignation,Motivo de la renuncia
Reason for losing,Razón por la pérdida de
Recd Quantity,Recd Cantidad
Receivable,cuenta por cobrar
Receivable / Payable account will be identified based on the field Master Type,Cuenta por cobrar / pagar será identificado basándose en el campo Type Master
Receivables,Cuentas a cobrar
Receivables / Payables,Cobrar / pagar
Receivables Group,cobrar Grupo
Received Date,Fecha de Recepción
Received Items To Be Billed,Elementos Recibidos a Facturar
Received Qty,Cantidad Recibida
Received and Accepted,Recibidos y Aceptados
Receiver List,Lista de receptores
Receiver List is empty. Please create Receiver List,"Lista de receptores está vacía. Por favor, cree Lista de receptores"
Receiver Parameter,receptor de parámetros
Recipients,Destinatarios
Reconcile,Conciliar
Reconciliation Data,Reconciliación de Datos
Reconciliation HTML,Reconciliación HTML
Reconciliation JSON,Reconciliación JSON
Record item movement.,Registro modificado
Recurring Id,ID Recurrente
Recurring Invoice,Factura Recurrente
Recurring Type,Tipo Recurrente
Reduce Deduction for Leave Without Pay (LWP),Reducir Deducción por Licencia sin Sueldo ( LWP )
Reduce Earning for Leave Without Pay (LWP),Reduzca la Ganancia por Licencia sin Sueldo ( LWP )
Ref,Referencia
Ref Code,Código Referencia
Ref SQ,Ref SQ
Reference,Referencia
Reference #{0} dated {1},Referencia # {0} de fecha {1}
Reference Date,Fecha de Referencia
Reference Name,Referencia Nombre
Reference No & Reference Date is required for {0},Se requiere de Referencia y referencia Fecha de {0}
Reference No is mandatory if you entered Reference Date,Referencia No es obligatorio si introdujo Fecha de Referencia
Reference Number,Número de Referencia
Reference Row #,Referencia Fila #
Refresh,Actualizar
Registration Details,Detalles de Registro
Registration Info,Información de Registro
Rejected,Rechazado
Rejected Quantity,Cantidad Rechazada
Rejected Serial No,Rechazado Serie No
Rejected Warehouse,Almacén Rechazado
Rejected Warehouse is mandatory against regected item,Almacén Rechazado es obligatorio en la partida regected
Relation,Relación
Relieving Date,Aliviar Fecha
Relieving Date must be greater than Date of Joining,Aliviar fecha debe ser mayor que Fecha de acceso
Remark,observación
Remarks,observaciones
Remarks Custom,Observaciones Custom
Rename,Renombrar
Rename Log,Cambiar el Nombre de Sesión
Rename Tool,Cambiar el nombre de la herramienta
Rent Cost,Renta Costo
Rent per hour,Alquiler por Horas
Rented,Alquilado
Repeat on Day of Month,Repita el Día del mes
Replace,reemplazar
Replace Item / BOM in all BOMs,Reemplazar elemento / lista de materiales en todas las listas de materiales
Replied,Respondio
Report Date,Fecha del Informe
Report Type,Tipo de informe
Report Type is mandatory,Tipo de informe es obligatorio
Reports to,Informes al
Reqd By Date,Reqd Por Fecha
Reqd by Date,Reqd Fecha
Request Type,Tipo de solicitud
Request for Information,Solicitud de Información
Request for purchase.,Solicitar a la venta.
Requested,Requerido
Requested For,Solicitados para
Requested Items To Be Ordered,Artículos solicitados será condenada
Requested Items To Be Transferred,Artículos solicitados para ser transferido
Requested Qty,Cant. Solicitada
"Requested Qty: Quantity requested for purchase, but not ordered.","Solicitado Cantidad : Cantidad solicitada para la compra, pero no ordenado ."
Requests for items.,Las solicitudes de artículos.
Required By,Requerido por
Required Date,Fecha Requerida
Required Qty,Cant. Necesaria
Required only for sample item.,Sólo es necesario para el artículo de muestra .
Required raw materials issued to the supplier for producing a sub - contracted item.,Las materias primas necesarias emitidas al proveedor para la producción de un sub - ítem contratado .
Research,Investigación
Research & Development,Investigación y Desarrollo
Researcher,Investigador
Reseller,Reseller
Reserved,Reservado
Reserved Qty,Cant. Reservada
"Reserved Qty: Quantity ordered for sale, but not delivered.","Reservados Cantidad : Cantidad a pedir a la venta , pero no entregado."
Reserved Quantity,Cantidad Reservada
Reserved Warehouse,Almacén Reservado
Reserved Warehouse in Sales Order / Finished Goods Warehouse,Almacén reservado en ventas por pedido / Finalizado Productos Almacén
Reserved Warehouse is missing in Sales Order,Almacén Reservado falta de órdenes de venta
Reserved Warehouse required for stock Item {0} in row {1},Almacén Reservado requerido para la acción del artículo {0} en la fila {1}
Reserved warehouse required for stock item {0},Almacén Reservado requerido para la acción del artículo {0}
Reserves and Surplus,Reservas y Superávit
Reset Filters,Restablecer los Filtros
Resignation Letter Date,Fecha de Carta de Renuncia 
Resolution,Resolución
Resolution Date,Fecha de Resolución
Resolution Details,Detalles de la resolución
Resolved By,Resuelto por
Rest Of The World,Resto del mundo
Retail,venta al por menor
Retail & Wholesale,Venta al por menor y al por mayor
Retailer,detallista
Review Date,Fecha de revisión
Rgt,Rgt
Role Allowed to edit frozen stock,Papel animales de editar stock congelado
Role that is allowed to submit transactions that exceed credit limits set.,Papel que se permite presentar las transacciones que excedan los límites de crédito establecidos .
Root Type,Tipo Root
Root Type is mandatory,Tipo Root es obligatorio
Root account can not be deleted,Cuenta root no se puede borrar
Root cannot be edited.,Root no se puede editar .
Root cannot have a parent cost center,Raíz no puede tener un centro de costes de los padres
Rounded Off,Redondeado
Rounded Total,Total Redondeado
Rounded Total (Company Currency),Total redondeado ( Compañía de divisas )
Row # ,Fila #
Row # {0}: ,Row # {0}: 
Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,Fila # {0}: Cantidad ordenada no puede menos que mínima cantidad de pedido de material (definido en maestro de artículos).
Row #{0}: Please specify Serial No for Item {1},"Fila # {0}: Por favor, especifique No para la serie de artículos {1}"
Row {0}: Account does not match with \						Purchase Invoice Credit To account,Fila {0}: Cuenta no coincide con \ Compra Factura de Crédito Para tener en cuenta
Row {0}: Account does not match with \						Sales Invoice Debit To account,Fila {0}: Cuenta no coincide con \ Factura Débito Para tener en cuenta
Row {0}: Conversion Factor is mandatory,Fila {0}: Factor de conversión es obligatoria
Row {0}: Credit entry can not be linked with a Purchase Invoice,Fila {0}: entrada de crédito no puede vincularse con una factura de compra
Row {0}: Debit entry can not be linked with a Sales Invoice,Fila {0}: entrada de débito no se puede vincular con una factura de venta
Row {0}: Payment amount must be less than or equals to invoice outstanding amount. Please refer Note below.,"Fila {0}: Cantidad de pagos debe ser menor o igual a facturar cantidad pendiente. Por favor, consulte la nota a continuación."
Row {0}: Qty is mandatory,Fila {0}: Cantidad es obligatorio
"Row {0}: Qty not avalable in warehouse {1} on {2} {3}.					Available Qty: {4}, Transfer Qty: {5}","Fila {0}: Cantidad no avalable en almacén {1} del {2} {3}. Disponible Cantidad: {4}, Traslado Cantidad: {5}"
"Row {0}: To set {1} periodicity, difference between from and to date \						must be greater than or equal to {2}","Fila {0}: Para establecer {1} periodicidad, diferencia entre desde y hasta la fecha \ debe ser mayor o igual que {2}"
Row {0}:Start Date must be before End Date,Fila {0}: Fecha de inicio debe ser anterior Fecha de finalización
Rules for adding shipping costs.,Reglas para la adición de los gastos de envío .
Rules for applying pricing and discount.,Reglas para la aplicación de precios y descuentos .
Rules to calculate shipping amount for a sale,Reglas para calcular el importe de envío para una venta
S.O. No.,S.O. No.
SHE Cess on Excise,SHE Cess sobre Impuestos Especiales
SHE Cess on Service Tax,SHE CESS en Tax Service
SHE Cess on TDS,SHE CESS en TDS
SMS Center,Centro SMS
SMS Gateway URL,SMS Gateway URL
SMS Log,SMS Iniciar sesión
SMS Parameter,Parámetro SMS
SMS Sender Name,SMS Sender Name
SMS Settings,Ajustes de SMS
SO Date,SO Fecha
SO Pending Qty,SO Pendiente Cantidad
SO Qty,SO Cantidad
Salary,Salario
Salary Information,La información sobre sueldos
Salary Manager,Administrador de Salario
Salary Mode,Modo Salario
Salary Slip,Slip Salario
Salary Slip Deduction,Deducción nómina
Salary Slip Earning,Ganar nómina
Salary Slip of employee {0} already created for this month,Nómina de empleado {0} ya creado para este mes
Salary Structure,Estructura Salarial
Salary Structure Deduction,Estructura salarial Deducción
Salary Structure Earning,Estructura salarial Earning
Salary Structure Earnings,Estructura salarial Ganancias
Salary breakup based on Earning and Deduction.,Ruptura Salario basado en la ganancia y la deducción.
Salary components.,Componentes salariales.
Salary template master.,Plantilla maestra Salario .
Sales,Venta
Sales Analytics,Análisis de Ventas
Sales BOM,BOM Ventas
Sales BOM Help,BOM Ventas Ayuda
Sales BOM Item,BOM Sales Item
Sales BOM Items,BOM Ventas Artículos
Sales Browser,Navegador de Ventas
Sales Details,Detalles de Ventas
Sales Discounts,Descuentos sobre Ventas
Sales Email Settings,Configuración de Ventas Email
Sales Expenses,Gastos de Ventas
Sales Extras,Extras Ventas
Sales Funnel,Embudo de Ventas
Sales Invoice,Factura de Venta
Sales Invoice Advance,Factura Anticipadas
Sales Invoice Item,La factura de venta de artículos
Sales Invoice Items,Artículos factura de venta
Sales Invoice Message,Factura Mensaje
Sales Invoice No,Factura de venta No
Sales Invoice Trends,Ventas Tendencias Factura
Sales Invoice {0} has already been submitted,Factura {0} ya se ha presentado
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Factura {0} debe ser cancelado antes de cancelar esta orden Ventas
Sales Order,Ordenes de Venta
Sales Order Date,Órdenes de venta Fecha
Sales Order Item,Solicitar Sales Item
Sales Order Items,Solicitar Sales Artículos
Sales Order Message,Sales Order Mensaje
Sales Order No,Ventas de orden
Sales Order Required,Ventas orden requerido
Sales Order Trends,Tendencias Ventas Solicitar
Sales Order required for Item {0},Órdenes de venta requerido para el punto {0}
Sales Order {0} is not submitted,Órdenes de venta {0} no se presenta
Sales Order {0} is not valid,Órdenes de venta {0} no es válido
Sales Order {0} is stopped,Órdenes de venta {0} se detiene
Sales Partner,Socio de ventas
Sales Partner Name,Nombre Sales Partner
Sales Partner Target,Ventas objetivo Socio
Sales Partners Commission,Puntos de ventas en Comisión
Sales Person,Sales Person
Sales Person Name,Sales Person Name
Sales Person Target Variance Item Group-Wise,Sales Person Target Varianza Artículo Group- Wise
Sales Person Targets,Objetivos persona de las ventas
Sales Person-wise Transaction Summary,Person- sabio Ventas Resumen de transacciones
Sales Register,Ventas Registro
Sales Return,Volver Ventas
Sales Returned,Obtenidos Ventas
Sales Taxes and Charges,Los impuestos y cargos de venta
Sales Taxes and Charges Master,Los impuestos y cargos de venta Maestro
Sales Team,Equipo de Ventas
Sales Team Details,Detalles del equipo de ventas
Sales Team1,Team1 Ventas
Sales and Purchase,Ventas y Compras
Sales campaigns.,Campañas de ventas.
Salutation,Saludo
Sample Size,Tamaño de la muestra
Sanctioned Amount,importe sancionado
Saturday,Sábado
Schedule,Horario
Schedule Date,Horario Fecha
Schedule Details,Agenda Detalles
Scheduled,Programado
Scheduled Date,Fecha prevista
Scheduled to send to {0},Programado para enviar a {0}
Scheduled to send to {0} recipients,Programado para enviar a {0} destinatarios
Scheduler Failed Events,Eventos Scheduler fallidos
School/University,Escuela / Universidad
Score (0-5),Puntuación ( 0-5)
Score Earned,puntuación obtenida
Score must be less than or equal to 5,Puntuación debe ser menor o igual a 5
Scrap %,Scrap %
Seasonality for setting budgets.,Estacionalidad de establecer presupuestos.
Secretary,Secretario
Secured Loans,Préstamos Garantizados
Securities & Commodity Exchanges,Valores y Bolsas de Productos
Securities and Deposits,Valores y Depósitos
"See ""Rate Of Materials Based On"" in Costing Section","Consulte "" Cambio de materiales a base On"" en la sección Cálculo del coste"
"Select ""Yes"" for sub - contracting items","Seleccione "" Sí"" para el sub - contratación de artículos"
"Select ""Yes"" if this item is used for some internal purpose in your company.","Seleccione "" Sí"" si este artículo se utiliza para algún propósito interno de su empresa."
"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Seleccione "" Sí"" si este artículo representa un poco de trabajo al igual que la formación, el diseño, consultoría , etc"
"Select ""Yes"" if you are maintaining stock of this item in your Inventory.","Seleccione "" Sí"" si usted está manteniendo un balance de este artículo en su inventario."
"Select ""Yes"" if you supply raw materials to your supplier to manufacture this item.","Seleccione "" Sí"" si usted suministra materias primas a su proveedor para la fabricación de este artículo."
Select Brand...,Seleccionar Marca ...
Select Budget Distribution to unevenly distribute targets across months.,Seleccione Asignaciones para distribuir de manera desigual a través de objetivos meses .
"Select Budget Distribution, if you want to track based on seasonality.","Seleccione Presupuesto Distribución , si desea realizar un seguimiento basado en la estacionalidad."
Select Company...,Seleccione la empresa ...
Select DocType,Seleccione tipo de documento
Select Fiscal Year...,Seleccione el año fiscal ...
Select Items,Seleccione Artículos
Select Project...,Seleccionar Proyecto ...
Select Purchase Receipts,Seleccionar Compra Receipts
Select Sales Orders,Selección de órdenes de venta
Select Sales Orders from which you want to create Production Orders.,Seleccione órdenes de venta a partir del cual desea crear órdenes de producción.
Select Time Logs and Submit to create a new Sales Invoice.,Seleccionar registros de tiempo e Presentar después de crear una nueva factura de venta .
Select Transaction,Seleccione Transacción
Select Warehouse...,Seleccione Almacén ...
Select Your Language,Seleccione su idioma
Select account head of the bank where cheque was deposited.,Seleccione la cuenta la cabeza del banco donde cheque fue depositado .
Select company name first.,Seleccionar nombre de la empresa en primer lugar.
Select template from which you want to get the Goals,Seleccione la plantilla de la que usted desea conseguir los Objetivos de
Select the Employee for whom you are creating the Appraisal.,Seleccione el empleado para el que está creando la Evaluación .
Select the period when the invoice will be generated automatically,Seleccione el período en que la factura se generará de forma automática
Select the relevant company name if you have multiple companies,Seleccione el nombre de sociedades correspondiente si tiene varias empresas
Select the relevant company name if you have multiple companies.,Seleccione el nombre de sociedades correspondiente si tiene varias empresas .
Select who you want to send this newsletter to,Seleccione a quién desea enviar este boletín a
Select your home country and check the timezone and currency.,Seleccione su país de origen y comprobar la zona horaria y la moneda.
"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","Al seleccionar "" Sí"" permitirá que este tema aparezca en la Orden de Compra , recibo de compra ."
"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","Al seleccionar "" Sí "" permitirá este artículo para averiguar en órdenes de venta , nota de entrega"
"Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.","Al seleccionar "" Sí"" le permitirá crear la lista de materiales que muestran la materia prima y los costos operativos incurridos en la fabricación de este artículo."
"Selecting ""Yes"" will allow you to make a Production Order for this item.","Al seleccionar "" Sí "" permitirá que usted haga una orden de producción por este concepto."
"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.","Al seleccionar "" Sí"" le dará una identidad única a cada entidad de este artículo que se puede ver en la serie No amo."
Selling,Ventas
Selling Settings,La venta de Ajustes
"Selling must be checked, if Applicable For is selected as {0}","Selling debe comprobar, si se selecciona aplicable Para que {0}"
Send,Enviar
Send Autoreply,Enviar Respuesta automática
Send Email,Enviar Correo Electronico
Send From,Enviar Desde
Send Notifications To,Enviar notificaciones a
Send Now,Enviar ahora
Send SMS,Enviar Mensaje de Texto
Send To,Enviar a
Send To Type,Enviar a Teclear
Send mass SMS to your contacts,Enviar Mensaje de Texto masivo a sus contactos
Send to this list,Enviar a esta lista
Sender Name,Nombre del Remitente
Sent On,Enviado Por
Separate production order will be created for each finished good item.,Para la producción por separado se crea para cada buen artículo terminado.
Serial No,No de orden
Serial No / Batch,N º de serie / lote
Serial No Details,Serial No Detalles
Serial No Service Contract Expiry,Número de orden de servicio Contrato de caducidad
Serial No Status,Número de orden Estado
Serial No Warranty Expiry,Número de orden de caducidad Garantía
Serial No is mandatory for Item {0},No de serie es obligatoria para el elemento {0}
Serial No {0} created,Número de orden {0} creado
Serial No {0} does not belong to Delivery Note {1},Número de orden {0} no pertenece a la nota de entrega {1}
Serial No {0} does not belong to Item {1},Número de orden {0} no pertenece al elemento {1}
Serial No {0} does not belong to Warehouse {1},Número de orden {0} no pertenece al Almacén {1}
Serial No {0} does not exist,Número de orden {0} no existe
Serial No {0} has already been received,Número de orden {0} ya se ha recibido
Serial No {0} is under maintenance contract upto {1},Número de orden {0} tiene un contrato de mantenimiento hasta {1}
Serial No {0} is under warranty upto {1},Número de orden {0} está en garantía hasta {1}
Serial No {0} not in stock,Número de orden {0} no está en stock
Serial No {0} quantity {1} cannot be a fraction,Número de orden {0} {1} cantidad no puede ser una fracción
Serial No {0} status must be 'Available' to Deliver,"Número de orden {0} Estado debe ser "" disponible "" para entregar"
Serial Nos Required for Serialized Item {0},Serie n Necesario para artículo serializado {0}
Serial Number Series,Número de Serie Serie
Serial number {0} entered more than once,Número de serie {0} entraron más de una vez
Serialized Item {0} cannot be updated \					using Stock Reconciliation,Artículo Serialized {0} no se puede actualizar \ mediante Stock Reconciliación
Series,Serie
Series List for this Transaction,Lista de series para esta transacción
Series Updated,Series Actualizado
Series Updated Successfully,Serie actualizado correctamente
Series is mandatory,Serie es obligatorio
Series {0} already used in {1},Serie {0} ya se utiliza en {1}
Service,Servicio
Service Address,Dirección del Servicio
Service Tax,Impuestos de Servicio
Services,Servicios
Set,conjunto
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Establecer valores predeterminados , como empresa , vigencia actual año fiscal , etc"
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Establecer presupuestos - Grupo sabio artículo en este Territorio. También puede incluir la estacionalidad mediante el establecimiento de la Distribución .
Set Status as Available,Estado Establecer como disponible
Set as Default,Establecer como predeterminado
Set as Lost,Establecer como Perdidos
Set prefix for numbering series on your transactions,Establecer prefijo de numeración de serie en sus transacciones
Set targets Item Group-wise for this Sales Person.,Establecer objetivos artículo grupo que tienen para este vendedor.
Setting Account Type helps in selecting this Account in transactions.,Ajuste del tipo de cuenta le ayuda en la selección de esta cuenta en las transacciones.
Setting this Address Template as default as there is no other default,Al establecer esta plantilla de dirección por defecto ya que no hay otra manera predeterminada
Setting up...,Configuración ...
Settings,Configuración
Settings for HR Module,Ajustes para el Módulo de Recursos Humanos
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""","Ajustes para extraer los solicitantes de empleo de un buzón por ejemplo, "" jobs@example.com """
Setup,Configuración
Setup Already Complete!!,Configuración completa !
Setup Complete,Configuración completa
Setup SMS gateway settings,Configuración de puerta de enlace de configuración de SMS
Setup Series,Serie de configuración
Setup Wizard,Asistente de configuración
Setup incoming server for jobs email id. (e.g. jobs@example.com),Configuración del servidor de correo entrante para los trabajos de identificación del email . (por ejemplo jobs@example.com )
Setup incoming server for sales email id. (e.g. sales@example.com),Configuración del servidor de correo entrante de correo electrónico de identificación de las ventas. (por ejemplo sales@example.com )
Setup incoming server for support email id. (e.g. support@example.com),Configuración del servidor de correo entrante para el apoyo de id de correo electrónico. (por ejemplo support@example.com )
Share,Cuota
Share With,Comparte con
Shareholders Funds,Accionistas Fondos
Shipments to customers.,Los envíos a los clientes .
Shipping,Envío
Shipping Account,cuenta Envíos
Shipping Address,Dirección de envío
Shipping Amount,Importe del envío
Shipping Rule,Regla de envío
Shipping Rule Condition,Regla Condición inicial
Shipping Rule Conditions,Regla envío Condiciones
Shipping Rule Label,Regla Etiqueta de envío
Shop,tienda
Shopping Cart,Cesta de la compra
Short biography for website and other publications.,Breve biografía de la página web y otras publicaciones.
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Mostrar ""en la acción "" o "" No disponible "", basada en stock disponible en este almacén."
"Show / Hide features like Serial Nos, POS etc.","Mostrar / Disimular las características como de serie n , POS , etc"
Show In Website,Mostrar En Sitio Web
Show a slideshow at the top of the page,Mostrar una presentación de diapositivas en la parte superior de la página
Show in Website,Mostrar en Sitio Web
Show rows with zero values,Mostrar filas con valores de cero
Show this slideshow at the top of the page,Mostrar esta presentación de diapositivas en la parte superior de la página
Sick Leave,baja por enfermedad
Signature,Firma
Signature to be appended at the end of every email,Firma que se adjunta al final de cada correo electrónico
Single,solo
Single unit of an Item.,Una sola unidad de un elemento .
Sit tight while your system is being setup. This may take a few moments.,Estar tranquilos mientras el sistema está siendo configuración. Esto puede tomar un momento .
Slideshow,Presentación
Soap & Detergent,Jabón y Detergente
Software,Software
Software Developer,Desarrollador de Software
"Sorry, Serial Nos cannot be merged","Lo sentimos , Nos de serie no se puede fusionar"
"Sorry, companies cannot be merged","Lo sentimos , las empresas no se pueden combinar"
Source,Fuente
Source File,Archivo de Origen
Source Warehouse,fuente de depósito
Source and target warehouse cannot be same for row {0},Fuente y el almacén de destino no pueden ser la misma para la fila {0}
Source of Funds (Liabilities),Fuente de los fondos ( Pasivo )
Source warehouse is mandatory for row {0},Almacén de origen es obligatoria para la fila {0}
Spartan,espartano
"Special Characters except ""-"" and ""/"" not allowed in naming series","Caracteres especiales , excepto "" -"" y "" / "" no se permiten en el nombramiento de serie"
Specification Details,Especificaciones Detalles
Specifications,Especificaciones
"Specify a list of Territories, for which, this Price List is valid","Especifica una lista de territorios , para lo cual, la lista de precios es válida"
"Specify a list of Territories, for which, this Shipping Rule is valid","Especifica una lista de territorios , para lo cual, esta Regla envío es válida"
"Specify a list of Territories, for which, this Taxes Master is valid","Especifica una lista de territorios , para lo cual, esta Impuestos Master es válida"
"Specify the operations, operating cost and give a unique Operation no to your operations.","Especifique la operación , el costo de operación y dar una operación única que no a sus operaciones."
Split Delivery Note into packages.,Dividir nota de entrega en paquetes .
Sports,deportes
Sr,Sr
Standard,estándar
Standard Buying,Compra estándar
Standard Reports,Informes estándar
Standard Selling,Venta estándar
Standard contract terms for Sales or Purchase.,Condiciones contractuales estándar para Ventas o Compra.
Start,comienzo
Start Date,Fecha de inicio
Start date of current invoice's period,Fecha del período de facturación actual Inicie
Start date should be less than end date for Item {0},La fecha de inicio debe ser menor que la fecha de finalización para el punto {0}
State,Estado
Statement of Account,Estado de cuenta
Static Parameters,Parámetros estáticos
Status,estado
Status must be one of {0},Estado debe ser uno de {0}
Status of {0} {1} is now {2},Situación de {0} {1} {2} es ahora
Status updated to {0},Estado actualizado a {0}
Statutory info and other general information about your Supplier,Información legal y otra información general acerca de su proveedor
Stay Updated,Manténgase actualizado
Stock,valores
Stock Adjustment,Stock de Ajuste
Stock Adjustment Account,Cuenta de Ajuste
Stock Ageing,Stock Envejecimiento
Stock Analytics,Analytics archivo
Stock Assets,Activos de archivo
Stock Balance,Stock de balance
Stock Entries already created for Production Order ,Stock Entries already created for Production Order 
Stock Entry,Entrada Stock
Stock Entry Detail,Detalle de la entrada
Stock Expenses,gastos de archivo
Stock Frozen Upto,Stock Frozen Hasta
Stock Ledger,Ledger Stock
Stock Ledger Entry,Ledger Entry Stock
Stock Ledger entries balances updated,Ledger Stock entradas saldos actualizados
Stock Level,Nivel de existencias
Stock Liabilities,Pasivos de archivo
Stock Projected Qty,Stock Proyectado Cantidad
Stock Queue (FIFO),Stock de cola ( FIFO)
Stock Received But Not Billed,Stock recibida no facturados
Stock Reconcilation Data,Stock reconciliación de datos
Stock Reconcilation Template,Stock reconciliación Plantilla
Stock Reconciliation,Stock Reconciliación
"Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory.","Stock Reconciliación se puede utilizar para actualizar las existencias en una fecha determinada , por lo general de acuerdo con el inventario físico."
Stock Settings,Ajustes de archivo
Stock UOM,Stock UOM
Stock UOM Replace Utility,Stock UOM reemplazar utilidad
Stock UOM updatd for Item {0},Updatd Stock UOM para el punto {0}
Stock Uom,Stock Uom
Stock Value,Stock Valor
Stock Value Difference,Stock valor de la diferencia
Stock balances updated,Saldos archivo actualizado
Stock cannot be updated against Delivery Note {0},Stock no puede actualizarse contra entrega Nota {0}
Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name',Existen entradas de archivo contra almacén {0} no se puede volver a asignar o modificar ' Maestro Name'
Stock transactions before {0} are frozen,Operaciones bursátiles antes de {0} se congelan
Stop,Deténgase
Stop Birthday Reminders,Detener Birthday Reminders
Stop Material Request,Solicitud Detener material
Stop users from making Leave Applications on following days.,Deje que los usuarios realicen Aplicaciones excedencia siguientes días .
Stop!,¡Alto!
Stopped,detenido
Stopped order cannot be cancelled. Unstop to cancel.,Para Parado no se puede cancelar . Unstop cancelar.
Stores,Tiendas
Stub,talón
Sub Assemblies,Asambleas Sub
"Sub-currency. For e.g. ""Cent""","Sub -moneda. Por ejemplo, "" Cent """
Subcontract,subcontrato
Subject,Sujeto
Submit Salary Slip,Presentar nómina
Submit all salary slips for the above selected criteria,Presentar todas las nóminas para los criterios seleccionados anteriormente
Submit this Production Order for further processing.,Enviar esta Orden de Producción para su posterior procesamiento .
Submitted,Enviado
Subsidiary,Filial
Successful: ,Con éxito:
Successfully Reconciled,Con éxito Reconciled
Suggestions,Sugerencias
Sunday,Domingo
Supplier,Proveedor
Supplier (Payable) Account,Proveedor (A pagar ) Cuenta
Supplier (vendor) name as entered in supplier master,Proveedor (vendedor ) nombre que ingresó en el maestro de proveedores
Supplier > Supplier Type,Proveedor> Tipo de Proveedor
Supplier Account Head,Cuenta Proveedor Head
Supplier Address,Dirección del proveedor
Supplier Addresses and Contacts,Direcciones del surtidor y Contactos
Supplier Details,Detalles del Proveedor
Supplier Intro,Proveedor Intro
Supplier Invoice Date,Proveedor Fecha de la factura
Supplier Invoice No,Proveedor factura n º
Supplier Name,Nombre del proveedor
Supplier Naming By,Naming Proveedor Por
Supplier Part Number,Número de pieza del proveedor
Supplier Quotation,Cotización Proveedor
Supplier Quotation Item,Proveedor Cotización artículo
Supplier Reference,Referencia proveedor
Supplier Type,Tipo de proveedor
Supplier Type / Supplier,Proveedor Tipo / Proveedor
Supplier Type master.,Proveedor Tipo maestro.
Supplier Warehouse,Almacén Proveedor
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Depósito obligatorio para recibo de compra de subcontratación Proveedor
Supplier database.,Base de datos de proveedores.
Supplier master.,Maestro de proveedores.
Supplier warehouse where you have issued raw materials for sub - contracting,Almacén del proveedor en la que han emitido las materias primas para la sub - contratación
Supplier-Wise Sales Analytics,De proveedores hasta los sabios Ventas Analytics
Support,apoyo
Support Analtyics,Analtyics Soporte
Support Analytics,Soporte Analytics
Support Email,Email de Ayuda
Support Email Settings,Soporte Configuración del correo electrónico
Support Password,Soporte Contraseña
Support Ticket,Ticket
Support queries from customers.,Consultas de soporte de clientes .
Symbol,símbolo
Sync Support Mails,Sync Soporte Mails
Sync with Dropbox,Sincronización con Dropbox
Sync with Google Drive,Sincronización con Google Drive
System,Sistema
System Settings,Configuración del sistema
"System User (login) ID. If set, it will become default for all HR forms.","Usuario del sistema (login ) de diámetro. Si se establece , será por defecto para todas las formas de recursos humanos."
TDS (Advertisement),TDS (Publicidad)
TDS (Commission),TDS (Comisión)
TDS (Contractor),TDS (Contratista)
TDS (Interest),TDS (Intereses)
TDS (Rent),TDS (Alquiler)
TDS (Salary),TDS (Salario)
Target  Amount,Monto Target
Target Detail,Objetivo Detalle
Target Details,Detalles Target
Target Details1,Target Details1
Target Distribution,Distribución Target
Target On,Target On
Target Qty,Target Cantidad
Target Warehouse,destino de depósito
Target warehouse in row {0} must be same as Production Order,Almacenes de destino de la fila {0} debe ser la misma que la producción del pedido
Target warehouse is mandatory for row {0},Almacenes Target es obligatorio para la fila {0}
Task,Tarea
Task Details,Detalles de la tarea
Tasks,Tareas
Tax,Impuesto
Tax Amount After Discount Amount,Total de impuestos Después Cantidad de Descuento
Tax Assets,Activos por Impuestos
Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items,"Categoría de impuesto no puede ser ' Valoración ' o ' de Valoración y Total ""como todos los artículos son no-acción"
Tax Rate,Tasa de Impuesto
Tax and other salary deductions.,Tributaria y otras deducciones salariales.
Tax detail table fetched from item master as a string and stored in this field.Used for Taxes and Charges,Tabla de detalles de impuestos recoger del maestro de artículos en forma de cadena y se almacena en este campo. Se utiliza para las tasas y cargos
Tax template for buying transactions.,Plantilla de impuestos para la compra de las transacciones.
Tax template for selling transactions.,Plantilla Tributaria para la venta de las transacciones.
Taxable,Imponible
Taxes,Impuestos
Taxes and Charges,Impuestos y Cargos
Taxes and Charges Added,Impuestos y Cargos Adicionales
Taxes and Charges Added (Company Currency),Impuestos y cargos adicionales ( Compañía de divisas )
Taxes and Charges Calculation,Impuestos y Cargos Cálculo
Taxes and Charges Deducted,Impuestos y gastos deducidos
Taxes and Charges Deducted (Company Currency),Impuestos y gastos deducidos ( Compañía de divisas )
Taxes and Charges Total,Los impuestos y cargos totales
Taxes and Charges Total (Company Currency),Impuestos y Cargos total ( Compañía de divisas )
Technology,Tecnología
Telecommunications,Telecomunicaciones
Telephone Expenses,gastos por servicios telefónicos
Television,Televisión
Template,Plantilla
Template for performance appraisals.,Plantilla para las evaluaciones de desempeño .
Template of terms or contract.,Plantilla de términos o contrato.
Temporary Accounts (Assets),Cuentas Temporales ( Activos )
Temporary Accounts (Liabilities),Cuentas Temporales ( Pasivo )
Temporary Assets,Activos temporales
Temporary Liabilities,Pasivos temporales
Term Details,Detalles plazo
Terms,Términos
Terms and Conditions,Términos y Condiciones
Terms and Conditions Content,Términos y Condiciones de contenido
Terms and Conditions Details,Detalle de Términos y Condiciones 
Terms and Conditions Template,Plantilla de Términos y Condiciones
Terms and Conditions1,Términos y Condiciones 1
Terretory,Territorio
Territory,Territorio
Territory / Customer,Localidad / Cliente
Territory Manager,Gerente de Territorio
Territory Name,Nombre Territorio
Territory Target Variance Item Group-Wise,Territorio Target Varianza Artículo Group- Wise
Territory Targets,Objetivos Territorio
Test,Prueba
Test Email Id,Prueba de Identificación del email
Test the Newsletter,Pruebe el Boletín
The BOM which will be replaced,La lista de materiales que será sustituido
The First User: You,El Primer Usuario: Usted
"The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes""","El artículo que representa el paquete . Este artículo debe haber "" Es Stock Item"" como "" No"" y ""¿ Punto de venta"" como "" Sí"""
The Organization,La Organización
"The account head under Liability, in which Profit/Loss will be booked","El director cuenta con la responsabilidad civil , en el que será reservado Ganancias / Pérdidas"
The date on which next invoice will be generated. It is generated on submit.,La fecha en que se generará la próxima factura. Se genera en enviar.
The date on which recurring invoice will be stop,La fecha en que se detiene la factura recurrente
"The day of the month on which auto invoice will be generated e.g. 05, 28 etc ","El día del mes en el que se generará factura auto por ejemplo 05, 28, etc"
The day(s) on which you are applying for leave are holiday. You need not apply for leave.,El día ( s ) sobre el cual está solicitando la licencia son vacaciones. Usted no tiene que solicitar la licencia .
The first Leave Approver in the list will be set as the default Leave Approver,El primer aprobador Dejar en la lista se establecerá como predeterminada Dejar aprobador
The first user will become the System Manager (you can change that later).,El primer usuario se convertirá en el gestor del sistema ( que puede cambiar esto más adelante) .
The gross weight of the package. Usually net weight + packaging material weight. (for print),El peso bruto del paquete. Peso + embalaje peso Normalmente material neto . (para impresión)
The name of your company for which you are setting up this system.,El nombre de su empresa para la que va a configurar el sistema.
The net weight of this package. (calculated automatically as sum of net weight of items),El peso neto de este paquete . ( calculados automáticamente como la suma del peso neto del material)
The new BOM after replacement,La nueva lista de materiales después de la sustitución
The rate at which Bill Currency is converted into company's base currency,La velocidad a la que Bill moneda se convierte en la moneda base de la compañía
The unique id for tracking all recurring invoices. It is generated on submit.,El identificador único para el seguimiento de todas las facturas recurrentes. Se genera en enviar .
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Entonces reglas de precios son filtradas en base a cliente, grupo de clientes, Territorio, proveedor, tipo de proveedor, Campaña, socio de ventas, etc"
There are more holidays than working days this month.,Hay más vacaciones que los días de trabajo de este mes.
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Sólo puede haber una regla Condición inicial con 0 o valor en blanco de ""To Value"""
There is not enough leave balance for Leave Type {0},No hay equilibrio permiso suficiente para Dejar Escriba {0}
There is nothing to edit.,No hay nada que modificar.
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.,"Ha ocurrido un error . Una razón probable podría ser que usted no ha guardado el formulario. Por favor, póngase en contacto con support@erpnext.com si el problema persiste."
There were errors.,Hubo errores .
This Currency is disabled. Enable to use in transactions,Esta moneda está desactivado . Habilitar el uso en las transacciones
This Leave Application is pending approval. Only the Leave Apporver can update status.,Esta solicitud de autorización está pendiente de aprobación . Sólo el Dejar Apporver puede actualizar el estado .
This Time Log Batch has been billed.,Este lote Hora de registro se ha facturado .
This Time Log Batch has been cancelled.,Este lote Hora de registro ha sido cancelado .
This Time Log conflicts with {0},This Time Entrar en conflicto con {0}
This format is used if country specific format is not found,Este formato se utiliza si no se encuentra en formato específico del país
This is a root account and cannot be edited.,Esta es una cuenta de la raíz y no se puede editar .
This is a root customer group and cannot be edited.,Se trata de un grupo de clientes de la raíz y no se puede editar .
This is a root item group and cannot be edited.,Se trata de un grupo de elementos de raíz y no se puede editar .
This is a root sales person and cannot be edited.,Se trata de una persona de las ventas de la raíz y no se puede editar .
This is a root territory and cannot be edited.,Este es un territorio de la raíz y no se puede editar .
This is an example website auto-generated from ERPNext,Este es un sitio web ejemplo generadas por auto de ERPNext
This is the number of the last created transaction with this prefix,Este es el número de la última transacción creado con este prefijo
This will be used for setting rule in HR module,Esto se utiliza para ajustar la regla en el módulo HR
Thread HTML,HTML Tema
Thursday,Jueves
Time Log,Hora de registro
Time Log Batch,Lote Hora de registro
Time Log Batch Detail,Detalle de lotes Hora de registro
Time Log Batch Details,Tiempo de registro incluye el detalle de lotes
Time Log Batch {0} must be 'Submitted',Lote Hora de registro {0} debe ser ' Enviado '
Time Log Status must be Submitted.,Hora de registro de estado debe ser presentada.
Time Log for tasks.,Hora de registro para las tareas.
Time Log is not billable,Hora de registro no es facturable
Time Log {0} must be 'Submitted',Hora de registro {0} debe ser ' Enviado '
Time Zone,Huso Horario
Time Zones,Husos horarios
Time and Budget,Tiempo y Presupuesto
Time at which items were delivered from warehouse,Momento en que los artículos fueron entregados desde el almacén
Time at which materials were received,Momento en que se recibieron los materiales
Title,Título
Titles for print templates e.g. Proforma Invoice.,"Títulos para plantillas de impresión , por ejemplo, Factura proforma ."
To,a
To Currency,Para la moneda
To Date,Hasta la fecha
To Date should be same as From Date for Half Day leave,Hasta la fecha debe ser igual a partir de la fecha para la licencia de medio día
To Date should be within the Fiscal Year. Assuming To Date = {0},Hasta la fecha debe estar dentro del año fiscal. Asumiendo la fecha = {0}
To Discuss,Para Discuta
To Do List,Lista para hacer
To Package No.,Al paquete No.
To Produce,Producir
To Time,Para Tiempo
To Value,Con el valor
To Warehouse,Para Almacén
"To add child nodes, explore tree and click on the node under which you want to add more nodes.","Para agregar nodos secundarios , explorar el árbol y haga clic en el nodo en el que desea agregar más nodos."
"To assign this issue, use the ""Assign"" button in the sidebar.","Para asignar este problema, utilice el botón "" Assign"" en la barra lateral ."
To create a Bank Account,Para crear una Cuenta Bancaria
To create a Tax Account,Para crear una Cuenta de impuestos
"To create an Account Head under a different company, select the company and save customer.","Para crear un Jefe de Cuenta bajo una compañía diferente , seleccione la empresa y salvar a los clientes."
To date cannot be before from date,Hasta la fecha no puede ser antes de la fecha de
To enable <b>Point of Sale</b> features,Para activar <b> punto de venta </ b> características
To enable <b>Point of Sale</b> view,Para activar <b> punto de venta < / b > Vista
To get Item Group in details table,Para obtener Grupo artículo en la tabla detalles
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Para incluir el impuesto de la fila {0} en la tasa de artículo , los impuestos en filas {1} también deben ser incluidos"
"To merge, following properties must be same for both items","Para combinar , siguientes propiedades deben ser el mismo para ambos ítems"
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Para no aplicar la regla de precios en una transacción en particular, todas las normas sobre tarifas aplicables deben ser desactivados."
"To set this Fiscal Year as Default, click on 'Set as Default'","Para establecer este año fiscal como predeterminada , haga clic en "" Establecer como predeterminado """
To track any installation or commissioning related work after sales,Para el seguimiento de cualquier instalación o puesta en obra relacionada postventa
"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 realizar el seguimiento de marca en el siguiente documento Nota de entrega , Oportunidad , solicitud de material , artículo , Orden de Compra, Comprar Bono , el recibo de compra , cotización , factura de venta , lista de materiales de ventas , órdenes de venta , Número de Serie"
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 rastrear artículo en ventas y documentos de compra en base a sus nn serie. Esto se puede también utilizar para rastrear información sobre la garantía del producto.
To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>,Para realizar un seguimiento de los elementos de las ventas y la compra de los documentos con lotes nos <br> <b> Industria preferido: Productos químicos etc < / b >
To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,Para realizar un seguimiento de elementos mediante código de barras. Usted será capaz de entrar en los elementos de la nota de entrega y la factura de venta mediante el escaneo de código de barras del artículo.
Too many columns. Export the report and print it using a spreadsheet application.,Hay demasiadas columnas. Exportar el informe e imprimirlo mediante una aplicación de hoja de cálculo.
Tools,Herramientas
Total,Total
Total ({0}),Total ({0})
Total Advance,Avance total
Total Amount,Importe total
Total Amount To Pay,Monto total a pagar
Total Amount in Words,Importe Total con Letra
Total Billing This Year: ,Facturación total de este año:
Total Characters,Total Jugadores
Total Claimed Amount,Total Reclamado
Total Commission,Total Comisión
Total Cost,Coste 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 debe ser igual al crédito total .
Total Deduction,Deducción total
Total Earning,Ganar total
Total Experience,Experiencia total
Total Hours,Total de Horas
Total Hours (Expected),Total de horas (Esperadas)
Total Invoiced Amount,Total facturado
Total Leave Days,Total Dejar días
Total Leaves Allocated,Hojas totales asignados
Total Message(s),Mensaje total ( s )
Total Operating Cost,Coste total de funcionamiento
Total Points,Total de Puntos
Total Raw Material Cost,Costo Total de Materias Primas
Total Sanctioned Amount,Total Sancionada
Total Score (Out of 5),Puntaje total (de 5 )
Total Tax (Company Currency),Impuesto total ( Compañía de divisas )
Total Taxes and Charges,Total Impuestos y Cargos
Total Taxes and Charges (Company Currency),Total Impuestos y Cargos ( Compañía de divisas )
Total allocated percentage for sales team should be 100,Porcentaje del total asignado para el equipo de ventas debe ser de 100
Total amount of invoices received from suppliers during the digest period,Importe total de las facturas recibidas de los proveedores durante el período de digestión
Total amount of invoices sent to the customer during the digest period,Importe total de las facturas enviadas a los clientes durante el período de digestión
Total cannot be zero,Total no puede ser cero
Total in words,Total en palabras
Total points for all goals should be 100. It is {0},Total de puntos para todos los objetivos deben ser 100 . Es {0}
Total valuation for manufactured or repacked item(s) can not be less than total valuation of raw materials,Valoración total para cada elemento (s) de la empresa o embalados de nuevo no puede ser inferior al valor total de las materias primas
Total weightage assigned should be 100%. It is {0},Weightage total asignado debe ser de 100 %. Es {0}
Totals,Totales
Track Leads by Industry Type.,Pista conduce por tipo de industria .
Track this Delivery Note against any Project,Seguir este albarán en contra de cualquier proyecto
Track this Sales Order against any Project,Seguir este de órdenes de venta en contra de cualquier proyecto
Transaction,Transacción
Transaction Date,Fecha de Transacción
Transaction not allowed against stopped Production Order {0},La transacción no permitida contra detenido Orden Producción {0}
Transfer,Transferencia
Transfer Material,transferencia de material
Transfer Raw Materials,Transferencia de Materias Primas
Transferred Qty,Cantidad Transferida
Transportation,Transporte
Transporter Info,Información de Transportista
Transporter Name,Nombre del Transportista
Transporter lorry number,Número de camiones Transportador
Travel,Viajes
Travel Expenses,Gastos de Viaje
Tree Type,Tipo de árbol
Tree of Item Groups.,Árbol de los grupos de artículos .
Tree of finanial Cost Centers.,Árbol de Centros de Coste finanial .
Tree of finanial accounts.,Árbol de las cuentas finanial .
Trial Balance,balance de Comprobación
Tuesday,Martes
Type,Tipo
Type of document to rename.,Tipo de documento para cambiar el nombre.
"Type of leaves like casual, sick etc.","Tipo de hojas como casual, etc enfermo"
Types of Expense Claim.,Tipos de Reclamación de Gastos .
Types of activities for Time Sheets,Tipos de actividades para las fichas de Tiempo
"Types of employment (permanent, contract, intern etc.).","Tipos de empleo (permanente , contratados, etc pasante ) ."
UOM Conversion Detail,Detalle UOM Conversión
UOM Conversion Details,UOM Detalles de conversión
UOM Conversion Factor,UOM Factor de Conversión
UOM Conversion factor is required in row {0},Se requiere el factor de conversión de la UOM en la fila {0}
UOM Name,Nombre UOM
UOM coversion factor required for UOM: {0} in Item: {1},Factor de coversion UOM requerido para UOM: {0} en el artículo: {1}
Under AMC,Bajo AMC
Under Graduate,Bajo de Postgrado
Under Warranty,Bajo Garantía
Unit,Unidad
Unit of Measure,Unidad de Medida
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unidad de medida {0} se ha introducido más de una vez en el factor de conversión de la tabla
"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Unidad de medida de este material ( por ejemplo, Kg , Unidad , No, par) ."
Units/Hour,Unidades/Hora
Units/Shifts,Unidades /Turnos
Unpaid,No Pagado
Unreconciled Payment Details,No reconciliadas Detalles de pago
Unscheduled,no programada
Unsecured Loans,Préstamos sin garantía
Unstop,desatascar
Unstop Material Request,Solicitud Unstop material
Unstop Purchase Order,Unstop Orden de Compra
Unsubscribed,no suscribirse
Update,Actualización
Update Clearance Date,Fecha de actualización Liquidación
Update Cost,actualización de Costos
Update Finished Goods,Actualización de las mercancías acabadas
Update Landed Cost,Actualice el costo de aterrizaje
Update Series,Series Update
Update Series Number,Actualización de los números de serie
Update Stock,Actualización de Stock
Update bank payment dates with journals.,Actualización de las fechas de pago del banco con las revistas .
Update clearance date of Journal Entries marked as 'Bank Entry',Fecha de despacho de actualización de entradas de diario marcado como ' Banco vales '
Updated,actualizado
Updated Birthday Reminders,Actualizado Birthday Reminders
Upload Attendance,Subir Asistencia
Upload Backups to Dropbox,Cargar copias de seguridad en Dropbox
Upload Backups to Google Drive,Cargar copias de seguridad a Google Drive
Upload HTML,Subir HTML
Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,Subir un archivo csv con dos columnas: . El viejo nombre y el nuevo nombre . Max 500 filas .
Upload attendance from a .csv file,Sube la asistencia de un archivo csv .
Upload stock balance via csv.,Sube saldo de existencias a través csv .
Upload your letter head and logo - you can edit them later.,Cargue su membrete y el logotipo - usted puede editarlos posteriormente.
Upper Income,Ingresos superior
Urgent,Urgente
Use Multi-Level BOM,Utilice Multi - Nivel BOM
Use SSL,Utilizar SSL
Used for Production Plan,Se utiliza para el Plan de Producción
User,Usuario
User ID,ID de usuario
User ID not set for Employee {0},ID de usuario no se establece para el empleado {0}
User Name,Nombre de usuario
User Name or Support Password missing. Please enter and try again.,Nombre de usuario o contraseña Soporte desaparecidos. Por favor introduzca y vuelva a intentarlo .
User Remark,Observación del usuario
User Remark will be added to Auto Remark,Observación usuario se añadirá a Observación Auto
User Remarks is mandatory,Usuario Observaciones es obligatorio
User Specific,específicas de usuario
User must always select,Usuario elegirá siempre
User {0} is already assigned to Employee {1},El usuario {0} ya está asignado a Empleado {1}
User {0} is disabled,El usuario {0} está deshabilitado
Username,Nombre de usuario
Users with this role are allowed to create / modify accounting entry before frozen date,Los usuarios con este rol pueden crear / modificar registro contable antes de la fecha congelada
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Los usuarios con este rol pueden establecer cuentas congeladas y crear / modificar los asientos contables contra las cuentas congeladas
Utilities,Utilidades
Utility Expenses,Los gastos de servicios públicos
Valid For Territories,Válido para los territorios
Valid From,Válido desde
Valid Upto,Válido Hasta
Valid for Territories,Válido para los territorios
Validate,validar
Valuation,valuación
Valuation Method,Método de Valoración
Valuation Rate,Valoración de Cambio
Valuation Rate required for Item {0},Valoración de tipo requerido para el punto {0}
Valuation and Total,Tasación y Total
Value,valor
Value or Qty,Valor o Cant.
Vehicle Dispatch Date,Despacho de vehículo Fecha
Vehicle No,Vehículo No hay
Venture Capital,capital de Riesgo
Verified By,Verified By
View Ledger,Ver Ledger
View Now,ver Ahora
Visit report for maintenance call.,Visita informe de llamada de mantenimiento .
Voucher #,Bono #
Voucher Detail No,Detalle hoja no
Voucher Detail Number,Vale Número Detalle
Voucher ID,vale ID
Voucher No,vale No
Voucher Type,Tipo de Vales
Voucher Type and Date,Tipo Bono y Fecha
Walk In,Walk In
Warehouse,Almacén
Warehouse Contact Info,Información de Contacto del Almacén 
Warehouse Detail,Detalle de almacenes
Warehouse Name,Nombre del Almacén
Warehouse and Reference,Almacén y Referencia
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Almacén no se puede suprimir porque hay una entrada en registro de acciones para este almacén.
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Depósito sólo se puede cambiar a través de la Entrada de Almacén / Nota de Entrega / Recibo de Compra
Warehouse cannot be changed for Serial No.,Almacén no se puede cambiar para el N º de serie
Warehouse is mandatory for stock Item {0} in row {1},Warehouse es obligatoria para la acción del artículo {0} en la fila {1}
Warehouse is missing in Purchase Order,Almacén falta en la Orden de Compra
Warehouse not found in the system,Almacén no se encuentra en el sistema
Warehouse required for stock Item {0},Depósito requerido para la acción del artículo {0}
Warehouse where you are maintaining stock of rejected items,Almacén en el que está manteniendo un balance de los artículos rechazados
Warehouse {0} can not be deleted as quantity exists for Item {1},Almacén {0} no se puede eliminar mientras exista cantidad de artículo {1}
Warehouse {0} does not belong to company {1},Almacén {0} no pertenece a la empresa {1}
Warehouse {0} does not exist,Almacén {0} no existe
Warehouse {0}: Company is mandatory,Almacén {0}: Company es obligatoria
Warehouse {0}: Parent account {1} does not bolong to the company {2},Almacén {0}: cuenta Parent {1} no bolong a la empresa {2}
Warehouse-Wise Stock Balance,Warehouse- Wise Stock Equilibrio
Warehouse-wise Item Reorder,- Almacén sabio artículo reorden
Warehouses,Almacenes
Warehouses.,Almacenes.
Warn,advertir
Warning: Leave application contains following block dates,Advertencia: Deja de aplicación contiene las fechas siguientes bloques
Warning: Material Requested Qty is less than Minimum Order Qty,Advertencia: material solicitado Cantidad mínima es inferior a RS Online
Warning: Sales Order {0} already exists against same Purchase Order number,Advertencia: Pedido de cliente {0} ya existe contra el mismo número de orden de compra
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Advertencia : El sistema no comprobará sobrefacturación desde monto para el punto {0} en {1} es cero
Warranty / AMC Details,Garantía / AMC Detalles
Warranty / AMC Status,Garantía / AMC Estado
Warranty Expiry Date,Fecha de caducidad de la Garantía
Warranty Period (Days),Período de garantía ( Días)
Warranty Period (in days),Período de garantía ( en días)
We buy this Item,Compramos este artículo
We sell this Item,Vendemos este artículo
Website,Sitio Web
Website Description,Descripción del Sitio Web 
Website Item Group,Group Website artículo
Website Item Groups,Grupos Sitios Web item
Website Settings,Configuración del sitio web
Website Warehouse,Almacén Web
Wednesday,Miércoles
Weekly,Semanal
Weekly Off,Semanal Off
Weight UOM,Peso UOM
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","El peso se ha mencionado, \ nPor favor, menciona "" Peso UOM "" demasiado"
Weightage,weightage
Weightage (%),Coeficiente de ponderación (% )
Welcome,Bienvenido
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!,"Bienvenido a ERPNext . En los próximos minutos vamos a ayudarle a configurar su cuenta ERPNext . Trate de llenar toda la información que usted tiene , incluso si se necesita un poco más de tiempo ahora. Esto le ahorrará mucho tiempo después. ¡Buena suerte!"
Welcome to ERPNext. Please select your language to begin the Setup Wizard.,Bienvenido a ERPNext . Por favor seleccione su idioma para iniciar el asistente de configuración.
What does it do?,¿Qué hace?
"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.","Cuando alguna de las operaciones controladas son "" Enviado "" , un e-mail emergente abre automáticamente al enviar un email a la asociada "" Contacto"" en esa transacción , la transacción como un archivo adjunto. El usuario puede o no puede enviar el correo electrónico."
"When submitted, the system creates difference entries to set the given stock and valuation on this date.","Cuando presentado , el sistema crea asientos de diferencia para definir las acciones y la valoración dada en esta fecha."
Where items are stored.,¿Dónde se almacenan los artículos .
Where manufacturing operations are carried out.,Cuando las operaciones de elaboración se lleven a cabo .
Widowed,Viudo
Will be calculated automatically when you enter the details,Se calcularán automáticamente cuando entras en los detalles
Will be updated after Sales Invoice is Submitted.,Se actualizará después de la factura de venta se considera sometida .
Will be updated when batched.,Se actualizará cuando por lotes.
Will be updated when billed.,Se actualizará cuando se facturan .
Wire Transfer,Transferencia Bancaria
With Operations,Con operaciones
With Period Closing Entry,Con la entrada del período de cierre
Work Details,Detalles de trabajo
Work Done,trabajo realizado
Work In Progress,Trabajos en curso
Work-in-Progress Warehouse,Trabajos en Progreso Almacén
Work-in-Progress Warehouse is required before Submit,Se requiere un trabajo - en - progreso almacén antes Presentar
Working,laboral
Working Days,Días de trabajo
Workstation,puesto de trabajo
Workstation Name,Estación de trabajo Nombre
Write Off Account,Escribe Off Cuenta
Write Off Amount,Escribe Off Monto
Write Off Amount <=,Escribe Off Importe < =
Write Off Based On,Escribe apagado basado en
Write Off Cost Center,Escribe Off Center Costo
Write Off Outstanding Amount,Escribe Off Monto Pendiente
Write Off Entry,Escribe Off Voucher
Wrong Template: Unable to find head row.,Plantilla incorrecto : no se puede encontrar la fila cabeza.
Year,Año
Year Closed,Año Cerrado
Year End Date,Año de Finalización
Year Name,Nombre de Año
Year Start Date,Año de Inicio
Year of Passing,Año de Fallecimiento
Yearly,Anual
Yes,Sí
You are not authorized to add or update entries before {0},No tiene permisos para agregar o actualizar las entradas antes de {0}
You are not authorized to set Frozen value,Usted no está autorizado para fijar el valor congelado
You are the Expense Approver for this record. Please Update the 'Status' and Save,Usted es el aprobador de gastos para este registro. Actualice el 'Estado' y Guarde
You are the Leave Approver for this record. Please Update the 'Status' and Save,Usted es el aprobador Dejar para este registro. Actualice el 'Estado' y Save
You can enter any date manually,Puede introducir cualquier fecha manualmente
You can enter the minimum quantity of this item to be ordered.,Puede introducir la cantidad mínima que se puede pedir de este artículo.
You can not change rate if BOM mentioned agianst any item,No se puede cambiar la tasa si BOM mencionó agianst cualquier artículo
You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,No se puede introducir tanto Entrega Nota No y Factura No. Por favor ingrese cualquiera .
You can not enter current voucher in 'Against Journal Entry' column,Usted no puede entrar bono actual en ' Contra Diario Vale ' columna
You can set Default Bank Account in Company master,Puede configurar cuenta bancaria por defecto en el maestro de la empresa
You can start by selecting backup frequency and granting access for sync,Puedes empezar por seleccionar la frecuencia de copia de seguridad y la concesión de acceso para la sincronización
You can submit this Stock Reconciliation.,Puede enviar este Stock Reconciliación.
You can update either Quantity or Valuation Rate or both.,"Puede actualizar la Cantidad, el Valor, o ambos."
You cannot credit and debit same account at the same time,No se puede anotar en el crédito y débito de una cuenta al mismo tiempo
You have entered duplicate items. Please rectify and try again.,Ha introducido los elementos duplicados . Por favor rectifique y vuelva a intentarlo .
You may need to update: {0},Puede que tenga que actualizar : {0}
You must Save the form before proceeding,Debe guardar el formulario antes de proceder
Your Customer's TAX registration numbers (if applicable) or any general information,Los números de registro de impuestos de su cliente ( si es aplicable) o cualquier información de carácter general
Your Customers,Sus Clientes
Your Login Id,Su ID de Inicio de Sesión
Your Products or Services,Sus Productos o Servicios
Your Suppliers,Sus Proveedores
Your email address,Su dirección de correo electrónico
Your financial year begins on,Su año Financiero inicia en
Your financial year ends on,Su año Financiero termina en
Your sales person who will contact the customer in future,Su persona de ventas que va a ponerse en contacto con el cliente en el futuro
Your sales person will get a reminder on this date to contact the customer,Su persona de ventas recibirá un aviso con esta fecha para ponerse en contacto con el cliente
Your setup is complete. Refreshing...,Su configuración se ha completado. Actualizando...
Your support email id - must be a valid email - this is where your emails will come!,Su dirección de correo electrónico de soporte - debe ser un correo electrónico válido - ¡aquí es donde llegarán sus correos electrónicos!
[Error],[Error]
[Select],[Seleccionar ]
`Freeze Stocks Older Than` should be smaller than %d days.,` Acciones Freeze viejo que ` debe ser menor que % d días .
and,y
are not allowed.,no están permitidos.
assigned by,asignado por
cannot be greater than 100,No puede ser mayor que 100
"e.g. ""Build tools for builders""","por ejemplo "" Construir herramientas para los constructores """
"e.g. ""MC""","por ejemplo ""MC """
"e.g. ""My Company LLC""","por ejemplo ""Mi Company LLC """
e.g. 5,por ejemplo 5
"e.g. Bank, Cash, Credit Card","por ejemplo Banco, Efectivo , Tarjeta de crédito"
"e.g. Kg, Unit, Nos, m","por ejemplo Kg , Unidad , Nos, m"
e.g. VAT,por ejemplo IVA
eg. Cheque Number,por ejemplo . Número de Cheque
example: Next Day Shipping,ejemplo : Envío Día Siguiente
lft,lft
old_parent,old_parent
rgt,RGT
subject,Asunto
to,a
website page link,el vínculo web
{0} '{1}' not in Fiscal Year {2},{0} '{1}' no en el Año Fiscal {2}
{0} Credit limit {0} crossed,{0} Límite de crédito {0} cruzado
{0} Serial Numbers required for Item {0}. Only {0} provided.,{0} de números de serie de artículos requeridos para {0} . Sólo {0} prevista .
{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} presupuesto para la cuenta {1} en contra de centros de coste {2} superará por {3}
{0} can not be negative,{0} no puede ser negativo
{0} created,{0} creado
{0} does not belong to Company {1},{0} no pertenece a la empresa {1}
{0} entered twice in Item Tax,{0} entrado dos veces en el Impuesto de artículos
{0} is an invalid email address in 'Notification Email Address',{0} es una dirección de correo electrónico válida en el ' Notificación de E-mail '
{0} is mandatory,{0} es obligatorio
{0} is mandatory for Item {1},{0} no es obligatorio para el elemento {1}
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} es obligatorio. Tal vez no se crea registro de cambio para {1} a {2}.
{0} is not a stock Item,{0} no es un producto imprescindible
{0} is not a valid Batch Number for Item {1},{0} no es un número de lote válida para el elemento {1}
{0} is not a valid Leave Approver. Removing row #{1}.,{0} no es un Dejar aprobador válida. La eliminación de la fila # {1}.
{0} is not a valid email id,{0} no es un correo electrónico de identificación válida
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,"{0} es ahora la predeterminada año fiscal . Por favor, actualice su navegador para que el cambio surta efecto."
{0} is required,{0} es necesario
{0} must be a Purchased or Sub-Contracted Item in row {1},{0} debe ser un objeto de compra o de subcontratación en la fila {1}
{0} must be reduced by {1} or you should increase overflow tolerance,{0} debe reducirse en {1} o se debe aumentar la tolerancia de desbordamiento
{0} must have role 'Leave Approver',{0} debe tener rol ' Dejar aprobador '
{0} valid serial nos for Item {1},{0} nn serie válidos para el elemento {1}
{0} {1} against Bill {2} dated {3},{0} {1} {2} contra Bill {3} de fecha
{0} {1} against Invoice {2},{0} {1} contra Factura {2}
{0} {1} has already been submitted,{0} {1} ya ha sido presentado
{0} {1} has been modified. Please refresh.,{0} {1} ha sido modificado. Por favor regenere .
{0} {1} is not submitted,{0} {1} no se presenta
{0} {1} must be submitted,{0} {1} debe ser presentado
{0} {1} not in any Fiscal Year,{0} {1} no en cualquier año fiscal
{0} {1} status is 'Stopped',{0} {1} Estado se ' Detenido '
{0} {1} status is Stopped,{0} {1} estado es Detenido
{0} {1} status is Unstopped,{0} {1} Estado es destapados
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Centro de Costo es obligatorio para el punto {2}
{0}: {1} not found in Invoice Details table,{0}: {1} no se encuentra en la factura Detalles mesa
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer grupo""> Añadir / Editar < / a>"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> Añadir / Editar < / a>"
Billed,Anunciado
Company,Empresa
Currency is required for Price List {0},Se requiere de divisas para el precio de lista {0}
Default Customer Group,Grupo predeterminado Cliente
Default Territory,Territorio predeterminado
Delivered,liberado
Enable Shopping Cart,Habilitar Compras
Go ahead and add something to your cart.,Seguir adelante y añadir algo a su carrito.
Hey! Go ahead and add an address,¡Hey! Seguir adelante y añadir una dirección
Invalid Billing Address,No válida dirección de facturación
Invalid Shipping Address,Dirección no válida de envío
Missing Currency Exchange Rates for {0},Missing Tipo de Cambio para {0}
Name is required,El nombre es necesario
Not Allowed,No se permite
Paid,pagado
Partially Billed,Parcialmente Anunciado
Partially Delivered,Parcialmente Entregado
Please specify a Price List which is valid for Territory,"Por favor, especifique una lista de precios que es válido para el territorio"
Please specify currency in Company,"Por favor, especifique la moneda en la empresa"
Please write something,"Por favor, escribir algo"
Please write something in subject and message!,"Por favor, escriba algo en asunto y el mensaje !"
Price List,Lista de Precios
Price List not configured.,Lista de precios no está configurado.
Quotation Series,Serie Cotización
Shipping Rule,Regla de envío
Shopping Cart,Cesta de la compra
Shopping Cart Price List,Cesta de la compra Precio de lista
Shopping Cart Price Lists,Compras Listas de precios
Shopping Cart Settings,Compras Ajustes
Shopping Cart Shipping Rule,Compras Regla de envío
Shopping Cart Shipping Rules,Compras Reglas de Envío
Shopping Cart Taxes and Charges Master,Compras Impuestos y Cargos Maestro
Shopping Cart Taxes and Charges Masters,Carrito impuestos y las cargas Masters
Something went wrong!,¡Algo salió mal!
Something went wrong.,Algo salió mal.
Tax Master,Maestro de Impuestos
To Pay,Pagar
Updated,actualizado
You are not allowed to reply to this ticket.,No se le permite responder a este boleto.
You need to be logged in to view your cart.,Tienes que estar registrado para ver su carrito.
You need to enable Shopping Cart,Necesita habilitar Compras
{0} cannot be purchased using Shopping Cart,{0} no puede ser comprado usando Compras
{0} is required,{0} es necesario
{0} {1} has a common territory {2},{0} {1} tiene un territorio común {2}
