 (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 grupo""> 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 número de detalle del documento
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 Voucher,Contra Comprobante de Diario
Against Journal Voucher {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,Fecha de antigüedad es obligatoria para la  entrada de apertura
Ageing date is mandatory for opening entry,Fecha Envejecer es obligatorio para la apertura de la entrada
Agent,Agente
Aging Date,Fecha de antigüedad
Aging Date is mandatory for opening entry,La fecha de antigüedad 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 tales como divisa, 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 campos tales como la divisa, tasa de conversión, el total de las importaciones, la importación total general etc están disponibles en recibo de compra, cotización de proveedor, 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 no ajustado
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,"Permitir lista de Materiales debe ser ""Sí"". Debido a que hay una o varias Listas de Materiales activas presentes para este artículo"
Allow Children,Permitir hijos
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 aprobar Solicitudes de ausencia en bloques de días.
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,Monto Total
Amount (Company Currency),Importe (Moneda de la Empresa)
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,El rol que aprueba no puede ser igual que el rol al que se aplica la regla
Approving User,Aprobar Usuario
Approving User cannot be same as user the rule is Applicable To,El usuario que aprueba no puede ser igual que el usuario para el que la regla es aplicable
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.","Puede haber una Orden de Producción por este concepto , debe ser un elemento del Inventario."
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 inventario existentes para este artículo , no se pueden cambiar los valores de ""Tiene Númer de Serie ','Artículo en stock"" 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 Solicitud de Materiales , Albarán, Factura de Compra , Orden de Produccuón , Orden de Compra , Fecibo de Compra , Factura de Venta Pedidos de Venta , Inventario de Entrada, Control 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,Número de Detalle en la Solicitud de Materiales
BOM Explosion Item,BOM Explosion Artículo
BOM Item,Artículo de Solicitud de Materiales
BOM No,Solicitud de Materiales No
BOM No. for a Finished Good Item,Solicitud de Materiales Nº de Producto Terminado
BOM Operation,Operación de Solicitud de Materiales
BOM Operations,Operaciones de Solicitudes de Materiales
BOM Replace Tool,Herramiento de reemplazo de Solicitud de Materiales
BOM number is required for manufactured Item {0} in row {1},Se requiere el número de Solicitud 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 Solicitud de Materiales no autorizados para la partida no manufacturada {0} en la fila {1}
BOM recursion: {0} cannot be parent or child of {2},Recursividad de Solicitud de Materiales: {0} no puede ser padre o hijo de {2}
BOM replaced,Solcitud de Materiales reemplazada
BOM {0} for Item {1} in row {2} is inactive or not submitted,Solicitud de Materiales {0} para el artículo {1} en la fila {2} está inactivo o no existe
BOM {0} is not active or not submitted,Solicitud de Materiales {0} no está activo o no existe
BOM {0} is not submitted or inactive BOM for Item {1},Solicitud de Materiales {0} no se no se encuentra o esta  inactiva 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 Voucher,Comprobante de Banco
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),Tarifa Base ( Divisa de la Compañía )
Batch,Lote
Batch (lot) of an Item.,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,Historial de saldo por lotes
Batched for Billing,Lotes para facturar
Better Prospects,Mejores Perspectivas
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,Nombre de la Dirección de Facturación
Billing Status,Estado de Facturación
Bills raised by Suppliers.,Facturas presentadas por los Proveedores.
Bills raised to Customers.,Facturas presentadas 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 solicitudes de vacaciones 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,Difusió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 Visita {0} antes de cancelar esta Solicitud de Cliente
Cancel Material Visits {0} before cancelling this Maintenance Visit,Cancelar Visitas {0} antes de cancelar la Visita de Mantenimiento
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 que la entrada de almacen {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 inventario . Primero elimine del inventario, 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 como Perdido cuando está hecha la Orden 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 Voucher,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 Voucher,Contra Voucher
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 Voucher 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 Voucher,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,Distribuidor
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,Importe por Defecto
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 de Proveedor
Default Target Warehouse,Almacén de Destino Predeterminado
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,Almacén por Defecto
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,Cantidad Entregada
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,Entregar a
Department,Departamento
Department Stores,Tiendas por Departamento
Depends on LWP,Depende LWP
Depreciation,Depreciación
Description,Descripción
Description HTML,Descripción HTML
Designation,Puesto
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,Deshabilitado
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,Correo Electronico
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,Supervisor de Vacaciones del Empleado
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 Voucher,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 lote No
Has Child Node,Tiene Nodo Niño
Has Serial No,Tiene No de Serie
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,Feriado
Holiday List,Lista de Feriados
Holiday List Name,Lista de nombres de vacaciones
Holiday master.,Master de vacaciones .
Holidays,Vacaciones
Home,Inicio
Host,Proveedor
"Host, Email and Password required if emails are to be pulled","Proveedor , Correo Electrónico y la Contraseña son requeridos si los correos electrónicos son para ser importados"
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 Solicitud 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 selecciona, el importe del impuesto se considerará como ya incluido en el Monto  a 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 Voucher 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 Voucher,Comprobante de Diario
Journal Voucher Detail,Detalle del Asiento de Diario
Journal Voucher Detail No,Detalle del Asiento de Diario No
Journal Voucher {0} does not have account {1} or already matched,Comprobante de Diario {0} no tiene cuenta {1} o ya emparejado
Journal Vouchers {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,Asignación de Vacaciones
Leave Allocation Tool,Herramienta de Asignación de Vacaciones
Leave Application,Solicitud de Vacaciones
Leave Approver,Supervisor de Vacaciones
Leave Approvers,Supervisores de Vacaciones
Leave Balance Before Application,Vacaciones disponibles antes de la solicitud
Leave Block List,Lista de Bloqueo de Vacaciones
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.,La solicitud de vacaciones ha sido aprobada.
Leave application has been rejected.,La solicitud de vacaciones ha sido rechazada.
Leave approver must be one of {0},Supervisor de Vacaciones 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 misma tasa durante todo el ciclo de ventas
Maintain same rate throughout purchase cycle,Mantener misma tasa 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 Programación¨"
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 de venta
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,Propósito de la Visita de Mantenimiento
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Visita de Mantenimiento {0} debe ser cancelado antes de cancelar la Orden 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 Voucher,Hacer Comprobante de Banco
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 de 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 Visita de Mantenimiento
Make Packing Slip,Hacer lista de empaque
Make Payment,Realizar Pago
Make Payment Entry,Hacer Entrada de 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 venta.
Manage Sales Person Tree.,Gestione Sales Person árbol .
Manage Territory Tree.,Gestione Territorio Tree.
Manage cost of operations,Gestione el 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,Cantidad a Fabricar
Manufacturing Quantity is mandatory,Cantidad de Fabricación es obligatoria
Margin,Margen
Marital Status,Estado Civil
Market Segment,Sector de Mercado
Marketing,Marketing
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,Incidencia de Material
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,Elemento de la Solicitud de Material
Material Request Items,Elementos de la Solicitud de Material
Material Request No,Nº de Solicitud de Material
Material Request Type,Tipo de Solicitud de Material
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 permitidos
Max Discount (%),Descuento Máximo (%)
Max Qty,Cantidad Máxima
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,Nº Móvil
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 maestro de Clientes y Proveedores."
Name of person or organization that this address belongs to.,Nombre de la persona u organización a la 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 ,Nuevo
New Account,Nueva Cuenta
New Account Name,Nueva Cuenta Nombre
New BOM,Nueva Solicitud de Materiales
New Communications,Nuevas Comunicaciones
New Company,Nueva Empresa
New Cost Center,Nuevo Centro de Costo
New Cost Center Name,Nombre de Nuevo Centro de Coste
New Delivery Notes,Nuevas Notas de Entrega
New Enquiries,Nuevas Consultas
New Leads,Nuevas Oportunidades
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:,Condiciones coincidentes 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 Detallado del Paquete
Packed Item,Artículo Empacado
Packed quantity must equal quantity for Item {0} in row {1},La cantidad embalada debe ser igual a la del elmento {0} en la fila {1}
Packing Details,Detalles del paquete
Packing List,Lista de Envío
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 Principal
Parent Customer Group,Grupo de Clientes Principal
Parent Detail docname,Detalle Principal docname
Parent Item,Artículo Principal
Parent Item Group,Grupo Principal de Artículos
Parent Item {0} must be not Stock Item and must be a Sales Item,El Artículo Principal {0} no debe ser un elemento en Stock y debe ser un Artículo para Venta
Parent Party Type,Tipo de Partida Principal
Parent Sales Person,Contacto Principal de Ventas
Parent Territory,Territorio Principal
Parent Website Page,Página Web Principal
Parent Website Route,Ruta del Website Principal
Parenttype,Parenttype
Part-time,Tiempo Parcial
Partially Completed,Parcialmente Completado
Partly Billed,Parcialmente Facturado
Partly Delivered,Parcialmente Entregado
Partner Target Detail,Detalle del Socio Objetivo
Partner Type,Tipo de Socio
Partner's Website,Sitio Web del Socio
Party,Parte
Party Account,Cuenta de la Partida
Party Type,Tipo de Partida
Party Type Name,Nombre del Tipo de Partida
Passive,Pasivo
Passport Number,Número de pasaporte
Password,Contraseña
Pay To / Recd From,Pagar a / Recibido de
Payable,Pagadero
Payables,Cuentas por Pagar
Payables Group,Grupo de Deudas
Payment Days,Días de Pago
Payment Due Date,Fecha de Vencimiento del Pago
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,No se puede realizar un pago con el caro vacío
Payment of salary for the month {0} and year {1},Pago del salario correspondiente al mes {0} y {1} años
Payments,Pagos
Payments Made,Pagos Realizados
Payments Received,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,Código PIN
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,Impresión y Marcas
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,Adelantos a Factura de Compra
Purchase Invoice Item,Factura de Compra del artículo
Purchase Invoice Trends,Tendencias de Facturas de Compra
Purchase Invoice {0} is already submitted,Factura de Compra {0} ya existe
Purchase Order,Orden de Compra
Purchase Order Item,Articulos de la Orden de Compra
Purchase Order Item No,Orden de Compra del Artículo No
Purchase Order Item Supplied,Orden de Compra del Artículo Suministrado
Purchase Order Items,Orden de Compra de Productos
Purchase Order Items Supplied,Orden de Compra Productos Suministrados
Purchase Order Items To Be Billed,Artículos de Orden de Compra a Facturar
Purchase Order Items To Be Received,Productos de la Orden de Compra a ser Recibidos
Purchase Order Message,Mensaje de la Orden de Compra
Purchase Order Required,Orden de Compra Requerido
Purchase Order Trends,Tendencias de Ordenes de Compra
Purchase Order number required for Item {0},Número de la 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 existe
Purchase Orders given to Suppliers.,Órdenes de Compra asignadas 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 Adquirido
Purchase Receipt Item Supplieds,Recibo de Compra Artículo Adquiridos
Purchase Receipt Items,Artículos de Recibo de Compra
Purchase Receipt Message,Mensaje de Recibo de Compra
Purchase Receipt No,Recibo de Compra No
Purchase Receipt Required,Recibo de Compra Requerido
Purchase Receipt Trends,Tendencias de Recibos de Compra
Purchase Receipt number required for Item {0},Número de Recibo de Compra Requerido para el punto {0}
Purchase Receipt {0} is not submitted,Recibo de Compra {0} no se presenta
Purchase Register,Registrar Compra
Purchase Return,Devolucion de Compra
Purchase Returned,Compra Devuelta
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,Aleatorio
Range,Rango
Rate,Tarifa
Rate ,Velocidad
Rate (%),Tarifa (% )
Rate (Company Currency),Tarifa ( Compañía de divisas )
Rate Of Materials Based On,Cambio de materiales basados ​​en
Rate and Amount,Tasa y Cantidad
Rate at which Customer Currency is converted to customer's base currency,Tasa a la cual la Moneda del Cliente 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,Tasa a la cual la Moneda del Cliente se convierte a la moneda base de la compañía
Rate at which supplier's currency is converted to company's base currency,Grado 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.,Solicitud de compra.
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}: ,Fila # {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,Información salarial
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},
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,Existencias
Stock Adjustment,Ajuste de existencias
Stock Adjustment Account,Cuenta de Ajuste de existencias
Stock Ageing,Envejecimiento de existencias
Stock Analytics,Análisis de existencias
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,Reconciliado con éxito
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,Contactos y Direcciones del Proveedor
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 Grupo de Horas Registradas se ha facturado.
This Time Log Batch has been cancelled.,Este Grupo de Horas Registradas se ha facturado.
This Time Log conflicts with {0},Este Registro de Horas entra 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,Grupo de Horas Registradas
Time Log Batch Detail,Detalle de Grupo de Horas Registradas
Time Log Batch Details,Detalle de Grupo de Horas Registradas
Time Log Batch {0} must be 'Submitted',El Registro de Horas {0} tiene que ser ' Enviado '
Time Log Status must be Submitted.,El Estado del Registro de Horas tiene que ser 'Enviado'.
Time Log for tasks.,Hora de registro para las tareas.
Time Log is not billable,Registro de Horas 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},
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,Detalles de Pago No Conciliadas 
Unscheduled,No Programada
Unsecured Loans,Préstamos sin garantía
Unstop,Continuar
Unstop Material Request,Continuar Solicitud de Material
Unstop Purchase Order,Continuar Orden de Compra
Unsubscribed,No Suscrito
Update,Actualización
Update Clearance Date,Actulizar Fecha de 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 los registros.
Update clearance date of Journal Entries marked as 'Bank Vouchers',Fecha de Actualización de Comprobantes de Diario marcados como ' Comprobantes de Bancos '
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,Tasa de Valoración
Valuation Rate required for Item {0},Tasa de Valoración requerido para el punto {0}
Valuation and Total,Valuación y Total
Value,Valor
Value or Qty,Valor o Cant.
Vehicle Dispatch Date,Fecha de despacho de vehículo
Vehicle No,Vehículo No
Venture Capital,Capital de Riesgo
Verified By,Verificado por
View Ledger,Ver Libro Mayor
View Now,Ver Ahora
Visit report for maintenance call.,Informe de visita por llamada de mantenimiento .
Voucher #,Comprobante #
Voucher Detail No,Detalle de Comprobante No
Voucher Detail Number,Número de Detalle de Comprobante
Voucher ID,Comprobante ID
Voucher No,Comprobante No
Voucher Type,Tipo de Comprobante
Voucher Type and Date,Tipo de Comprobante y Fecha
Walk In,Entrar
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 inventario 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},Almacén es obligatorio 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},Almacén 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}: Empresa es obligatoria
Warehouse {0}: Parent account {1} does not bolong to the company {2},Almacén {0}: Cuenta Padre{1} no pertenece 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 Desactivado
Weight UOM,Peso UOM
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","El peso se ha mencionado, \ nPor favor, menciona "" Peso UOM "" demasiado"
Weightage,Coeficiente de Ponderación
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 completar toda la información de la que disponga , incluso si ahora tiene que invertir un poco más de tiempo. Esto le ahorrará trabajo 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 comprobadas está en "" 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 fabricación se lleven a cabo .
Widowed,Viudo
Will be calculated automatically when you enter the details,Se calcularán automáticamente cuando entre 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á al agruparse.
Will be updated when billed.,Se actualizará cuando se facture.
Wire Transfer,Transferencia Bancaria
With Operations,Con operaciones
With Period Closing Entry,Con la entrada del período de cierre
Work Details,Detalles del trabajo
Work Done,trabajo realizado
Work In Progress,Trabajos en curso
Work-in-Progress Warehouse,Almacén de Trabajos en Proceso
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,Solicitar Cuenta
Write Off Amount,Solicitar Monto
Write Off Amount <=,Escribe Off Importe < =
Write Off Based On,Solicitar basado en
Write Off Cost Center,Solicitar Centro de Costo
Write Off Outstanding Amount,Solicitar Monto Pendiente
Write Off Voucher,Solicitar Comprobante
Wrong Template: Unable to find head row.,Plantilla incorrecta : No se puede encontrar el encabezado.
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 Supervisor 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 Supervisor de las Vacaciones relacionadas a este registro. Actualice el 'Estado' y Guarde
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 hay una Solicitud de Materiales contra cualquier artículo
You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,"No se puede introducir tanto ""No de Nota de Emtrega""  y ""No de Factura"". Por favor ingrese cualquiera ."
You can not enter current voucher in 'Against Journal Voucher' column,Usted no puede introducir el comprobante actual en la columna 'Contra Vale Diario'
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,Puede empezar por seleccionar la frecuencia de copia de seguridad y conceder acceso para sincronizar
You can submit this Stock Reconciliation.,Puede enviar esta Conciliación de Inventario.
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 registrar Debitos y Creditos a la misma Cuenta al mismo tiempo
You have entered duplicate items. Please rectify and try again.,Ha introducido 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 "" 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} 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
