,
 (Half Day),(Medio día)
 against same operation,contra la misma operación
 by Role ,por función
 cannot be 0,no puede ser 0
 does not belong to the company: ,no pertenece a la empresa:
 has been freezed. \				Only Accounts Manager can do transaction against this account,ha sido congelado. \ Sólo Administrador de cuentas puede hacer en contra de esta transacción cuenta
" is less than equals to zero in the system, \						valuation rate is mandatory for this item","es inferior a igual a cero en el sistema, la tasa de \ valoración es obligatoria para este artículo"
 is mandatory,es obligatorio
 is mandatory for GL Entry,Es obligatorio para la entrada GL
 is not a ledger,no es un libro de contabilidad
 is not active,no está activa
 is now the default Fiscal Year. \			Please refresh your browser for the change to take effect.,"Ahora es el Año Fiscal defecto. \ Por favor, actualiza tu navegador para que los cambios surtan efecto."
 or the BOM is cancelled or inactive,o la lista de materiales se cancela o inactivo
 should be same as that in ,debería ser la misma que en
 will become ,se convertirá
"""Company History""",&quot;Historia de la empresa&quot;
"""Team Members"" or ""Management""",&quot;Miembros del equipo&quot; o &quot;gestión&quot;
# ###.##,# # # #. # #
"#,###","#, # # #"
"#,###.##","#, # # #. # #"
"#,###.###","#, # # #. # # #"
"#,##,###.##","#, # #, # # #. # #"
#.###,#. # # #
"#.###,##","#. # # #, # #"
%  Delivered,Entregado%
% Amount Billed,Importe% Anunciada
% Billed,Anunciado%
% Installed,Instalado%
% Ordered,Ordenado%
% Received,Recibido%
% of materials billed against this Delivery Note,% De los materiales facturados en contra de esta nota de entrega
% of materials billed against this Purchase Order.,% De los materiales facturados en contra de esta Orden de Compra.
% of materials billed against this Purchase Receipt,% De materiales facturados contra este recibo de compra
% of materials billed against this Sales Order,% De los materiales facturados en contra de 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 Purchase Requisition,% De los materiales ordenados en contra de esta solicitud de compra
% of materials received against this Purchase Order,% Del material recibido en contra de esta Orden de Compra
"' can not be managed using Stock Reconciliation.\					You can add/delete Serial No directly, \					to modify stock of this item.","&#39;No puede gestionarse a través de la reconciliación de Valores. \ Puede añadir / eliminar Serial No directamente, \ para modificar existencias de este artículo."
' does not exists in ,&#39;No existe en
* Will be calculated in the transaction.,* Se calcula de la transacción.
"**Budget Distribution** helps you distribute your budget across months if you have seasonality in your business.To distribute a budget using this distribution, set this **Budget Distribution** in the **Cost Center**","Distribución del presupuesto ** ** le ayuda a distribuir su presupuesto a través de meses, si usted tiene la estacionalidad en su business.To distribuir un presupuesto utilizando esta distribución, establezca esta distribución del presupuesto ** ** en el centro de coste ** **"
**Currency** Master,Moneda ** ** Maestro
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,Año Fiscal ** ** representa un ejercicio. Los asientos contables y otras transacciones importantes se siguen contra ** Ejercicio **.
0,0
01,01
02,02
03,03
04,04
05,05
06,06
07,07
08,08
09,09
1,1
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,"1 Moneda = [?] FractionFor 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 de artículo del cliente racional, y efectuar búsquedas en ellos sobre la base de su código de usar esta opción"
10,10
100,100
11,11
12,12
12px,12px
13px,13px
14px,14px
15,15
15px,15px
16px,16px
2,2
2 days ago,Hace 2 días
20,20
25,25
3,3
30,30
35,35
4,4
40,40
45,45
5,5
50,50
55,55
6,6
60,60
65,65
70,70
75,75
80,80
85,85
90,90
95,95
: It is linked to other active BOM(s),: Está vinculado a otro BOM activo (s)
: Mandatory for a Recurring Invoice.,: Obligatorio para una factura recurrente.
<,&lt;
<=,&lt;=
"<a href=""#!Sales Browser/Customer Group"">To manage Customer Groups, click here</a>","<a href=""#!Sales Browser/Customer Group"">Para administrar grupos de clientes, haga clic aquí</a>"
"<a href=""#!Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#!Sales Browser/Item Group"">Gestionar grupos de artículos</a>"
"<a href=""#!Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#!Sales Browser/Territory"">Para gestionar Territorio, haga clic aquí</a>"
"<a href=""#Sales Browser/Customer Group"">To manage Territory, click here</a>","<a href=""#Sales Browser/Customer Group"">Para gestionar Territorio, haga clic aquí</a>"
"<a href=""#Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#Sales Browser/Territory"">Para gestionar Territorio, haga clic aquí</a>"
"<a onclick=""msgprint('<ol>\<li><b>field:[fieldname]</b> - By Field\<li><b>naming_series:</b> - By Naming Series (field called naming_series must be present\<li><b>eval:[expression]</b> - Evaluate an expression in python (self is doc)\<li><b>Prompt</b> - Prompt user for a name\<li><b>[series]</b> - Series by prefix (separated by a dot); for example PRE.#####\</ol>')"">Naming Options</a>","<a onclick=""msgprint('<ol>\<li><b>field:[fieldname]</b> - By Field\<li><b>naming_series:</b> - By Naming Series (field called naming_series must be present\<li><b>eval:[expression]</b> - Evaluate an expression in python (self is doc)\<li><b>Prompt</b> - Prompt user for a name\<li><b>[series]</b> - Series by prefix (separated by a dot); for example PRE.#####\</ol>')"">Opciones de nombre</a>"
<b>Cancel</b> allows you change Submitted documents by cancelling them and amending them.,<b>Cancel</b> le permite cambiar los documentos presentados por cancelarlos y enmendarlos.
"<span class=""sys_manager"">To setup, please go to Setup > Naming Series</span>","<span class=""sys_manager"">Para configurar, por favor, vaya a Configuración&gt; Serie de nombres</span>"
=,=
>,&gt;
>=,&gt; =
A,La
A Customer exists with same name,Un cliente que existe con el mismo nombre
A Lead with this email id should exist,Un cable con este correo electrónico de identificación debe existir
A Product is shown on the website and is linked to an item.,Un producto se muestra en la página web y está vinculada a un elemento.
"A Product or a Service that is bought, sold or kept in stock.","Un producto o un servicio que se compra, se vende o se mantienen en stock."
A Supplier exists with same name,Un Proveedor existe con el mismo nombre
A logical Warehouse against which stock entries are made.,Un almacen de depósito lógico en el que las entradas en existencias están hechos.
A new popup will open that will ask you to select further conditions.,Una ventana se abrirá que le pedirá que seleccione otras condiciones.
A symbol for this currency. For e.g. $,"Un símbolo de esta moneda. Por ejemplo, $"
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Un distribuidor tercero / dealer / comisionista / filial / distribuidor que vende los productos de las empresas de una comisión.
A user can have multiple values for a property.,Un usuario puede tener varios valores para una propiedad.
A+,A +
A-,A-
AB+,AB +
AB-,AB-
AMC Expiry Date,AMC Fecha de Caducidad
ATT,ATT
Abbr,Abbr
About,Sobre
About Us Settings,La Empresa Ajustes
About Us Team Member,Acerca de Nosotros Miembro del Equipo
Above Value,Por encima del valor
Absent,Ausente
Acceptance Criteria,Criterios de Aceptación
Accepted,Aceptado
Accepted Quantity,Cantidad aceptada
Accepted Warehouse,Almacén Aceptado
Account,Cuenta
Account Balance,Saldo de la cuenta
Account Details,Detalles de la cuenta
Account Head,Cuenta Head
Account Id,ID de la cuenta
Account Info,Información de la cuenta
Account Name,Nombre de la cuenta
Account Type,Tipo de Cuenta
Account: ,Cuenta:
"Accounting entry frozen up to this date, nobody can do / modify entry except authorized person","Asiento contable congelado hasta la fecha, nadie puede hacer / modificar entrada excepto persona autorizada"
Accounting journal entries.,Contabilidad entradas del diario.
Accounts,Cuentas
Accounts Browser,Cuentas Browser
Accounts Frozen Upto,Hasta que las cuentas congeladas
Accounts Home,Inicio Cuentas
Accounts Payable,Cuentas por pagar
Accounts Receivable,Cuentas por cobrar
Action,Acción
Action Detail,Acción Detalle
Action html,Acción html
Active,Activo
Active: Will extract emails from ,Actividad: Se extraerán los correos electrónicos
Activity,Actividad
Activity Log,Registro de actividad
Activity Name,Nombre de la actividad
Activity Type,Tipo de actividad
Actual,Real
Actual Amount,Cantidad real
Actual Budget,Presupuesto Real
Actual Completion Date,Fecha de Terminación del Real
Actual Date,Fecha Actual
Actual End Date,Fecha de finalización real
Actual End Time,Hora de finalización real
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 Quantity,Cantidad real
Actual Start Date,Fecha real de inicio
Actual Start Time,Tiempo real de inicio
Add,Añadir
Add / Edit Taxes and Charges,Agregar / Editar Impuestos y Cargos
Add A New Rule,Agregar una nueva regla
Add A Property,Agregue una propiedad
Add Attachments,Adición de archivos adjuntos
Add Bookmark,Añadir a Favoritos
Add CSS,Añadir CSS
Add Column,Añadir columna
Add Message,Agregar mensaje
Add New Permission Rule,Añadir regla Nuevo permiso
Add Reply,Añadir respuesta
Add Terms and Conditions for the Purchase Receipt. You can also prepare a Terms and Conditions Master and use the Template.,Añadir Términos y Condiciones para el recibo de compra. También se puede preparar a un Maestro Términos y Condiciones y el uso de la plantilla.
Add Terms and Conditions for the Purchase Requisition. You can also prepare a Terms and Conditions Master and use the Template,Añadir Términos y Condiciones para la solicitud de compra. También se puede preparar a un Maestro Términos y Condiciones y el uso de la plantilla
"Add Terms and Conditions for the Quotation like Payment Terms, Validity of Offer etc. You can also prepare a Terms and Conditions Master and use the Template","Añadir Términos y Condiciones de la Oferta como condiciones de pago, la validez de una oferta, etc También se puede preparar a un Maestro Términos y Condiciones y el uso de la plantilla"
Add code as &lt;script&gt;,Agregue código como &lt;script&gt;
Add custom code to forms,Agregar código personalizado a las formas
Add fields to forms,Agregar campos a las formas
Add headers for standard print formats,Agregar encabezados para los formatos de impresión estándar
Add or Deduct,Agregar o deducir
Add rows to set annual budgets on Accounts.,Añada filas para fijar presupuestos anuales de Cuentas.
Add to To Do,Añadir a To Do
Add to To Do List of,Agregar a la lista de tareas de
Add/Remove Recipients,Agregar / Quitar destinatarios
"Add/remove users, set roles, passwords etc","Añadir / eliminar usuarios, roles establecidos, contraseñas, etc"
Additional Columns,Columnas adicionales
Additional Conditions,Condiciones adicionales
Additional Info,Información adicional
Additional Tables,Tablas adicionales
Address,Dirección
Address & Contacts,Dirección y contactos
Address Desc,Abordar la 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 Line1,Dirección Línea 1
Address Line2,Dirección Línea 2
Address Title,Título Dirección
Address Type,Tipo de dirección
Address and other legal information you may want to put in the footer.,Dirección y otra información legal es posible que desee poner en el pie de página.
Address to be displayed on the Contact Page,Dirección que se mostrará en la página de contacto
Adds a custom field to a DocType,Agrega un campo personalizado a un tipo de documento
Adds a custom script (client or server) to a DocType,Añade un script personalizado (cliente o servidor) a un tipo de documento
Advance Amount,Avance Importe
Advance amount,Avance cantidad
Advanced Scripting,Advanced Scripting
Advanced Settings,Configuración avanzada
Advances,Insinuaciones
Advertisement,Anuncio
After Sale Installations,Después Instalaciones Venta
"After cancelling the Purchase Requisition, a dialog box will ask you reason for cancellation which will be reflected in this field","Después de cancelar la solicitud de compra, aparecerá un cuadro de diálogo le pedirá motivo de la cancelación, que se refleja en este campo"
Against,Contra
Against Account,Contra Cuenta
Against Docname,Contra DocNombre
Against Doctype,Contra Doctype
Against Document Date,Contra Fecha del Documento
Against Document Detail No,Contra Detalle documento n
Against Document No,Contra el documento n º
Against Expense Account,Contra la Cuenta de Gastos
Against Income Account,Contra la Cuenta de Ingresos
Against Journal Voucher,Contra del diario de comprobantes
Against Purchase Invoice,Contra la factura de compra
Against Sales Invoice,Contra la factura de venta
Against Voucher,Contra Voucher
Against Voucher Type,Contra el tipo de comprobante
Agent,Agente
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials","Grupo global de productos ** ** en otro artículo **. ** Esto es útil si usted está empaquetando un cierto ** ** Los productos en un paquete y usted mantiene un balance de los artículos envasados ​​** ** y no el agregado del artículo **. ** El paquete ** artículo ** habrá &quot;es el tema de&quot; como &quot;No&quot; y &quot;¿Sales Item&quot; como &quot;Sí&quot;, por ejemplo:. Si usted está vendiendo computadoras portátiles y Mochilas por separado y recibir un descuento si el cliente compra a la vez , entonces el ordenador portátil + Mochila será una nueva lista de materiales de ventas Item.Note: BOM = Bill de Materiales"
Aging Date,Fecha de antigüedad
All Addresses.,Todas las direcciones.
All Contact,Todo contacto
All Contacts.,Todos los contactos.
All Customer Contact,Todo servicio al cliente
All Day,Todo el día
All Employee (Active),Todos los empleados (Activo)
All Lead (Open),Todos Plomo (Abierto)
All Products or Services.,Todos los Productos o Servicios.
All Sales Partner Contact,Todo contacto Sales Partner
All Sales Person,Todas Ventas Persona
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Todas las transacciones de ventas pueden ser marcados en contra de varias personas de ventas ** ** por lo que puede establecer y supervisar los objetivos.
All Supplier Contact,Todo contacto Proveedor
All attendance dates inbetween selected Attendance From Date and Attendance To Date will come in the template with employees list.,Todas las fechas de asistencia Asistencia inbetween seleccionada Desde la fecha y asistencia hasta la fecha se vienen en la plantilla con la lista de empleados.
"All export related fields like currency, conversion rate, export total, export grand total etc are available in <br>Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Todos los campos relacionados, como la exportación de moneda, tasa de conversión, el total de las exportaciones, exportación, etc total general están disponibles en <br> Nota de entrega, puntos de venta, cotización, factura de compra, órdenes de venta, etc"
"All import related fields like currency, conversion rate, import total, import grand total etc are available in <br>Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Todos los campos relacionados, como la importación de moneda, tasa de conversión, el total de las importaciones, importación, etc total general están disponibles en <br> Recibo de compra, cotización del proveedor, factura de compra, orden de compra, etc"
All items have already been transferred \				for this Production Order.,Todos los artículos han sido ya traspasada \ para esta orden de producción.
"All possible Workflow States and roles of the workflow. <br>Docstatus Options: 0 is""Saved"", 1 is ""Submitted"" and 2 is ""Cancelled""","Todos los Estados de flujo de trabajo y roles posibles del flujo de trabajo. <br> Opciones DocStatus: 0 El &quot;Salvados&quot;, 1 es &quot;enviado&quot; y 2 es &quot;Cancelado&quot;"
Allocate,Asignar
Allocate leaves for the year.,Asignar las hojas para el año.
Allocated (%),Asignado (%)
Allocated Amount,Monto Asignado
Allocated Budget,Presupuesto asignado
Allocated amount,Cantidad asignada
Allow Attach,Permitir Adjuntar
Allow Bill of Materials,Permitir Lista de materiales
Allow Negative Balance,Permitir balance negativo
Allow Negative Stock,Permitir Stock Negativo
Allow Production Order,Permitir orden de producción
Allow Rename,Permitir Renombre
Allow Samples,Deje que las muestras
Allow User,Permitir al usuario
Allow Users,Permitir que los usuarios
Allow on Submit,Deje en Enviar
Allow the following users to make Leave Applications for block days.,Permitir a los usuarios realizar las siguientes aplicaciones dejan para los días de bloque.
Allow this price in purchase related forms,Permitir que este precio de compra en las formas conexas
Allow this price in sales related forms,Permitir que este precio de venta en las formas conexas
Allow user to login only after this hour (0-24),Permitir al usuario iniciar sesión sólo después de esta hora (0-24)
Allow user to login only before this hour (0-24),Permitir al usuario iniciar sesión sólo antes de esta hora (0-24)
Allowance Percent,Asignación porcentual
Allowed,Animales
Amend,Enmendar
Amended From,De modificada
Amendment Date,Enmienda Fecha
Amount,Cantidad
Amount <=,Importe &lt;=
Amount >=,Monto&gt; =
Amount*,Importe *
"An icon file with .ico extension. Should be 16 x 16 px. Generated using a favicon generator. [<a href=""http://favicon-generator.org/"" target=""_blank"">favicon-generator.org</a>]","Un archivo con el icono. Ico. En caso de ser de 16 x 16 px. Generado utilizando un generador de favicon. [ <a href=""http://favicon-generator.org/"" target=""_blank"">favicon-generator.org</a> ]"
Analytics,Analítica
Answer,Responder
"Any other comments, noteworthy effort that should go in the records.","Cualquier otro comentario, el esfuerzo notable que debe ir en los registros."
Applicable Holiday List,Lista Casas aplicable
Applicable To (Designation),Aplicable a (Designación)
Applicable To (Employee),Aplicable a (Empleado)
Applicable To (Role),Aplicable a (Función)
Applicable To (User),Aplicable a (Usuario)
Applicable only if valuation method is moving average,Aplicable sólo si el método de valoración se media móvil
Applicant Name,Nombre del solicitante
Applicant for a Job,Pretendiente a un puesto
Applicant for a Job (extracted from jobs email).,Solicitante de empleo (extraído de email empleos).
Applications for leave.,Las solicitudes de licencia.
Applies to Company,Corresponde a la Empresa
Apply / Approve Leaves,Aplicar / Aprobar Hojas
Appraisal,Evaluación
Appraisal Goal,Evaluación Meta
Appraisal Goals,Objetivos Apreciación
Appraisal Template,Evaluación de plantilla
Appraisal Template Goal,Evaluación Meta plantilla
Appraisal Template Title,Evaluación título de la plantilla
Approval Status,Estado de aprobación
Approved,Aprobado
Approver,Aprobador
Approving Role,La aprobación de Papel
Approving User,Aprobación de Usuario
Are you sure you want to delete the attachment?,¿Está seguro que desea eliminar el archivo adjunto?
Arial,Arial
Arrear Amount,Monto de los atrasos
"As a best practice, do not assign the same set of permission rule to different Roles instead set multiple Roles to the User","Como práctica recomendada, no asigne el mismo conjunto de reglas permiso a roles diferentes en lugar establecer funciones múltiples para el usuario"
As existing qty for item: ,Como Cantidad existente para el artículo:
As per Stock UOM,Según de la UOM
Ascending,Ascendente
Assign To,Asignar a
Assigned By,Asignado por
Associate a DocType to the Print Format,Asociar un tipo de documento al formato de impresión
Atleast one warehouse is mandatory,Atleast un almacén es obligatorio
Attach,Adjuntar
Attach Document Print,Adjuntar Print Document
Attachments,Archivos adjuntos
Attempted to Contact,Intentó establecer contacto con
Attendance,Asistencia
Attendance Control Panel,La asistencia del Panel de control
Attendance Date,Asistencia Fecha
Attendance Details,Datos de asistencia
Attendance From Date,Desde la fecha de Asistencia
Attendance To Date,Asistencia hasta la fecha
Attendance record.,Asistencia récord.
Attributions,Atribuciones
Authorization Control,Autorización de Control
Authorization Rule,Autorización Regla
Authorized Role (Frozen Entry),Rol Autorizado (Entrada congelada)
Authourized Role (Frozen Entry),Papel Authourized (Entrada congelada)
Auto Email Id,Auto Identificación del email
Auto Name,Nombre Auto
Auto generated,Generado automáticamente
Automatically updated via Stock Entry of type Manufacture/Repack,Se actualiza automáticamente a través de la entrada de Fabricación tipo / Repack
Autoreply when a new mail is received,Respuesta automática cuando un nuevo correo se recibe
Available Qty at Warehouse,Cantidad Disponible en almacén
"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Disponible en la lista de materiales, albarán, factura de compra, orden de fabricación, orden de compra, recibo de compra, factura de venta, pedidos de venta, Entrada de Valores, parte de horas"
Average Discount,Descuento medio
B,B
B+,B +
B-,B-
BILL,BILL
BILLJ,BILLJ
BOM,BOM
BOM Detail No,BOM Detalle Desierto
BOM Explosion Item,Artículo BOM Explosion
BOM Item,Artículo BOM
BOM No,No BOM
BOM No. for a Finished Good Item,No. BOM para un buen artículo terminado
BOM Operation,BOM Operación
BOM Operations,Operaciones de la lista de materiales
BOM Replace Tool,BOM Tool Reemplazar
BOM replaced,BOM reemplazado
Background Color,Color de fondo
Background Image,Imagen de fondo
Background shade of the top menu bar,Antecedentes sombra de la barra de menú superior
Bank,Banco
Bank A/C No.,Bank A / C No.
Bank Account,Cuenta bancaria
Bank Account No.,Banco Número de cuenta
Bank Balance,Saldo bancario
Bank Name,Nombre del banco
Bank Reconciliation,Conciliación Bancaria
Bank Reconciliation Detail,Banco Detalle Reconciliación
Bank Voucher,Banco Voucher
Bank or Cash,Banco o Caja
Banner,Bandera
Banner HTML,Banner HTML
Barcode,Código de barras
Based On,Basado en el
Based on,Basado en
Basic Info,Información básica
Basic Information,Información Básica
Basic Rate,Tasa Básica
Basic Rate*,* Tasa Básica
Batch,Lote
Batch (lot) of an Item.,Batch (lote) de un elemento.
Batch Finished Date,Terminado batch Fecha
Batch ID,Identificación de lote
Batch No,Lote n º
Batch Started Date,Iniciado Fecha de lotes
Begin this page with a slideshow of images,Comience esta página con un pase de diapositivas de imágenes
Better Prospects,Mejores perspectivas
Bill Date,Bill Fecha
Bill No,Bill no
Bill of Material to be considered for manufacturing,Lista de materiales para ser considerado para la fabricación
Bill of Materials,Lista de materiales
Bill of Materials (BOM),Lista de Materiales (BOM)
Billed,Anunciada
Billed Amt,Billed Amt
Billed Quantity,Cantidad facturada
Billing Status,Facturación de Estado
Bills raised by Suppliers.,Proyectos de ley planteada por los Proveedores.
Bills raised to Customers.,Bills elevado a Clientes.
Bin,Papelera
Bio,Bio
Birth Date,Fecha de Nacimiento
Black,Negro
Blob,Gota
Block Date,Bloque Fecha
Block Days,Días de bloque
Block Holidays on important days.,Bloque Vacaciones en días importantes.
Block leave applications by department.,Bloque dejar aplicaciones por departamento.
Blog,Blog
Blog Subscriber,Blog suscriptor
Blog entry.,Entradas en el blog.
Blood Group,Grupo sanguíneo
Bookmarks,Marcadores
Branch,Rama
Brand,Marca
Brand HTML,Marca HTML
Brand Name,Marca
"Brand is what appears on the top-right of the toolbar. If it is an image, make sure ithas a transparent background and use the &lt;img /&gt; tag. Keep size as 200px x 30px","La marca es lo que aparece en la parte superior derecha de la barra de herramientas. Si se trata de una imagen, hacer ithas seguro de un fondo transparente y el uso de la etiqueta &lt;img /&gt;. Mantener el tamaño 200px x 30px como"
Brand master.,Marca maestro.
Branding and Printing,Branding y prensa
Brands,Marcas
Breakdown,Desglose
Budget,Presupuesto
Budget Allocated,Presupuesto asignado
Budget Control,Control del Presupuesto
Budget Detail,Presupuesto Detalle
Budget Details,Datos del Presupuesto
Budget Distribution,Distribución del presupuesto
Budget Distribution Detail,Presupuesto Detalle Distribución
Budget Distribution Details,Detalles Distribución del presupuesto
Bulk Email,E-mail a granel
Bulk Email records.,Correo electrónico masivo registros.
Bundle items at time of sale.,Agrupe elementos en tiempo de venta.
Button,Botón
Buyer of Goods and Services.,Comprador de Bienes y Servicios.
Buying,Comprar
Buying Cost,Comprar Costo
Buying Cost will be updated from Purchase Orders and Purchase Receipts. <br>The buying cost will calculated by moving average method.,Costo de Adquisición será actualizada de las órdenes de compra y recibos de compra. <br> El precio de compra se calcula moviendo método promedio.
Buying Home,Adquisición de Casas
By,Por
C,C
C-FORM/,C-FORM /
C-Form,C-Form
C-Form Applicable,C-forma como se aplican
C-Form Invoice Detail,C-Form Detalle de la factura
C-Form No,C-Formulario No
CGHelp,CGHelp
CI/2010-2011/,CI/2010-2011 /
COMM-,COMM-
CSS,CSS
CTC,CTC
CUST,CUST
CUSTMUM,CUSTMUM
Calculate Charges,Cálculo de Cargos
Calculate Tax,Cálculo de Impuestos
Calculate Taxes and Charges,Cálculo de Impuestos y Cargos
Calculate Total Score,Calcular la puntuación total
Calendar,Calendario
Calendar Events,Calendario de Eventos
Call,Llamar
Campaign,Campaña
Campaign Name,Nombre de la campaña
Can only be exported by users with role 'Report Manager',Solo puede ser exportado por los usuarios &quot;Administrador de informes &#39;papel
Cancel,Cancelar
Cancel Reason,Cancelar Razón
Cancel permission also allows the user to delete a document (if it is not linked to any other document).,Cancelar permiso también permite al usuario eliminar un documento (si no está vinculado a ningún otro documento).
Cancelled,Cancelado
Cannot ,No se puede
Capacity,Capacidad
Capacity Units,Unidades de capacidad
Career History,Historia Historial
Carry Forward,Llevar adelante
Carry Forwarded Leaves,Llevar Hojas reenviados
Cash,Efectivo
Cash Voucher,Cash Voucher
Cash/Bank Account,Efectivo / Cuenta Bancaria
Category,Categoría
Category of customer as entered in Customer master,Categoría de cliente tal como aparece en Maestro de clientes
Cell Number,Móvil Número
Center,Centro
"Certain documents should not be changed once final, like an Invoice for example. The final state for such documents is called <b>Submitted</b>. You can restrict which roles can Submit.","Algunos documentos no se deben cambiar una vez final, como una factura, por ejemplo. El estado final de dichos documentos se llama <b>Enviado.</b> Puede restringir qué roles pueden Submit."
Certificate,Certificado
Challan Date,Challan Fecha
Challan No,No Challan
Change UOM for an Item.,Cambiar UOM de un elemento.
Change background fonts etc,Cambiar el fondo etc fuentes
"Change entry properties (hide fields, make mandatory etc)","Cambiar las propiedades de entrada (campos ocultar, maquillaje etc obligatorio)"
Change the starting / current sequence number of an existing series.,Cambiar el número de secuencia de arranque / corriente de una serie existente.
Channel Partner,Channel Partner
Charge,Cargo
Chargeable,Cobrable
Chart of Accounts,Plan General de Contabilidad
Chart of Cost Centers,Gráfico de centros de coste
Chat,Charlar
Cheating FieldPlease do not delete ,Hacer trampa FieldPlease no elimine
Check,Comprobar
Check / Uncheck roles assigned to the Profile. Click on the Role to find out what permissions that Role has.,Compruebe / roles Desmarcar asignado al perfil. Haga clic en la función para averiguar qué permisos que rol tiene.
Check all the items below that you want to send in this digest.,Compruebe todos los puntos a continuación que desea enviar en este compendio.
Check how the newsletter looks in an email by sending it to your email.,Comprobar cómo el boletín se ve en un correo electrónico mediante el envío a su correo electrónico.
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Compruebe si factura recurrente, desmarque para detener recurrente o poner fecha de finalización correcta"
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Compruebe si necesita automáticas facturas recurrentes. Después de presentar cualquier factura de venta, sección recurrente será visible."
Check if you want to send salary slip in mail to each employee while submitting salary slip,Compruebe si usted desea enviar nómina en el correo a cada empleado durante la presentación de nómina
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 forzar al usuario a seleccionar una serie antes de guardar. No habrá ningún defecto si usted comprueba esto.
Check this if you want to show in website,Seleccione esta opción si desea mostrar en la página web
Check this to make this the default letter head in all prints,Marca esta casilla para hacer esta cabeza defecto la carta en todas las impresiones
Check this to pull emails from your mailbox,Marque esta opción para extraer los correos electrónicos de su buzón
Check to activate,Compruebe para activar
Check to make Shipping Address,Verifique que la dirección de envío
Check to make primary address,Verifique que la dirección principal
Checked,Comprobado
"Checking Operator (To Fld, Operator, From Fld)","Comprobación del operador (Para Fld, Operador De Fld)"
Cheque,Cheque
Cheque Date,Fecha Cheque
Cheque Number,Número de Cheque
Child Tables are shown as a Grid in other DocTypes.,Tablas secundarias se muestran como una cuadrícula en DocTypes otros.
City,Ciudad
City/Town,Ciudad / Pueblo
Claim Amount,Monto de Reclamación
Claims for expenses made on behalf of the organization.,Las reclamaciones por gastos realizados en nombre de la organización.
Class / Percentage,Clase / Porcentaje
Classification of Customers by region,Clasificación de los clientes por región
Clear Cache & Refresh,Borrar la caché y Actualizar
Clear Pending,Borrar Pendiente
Clear Table,Borrar tabla
Clearance Date,Liquidación Fecha
Click on button in the 'Condition' column and select the option 'User is the creator of the document',Haga clic en el botón de la &quot;condición&quot; columna y seleccione la opción &#39;Usuario es el creador del documento&#39;
Click on edit button to start a new report.,Haga clic en el botón Editar para iniciar un nuevo informe.
Click to Expand / Collapse,Haga clic aquí para Expandir / Contraer
Client,Cliente
Client Script,Script de cliente
Closed,Cerrado
Closing Account Head,Cierre Head cuenta
Closing Date,Fecha tope
Closing Fiscal Year,Cerrando el Año Fiscal
CoA Help,CoA Ayuda
Code,Código
Cold Calling,Llamadas en frío
Collections,Colecciones
Color,Color
Column Break,Salto de columna
Columns,Columnas
Comma separated list of email addresses,Lista separada por comas de direcciones de correo electrónico
Comment,Comentario
Comment By,Comentario por
Comment By Fullname,Comentario por Fullname
Comment Date,Comentarios Fecha
Comment Docname,Opina DocNombre
Comment Doctype,Opina Doctype
Comment Time,Opina Tiempo
Comments,Comentarios
Commission Rate,Comisión de Tarifas
Commission Rate (%),Comisión de Tarifas (%)
Commission partners and targets,Comisión socios y metas
Communication,Comunicación
Communication HTML,Comunicación HTML
Communication History,Historial de comunicaciones
Communication Log,Comunicación sesión
Communication Medium,Comunicación Medio
Communication by,La comunicación por
Communication log.,Comunicación de registro.
Communication type,Tipo de comunicación
Company,Empresa
Company Control,Control Company
Company Details,Datos de la empresa
Company History,Historia de la empresa
Company History Heading,La compañía Historia de la rúbrica
Company Info,Información de la compañía
Company Introduction,Presentación de la empresa
Company Name,Nombre de la compañía
Company branches.,Sucursales de la compañía.
Company departments.,Departamentos de la empresa.
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,"Número de registro mercantil para su referencia. Ejemplo: Números de Registro de IVA, etc"
Company registration numbers for your reference. Tax numbers etc.,"Número de registro mercantil para su referencia. Cifras impositivas, etc"
Complaint,Queja
Complete By,Completa Por
Completed,Terminado
Completion Date,Fecha de Terminación
Completion Status,Terminación del Estado
Confirmed orders from Customers.,Confirmado pedidos de clientes.
Consider Tax or Charge for,Considere la posibilidad de impuesto o tasa para
"Consider this Price List for fetching rate. (only which have ""For Buying"" as checked)","Considere esta lista de precios para ir a buscar cambio. (Sólo que han &quot;para la compra&quot;, como marcada)"
Consultant,Consultor
Consumed Qty,Cantidad consumida
Contact,Contacto
Contact Control,Póngase en contacto con el Control
Contact Desc,Póngase en contacto con la descripción
Contact Details,Contacto
Contact Email,Correo electrónico de contacto
Contact HTML,Contactar con HTML
Contact Info,Información de contacto
Contact Mobile No,Contacto Móvil No
Contact Name,Nombre de contacto
Contact No,Contacto No
Contact No.,Contactar No.
Contact Person,Persona de Contacto
Contact Type,Tipo de contacto
Contact Us Settings,Contáctenos Configuración
Contact in Future,Póngase en contacto con en el Futuro
"Contact options, like ""Sales Query, Support Query"" etc each on a new line or separated by commas.","Opciones de contacto, como &quot;Consulta de Ventas, Soporte de consultas&quot;, etc cada uno en una nueva línea o separados por comas."
Contacted,Contactado
Content,Contenido
Content Type,Tipo de Contenido
Content in markdown format that appears on the main side of your page,El contenido en formato Markdown que aparece en la parte principal de su página
Content web page.,Contenido de la página web.
Contra Voucher,Contra Voucher
Contract End Date,Fecha de finalización del contrato
Control Panel,Panel de control
Conversion Factor,Factor de conversión
Conversion Rate,Conversión de Tasa de
Convert into Recurring Invoice,Convertir en factura recurrente
Converted,Convertido
Copyright,Derechos de autor
Core,Núcleo
Cost Center,De centros de coste
Cost Center Details,Costo Detalles Center
Cost Center Name,Costo Nombre del centro
Cost Center must be specified for PL Account: ,Centro de costos se debe especificar para la Cuenta PL:
Cost to Company,El costo para la empresa
Costing,Costeo
Country,País
Country Name,Nombre País
Create,Crear
Create Bank Voucher for the total salary paid for the above selected criteria,"Crear comprobante bancario por el salario total pagado por los criterios anteriormente indicados,"
Create Production Orders,Cree órdenes de producción
Create Receiver List,Crear Lista de receptores
Create Salary Slip,Crear nómina
"Create a price list from Price List master and enter standard ref rates against each of them. On selection of a price list in Quotation, Sales Order or Delivery Note, corresponding ref rate will be fetched for this item.","Crear una lista de precios de maestro Lista de precios y entrar en las tarifas estándar ref contra cada uno de ellos. Al seleccionar una lista de precios de cotización, orden de venta o nota de entrega, la tasa de ref correspondiente será descargado por este concepto."
Create and Send Newsletters,Creación y envío de Newsletters
Created Account Head: ,Cuenta Creada cabeza:
Created Customer Issue,Cliente Creado Issue
Created Group ,Fecha de creación
Created Opportunity,Creado Oportunidades
Created Support Ticket,Soporte Creado Ticket
Creates salary slip for above mentioned criteria.,Crea nómina de los criterios antes mencionados.
Credit,Crédito
Credit Amt,Credit Amt
Credit Card Voucher,Credit Card Voucher
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
Criteria Name,Criterios Nombre
Cross List Item Group,Grupo de la Cruz lista de elementos
Cross Listing of Item in multiple groups,Cruce Listado de artículos en varios grupos
Currency,Moneda
Currency & Price List,Moneda y lista de precios
Currency Format,Formato de moneda
Currency Name,Nombre de divisas
Current Accommodation Type,Tipo de alojamiento actual
Current Address,Dirección actual
Current BOM,BOM actual
Current Fiscal Year,Año fiscal actual
Current Stock,Stock actual
Current Stock UOM,UOM Stock actual
Current Value,Valor actual
Current status,Situación actual
Cust/Supp Address,Cust / Supp Dirección
Cust/Supp Name,Cust / Supp Nombre
Custom,Costumbre
Custom Autoreply Message,Custom mensaje de respuesta automática
Custom CSS,Custom CSS
Custom Field,Campo personalizado
Custom Message,Mensaje personalizado
Custom Query,Consulta personalizada
Custom Reports,Informes personalizados
Custom Script,Secuencia de personalización
Custom Startup Code,Código de inicio personalizada
Custom?,Custom?
Customer,Cliente
Customer / Item Name,Cliente / Nombre del elemento
Customer Account,Atención al cliente
Customer Address,Dirección del cliente
Customer Addresses And Contacts,Las direcciones de clientes y contactos
Customer Code,Código de Cliente
Customer Codes,Códigos de clientes
Customer Details,Detalles del Cliente
Customer Feedback,Comentarios del cliente
Customer Group,Grupo de clientes
Customer Group Name,Nombre del cliente Grupo
Customer Intro,Introducción al Cliente
Customer Issue,Customer Issue
Customer Issue No,Customer Issue No
Customer Issue against a Serial No (warranty).,Customer Issue contra un número de serie (garantía).
Customer Master created by ,Maestro de clientes creado por
Customer Name,Nombre del cliente
Customer Type,Tipo de cliente
Customer classification tree.,Cliente árbol de clasificación.
Customer database.,Cliente de base de datos.
Customer's Currency,Cliente de divisas
Customer's Item Code,Cliente Código del artículo
Customer's Vendor,Cliente Proveedor
Customer's currency,Cliente moneda
"Customer's currency - If you want to select a currency that is not the default currency, then you must also specify the Currency Conversion Rate.","Moneda del cliente - Si desea seleccionar una moneda que no es la moneda por defecto, entonces también se debe especificar el porcentaje de conversiones de moneda."
Customer/Supplier,Cliente / Proveedor
Customerwise Discount,Customerwise descuento
Customize,Personalizar
Customize Form,Personalizar formulario
Customize Form Field,Personalización de campos de formulario
"Customize Label, Print Hide, Default etc.","Personaliza etiquetas, Hide impresión, etc predeterminado"
Customize the Notification,Personalizar 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 introductorio que va como una parte de dicho mensaje. Cada transacción tiene un texto introductorio separado.
DN,DN
DN Detail,DN Detalle
Daily,Diario
"Daily, weekly, monthly email Digests","Diariamente, el correo electrónico semanal, mensual Digests"
Danger,Peligro
Data,Datos
Data Import,Importación de datos
Data Import Tool,Herramienta de importación de datos
Database,Base de datos
Database of potential customers.,Base de datos de clientes potenciales.
Date,Fecha
Date Format,Formato de fecha
Date Of Retirement,Fecha de la jubilación
Date is repeated,La fecha se repite
Date of Birth,Fecha de nacimiento
Date of Issue,Fecha de emisión
Date of Joining,Fecha de ingreso a
Date on which lorry started from supplier warehouse,Fecha en la que el camión partió de almacén proveedor
Date on which lorry started from your warehouse,Fecha en la que el camión comenzó a partir de su almacén
Date on which the lead was last contacted,Fecha en la que se estableció contacto con el plomo último
Dates,Fechas
Datetime,Fecha y hora
Days for which Holidays are blocked for this department.,Días de fiesta que están bloqueados para este departamento.
Dealer,Comerciante
Dear,Querido
Debit,Débito
Debit Amt,Débito Amt
Debit Note,Nota de Débito
Debit To,Para Débito
Debit or Credit,Débito o Crédito
Deduct,Deducir
Deduction,Deducción
Deduction Type,Deducción Tipo
Deduction1,Deduction1
Deductions,Deducciones
Default,Defecto
Default Account,Cuenta predeterminada
Default BOM,Por defecto BOM
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,Por defecto Banco / Caja cuenta se actualiza automáticamente en la factura POS cuando se selecciona este modo.
Default Bank Account,Cuenta predeterminada Banco
Default Commission Rate,Tasa de Incumplimiento Comisión
Default Company,Predeterminado de la compañía
Default Cost Center,Defecto de centros de coste
Default Cost Center for tracking expense for this item.,Defecto de centros de coste para el seguimiento de los gastos por este concepto.
Default Currency,Moneda predeterminada
Default Customer Group,Valor predeterminado de grupo al Cliente
Default Expense Account,Cuenta predeterminada de gastos
Default Home Page,Página de inicio por defecto
Default Home Pages,Páginas de inicio por defecto
Default Income Account,Cuenta predeterminada de Ingresos
Default Item Group,Valor predeterminado de grupo del artículo
Default Price List,Por defecto Lista de precios
Default Price List Currency,Precio de lista por defecto de divisas
Default Print Format,Por defecto Formato de impresión
Default Product Category,Predeterminado Categoría de producto
Default Purchase Account in which cost of the item will be debited.,Cuenta predeterminada de compra en las que el precio del artículo será debitada.
Default Reserved Warehouse,Por defecto Reservado Almacén
Default Sales Partner,Ventas predeterminados de los asociados
Default Settings,Configuración predeterminada
Default Source Warehouse,Predeterminado fuente de depósito
Default Stock UOM,Defecto de la UOM
Default Supplier Type,Tipo predeterminado Proveedor
Default Target Warehouse,Por defecto destino de depósito
Default Territory,Por defecto Territorio
Default Unit of Measure,Defecto Unidad de medida
Default Valuation Method,Por defecto Método de Valoración
Default Value,Valor por omisión
Default Warehouse Type,Tipo predeterminado Almacén
Default values are set across the role and can be over-ridden by user permissions.,Los valores por defecto se establecen a través de la función y pueden ser anuladas por los permisos de usuario.
"Default: ""Product Search""",Default: &quot;Búsqueda de Productos&quot;
DefaultValue,DefaultValue
Defaults,Predeterminados
"Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>","Definir Presupuesto para este Centro de Costo. Para configurar la acción presupuesto, consulte <a href=""#!List/Company"">empresa Master</a>"
Define Rule,Definir regla
Defines actions on states and the next step and allowed roles.,Define las acciones que los Estados y el siguiente paso y los roles permitidos.
Defines workflow states and rules for a document.,Define los estados de flujo de trabajo y las reglas para un documento.
Delete,Borrar
Delivered,Liberado
Delivered Items To Be Billed,Material que se adjunta a facturar
Delivered Qty,Cantidad Entregada
Delivery (shipment) to customers.,Entrega (envío) a los clientes.
Delivery Address,Dirección de entrega
Delivery Date,Fecha de Entrega
Delivery Details,Detalles de la entrega
Delivery Document No,Envío de Documentos No
Delivery Document Type,Entrega Tipo de documento
Delivery Note,Nota de entrega
Delivery Note Item,Nota de entrega del artículo
Delivery Note Items,Artículos de entrega Nota
Delivery Note Message,Entrega de mensajes Nota
Delivery Note No,Entrega Nota No
Delivery Note Packing Item,Nota de Entrega Embalaje artículo
Delivery Note Required,Nota de entrega requerida
Delivery Status,Estado de entrega
Delivery Time,Tiempo de Entrega
Department,Departamento
Depend on LWP,Depende LWP
Depends On,Depende del
Depends on LWP,Depende LWP
Descending,Descendente
Description,Descripción
Description HTML,Descripción HTML
Description of a Job Opening,Descripción de una oferta de trabajo
Desert,Desierto
Designation,Designación
Desktop,Escritorio
Detail Name,Detalle Nombre
Detailed Breakup of the totals,Breakup detallada de los totales
Details,Detalles
Did not add.,No agregar.
Did not cancel,No canceló
Did not save,No guarde
Difference,Diferencia
"Different ""States"" this document can exist in. Like ""Open"", ""Pending Approval"" etc.","Different &quot;Estados&quot; este documento pueden existir pulg Al igual que en &quot;Abrir&quot;, &quot;Pendiente de aprobación&quot;, etc"
Disabled,Discapacitado
Disabled Filters,Filtros de movilidad reducida
Discount  %,Descuento%
Discount %,Descuento%
Discount (%),Descuento (%)
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Los campos con descuento estará disponible en la Orden de Compra, recibo de compra, factura de compra"
Discount(%),Descuento (%)
Display,Mostrar
Display Settings,Configuración de pantalla
Display all the individual items delivered with the main items,Muestra todos los elementos individuales se entregan con las principales partidas
Distinct unit of an Item,Unidad distinta de un elemento
Distribute transport overhead across items.,Distribuya encima transporte a través de los elementos.
Distribution Id,ID Distribution
Distribution Name,Distribución Nombre
Distributor,Distribuidor
Divorced,Divorciado
Do not show any symbol like $ etc next to currencies.,No muestra ningún símbolo como $ etc junto a monedas.
Doc Name,Doc. Nombre
Doc Status,Doc. Estado
Doc Type,Tipo Doc.
DocField,DocField
DocPerm,DocPerm
DocType,DOCTYPE
DocType Details,Detalles Tipo de documento
DocType Label,Etiqueta de tipo de documento
DocType Mapper,DocType Mapper
DocType is a Table / Form in the application.,Tipo de documento es una tabla / formulario en la aplicación.
DocType on which this Workflow is applicable.,DOCTYPE en el que este flujo de trabajo es aplicable.
DocType or Field,Tipo de documento o Campo
Document,Documento
Document Description,Descripción del documento
Document Status transition from ,Documento de transición de estado de
Document Type,Tipo de documento
Document is only editable by users of role,Documento es sólo editable por los usuarios de papel
Document to rename,Documento para cambiar el nombre
Documentation,Documentación
Documents,Documentos
Domain List,Lista de dominios
Download Backup,Descargar Backup
Download Materials Required,Descargue Materiales necesarios
Download Template,Descargue la plantilla
Download a report containing all raw materials with their latest inventory status,Descargar un informe con todas las materias primas con su último estado de inventario
Draft,Borrador
Drafts,Damas
Drag to sort columns,Arrastre para ordenar las columnas
Due Date,Fecha de vencimiento
Duration,Duración
EMP/,EMP /
ESIC CARD No,TARJETA DE ESIC No
ESIC No.,ESIC No.
Earning,Ganar
Earning & Deduction,Ganancia y Deducción
Earning Type,Ganando Tipo
Earning1,Earning1
Edit,Editar
Editable,Editable
Educational Qualification,Capacitación Educativa
Educational Qualification Details,Datos Educativos de calificación
Eg. smsgateway.com/api/send_sms.cgi,Por ejemplo. smsgateway.com / api / send_sms.cgi
Eligible Amount,Monto Elegible
Email,Email
Email (By company),E-mail (por empresa)
Email Digest,Email Resumen
Email Digest Settings,Resumen Email Settings
Email Host,Email Host
Email Id,Email Id
"Email Id must be unique, already exists for: ","Identificación del email debe ser único, ya existe para:"
"Email Id where a job applicant will email e.g. ""jobs@example.com""","Identificación del email que un solicitante de empleo le enviará por ejemplo, &quot;jobs@example.com&quot;"
Email Login,Login Email
Email Password,Correo electrónico Contraseña
Email Sent,Correo electrónico enviado
Email Sent?,Correo electrónico enviado?
Email Settings,Configuración del correo electrónico
Email Settings for Outgoing and Incoming Emails.,Configuración del correo electrónico para mensajes de correo electrónico entrantes y salientes.
Email Signature,Firma para tu Correo
Email Use SSL,Correo electrónico utilizan SSL
"Email addresses, separted by commas","Las direcciones de correo electrónico, separted por comas"
"Email settings for jobs email id ""jobs@example.com""",Configuración del correo electrónico para los trabajos de correo electrónico id &quot;jobs@example.com&quot;
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""","Configuración del correo electrónico para extraer Leads de ventas email id por ejemplo, &quot;sales@example.com&quot;"
Embed image slideshows in website pages.,Insertar presentaciones de imágenes en las páginas web.
Emergency Contact Details,Detalles de Contacto de Emergencia
Emergency Phone Number,Teléfono para Emergencias
Employee,Empleado
Employee Designation.,Designación del Empleado.
Employee Details,Detalles del Empleado
Employee Education,Educación de los Empleados
Employee External Work History,Empleado Historial de trabajo externo
Employee Internal Work History,Empleado Historial de trabajo interno
Employee Internal Work Historys,Historys Empleados Interno de Trabajo
Employee Name,Nombre del empleado
Employee Number,Número de empleado
Employee Records to be created by ,Registros de los empleados a ser creado por
Employee Setup,Empleado de configuración
Employee Training,Capacitación de los empleados
Employee Type,Tipo de empleado
Employee grades,Los grados de empleados
Employee record is created using selected field. ,Registro de empleado se crea utilizando el campo seleccionado.
Employee records.,Registros de empleados.
Employees Email Id,Empleados de correo electrónico de identificación
Employment Details,Detalles de Empleo
Employment Type,Tipo de empleo
Enable / disable currencies.,Activar / desactivar monedas.
Enabled,Habilitado
Enables <b>More Info.</b> in all documents,Habilita <b>Más información.</b> En todos los documentos
Encashment Date,Cobro Fecha
End Date,Fecha de finalización
End date of current invoice's period,Fecha de finalización del periodo de facturación actual
End of Life,Fin de la Vida
Ends on,Finaliza el
Enter Email Id to receive Error Report sent by users.E.g.: support@iwebnotes.com,Introduzca la ID de correo electrónico para recibir informe de error enviado por users.Eg: support@iwebnotes.com
Enter Form Type,Introduzca el tipo de formulario
Enter Row,Ingrese Row
Enter campaign name if the source of lead is campaign.,Ingresa una campaña si la fuente de plomo es la campaña.
"Enter default value fields (keys) and values. If you add multiple values for a field, the first one will be picked. These defaults are also used to set ""match"" permission rules. To see list of fields, go to <a href=""#Form/Customize Form/Customize Form"">Customize Form</a>.","Ingrese campos predeterminados de valor (teclas) y valores. Si agrega varios valores para un campo, el primero será recogido. Estos valores por defecto se utiliza también para establecer &quot;match&quot; reglas de permiso. Para ver la lista de campos, vaya a <a href=""#Form/Customize Form/Customize Form"">Personalizar formulario</a> ."
Enter department to which this Contact belongs,Ingrese departamento al que pertenece el contacto
Enter designation of this Contact,Ingrese designación de este contacto
"Enter domain names associated to this website, each on a new line","Escriba los nombres de dominio asociados a este sitio web, cada uno en una línea nueva"
"Enter email id separated by commas, invoice will be mailed automatically on particular date","Introduzca el identificador de correo electrónico separadas por comas, factura le será enviada automáticamente en la fecha determinada"
Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,Registre los artículos y qty previsto para las que desea elevar las órdenes de producción o descargar la materia prima para su análisis.
Enter message,Ingrese mensaje
Enter name of campaign if source of enquiry is campaign,Introducir el nombre de la campaña si la fuente de la investigación es la campaña
"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Introduzca los parámetros estáticos URL aquí (por ejemplo, sender = ERPNext, username = 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 que se haya creado la cuenta principal de esta empresa
Enter the date by which payments from customer is expected against this invoice.,Introduzca la fecha en la que los pagos de los clientes se espera que en contra de esta factura.
Enter url parameter for message,Ingrese parámetro url para el mensaje
Enter url parameter for receiver nos,Ingrese parámetro url para nn receptor
Entries,Comentarios
Entries are not allowed against this Fiscal Year if the year is closed.,No se permiten comentarios en contra de este año fiscal si el año está cerrado.
Error,Error
Estimated Material Cost,Costo estimado de material
Event,Evento
Event Individuals,Los individuos del Evento
Event Role,Evento Papel
Event Roles,Roles de eventos
Event Type,Tipo de evento
Event Updates,Actualizaciones del Evento
Event User,Evento del usuario
Exchange Rate,Tipo de cambio
Excise Page Number,Número de página Impuestos Especiales
Excise Voucher,Vale Impuestos Especiales
Execute,Ejecutar
Exemption Limit,Exención del límite
Exhibition,Exposición
Existing Customer,Ya es cliente
Exit,Salida
Exit Interview Details,Salir detalles Entrevista
Expected,Esperado
Expected Delivery Date,Fecha prevista de entrega
Expected End Date,Fin Fecha prevista
Expected Start Date,Fecha prevista de inicio
Expense Account,Cuenta de gastos
Expense Claim,Cuenta de gastos
Expense Claim Approved,Reclamación de Gastos Aprobados
Expense Claim Approved Message,Reclamación de Gastos Aprobados mensaje
Expense Claim Detail,Detalle de Gastos Reclamo
Expense Claim Details,Detalles de reclamación de gastos
Expense Claim Rejected,Reclamación de Gastos Rechazados
Expense Claim Rejected Message,Reclamación de Gastos Rechazados mensaje
Expense Claim Type,Tipo de Reclamación de Gastos
Expense Date,Fecha de gastos
Expense Details,Detalles de Gastos
Expense Head,Gastos Head
Expenses Booked,Gastos Reservados
Expiry Date,Fecha de caducidad
Export,Exportar
Exports,Exportaciones
External,Externo
Extra Condition,Condición adicional
Extract Emails,Extracto de mensajes de correo electrónico
Extract Job Applicant from jobs email id e.g. jobs@example.com,Extracto solicitante de empleo de puestos de trabajo Identificación del email por ejemplo jobs@example.com
Extract Leads from sales email id e.g. sales@example.com,Extracto Leads de ventas email id por ejemplo sales@example.com
FCFS Rate,Tasa FCFS
FIFO,FIFO
Family Background,Antecedentes familiares
FavIcon,FavIcon
Fax,Fax
Featured Item,Producto destacado
Featured Item in Item Group,Producto destacado en el Grupo del artículo
Features Setup,Características del programa de instalación
Feed,Alimentar
Feed Type,Alimente Tipo
Feedback,Realimentación
Female,Femenino
Fetch lead which will be converted into customer.,"Fetch de plomo, que se convierte en cliente."
Field,Campo
Field Description,Campo Descripción
Field Mapper Detail,Detalle de campo Mapper
Field Mapper Details,Campo Detalles Mapper
Field Name,Nombre del campo
Field Type,Tipo de campo
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Campo disponible en la Nota de Entrega, cotización, factura de compra, órdenes de venta"
Field from other forms,Campo de otras formas
"Field that represents the Workflow State of the transaction (if field is not present, a new hidden Custom Field will be created)","Campo que representa al Estado de flujo de trabajo de la operación (si el campo no está presente, un nuevo campo personalizado oculto se creará)"
Fieldname,Fieldname
Fields,Campos
"Fields separated by comma (,) will be included in the<br /><b>Search By</b> list of Search dialog box","Campos separados por una coma (,) se incluirá en la <br /> <b>Búsqueda por</b> lista de cuadro de diálogo Búsqueda"
File Data,Archivo de datos
File LIst,Lista de archivos
File List,Lista de archivos
File Name,Nombre de archivo
File URL,URL del archivo
File Uploaded Sucessfully.,Archivo subido con éxito.
Filing in Additional Information about the Opportunity will help you analyze your data better.,La presentación de información adicional sobre la oportunidad le ayudará a analizar mejor sus datos.
Filing in Additional Information about the Purchase Receipt will help you analyze your data better.,La presentación de información adicional sobre el recibo de compra le ayudará a analizar mejor sus datos.
Filing in Additional Information about the Purchase Requisition will help you analyze your data better.,La presentación de información adicional sobre la solicitud de compra le ayudará a analizar mejor sus datos.
Filling in Additional Information about the Delivery Note will help you analyze your data better.,Rellenar Información adicional sobre la nota de entrega le ayudará a analizar mejor sus datos.
Filling in additional information about the Quotation will help you analyze your data better.,Introducción de información adicional sobre el Presupuesto le ayudará a analizar mejor sus datos.
Filling in additional information about the Sales Order will help you analyze your data better.,Introducción de información adicional sobre el pedido de ventas le ayudará a analizar mejor sus datos.
Filter By Amount,Filtrar por Importe
Filter By Date,Filtrar por fecha
Filter based on customer,Filtro basado en el cliente
Filter based on item,Filtro basado en el artículo
Filters,Filtros
Final Confirmation Date,Confirmación de la fecha límite
Financial Analytics,Financial Analytics
Financial Statements,Estados Financieros
Financial Years for books of accounts,Ejercicios económicos respecto a los libros de contabilidad
First Name,Nombre
First Responded On,Primero respondió el
Fiscal Year,Año Fiscal
Fiscal Year Details,Datos del ejercicio fiscal
Fixed Asset Account,Cuenta de Activos Fijos
Float,Flotar
Float Precision,Precision Float
Floral,Floral
Following dates are blocked for Leave,Siguientes fechas son bloqueados por la licencia
"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.",Tras tabla mostrará valores si los artículos son sub - contratado. Estos valores se obtienen de la maestra de la &quot;Lista de materiales&quot; de la sub - productos contratados.
Font,Fuente
Font Size,Tamaño de la Fuente
Footer,Pie de página
Footer Items,Artículos Footer
For All Users,Para todos los usuarios
For Buying,Para la compra de
For Company,Para la empresa
For Employee,Para los Empleados
For Employee Name,En Nombre del Empleado
For Item ,Por artículo
"For Links, enter the DocType as rangeFor Select, enter list of Options separated by comma","Para los enlaces, introduzca el tipo de documento como rangeFor Select, entrar en la lista de opciones separadas por comas"
"For Links, use define linked","Para los enlaces, use definir vinculado"
For Production,Para Producción
For Reference Only.,Sólo de referencia.
For Selling,Para la venta de
For Warehouse,Para el almacén
"For comparative filters, start with","Para los filtros comparativas, comience con"
"For e.g. 2012, 2012-13","Por ejemplo, 2012, 2012-13"
For example if you cancel and amend 'INV004' it will become a new document 'INV004-1'. This helps you to keep track of each amendment.,"Por ejemplo, si usted cancela y enmendar &#39;INV004&#39; se convertirá en un nuevo documento &#39;INV004-1&#39;. Esto le ayuda a realizar un seguimiento de cada enmienda."
For example: You want to restrict users to transactions marked with a certain property called 'Territory',Por ejemplo: Usted desea restringir a los usuarios transacciones marcadas con una determinada propiedad llamada &#39;Territorio&#39;
For opening balance entry account can not be a PL account,Para la apertura de cuenta saldo entrada no puede ser una cuenta de PL
"For opening invoice entry, this date will reflect in the period-wise aging report.","Para abrir el registro de facturas, esta fecha se reflejará en el informe del período sabio envejecimiento."
For ranges,Para los rangos de
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 la comodidad de los clientes, estos códigos se puede utilizar en formato impreso como facturas y albaranes"
Form,Formulario
Format: hh:mm example for one hour expiry set as 01:00. Max expiry will be 72 hours. Default is 24 hours,Formato: hh: mm Ejemplo de una hora de caducidad fijado las 01:00. Max caducidad será de 72 horas. Predeterminado es de 24 horas
Forum,Foro
Fraction,Fracción
Fraction Units,Unidades de fracciones
Friday,Viernes
From Company,De Compañía
From Customer,Desde Cliente
From Date,Desde la fecha
From Date must be before To Date,Desde la fecha debe ser anterior a la Fecha
From DocType,De DocType
From Employee,Del Empleado
From Field,Del Campo
From PR Date,Desde la fecha PR
From Package No.,De Paquete No.
From Table,De la Tabla
Frozen,Congelado
Full Image,Imagen completa
Full Name,Nombre Completo
Full description (formatted as markdown),Descripción completa (con formato Markdown)
Fully Billed,Totalmente Anunciada
Fully Completed,Totalmente Completada
GL Control,GL control
GL Entry,GL entrada
GL Entry: Debit or Credit amount is mandatory for ,Entrada GL: cantidad de débito o crédito es obligatoria para
GL Mapper,GL Mapper
GL Mapper Detail,GL Detalle Mapper
GRN,GRN
Gantt Chart,Diagrama de Gantt
Gantt chart of all tasks.,Diagrama de Gantt de las tareas.
Gender,Género
General,General
General Ledger,Contabilidad General
Generate Description HTML,Descripción Generar HTML
Generate Material Requests (MRP) and Production Orders.,Generar solicitudes de material (MRP) y Órdenes de Producción.
Generate Salary Slips,Generar las nóminas
Generate Schedule,Generar Calendario
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generar albaranes para los paquetes que se entregarán. Se utiliza para notificar el número de paquetes, el contenido del paquete y su peso."
Generates HTML to include selected image in the description,Genera HTML para incluir la imagen seleccionada en la descripción
Georgia,Georgia
Get Advances Paid,Cómo anticipos pagados
Get Advances Received,Cómo anticipos recibidos
Get Current Stock,Obtener Stock actual
Get Items,Obtener elementos
Get Last Purchase Rate,Cómo Tarifa de Último
Get Non Reconciled Entries,Consigue entradas para no conciliadas
Get Open Sales Order,Recibe órdenes de venta abierto
Get Outstanding Invoices,Recibe facturas pendientes
Get Purchase Receipt,Obtener recibo de compra
Get Sales Orders,Recibe órdenes de venta
Get Specification Details,Obtenga los datos Especificaciones
Get Stock and Rate,Cómo y Tasa de
Get Tax Detail,Cómo detalle de impuestos
Get Taxes and Charges,Obtener Impuestos y Cargos
Get Template,Cómo Plantilla
Get Terms and Conditions,Cómo Términos y Condiciones
Get Weekly Off Dates,Cómo semanales Fechas Off
Get the template of the Attendance for which you want to import in CSV (Comma seperated values) format.Fill data in the template. Save the template in CSV format.All attendance dates inbetween 'Attendance From Date' and 'Attendance To Date' will come in the template with employees list.,Obtener la plantilla de la Asistencia para el que desea importar en formato CSV (valores separada por comas) format.Fill datos en la plantilla. Guarde la plantilla en formato CSV asistencia format.All data &#39;Asistencia De Date&#39; entre medio y &quot;asistencia hasta la fecha&quot; vendrá en la plantilla con la lista de empleados.
"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.","Obtener tasa de valorización y stock disponible en el almacén de origen / destino en la publicación mencionada fecha y hora. Si serializado artículo, por favor pulse este botón después de introducir los números de serie."
Global Defaults,Predeterminados globales
Go back to home,Volver a Home
Go to Setup > <a href='#user-properties'>User Properties</a> to set \			'territory' for diffent Users.,Vaya a Configuración&gt; <a href='#user-properties'>Propiedades del usuario</a> para configurar \ &quot;territorio&quot; para los usuarios de diffent.
Goal,Objetivo
Goals,Objetivos de
Goods received from Suppliers.,Los bienes recibidos de proveedores.
Grade,Grado
Graduate,Licenciado
Grand Total,Gran Total
Grand Total (Export),Total general (Exportación)
Grand Total (Import),Total general (Import)
Grand Total*,Total general *
Gratuity LIC ID,La gratuidad ID LIC
Gross Margin %,% Margen Bruto
Gross Margin Value,Valor Margen Bruto
Gross Pay,Pago Bruto
Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,Pago Bruto + + Importe Importe mora Cobro - Deducción total
Gross Profit,Beneficio bruto
Gross Profit (%),Utilidad Bruta (%)
Gross Weight,Peso Bruto
Gross Weight UOM,UOM Peso Bruto
Group,Grupo
Group By,Agrupar por
Group or Ledger,Grupo o Ledger
Groups,Grupos
HR,HR
HTML,HTML
HTML / Banner that will show on the top of product list.,HTML / Banner que se mostrará en la parte superior de la lista de productos.
"HTML print formats for quotes, invoices etc","Formatos HTML impresión de cotizaciones, facturas, etc"
Half Day,Medio Día
Half Yearly,Semestral
Half-yearly,Semestral
Has Batch No,Tiene Lote n º
Has Child Node,Tiene nodo secundario
Has Serial No,No tiene de serie
Header,Encabezamiento
Heading,Título
Heading Font,La partida de letra
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Jefes (o grupos) con el que se fabrican los asientos contables y los balances se mantienen.
Health Concerns,Preocupación por la salud
Health Details,Detalles de Salud
Held On,Celebrada el
Help,Ayudar
Help HTML,Ayuda HTML
Helper for managing return of goods (sales or purchase),Ayudante para la gestión de devolución de mercancías (compra o venta)
Helvetica Neue,Helvetica Neue
"Hence, maximum allowed Manufacturing Quantity","Por lo tanto, el máximo permitido Cantidad Fabricación"
"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 la ocupación de los padres, cónyuge e hijos"
"Here you can maintain height, weight, allergies, medical concerns etc","Aquí se puede mantener la altura, el peso, alergias, etc preocupaciones médicas"
Hey there! You need to put at least one item in \				the item table.,Hey there! Es necesario poner al menos un artículo en \ table del elemento.
Hey! You seem to be using the wrong template. \				Click on 'Download Template' button to get the correct template.,Hey! Usted parece estar utilizando el modelo equivocado. \ Haga clic en el botón &quot;Descargar plantilla&quot; para obtener la plantilla correcta.
Hidden,Oculto
Hide Actions,Ocultar Acciones
Hide Copy,Ocultar Copy
Hide Currency Symbol,Ocultar Símbolo de moneda
Hide Email,Email Ocultar
Hide Heading,Ocultar Encabezado
Hide Print,Ocultar Imprimir
Hide Toolbar,Ocultar barra de herramientas
High,Alto
Highlight,Destacar
History In Company,Historia In Company
Hold,Mantener
Holiday,Fiesta
Holiday Block List,Holiday lista de bloqueo
Holiday Block List Allow,Lista Casas Bloquear Permitir
Holiday Block List Allowed,Holiday Lista de bloqueo animales
Holiday Block List Date,Bloque de vacaciones Lista Fecha
Holiday Block List Dates,Las fechas de vacaciones de listas de bloqueo
Holiday Block List Name,Bloque de vacaciones Lista de Nombres
Holiday List,Holiday lista
Holiday List Name,Holiday Nombre de la lista
Holidays,Vacaciones
Home,Casa
Home Control,Página principal Control
Home Page,Home Page
Home Page is Products,Página de Inicio es Productos
Home Pages,Páginas de inicio
Host,Anfitrión
"Host, Email and Password required if emails are to be pulled","Host, correo electrónico y la contraseña requerida si los correos electrónicos han de ser retirado"
Hour Rate,Hora Tarifa
Hour Rate Consumable,Consumible Tipo horas
Hour Rate Electricity,Tarifario horas
Hour Rate Labour,Trabajo tarifa por hora
Hour Rate Rent,Alquiler Tarifa horas
Hours,Horas
How frequently?,¿Con qué frecuencia?
"How should this currency be formatted? If not set, will use system defaults","¿Cómo debe ser formateada esta moneda? Si no se define, se usará valores predeterminados del sistema"
How to upload,Cómo subir
Hrvatski,Hrvatski
Human Resources,Recursos Humanos
Human Resources Home,Recursos Humanos Home
Hurray! The day(s) on which you are applying for leave \					coincide with holiday(s). You need not apply for leave.,¡Hurra! El día (s) en el cual usted está solicitando para salir \ coincidir con día de fiesta (s). No es necesario solicitar permiso.
I,Yo
ID (name) of the entity whose property is to be set,Identificación (nombre) de la entidad cuya propiedad se va a establecer
IDT,IDT
IGHelp,IGHelp
II,II
III,III
IN,EN
INV,INV
INV/10-11/,INV/10-11 /
IV,IV
Icon,Icono
Icon will appear on the button,Aparecerá el icono en el botón
Id of the profile will be the email.,Id del perfil será el correo electrónico.
Identification of the package for the delivery (for print),Identificación del paquete para la entrega (para la impresión)
If Monthly Budget Exceeded,Si ha superado el presupuesto mensual
"If Sale BOM is defined, the actual BOM of the Pack is displayed as table.Available in Delivery Note and Sales Order","Si BOM venta está definida, la lista de materiales real del paquete se muestra como table.Available en la nota de entrega y de órdenes de venta"
"If Supplier Part Number exists for given Item, it gets stored here","Si Número de pieza del proveedor existente para el punto dado, se almacena aquí"
If Yearly Budget Exceeded,Si el presupuesto anual ha superado el
"If a User does not have access at Level 0, then higher levels are meaningless","Si un usuario no tiene acceso en el nivel 0, los niveles más altos no tienen sentido"
"If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.","Si se selecciona, la lista de materiales para los elementos de sub-ensamble serán considerados para obtener materias primas. De lo contrario, todos los elementos de montaje sub-será tratada como una materia prima."
"If checked, all other workflows become inactive.","Si se selecciona, todos los flujos de trabajo pasan a ser inactivos."
"If checked, the Home page will be the default Item Group for the website.","Si se selecciona, la página de inicio será el grupo de elementos predeterminado para el sitio web."
"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 se ha incluido en la tarifa de impresión / Cantidad Imprimir"
"If image is selected, color will be ignored (attach first)","Si se selecciona una imagen, el color será ignorado (adjunte primero)"
If more than one package of the same type (for print),Si más de un paquete del mismo tipo (por impresión)
If non standard port (e.g. 587),Si no puerto estándar (por ejemplo 587)
If not applicable please enter: NA,Si no aplica 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á activada, la lista tendrá que ser añadido a cada Departamento donde se ha de aplicar."
"If not, create a","Si no, crea una"
"If set, data entry is only allowed for specified users. Else, entry is allowed for all users with requisite permissions.","Si se establece, la entrada de datos sólo se permite a los usuarios especificados. Si no, se permite la entrada a todos los usuarios con los permisos necesarios."
"If specified, send the newsletter using this email address","Si se especifica, enviar el boletín utilizando la siguiente dirección de correo electrónico"
"If the 'territory' Link Field exists, it will give you an option to select it","Si el campo de &#39;territorio&#39; Link existe, se le dará la opción de seleccionar"
"If the account is frozen, entries are allowed for the ""Account Manager"" only.","Si la cuenta está congelada, las entradas se permitió el &quot;Administrador de cuentas&quot; solamente."
"If this Account represents a Customer, Supplier or Employee, set it here.","Si esta cuenta representa un cliente, proveedor o empleado, se establece aquí."
If you follow Quality Inspection<br>Enables item QA Required and QA No in Purchase Receipt,Si usted sigue Inspección de Calidad <br> Permite elemento de control de calidad y garantía de la calidad requerida 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 tiene equipo de ventas y socios de venta (Channel Partners) 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 una plantilla estándar en los impuestos de compra y Master cargos, 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 en el Impuesto de Ventas y Master cargos, 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 hace mucho tiempo imprimir formatos, esta característica se puede utilizar 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<br>Enables item <b>Is Manufactured</b>,Si hace que la actividad manufacturera <br> Permite elemento <b>se fabrica</b>
Ignore,Pasar por alto
Image,Imagen
Image View,Ver imagen
Image for listing (Width: 100px) (Attach First),Imagen para el listado (Ancho: 100px) (Adjunte primero)
Image for listing (Width: 300px) (Attach First),Imagen para el listado (Ancho: 300px) (Adjunte primero)
Implementation Partner,Aplicación Socio
Import,Importar
Import Date Format ,Importar formato de fecha
Import Log,Importar sesión
Import Log1,Importar Registro1
Import data from spreadsheet (csv) files,Importar datos de hojas de cálculo (CSV)
Important dates and commitments in your project life cycle,Fechas importantes y compromisos en el ciclo de vida del proyecto
Imports,Importaciones
In Dialog,En diálogo
In Filter,En Filter
In List View,En Vista de lista
In Process,En proceso
In Report Filter,En Filtro de informe
In Store,En las tiendas
In Words,En las palabras
In Words (Export),En las palabras (Exportación)
In Words (Export) will be visible once you save the Delivery Note.,En las palabras (Export) será visible una vez que se guarda el albarán de entrega.
In Words (Import),En las palabras (Import)
In Words will be visible once you save the Delivery Note.,En palabras serán visibles una vez que se guarda el albarán 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 se guarda el pedido de cliente.
In Words(Import),En las palabras (Import)
In response to,En respuesta a
"In the Permission Manager, click on the button in the 'Condition' column for the Role you want to restrict.","En el Administrador de autorización, haga clic en el botón de la &quot;condición&quot; de columna para la función que desea restringir."
Inactive,Inactivo
Incentives,Incentivos
Incharge Name,InCharge Nombre
Income,Ingresos
Income Account,Cuenta de ingresos
Income Year to Date,Los ingresos año a la fecha
Incoming,Entrante
Incoming Mail Setting,Configuración de correo entrante
Incoming Rate,Tasa entrante
Incoming Time,Tiempo entrantes
Incoming quality inspection.,Inspección de calidad entrante.
Indent,Sangrar
Index,Índice
Indicates that the package is a part of this delivery,Indica que el paquete es una parte de esta entrega
Individual,Individual
Individuals,Las personas
Industry,Industria
Industry Type,Industria Tipo
Info,Info
Insert After,Insertar después
Insert Code,Insertar código
Insert Style,Inserte Estilo
Inspected By,Inspeccionado por
Inspection Criteria,Criterios de Inspección
Inspection Required,Inspección Requerida
Inspection Type,Tipo Inspección
Installation Date,Fecha de instalación
Installation Note,Instalación Nota
Installation Note Item,Instalación artículo Nota
Installation Status,Instalación de estado
Installation Time,Tiempo de instalación
Installation record for a Serial No.,Instalación récord para un número de serie
Installed Qty,Cantidad instalada
Institute / Conducted By,Instituto / Conducido por los
Instructions,Instrucciones
Int,Int
Interested,Interesado
Internal,Interno
Intro HTML,Intro HTML
Introduce your company to the website visitor.,Presente a su empresa para el visitante del sitio Web.
Introduction,Introducción
Introductory information for the Contact Us Page,Información introductoria para la página de contacto
Invalid Email Address,Correo electrónico no es válido
Inventory,Inventario
Inverse,Inverso
Invoice Date,Fecha de la factura
Invoice Details,Detalles de la factura
Invoice No,Factura n º
Invoice Period From Date,Período Factura Fecha desde
Invoice Period To Date,Período factura a fecha
Is Active,Es activo
Is Advance,Es anticipado
Is Asset Item,Es la partida del activo
Is Cancelled,Se cancela
Is Carry Forward,Es Arrastre
Is Child Table,Es tabla secundaria
Is Default,Es por defecto
Is Encash,Es convertirá en efectivo
Is LWP,Es LWP
Is Mandatory Field,Es campo obligatorio
Is Opening,Está Abriendo
Is PL Account,Es Cuenta PL
Is POS,Es el punto de venta
Is Primary Address,Es la dirección primaria
Is Primary Contact,Es el contacto principal
Is Purchase Item,Es objeto de compra
Is Sales Item,Es el punto de venta
Is Service Item,Es el elemento de servicio
Is Shipping Address,Es la dirección de envío
Is Single,Es el único
Is Standard,Es el estándar
Is Stock Item,Es el punto de
Is Sub Contracted Item,Es Artículo Sub Contratadas
Is Subcontracted,Se subcontrata
Is Submittable,Es Submittable
Is it a Custom DocType created by you?,Se trata de un tipo de documento personalizado creado por usted?
Is this Tax included in Basic Rate?,¿Es este impuesto incluido en la tarifa básica?
Issue,Cuestión
Issue Date,Fecha de emisión
Issue Details,Detalles del problema
Item,Artículo
Item Advanced,Artículo avanzada
Item Barcode,Punto de código de barras
Item Batch Nos,Nos Artículo lotes
Item Classification,Artículo clasificación
Item Code,Código del artículo
Item Customer Detail,Artículo Detalle Cliente
Item Description,Descripción del Artículo
Item Desription,Artículo Desription
Item Details,Datos del artículo
Item Group,Grupo de artículos
Item Group Name,Nombre del elemento de grupo
Item Groups in Details,Grupos de artículos en Detalles
Item Image (if not slideshow),Imagen del artículo (si no presentación de diapositivas)
Item Name,Nombre del elemento
Item Price,Artículo Precio
Item Prices,Precios de los artículos
Item Quality Inspection Parameter,Calidad Inspección Tema Parámetro
Item Reorder,Artículo reorden
Item Serial No,Artículo Número de orden
Item Serial Nos,Artículo números de serie
Item Supplier,Artículo Proveedor
Item Supplier Details,Elemento Detalles del Proveedor
Item Tax,Artículo Tributaria
Item Tax Amount,Artículo Cantidad Impuestos
Item Tax Rate,Artículo Tasa Impositiva
Item Tax1,Artículo Tax1
Item To Manufacture,Artículo para la fabricación de
Item UOM,Artículo UOM
Item Website Specification,Elemento Especificación web
Item Website Specifications,Elemento Especificaciones generales
Item Wise Tax Detail ,Elemento Detalle Tax Wise
Item classification.,Artículo clasificación.
Item to be manufactured or repacked,Este punto será fabricado o embalados de nuevo
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, 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 descabellada cuando se selecciona el número de serie."
Item-Wise Price List,Item-Wise Precio de lista
Item: ',Artículo: &quot;
Items,Artículos
"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty",Temas que han solicitado que son &quot;Out of Stock&quot; teniendo en cuenta todos los almacenes basados ​​en Cantidad proyectada Cantidad pedido mínimo y
Items which do not exist in Item master can also be entered on customer's request,Los productos que no existen en el Maestro de artículos también se pueden introducir en la petición del cliente
Itemwise Discount,Descuento Itemwise
JSON,JSON
JV,JV
Javascript,Javascript
Javascript to append to the head section of the page.,Javascript para anexar a la sección principal de la página.
Job Applicant,Solicitante de empleo
Job Opening,Job Opening
Job Profile,Job perfil
Job Title,Título del trabajo
"Job profile, qualifications required etc.","Perfil de trabajo, calificaciones requeridas, etc"
Jobs Email Settings,Trabajos Configuración del correo electrónico
Journal Entries,Entradas de diario
Journal Entry,Asientos de diario
Journal Voucher,Diario Voucher
Journal Voucher Detail,Diario Detalle Voucher
Journal Voucher Detail No,Diario Detalle de la hoja no
KRA,KRA
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Lleve un registro de las campañas de ventas. Lleve un registro de Leads, citas, etc órdenes de venta de las campañas para medir rendimiento de la inversión."
Keep a track of all communications,Mantenga un registro de todas las comunicaciones
Keep a track of communication related to this enquiry which will help for future reference.,Mantenga un registro de la comunicación relacionada con esta investigación que ayudará para referencia futura.
Keep a track on communications regarding this Quotation. This will help you remember earlier communications in case the Customer comes back again,Mantenga un registro de las comunicaciones relativas a esta cita. Esto le ayudará a recordar anteriores comunicaciones en caso de que el cliente se vuelve otra vez
Key,Clave
Key Performance Area,Área Clave de Performance
Key Responsibility Area,Área de Responsabilidad Key
Knowledge Base,Base de conocimientos
LEAD,PLOMO
LEAD/10-11/,LEAD/10-11 /
LEAD/MUMBAI/,LEAD / MUMBAI /
LR Date,LR Fecha
LR No,LR No
Label,Etiqueta
Label Help,Etiqueta Ayuda
Lacs,Lacs
Landed Cost Item,Landed Cost artículo
Landed Cost Items,Landed Cost Artículos
Landed Cost Purchase Receipt,Landed Cost recibo de compra
Landed Cost Purchase Receipts,Landed Cost recibos de compra
Landed Cost Wizard,Landed Cost Asistente
Landing Page,Landing Page
Language,Idioma
Language preference for user interface (only if available).,Preferencias del idioma para la interfaz de usuario (si está disponible).
Last Contact Date,Fecha del último contacto
Last IP,Última IP
Last Login,Último ingreso
Last Modified On,Last Modified On
Last Name,Apellido
Last Purchase Rate,Tarifa de Último
Last Update,Última actualización
Last Update By,Ultima actualización por
Latest Updates,Las últimas novedades
Lato,Lato
Lead,Conducir
Lead Details,Plomo Detalles
Lead Lost,El plomo Perdido
Lead Name,Plomo Nombre
Lead Owner,El plomo Propietario
Lead Ref,El plomo Ref
Lead Source,Plomo Fuente
Lead Status,Lead Estado
Lead Time Date,Plomo Fecha Hora
Lead Time Days,Plomo días Tiempo
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.,Lead Time día es el número de días en que se espera para este artículo en su almacén. Estos días se recupera en la solicitud de material cuando se selecciona este elemento.
Lead Type,Plomo Tipo
Leave Allocation,Deja Asignación
Leave Allocation Tool,Deja herramienta de asignación de
Leave Application,Deja aplicación
Leave Approver,Deja Aprobador
Leave Balance Before Application,Deja Saldo antes de la aplicación
Leave Block List,Deja lista de bloqueo
Leave Block List Allow,Deja Lista de bloqueo Permitir
Leave Block List Allowed,Deja Lista de bloqueo animales
Leave Block List Date,Deje Fecha Lista de bloqueo
Leave Block List Dates,Dejar las fechas de listas de bloqueo
Leave Block List Name,Deja Bloquear Nombre de lista
Leave Blocked,Deja Bloqueados
Leave Control Panel,Deja Panel de control
Leave Encashed?,Deja cobrado?
Leave Encashment Amount,Deja Cantidad Cobro
Leave Setup,Deja de configuración
Leave Type,Deja Tipo
Leave Type Name,Agregar Nombre Tipo
Leave Without Pay,Licencia sin sueldo
Leave allocations.,Deja asignaciones.
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 blank if considered for all grades,Dejar en blanco si se considera para todos los grados
Leave by,Deja por
"Leave can be approved by users with Role, ""Leave Approver""","Deje puede ser aprobado por los usuarios con rol, &quot;Deja Aprobador&quot;"
Ledger,Libro mayor
Left,Izquierda
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Entidad Legal / auxiliar con un gráfico separado de las cuentas pertenecientes a la Organización.
Letter Head,Carta Head
Letter Head Image,Carta de imagen Head
Letter Head Name,Carta Nombre Head
Letter heads for print,Cabezas de la letra para impresión
Level,Nivel
"Level 0 is for document level permissions, higher levels for field level permissions.","El nivel 0 es para los permisos de nivel de documento, mayores niveles de permisos a nivel de campo."
Lft,Lft
Link,Enlace
Link to other pages in the side bar and next section,Enlace a otras páginas en el bar de al lado y en la sección siguiente
Linked With,Vinculada con
List,Lista
List items that form the package.,Lista de tareas que forman el paquete.
"List of Item Groups to be shown in ""All Products"" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).",Lista de los grupos de artículos que se muestran en &quot;Todos los productos&quot; menú - en el orden deseado y con el número de guiones (espaciado izquierda para mostrar un efecto de árbol).
List of companies (not customers / suppliers),Lista de las empresas (no clientes / proveedores)
List of holidays.,Lista de los días festivos.
List of patches executed,Lista de parches ejecutados
List of records in which this document is linked,Lista de los registros en los que está vinculado este documento
List this Item in multiple groups on the website.,Enumero este artículo en varios grupos en la web.
Live Chat,Chat en Directo
Load Print View on opening of an existing form,Cargar Vista de Impresión en la apertura de un formulario existente
Loading,Carga
Loading Report,Carga Informe
Location,Ubicación
Log of Scheduler Errors,Log de errores del programador
Login After,Ingresa Después
Login Before,Inicio de sesión antes
Login Id,ID de Usuario
Login Page,La página de inicio
Logout,Cerrar sesión
Long Description,Descripción larga
Long Text,Texto largo
Lost Reason,Razón Perdido
Low,Bajo
Lower Income,Menores ingresos
Lucida Grande,Lucida Grande
MIS Control,MIS control
MREQ,MREQ
MTN Details,MTN Detalles
Mail Footer,Correo pie de página
Mail Password,Mail Contraseña
Mail Port,Mail Port
Mail Server,Servidor de correo
Main Reports,Informes Principales
Main Section,Sección principal
Maintain same rate throughout purchase cycle,Mantener el mismo ritmo durante todo el ciclo de compra
Maintenance,Mantenimiento
Maintenance Date,Mantenimiento Fecha
Maintenance Details,Detalles de Mantenimiento
Maintenance Schedule,Programa de mantenimiento
Maintenance Schedule Detail,Mantenimiento Detalle Horario
Maintenance Schedule Item,Mantenimiento elemento de programación
Maintenance Status,Mantenimiento de estado
Maintenance Time,Tiempo de mantenimiento
Maintenance Type,Mantenimiento Tipo
Maintenance Visit,Mantenimiento Visita
Maintenance Visit Purpose,Mantenimiento Propósito Visita
Major/Optional Subjects,Temas principales / Opcional
Make Bank Voucher,Hacer comprobante bancario
Make Credit Note,Hacer Nota de Crédito
Make Debit Note,Hacer Nota de Débito
Make Difference Entry,Hacer Entrada Diferencia
Make Excise Invoice,Hacer Factura Impuestos Especiales
Make Stock Entry,Hacer de la entrada
Make a new,Hacer una nueva
Make sure that the transactions you want to restrict have a Link field 'territory' that maps to a 'Territory' master.,Asegúrese de que las operaciones que desea restringir tener &quot;territorio&quot; un campo de enlace que se asigna a un &#39;territorio&#39; master.
Male,Masculino
Manage cost of operations,Gestione costo de las operaciones
Manage numbering series,Gestione la numeración de serie
Manage sales or purchase returns,Administrar las ventas o devoluciones de compras
Mandatory,Obligatorio
"Mandatory if Stock Item is ""Yes""",Punto Obligatorio de si es &quot;Sí&quot;
Manufacture against Sales Order,Fabricación contra pedido de cliente
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
Manufacturer,Fabricante
Manufacturer Part Number,Código de Fabricante
Manufacturing,Fabricación
Manufacturing Home,Fabricación Inicio
Manufacturing Quantity,Fabricación Cantidad
Map,Mapa
Margin,Margen
Marital Status,Estado civil
Markdown Reference,Markdown Referencia
Market Segment,Sector de mercado
Married,Casado
Mass Mailing,Mass Mailing
Master,Maestro
Master Name,Maestro Nombre
Master Type,Type Master
Masters,Masters
Mat Detail No,Mat Detalle Desierto
Match,Partido
Match Id,Coincidir ID
Match non-linked Invoices and Payments.,Coincidir no vinculados Facturas y Pagos.
Material Issue,Material de Emisión
Material Receipt,Recibo de Materiales
Material Request,Material de Solicitud
Material Request Date,Material de la Fecha de Solicitud
Material Request Detail No,Materiales Detalle Solicitud de No
Material Request For Warehouse,Material de Solicitud de Almacén
Material Request Item,Artículo Material Request
Material Request Items,Artículos de materiales Solicitar
Material Request No,Material de Solicitud de No
Material Request Type,Tipo de material Solicitud
Material Transfer,Transferencia de material
Materials,Materiales
Materials Required (Exploded),Materiales necesarios (despiece)
Materials Requirement Planning (MRP),Materiales planificación de necesidades (MRP)
Max Attachments,Max Adjuntos
Max Days Leave Allowed,Días máx Deja animales
Max Discount (%),Max Descuento (%)
Max. Limit,Max. Limitar
"Meaning of Submit, Cancel, Amend","Significado de Presentar, cancelación, rectificación"
Medium,Medio
Merge,Unir
Merge Warehouses,Combinar Almacenes
Merge With,Combinar con
Message,Mensaje
Message Parameter,Mensaje de Parámetros
Message greater than 160 character will be splitted into multiple mesage,Mensaje mayor de 160 caracteres se dividirá en múltiples mesage
Message when Cond. False,Mensaje cuando Cond. Falso
Messages,Mensajes
Method,Método
Middle Income,Ingreso Medio
Middle Name (Optional),Segundo Nombre (Opcional)
Milestone,Hito
Milestone Date,Milestone Fecha
Milestones,Hitos
Milestones will be added as Events in the Calendar,Los hitos se añadirá como Eventos en el Calendario
Millions,Millones
Min Order Qty,Min. Orden Cantidad
Minimum Order Qty,Cantidad mínima de pedido
Misc,Misc
Misc Details,Varios detalles
Miscellaneous,Misceláneo
Miscelleneous,Miscelleneous
Mobile No,Mobile No
Mobile No.,Móvil No.
Mode of Payment,Forma de Pago
Modified Amount,Monto de la modificación
Modified by,Modificado por
Module,Módulo
Module Def,Módulo Def
Module Name,Nombre del módulo
Modules,Módulos
Modules Setup,Módulos de configuración
Monday,Lunes
Month,Mes
Monthly,Mensual
Monthly salary statement.,Nómina mensual.
Monthly salary template.,Plantilla salario mensual.
More,Más
More Details,Más detalles
More Info,Más información
More content for the bottom of the page.,Más contenido para la parte inferior de la página.
Moving Average,Media móvil
Moving Average Rate,Tarifa media móvil
Mr,Sr.
Ms,Ms
Multi Ledger Report Detail,Múltiples Ledger Informe detallado
Multiple Item Prices,Los precios de varios artículos
Mupltiple Item prices.,Precios Mupltiple artículo.
My Company,Mi Empresa
My Settings,Mis Opciones
NL-,NL-
Name,Nombre
Name Case,Nombre del caso
Name as entered in Sales Partner master,Nombre tal como aparece en maestro socio de ventas
Name of organization from where lead has come,Nombre de la organización a partir de donde el plomo ha llegado
Name of person or organization that this address belongs to.,Nombre de la persona u organización que esta dirección pertenece.
Name of the Budget Distribution,Nombre de la distribución del presupuesto
Name of the entity who has requested for the Purchase Requisition,Nombre de la persona que ha solicitado para la solicitud de compra
Naming,Nombrar
Naming Series,Nombrar Series
Naming Series Options,Nombrar Opciones de serie
Negative balance is not allowed for account ,Saldo negativo no se permite para la cuenta
Net Pay,Salario neto
Net Pay (in words) will be visible once you save the Salary Slip.,Pago neto (en palabras) serán visibles una vez que guarde la nómina.
Net Total,Total neto
Net Total (Import),Total neta (Import)
Net Total*,* Total Neto
Net Weight,Peso neto
Net Weight UOM,UOM Peso neto
Net Weight of each Item,Peso neto de cada artículo
New,Nuevo
New BOM,Nueva lista de materiales
New Communications,Nueva Comunicaciones
New Delivery Notes,Nuevos Títulos de entrega
New Enquiries,Nueva Consultas
New Leads,New Leads
New Leave Application,Aplicación salir de Nueva
New Leaves Allocated,Nueva Hojas Asignado
New Leaves Allocated (In Days),Las hojas nuevas asignado (en días)
New Material Requests,Pide Nuevo Material
New Name,Nuevo nombre
New Password,Nueva contraseña
New Projects,Nuevos Proyectos
New Purchase Orders,Nuevas órdenes de compra
New Purchase Receipts,Nuevos recibos de compra
New Quotations,Las citas nuevas
New Record,Nuevo registro
New Sales Orders,Las órdenes de compra nuevo
New Stock Entries,Nuevas entradas de
New Stock UOM,Nueva UOM Stock
New Supplier Quotations,Citas new
New Support Tickets,Entradas Nuevas Apoyo
New Update,Nueva Actualización
New Workplace,Lugar de trabajo de Nueva
New value to be set,Nuevo valor para establecer
Newsletter,Hoja informativa
Newsletter Content,Boletín de noticias de contenido
Newsletter Status,Boletín Estado
Next Communcation On,Siguiente Comunicación sobre los
Next Contact By,Contacto Siguiente por
Next Contact Date,Fecha Siguiente Contactar
Next Date,Próxima fecha
Next State,Próximo estado
Next actions,Próximas acciones
Next email will be sent on:,Correo electrónico siguiente se enviará a:
No,No
No Action,Ninguna acción
No Communication tagged with this ,No hay comunicación etiquetado con este
No Copy,No hay copia
No Permission,Sin Permisos
No Permission to ,No tiene permiso para
No Permissions set for this criteria.,No hay permisos establecidos para este criterio.
No User Properties found.,No encontró Propiedades del usuario.
No of Requested SMS,N º de SMS solicitados
No of Sent SMS,N º de SMS enviados
No of Visits,N º de Visitas
No records tagged.,No hay registros marcados.
"No table is created for Single DocTypes, all values are stored in tabSingles as a tuple.","No se crean tablas para DocTypes individuales, todos los valores se almacenan en tabSingles como una tupla."
None: End of Workflow,Ninguno: Fin del flujo de trabajo
Not,No
Not Active,No está activo
Not Applicable,No aplicable
Not Billed,No Anunciado
Not Delivered,No entregado
Not Found,No se encuentra
Not Linked to any record.,No está vinculado a ningún registro.
Not Permitted,No se permite
Not allowed,No se permite
Not allowed for: ,No permitido:
Not enough permission to see links.,Sin permisos suficientes para ver los enlaces.
Not in Use,Sin usar
Not interested,No le interesa
Not linked,No vinculado
Note: Email will not be sent to disabled users,Nota: El correo electrónico no será enviado a los usuarios con discapacidad
Note: Other permission rules may also apply,Nota: El resto de normas de permiso también pueden solicitar
Note: You Can Manage Multiple Address or Contacts via Addresses & Contacts,Nota: Usted puede manejar varias direcciones o contactos a través de las direcciones y contactos
Note: maximum attachment size = 1mb,Nota: el tamaño máximo de archivo adjunto = 1mb
Notes,Notas
Nothing to show,Nada para mostrar
Notice - Number of Days,Aviso - Número de días
Notification Control,Notificación de control
Notification Email Address,Notificación de Correo Electrónico
Notify By Email,Notificaremos por correo electrónico
Notify by Email on Re-order,Notificar por correo electrónico en la Re-order
Number Format,Formato de los números
O+,O +
O-,O-
OPPT,OPPT
Ocean,Océano
Old Parent,Padres Antiguo
Old Style Reports,Informes Old Style
On,En
On Net Total,En total neto
On Previous Row Amount,El Monto de la fila anterior
On Previous Row Total,El total de la fila anterior
"Once you have set this, the users will only be able access documents with that property.","Una vez que haya establecido esto, los usuarios sólo serán documentos capaces de acceso con esa propiedad."
One or multiple Sales Order no which generated this Purchase Requisition,Una o ninguna múltiples órdenes de venta que generó esta solicitud de compra
Only Allow Edit For,Sólo Permitir editar para
Only System Manager can create / edit reports,Sólo el administrador del sistema puede crear / editar informes
Only leaf nodes are allowed in transaction,Sólo los nodos hoja se permite en una transacción realizada
Open,Abierto
Open Sans,Sans abiertas
Open Tickets,Entradas Abierto
Opening Date,Fecha apertura
Opening Time,Tiempo de apertura
Opening for a Job.,Apertura de un trabajo.
Operating Cost,Costo de operación
Operation Description,Descripción de la operación
Operation No,Operación No
Operation Time (mins),Tiempo de operación (minutos)
Operations,Operaciones
Operator,Operador
Opportunity,Oportunidad
Opportunity Date,Oportunidad Fecha
Opportunity From,De Oportunidad
Opportunity Item,Oportunidad artículo
Opportunity Items,Artículos Oportunidad
Opportunity Lost,Oportunidad Perdida
Opportunity No,No Opportunity
Opportunity Type,Oportunidad Tipo
Options,Opciones
Options Help,Opciones Ayuda
Order Confirmed,Pedido confirmado
Order Lost,Orden Perdido
Order Type,Tipo de orden
Ordered Items To Be Billed,Los artículos pedidos a facturar
Ordered Items To Be Delivered,Los artículos pedidos para ser entregados
Ordered Qty,Cantidad Pedido
Ordered Quantity,Cantidad ordenada
Orders released for production.,Los pedidos a producción.
Organization,Organización
Original Message,Mensaje original
Other,Otro
Other Details,Otros detalles
Other Income Detail,Detalle de otros ingresos
Out going mail server and support ticket mailbox,Dirigirse hacia el servidor de correo y buzón de ticket de soporte
Out of AMC,Fuera de AMC
Out of Warranty,Fuera de la Garantía
Outgoing,Saliente
Outgoing Mail Server,Servidor de correo saliente
Outgoing Mails,Los correos salientes
Outstanding Amount,Monto Pendiente
Outstanding cannot be less than zero. \				 	Please match exact outstanding.,"Pendiente no puede ser menor que cero. \ Por favor, destacado partido exacto."
Outstanding for Voucher ,Destaca por Bono
Over Heads,Sobre las cabezas de
Overhead,Gastos generales
Overload Query,Sobrecarga de consulta
Overwrite,Sobrescribir
Owned,Propiedad
P.O. Date,PO Fecha
P.O. No,PO No
PAN Number,Número PAN
PF No.,PF No.
PF Number,Número PF
PI/2011/,PI/2011 /
PIN,PIN
PO,Correos
PO Date,PO Fecha
PO No,PO No
POP3 Mail Server,Servidor de correo POP3
POP3 Mail Server (e.g. pop.gmail.com),POP3 Servidor de correo (por ejemplo pop.gmail.com)
POP3 Mail Settings,Configuración de correo POP3
POP3 mail server (e.g. pop.gmail.com),POP3 del servidor de correo (por ejemplo pop.gmail.com)
POP3 server e.g. (pop.gmail.com),"Por ejemplo, el servidor POP3 (pop.gmail.com)"
POS Setting,Configuración POS
PR Detail,PR Detalle
PRO,PRO
PS,PS
Package Item Details,Detalles del paquete del artículo
Package Items,Artículos del embalaje
Package Weight Details,Detalles del paquete Peso
Packed Quantity,Cantidad Embalado
Packing Details,Detalles del embalaje
Packing Detials,Detials embalaje
Packing List,Contenido del paquete
Packing Slip,Packing Slip
Packing Slip Item,Artículo Embalaje Slip
Packing Slip Items,Packing Slip Artículos
Page,Página
Page Break,Salto de página
Page HTML,Página HTML
Page Len,Página Len
Page Name,Nombre página
Page Role,Página Papel
Page content,Contenido de la página
Page not found,Página no encontrada
Page to show on the website,Página para mostrar en la página web
"Page url name (auto-generated) (add "".html"")",Nombre de la página URL (generada automáticamente) (añadir &quot;. Html&quot;)
Paid Amount,Cantidad pagada
Parameter,Parámetro
Parent Account,Parent Account
Parent BOM,Padres BOM
Parent Cost Center,Padres de centros de coste
Parent Customer Group,Padres Grupo de Clientes
Parent Detail docname,Padres VER MAS Extracto dentro detalle
Parent Doc Type,Padres Tipo Doc.
Parent Item,Artículo principal
Parent Item Group,Grupo de Padres del artículo
Parent Label,Padres Label
Parent Sales Person,Las ventas de Padres Persona
Parent Territory,Padres Territorio
Parenttype,ParentType
Partially Completed,Completada parcialmente
Participants,Los participantes
Particulars,Datos
Partly Billed,Mayormente Anunciado
Partly Delivered,Mayormente Entregado
Partner,Socio
Partner Target Detail,Socio Detalle Target
Partner Type,Tipo de Socio
Passport Number,Número de pasaporte
Password,Contraseña
Password Expires in (days),Password Expires in (días)
Patch,Parche
Patch Log,Patch sesión
Pay To / Recd From,Pagar a / A partir de RECD
Payables,Cuentas por pagar
Payables Group,Deudas Grupo
Payment Entries,Las entradas de pago
Payment Entry has been modified after you pulled it. 			Please pull it again.,"Registro de pagos ha sido modificado después de que lo tiró. Por favor, tire de él otra vez."
Payment Reconciliation,Pago Reconciliación
Payment Terms,Condiciones de pago
Payment days,Día de pago
Payment to Invoice Matching Tool,El pago a la herramienta Matching Factura
Payment to Invoice Matching Tool Detail,Pago al detalle de la factura Matching Tool
Payments,Pagos
Payroll Setup,Nómina de configuración
Pending,Pendiente
Pending Review,Pendientes de revisión
Percent,Por ciento
Percent Complete,Porcentaje completado
Percentage Allocation,Porcentaje de asignación
Percentage variation in quantity to be allowed while receiving or delivering this item.,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. <p>For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to receive 110 units</p>,"Porcentaje que están autorizados a recibir o entregar más en contra de la cantidad pedida. <p> Por ejemplo: Si usted ha pedido 100 unidades. y su asignación es 10%, entonces se le permite recibir 110 unidades </p>"
Performance appraisal.,Evaluación del desempeño.
Period Closing Voucher,Período de cierre Voucher
Periodicity,Periodicidad
Perm Level,Perm Nivel
Permanent Accommodation Type,Tipo de alojamiento permanente
Permanent Address,Domicilio
Permission Control,Permiso de Control
Permission Engine,Permiso de motor
Permission Level,Nivel de permiso
Permission Levels,Niveles de permisos
Permission Manager,Permiso Gerente
Permission Rules,Reglas de permiso
Permissions,Permisos
Permissions Settings,Configuración de permisos
Permissions are automatically translated to Standard Reports and Searches,Los permisos se traduce automáticamente a los informes estándar y Enlaces
"Permissions are set on Roles and Document Types (called DocTypes) by restricting read, edit, make new, submit, cancel, amend and report rights.","Los permisos se establecen en las funciones y tipos de documentos (llamados DocTypes) mediante la restricción de leer, editar, hacer nuevos, enviar, cancelar, modificar y comunicar los derechos."
Permissions at higher levels are 'Field Level' permissions. All Fields have a 'Permission Level' set against them and the rules defined at that permissions apply to the field. This is useful incase you want to hide or make certain field read-only.,Permisos en los niveles superiores son los permisos de &#39;Nivel de campo&#39;. Todos los campos tienen un conjunto de &quot;Nivel de permiso&quot; contra ellas y las reglas definidas en que los permisos se aplican al campo. Esto es útil en caso que usted desee ocultar o hacer determinado campo de sólo lectura.
"Permissions at level 0 are 'Document Level' permissions, i.e. they are primary for access to the document.","Los permisos son los permisos de nivel 0 &quot;nivel de documento&quot;, es decir, que son primarios para acceder al documento."
Permissions translate to Users based on what Role they are assigned,Permisos de traducir a los usuarios según el papel que se les asigna
Permissions will be based on this DocType,Permisos se basa en este tipo de documento
Person,Persona
Person To Be Contacted,Persona de contacto
Personal Details,Datos Personales
Personal Email,Correo electrónico personal
Phone,Teléfono
Phone No,No de teléfono
Phone No.,Número de Teléfono
Pick Columns,Elige Columnas
Pin Code,Pin Code
Pincode,Código PIN
Place of Issue,Lugar de Emisión
Plan for scheduled maintenance contracts.,Plan de contratos de mantenimiento programadas.
Planned Qty,Cantidad de Planificación
Planned Quantity,Cantidad planificada
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 adecuadamente, ya que se añadirá como sufijo a todos los Jefes de Cuenta."
Please check,"Por favor, compruebe"
Please click on another report from the menu.,"Por favor, haga clic en otro informe en el menú."
Please enter Bill Date,Por favor introduzca la fecha de facturación
Please enter valid ,"Por favor, introduzca válido"
Please save the Newsletter before sending.,"Por favor, guarde el boletín antes de enviarlo."
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,"Por favor, seleccione Arrastre de si también desea incluir saldo del ejercicio fiscal anterior deja a este año fiscal"
Please select: ,"Por favor, seleccione:"
Please specify Default Currency in Company Master \			and Global Defaults,"Por favor, especifique Moneda predeterminada en Master Compañía \ y predeterminados globales"
Please specify a valid,"Por favor, especifique una dirección válida"
Plot Control,Parcela de control
Point of Sale,Punto de Venta
Point-of-Sale Setting,Point-of-Sale Marco
Points,Puntos
Post Graduate,Postgrado
Post Topic,Publicar Tema
Posting Date,Fecha de Publicación
Posting Time,Hora de publicación
Potential Sales Deal,Ventas posible acuerdo
Potential opportunities for selling.,Oportunidades potenciales para la venta.
"Precision for Float fields (quantities, discounts, percentages etc) only for display. Floats will still be calculated up to 6 decimals.","Precisión de los campos de flotador (cantidades, descuentos, etc porcentajes) sólo para su visualización. Siempre queda aún se calcularán hasta 6 decimales."
Prefix,Prefijo
Present,Presente
Prevdoc DocType,Prevdoc DocType
Prevdoc Doctype,Prevdoc Doctype
Preview,Avance
Previous Work Experience,Experiencia laboral previa
Price,Precio
Price List,Precio de lista
Price List Currency,Precio de Lista Currency
Price List Currency Conversion Rate,Lista de precios de divisas Conversión de Tasa de
Price List Exchange Rate,Lista de precios Tipo de Cambio
Price List Master,Precio de Lista maestra
Price List Name,Nombre Precio de lista
Price List Rate,Precio Califica
Price List Rate*,Lista de precios * Evaluar
Price List and Currency,Lista de precios y de divisas
Price Lists and Rates,Listas de precios y tarifas
Primary,Primario
Print Format,Formato de impresión
Print Heading,Imprimir Encabezado
Print Hide,Imprimir Ocultar
Print Width,Ancho de impresión
Print Without Amount,Imprimir sin Importe
Priority,Prioridad
Private,Privado
Process,Proceso
Process Payroll,Proceso de Nómina
Produced Quantity,Cantidad producida
Product,Producto
Product Categories,Categorías de Productos
Product Category for website,Categoría de productos para el sitio web
Product Enquiry,Consulta de producto
Product Group,Grupo de productos
"Product Groups that are listed on the website. The first product group from this list will be listed by default on the ""Products Page""",Categoría de producto que aparecen en el sitio web. El grupo de primer producto de esta lista se enumeran de forma predeterminada en la &quot;Página de Productos&quot;
Product Settings,Configuración del producto
Production,Producción
Production Order,Orden de Producción
Production Plan Item,Producción del artículo Plan de
Production Plan Items,Elementos del Plan de Producción
Production Plan Sales Order,Plan de Ventas Orden de Producción
Production Plan Sales Orders,Fabricación Ventas pedidos Guía
Production Planning (MRP),Planificación de la producción (MRP)
Production Planning Tool,Production Planning Tool
Products Settings,Productos Settings
"Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.","Los productos serán ordenados por peso-edad en las búsquedas por defecto. Más del peso-edad, mayor es el producto aparecerá en la lista."
Profile,Perfil
Profile Control,Perfil de control
Profile Defaults,Predeterminados del perfil
Profile Represents a User in the system.,Representa un perfil de usuario en el sistema.
Program / Seminar Title,Programa / Seminario de Título
Project,Proyecto
Project Activity,Actividad del Proyecto
Project Activity Update,Actualización del Proyecto de Actividad
Project Control,Proyecto de Control
Project Costing,Cálculo del coste del proyecto
Project Details,Detalles del Proyecto
Project Milestone,Proyecto Hito
Project Milestones,Hitos del Proyecto
Project Name,Nombre del proyecto
Project Start Date,Fecha de Inicio del Proyecto
Project Tasks,Tareas del proyecto
Project Type,Tipo de Proyecto
Project Value,Proyecto Valor
Project activity / task.,Proyecto de actividad / tarea.
Project master.,Proyecto maestro.
Project will get saved and will be searchable with project name given,Proyecto se salvan y se podrán realizar búsquedas con el nombre de proyecto dado
Projected Qty,Cantidad proyectada
Projects,Proyectos
Projects Home,Home Proyectos
Prompt email sending to customers and suppliers,Solicitar el envío de correo electrónico a clientes y proveedores
Prompt for Email on Submission of,Preguntar por correo electrónico en la presentación de
Properties,Propiedades
Property,Propiedad
Property Setter,Propiedad Setter
Property Setter overrides a standard DocType or Field property,"Setter propiedad, se reemplaza una propiedad estándar de tipo de documento o Campo"
Property Type,Tipo de Inmueble
Provide email id registered in company,Proporcionar ID de correo electrónico registrada en la compañía
Public,Público
Published,Publicado
Pull Emails from the Inbox and attach them as Communication records (for known contacts).,Tire de la bandeja de entrada de mensajes de correo electrónico que se adjuntarán como documentos de comunicación (para contactos conocidos).
Pull Opportunity Detail,Tire Detalle de Oportunidades
Pull Payment Entries,Tire de las entradas de pago
Pull Purchase Order Details,Tire Detalles de órdenes de compra
Pull Quotation Items,Tire Artículos Presupuesto
Pull Sales Order Items,Tire de artículos de órdenes de venta
Pull items from Sales Order mentioned in the above table.,Tire de los artículos en órdenes de venta mencionados en el cuadro anterior.
Pull sales orders (pending to deliver) based on the above criteria,Tire de órdenes de venta (pendiente de entregar) sobre la base de los criterios anteriores
Pur Order,Pur Orden
Pur Receipt,Pur Recibo
Purchase,Comprar
Purchase Analytics,Compra Analytics
Purchase Common,Compra Común
Purchase Date,Fecha de compra
Purchase Details,Detalles compra
Purchase Discounts,Descuentos de Compra
Purchase Document No,Compra documento n
Purchase Document Type,Compra Tipo de documento
Purchase Invoice,Compra de facturas
Purchase Invoice Advance,Compra Anticipada Factura
Purchase Invoice Advances,Compra Anticipos de facturas
Purchase Invoice Item,Compra del artículo Factura
Purchase Order,Orden de Compra
Purchase Order Date,Fecha de compra del pedido
Purchase Order Item,Compra Artículo de Orden
Purchase Order Item No,Compra de artículo de orden
Purchase Order Item Supplied,Posición de pedido suministrado
Purchase Order Items,Comprar Items
Purchase Order Items Supplied,Los productos que suministra la Orden de Compra
Purchase Order Items To Be Received,Artículos de órdenes de compra que se reciban
Purchase Order Message,Compra Mensaje Orden
Purchase Order Required,Orden de Compra Requerido
Purchase Order sent by customer,Orden de compra enviada por el cliente
Purchase Orders given to Suppliers.,Compra órdenes dadas a los proveedores.
Purchase Receipt,Recibo de compra
Purchase Receipt Item,Compra Artículo Receipt
Purchase Receipt Item Supplied,Artículo recibo de compra suministra
Purchase Receipt Item Supplieds,Compra Supplieds recibo del artículo
Purchase Receipt Items,Comprar artículos de recibos
Purchase Receipt Message,Compra mensaje recibido
Purchase Receipt No,No recibo de compra
Purchase Receipt Required,Se requiere recibo de compra
Purchase Return,Comprar Volver
Purchase Returned,Compra Devuelto
Purchase Returns,Devoluciones de compras
Purchase Taxes and Charges,Impuestos y Cargos de compra
Purchase Taxes and Charges Master,Impuestos sobre las compras y Master Cargos
Purpose,Propósito
Purpose must be one of ,Propósito debe ser uno de
QA Inspection,QA Inspección
QA No,No QA
QAI/11-12/,QAI/11-12 /
QTN,QTN
Qty,Cantidad
Qty Consumed Per Unit,Cantidad consumida por unidad
Qty To Manufacture,Cantidad para la fabricación de
Qty as per Stock UOM,Cantidad de la UOM como por
Qualification,Calificación
Quality,Calidad
Quality Inspection,Inspección de Calidad
Quality Inspection Parameters,Parámetros de Calidad Inspección
Quality Inspection Reading,Lectura de Inspección de Calidad
Quality Inspection Readings,Lecturas Inspección de calidad
Quantity,Cantidad
Quantity Requested for Purchase,Cantidad de la petición de compra
Quantity already manufactured,Cantidad ya fabricado
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Cantidad de material obtenido después de la fabricación / reempaque de determinadas cantidades de materias primas
Quantity should be equal to Manufacturing Quantity. ,Cantidad debería ser igual a la cantidad de fabricación.
Quarter,Trimestre
Quarterly,Trimestral
Query,Pregunta
Query Options,Opciones de consulta
Query Report,Consulta de informe
Question,Cuestión
Quick Help for Setting Permissions,Ayuda rápida para Establecer permisos
Quick Help for User Properties,Ayuda rápida para las propiedades del usuario
Quotation,Cita
Quotation Date,Cotización Fecha
Quotation Item,Cotización del artículo
Quotation Items,Artículos de Cotización
Quotation Lost Reason,Cita Perdida Razón
Quotation Message,Cita Mensaje
Quotation No,Cotización No
Quotation No.,Cotización No.
Quotation Sent,Presupuesto enviado
Quotation To,PRESUPUESTO a
Quotation no against which this Sales Order is made ,Cotización no contra el que se hizo este pedido de ventas
Quotes to Leads or Customers.,Cotizaciones a clientes potenciales o clientes.
Raise Exception,Levante Excepción
Raise Material Request,Levante solicitar material
Raise Material Request when stock reaches re-order level,Levante solicitar material cuando el stock llega a re-ordenar nivel
Raise Production Order,Levante orden de producción
Raised By,Raised By
Raised By (Email),Raised By (correo electrónico)
Random,Azar
Range,Alcance
Rate,Velocidad
Rate ,Velocidad
Rate Of Materials Based On,Tasa de materiales basados ​​en
Rate at which Customer Currency is converted to customer's base currency,Grado en el que 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,Velocidad a la que se convierte la moneda Lista de precios a la moneda base de la compañía de
Rate at which Price list currency is converted to customer's base currency,Velocidad a la que se convierte la moneda Lista de precios a la moneda base del cliente
Rate at which customer's currency is converted to company's base currency,Grado en el que la moneda del cliente se convierten a la moneda base de la compañía de
Rate at which supplier's currency is converted to company's base currency,Velocidad a la que se convierte la moneda del proveedor a la moneda base empresa
Rate at which this tax is applied,Velocidad a la que se aplica este impuesto
Rate*,* Evaluar
Raw Material Details,Detalles de materias primas
Raw Material Item Code,Materia Prima Código del artículo
Raw Materials Supplied Cost,Materias primas suministradas Costo
Re-Calculate Values,Vuelva a calcular los valores
Re-Order Level,Re-Order Nivel
Re-Order Qty,Re-Order Cantidad
Re-order,Reordenar
Re-order Level,Reordenar Nivel
Re-order Qty,Reordenar Cantidad
Read,Leer
Read Only,Solo lectura
Reading 1,Lectura 1
Reading 10,Reading 10
Reading 2,Lectura 2
Reading 3,Lectura 3
Reading 4,Reading 4
Reading 5,Reading 5
Reading 6,Lectura 6
Reading 7,Lectura 7
Reading 8,Lectura 8
Reading 9,Lectura 9
Reason,Razón
Reason for Leaving,Razón por la que dejó
Reason for Resignation,Motivo de la renuncia
Recalculate,Recalcular
Recd Quantity,Cantidad RECD
Receivables,Cuentas por cobrar
Receivables Group,Deudores Grupo
Received Date,Fecha de recepción
Received Qty,Cantidad recibida
Receiver List,Receptor Lista
Receiver Name,Nombre del receptor
Receiver Parameter,Receptor de parámetros
Recent,Reciente
Recipient,Beneficiario
Recipients,Destinatarios
Reconciliation Data,Reconciliación de Datos
Reconciliation HTML,Reconciliación HTML
Reconciliation JSON,Reconciliación JSON
Recurring Id,Id recurrente
Recurring Invoice,Factura Recurrente
Recurring Type,Tipo recurrente
Ref Code,Ref. Código
Ref Doc should be submitted?,Ref. Doc. debe presentar?
Ref DocType,Ref DocType
Ref Name,Ref. Nombre
Ref Rate,Precio ref
Ref Rate ,Precio ref
Ref Rate*,Ref * Tarifa
Ref SQ,Ref SQ
Ref Type,Tipo de referencia
Reference,Referencia
Reference Date,Fecha de referencia
Reference DocType Key,Referencia DocType Key
Reference Docname Key,Referencia DocNombre Key
Reference Name,Referencia Nombre
Reference Number,Referencia
Reference Type,Tipo de referencia
Refresh,Refrescar
Registration Details,Detalles de registro
Registration Info,Registro de Información
Reject HTML,Rechazar HTML
Rejected,Rechazado
Rejected Quantity,Cantidad Rechazada
Rejected Serial No,No Rechazado serie
Rejected Warehouse,Almacén Rechazado
Related Page,Página Relacionada
Relation,Relación
Relieving Date,Aliviar Fecha
Remark,Observación
Remarks,Observaciones
Remove,Quitar
Remove Bookmark,Retire Bookmark
Rename,Rebautizar
Rename Tool,Cambiar el nombre de la herramienta
Rented,Alquilado
Repeat on Day of Month,Repita el Día del Mes
Replace,Reemplazar
Replace Item / BOM in all BOMs,Reemplazar elemento / BOM en todas las listas de materiales
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM","Reemplazar un BOM particular en todas las listas de materiales de otros en los que se utiliza. Se sustituirá el enlace BOM viejo, actualizar el costo y regenerar &quot;Explosión lista de materiales Item&quot; tabla según nueva lista de materiales"
Replied,Respondidos
Report,Informe
Report Date,Fecha del informe
Report Hide,Informe Ocultar
Report Name,Nombre del informe
Report Saved,Informe guardado
Report Script,Reporte de secuencia de comandos
Report Server Script,Informe script del servidor
Report was not saved (there were errors),Informe no se guardó (hubo errores)
Reports,Informes
Reports to,Informes al
Represents the states allowed in one document and role assigned to change the state.,Representa los estados permitidos en un documento y el papel asignado a cambiar el estado.
Reqd,Reqd
Reqd By Date,Reqd Por Fecha
Request Type,Tipo de solicitud
Request for Information,Solicitud de Información
Request for purchase.,Solicitud de compra.
Requested By,Solicitado por
Required By,Requerido por la
Required Date,Fecha requerida
Required Qty,Cantidad necesaria
Required only for sample item.,Se requiere sólo para el tema de la muestra.
Required raw materials issued to the supplier for producing a sub - contracted item.,Requeridos materias primas emitidas al proveedor para producir un sub - ítem contratado.
Reseller,Revendedores
Reserved Quantity,Cantidad reservada
Reserved Warehouse,Reservado Almacén
Resignation Letter Date,Renuncia Fecha Carta
Resolution,Resolución
Resolution Date,Resolución Fecha
Resolution Details,Detalles de la resolución
Resolved By,Resuelto por
Restrict IP,Restringir IP
Restrict submission rights based on amount,Restringir el derecho de presentación basado en la cantidad
Restrict user from this IP address only. Multiple IP addresses can be added by separating with commas. Also accepts partial IP addresses like (111.111.111),Restringir el usuario desde esta dirección IP. Varias direcciones IP se pueden agregar al separar con comas. También acepta parciales direcciones IP similares (111.111.111)
Restricting By User,Restricción por usuario
Retailer,Detallista
Return Date,Fecha de regreso
Return Type,Devuelto
Returned Qty,Cantidad devuelta
Review Date,Fecha de revisión
Rgt,Rgt
Right,Derecho
Role,Papel
Role Name,Rol Nombre
Roles,Roles
Roles Assigned,Roles asignados
Roles Assigned To User,Los roles asignados al usuario
Roles HTML,Roles HTML
Rounded Total,Total redondeado
Rounded Total (Export),Total redondeado (Exportación)
Row,Fila
Row #,Fila #
Row # ,Fila #
Rule Definition,Definición de regla
Rule Name,Nombre de la regla
Rule Priority,Regla de prioridad
Rule Status,Regla Estado
Rules defining transition of state in the workflow.,Reglas que definen la transición de estado del flujo de trabajo.
"Rules for how states are transitions, like next state and which role is allowed to change state etc.","Normas de cómo los estados son las transiciones, al igual que el siguiente estado y qué papel se le permite cambiar de estado, etc"
Run,Ejecutar
SLE Exists,LES existe
SMS,SMS
SMS Center,Centro SMS
SMS Control,SMS Control
SMS Gateway URL,SMS URL de puerta de enlace
SMS Log,SMS Log
SMS Parameter,Parámetro SMS
SMS Parameters,Parámetros SMS
SMS Receiver,SMS Receiver
SMS Sender Name,SMS Sender Name
SMS Settings,Configuración de SMS
SMTP Server (e.g. smtp.gmail.com),"Servidor SMTP (smtp.gmail.com, por ejemplo)"
SO,SO
SO Date,Fecha de SO
SO Detail ,Detalle del SO
SO Pending Qty,SO Cantidad Pendiente
SO/10-11/,SO/10-11 /
SO1112,SO1112
SQTN,SQTN
STE,STE
SUP,SUP
SUPP,SUPP
SUPP/10-11/,SUPP/10-11 /
Salary,Salario
Salary Information,Salario Información
Salary Manager,Manager Salarios
Salary Mode,Salario Mode
Salary Slip,Salario Slip
Salary Slip Deduction,Salario Deducción Slip
Salary Slip Earning,Nómina Ganar
Salary Structure,Estructura salarial
Salary Structure Deduction,Salario Deducción Estructura
Salary Structure Earning,Estructura salarial ganar
Salary Structure Earnings,Ganancias Estructura salarial
Salary components.,Componentes salariales.
Sales,Venta
Sales Analytics,Sales Analytics
Sales BOM,Ventas BOM
Sales BOM Help,Ayuda Venta BOM
Sales BOM Item,Ventas de artículo de lista de materiales
Sales BOM Items,Los productos que la lista de materiales de ventas
Sales Browser,Ventas Browser
Sales Browser Control,Ventas control de explorador
Sales Common,Sales comunes
Sales Dashboard,Sales Dashboard
Sales Details,Ventas Details
Sales Discounts,Ventas Descuentos
Sales Email Settings,Ventas Configuración del correo electrónico
Sales Extras,Ventas Extras
Sales Invoice,Factura de venta
Sales Invoice Advance,Venta anticipada de facturas
Sales Invoice Item,Ventas artículo Factura
Sales Invoice Message,Ventas Mensaje Factura
Sales Invoice No,Ventas factura n º
Sales Order,De órdenes de venta
Sales Order Date,Fecha de pedido de ventas
Sales Order Item,Sales Artículo de Orden
Sales Order Items,Ventas Items
Sales Order Message,Ventas Mensaje Orden
Sales Order No,Ventas de orden
Sales Order Required,Se requiere de órdenes de venta
Sales Orders Pending To Be Delivered,Órdenes de venta pendientes de entrega
Sales Orders Pending to be Delivered,Órdenes de venta pendientes de entrega
Sales Partner,Sales Partner
Sales Partner Details,Ventas Detalle interlocutor
Sales Partner Name,Denominación de venta Socio
Sales Partner Target,Sales Target Socio
Sales Person,Sales Person
Sales Person Name,Nombre de la persona de ventas
Sales Person Targets,Objetivos de ventas Persona
Sales Rate,Ventas Precio
Sales Return,Ventas Retorno
Sales Returns,Devoluciones de ventas
Sales Taxes and Charges,Ventas Impuestos y Cargos
Sales Taxes and Charges Master,Impuestos de Ventas y Master Cargos
Sales Team,Equipo de ventas
Sales Team Details,Detalles del Equipo de Ventas
Sales Team1,Ventas Team1
Sales and Purchase,Ventas y Compras
Sales and Purchase Return Item,Venta y Compra de artículo de vuelta
Sales and Purchase Return Items,Ventas y comprar artículos de Retorno
Sales and Purchase Return Tool,Herramienta de ventas y devolución de compra
Sales campaigns,Ventas campañas
Sales persons and targets,Venta personas y las metas
Sales taxes template.,Ventas impuestos plantilla.
Sales territories.,Ventas territorios.
Salutation,Saludo
Sample Size,Tamaño de la muestra
Sanctioned Amount,Importe sancionado
Sandbox,Arenero
Saturday,Sábado
Save,Ahorrar
Schedule,Programar
Scheduled,Programado
Scheduled Confirmation Date,Confirmación Fecha programada
Scheduled Date,Fecha Programada
Scheduler Log,Programador de sesión
School/University,Escuela / Universidad
Score (0-5),Puntuación (0-5)
Score Earned,Puntos Ganados
Scrap %,Chatarra%
Script,Guión
Script Type,Tipo de secuencia
Script to attach to all web pages.,Script para unir a todas las páginas web.
Search,Buscar
Search Criteria,Criterios de Búsqueda
Search Fields,Campos de búsqueda
Search Help,Búsqueda Ayuda
Seasonality for setting budgets.,La estacionalidad para el establecimiento de los presupuestos.
Section Break,Salto de sección
Security Settings,Configuración de seguridad
Segment Name,Segmento Nombre
Select,Seleccionar
"Select ""Yes"" for sub - contracting items",Seleccione &quot;Sí&quot; para sub - temas de contratación
"Select ""Yes"" if this item is to be sent to a customer or received from a supplier as a sample. Delivery notes and Purchase Receipts will update stock levels but there will be no invoice against this item.","Seleccione &quot;Sí&quot; si este artículo se va a enviar a un cliente o recibido de un proveedor como muestra. Albaranes y facturas de compra se actualizarán los niveles de existencias, pero no habrá ninguna factura en contra de este artículo."
"Select ""Yes"" if this item is used for some internal purpose in your company.",Seleccione &quot;Sí&quot; si este elemento se utiliza para un propósito interno de su empresa.
"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Seleccione &quot;Sí&quot; si esta partida representa un trabajo como la formación, el diseño, consultoría, etc"
"Select ""Yes"" if you are maintaining stock of this item in your Inventory.",Seleccione &quot;Sí&quot; 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 &quot;Sí&quot; si usted suministra materias primas a su proveedor para la fabricación de este artículo.
Select All,Seleccionar todo
Select Attachments,Seleccione Adjuntos
Select Budget Distribution to unevenly distribute targets across months.,Seleccione Distribución del Presupuesto para distribuir de manera desigual a través de objetivos meses.
"Select Budget Distribution, if you want to track based on seasonality.","Seleccione Distribución del Presupuesto, si desea realizar un seguimiento sobre la base de la estacionalidad."
Select Customer,Seleccione Cliente
Select Digest Content,Seleccione Contenido Resumen
Select DocType,Seleccione tipo de documento
Select Document Type,Seleccione el tipo de documento
Select Document Type or Role to start.,Seleccione el tipo de documento o papel para comenzar.
Select Form,Seleccione la Forma
Select Items from Delivery Note,Seleccionar elementos de la nota de entrega
Select Items from Purchase Order,Seleccionar elementos de orden de compra
Select Items from Purchase Receipt,Seleccionar elementos de recibo de compra
Select Items from Sales Order,Seleccionar elementos de órdenes de venta
Select Material Request,Seleccione Solicitud de material
Select PR,Seleccione PR
Select Price List for the web. Leave blank to hide price.,Seleccione Lista de precios para la web. Dejar en blanco para esconder precio.
Select Print Format,Seleccione Formato de impresión
Select Print Heading,Seleccione Imprimir Encabezado
Select Report Name,Seleccione Nombre de informe
Select Role,Seleccione Papel
Select Sales Orders,Seleccione órdenes de venta
Select Sales Orders from which you want to create Production Orders.,Seleccione órdenes de venta desde el que desea crear órdenes de producción.
Select Shipping Address,Seleccione dirección de envío
Select Supplier Quotation,Seleccione Cita Proveedor
Select Terms and Conditions,Seleccione Términos y Condiciones
Select Transaction,Seleccione Transaction
Select Type,Seleccione el tipo de
Select User or Property to start.,Seleccionar usuario o propiedad para comenzar.
Select account head of the bank where cheque was deposited.,Seleccione cabeza cuenta del banco donde cheque fue depositado.
Select company name first.,Seleccione el nombre de la empresa en primer lugar.
Select dates to create a new ,Selecciona fechas para crear un nuevo
Select name of Customer to whom project belongs,Seleccione el nombre del cliente al que pertenece proyecto
Select or drag across dates to create a new event.,Seleccione o arrastre las fechas para crear un nuevo evento.
"Select shipping warehouse to show ""In Stock"" or ""Out of Stock"". To hide, leave blank","Seleccione almacén de expedición para mostrar &quot;En Stock&quot; o &quot;Out of Stock&quot;. Para ocultar, dejar en blanco"
Select template from which you want to get the Goals,Seleccione la plantilla de la que desea obtener los Objetivos de
Select the Employee for whom you are creating the Appraisal.,Seleccione el empleado para el que está creando la tasación.
Select the currency in which price list is maintained,Seleccione la moneda en la que se mantiene la lista de precios
Select the label after which you want to insert new field.,Seleccione la etiqueta después de la cual desea insertar el campo nuevo.
Select the period when the invoice will be generated automatically,Seleccione el período en que la factura se generará automáticamente
"Select the price list as entered in ""Price List"" master. This will pull the reference rates of items against this price list as specified in ""Item"" master.",Seleccione la lista de precios según la inscripción en la &quot;Lista de Precios&quot; maestro. Esto hará que los tipos de referencia de artículos en contra de esta lista de precios como se especifica en el &quot;Item&quot; maestro.
Select the relevant company name if you have multiple companies,"Seleccione el nombre de la empresa correspondiente, si usted tiene múltiples empresas"
Select the relevant company name if you have multiple companies.,"Seleccione el nombre de la empresa correspondiente, si usted tiene múltiples empresas."
Select who you want to send this newsletter to,Seleccione a quien desea enviar este boletín a
Selected Attendance date will comes in the attendance template.,Asistencia fecha seleccionada se presenta en la plantilla de la asistencia.
"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","Si selecciona &quot;Sí&quot; permitirá que este elemento aparezca en la orden de compra, recibo de compra."
"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","Si selecciona &quot;Sí&quot; permitirá a este artículo a figurar 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.",Si selecciona &quot;Sí&quot; le permitirá crear listas de materiales que muestra la materia prima y los costos operativos incurridos para la fabricación de este artículo.
"Selecting ""Yes"" will allow you to make a Production Order for this item.",Si selecciona &quot;Sí&quot; le permitirá hacer una orden de producción para este artículo.
"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.",Si selecciona &quot;Sí&quot; le dará una identidad única a cada entidad de este artículo que se puede ver en la serie No maestro.
Selling,De venta
Selling Home,Venta de la casa
Send,Enviar
Send Autoreply,Enviar respuesta automática
Send Email,Enviar correo
Send From,Enviar desde
Send Invite Email,Enviar invitación Email
Send Me A Copy,Enviarme una copia
"Send Newsletters to your contacts, leads.","Enviar boletines a sus contactos, clientes potenciales."
Send SMS,Enviar SMS
Send To,Enviar a un
Send To Type,Enviar a un tipo
"Send an email to users of role ""Material Manager"" and ""Purchase Manager"" when re-order level is crossed.",Enviar un correo electrónico a los usuarios de &quot;Administrador de Material&quot; papel y &quot;Administrador de compra&quot; cuando re-ordenar nivel se cruza.
Send automatic emails to Contacts on Submitting transactions.,Enviar correos electrónicos automáticos en Contactos de Envío de transacciones.
"Send bulk SMS to leads, customers, contacts","Envíe SMS a granel a clientes potenciales, clientes, contactos"
Send mass SMS to your contacts,Envíe SMS masivos a sus contactos
Send regular summary reports via Email.,Enviar informes resumidos periódicos por correo electrónico.
Send to this list,Enviar a esta lista
Sender,Remitente
Sender Name,Nombre del remitente
"Sending newsletters is not allowed for Trial users, \				to prevent abuse of this feature.","Envío de boletines no se permite a los usuarios de prueba, \ para evitar el abuso de esta función."
Sent Mail,Correo enviado
Sent On,Enviado en
Sent Quotation,Presupuesto enviado
Separate production order will be created for each finished good item.,Para la producción por separado se crea para cada ítem buen acabado.
Serial No,Número de orden
Serial No Details,Detalles N º de serie
Serial No Service Contract Expiry,Número de orden de servicio de caducidad del contrato
Serial No Status,Serial No Estado
Serial No Warranty Expiry,Número de serie Garantía de caducidad
Serialized Item: ',Artículo serializado: &#39;
Series,Serie
Series Detail,Serie Detalle
Series List for this Transaction,Series de lista para esta transacción
Series Options,Opciones de serie
Server,Servidor
Server Script,Servidor de secuencias de comandos
Service Address,Dirección del Servicio
Service Person,Servicio Person
Session Expired. Logging you out,Sesión ha finalizado. Iniciando a cabo
Session Expires in (time),Sesión caduca en (hora)
Session Expiry,Sesión de caducidad
Session Expiry in Hours e.g. 06:00,"Sesión de caducidad en horas, por ejemplo 06:00"
Set From Image,Set De Imagen
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Conjunto de objetos inteligentes Group-presupuestos en este Territorio. También puede incluir la estacionalidad mediante el establecimiento de la distribución.
Set Login and Password if authentication is required.,"Establecer inicio de sesión y contraseña, si se requiere autenticación."
Set New Password,Establecer nueva contraseña
Set Value,Establecer valor
"Set a new password and ""Save""",Establezca una contraseña nueva y &quot;Guardar&quot;
Set default values for entry,Establecer valores por defecto para la entrada
Set default values for users (also used for permissions).,Establecer valores predeterminados para los usuarios (también se usa para los permisos).
Set multiple numbering series for transactions,Establecer varias series de numeración para las transacciones
Set permissions on transactions / masters,Establecer permisos en las transacciones / maestros
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 metas grupo que tienen el artículo de esta persona de ventas.
Set the POP3 email settings to pull emails directly from a mailbox and create Support Tickets,Establezca la configuración de correo electrónico POP3 para extraer los correos electrónicos directamente desde un buzón de correo y crear Tickets de Soporte
Set workflow rules.,Establezca reglas de flujo de trabajo.
"Set your background color, font and image (tiled)","Establezca su color de fondo, tipo de letra y la imagen (mosaico)"
"Set your outgoing mail SMTP settings here. All system generated notifications, emails will go from this mail server. If you are not sure, leave this blank to use ERPNext servers (emails will still be sent from your email id) or contact your email provider.","Establezca la configuración de correo SMTP salientes aquí. Todo el sistema genera notificaciones, correos electrónicos irá desde este servidor de correo. Si no está seguro, deje este campo en blanco para utilizar servidores ERPNext (correos electrónicos seguirán siendo enviados a su correo electrónico de identificación) o póngase en contacto con su proveedor de correo electrónico."
Setting Account Type helps in selecting this Account in transactions.,Tipo de Ajuste de cuentas ayuda en la selección de esta cuenta en las transacciones.
Settings for About Us Page.,Ajustes para Nosotros Pagina.
Settings for Contact Us Page,Ajustes para Contáctenos Página
Settings for Contact Us Page.,Ajustes para la página de contacto.
Settings for Product Catalog on the website,Ajustes de catálogo de productos en el sitio web
Settings for Product Catalog on the website.,Ajustes de catálogo de productos en el sitio web.
Settings for the About Us Page,Ajustes de la página ¿Quiénes somos?
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""",Ajustes para extraer los solicitantes de empleo a partir de un ejemplo buzón &quot;jobs@example.com&quot;
Setup,Disposición
Setup Control,Control de la instalación
Setup Series,Configuración Series
Setup of fonts and background.,Configuración de fuentes y el fondo.
"Setup of top navigation bar, footer and logo.","Configuración de la barra de navegación superior, pie de página y el logotipo."
Setup outgoing SMS via your bulk SMS provider,Configuración de SMS salientes a través de su proveedor de SMS a granel
Setup to pull emails from support email account,Configuración para extraer mensajes de correo electrónico desde la cuenta de correo electrónico de apoyo
Ship To,Enviamos
Shipping Address,Dirección de envío
Shipping Address Name,Nombre de embarque Dirección
Shipping Details,Detalles del envío
Short Description,Breve Descripción
Short biography for website and other publications.,Breve biografía de la página web y otras publicaciones.
Shortcut,Atajo
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Mostrar &quot;En Stock&quot; o &quot;no está en stock&quot;, basada en el stock disponible en este almacén."
Show / Hide Modules,Mostrar / Ocultar Módulos
Show Details,Mostrar detalles
Show Filters,Mostrar Filtros
Show Price in Website (if set),Mostrar Precio en Sitio Web (si está configurado)
Show Print First,Mostrar Imprimir Primera
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 el sitio web
Show rows with zero values,Mostrar filas con valores iguales a cero
Show this slideshow at the top of the page,Ver este vídeo en la parte superior de la página
"Show, hide modules","Mostrar, ocultar módulos"
Showing only for,Mostrando sólo para
Signature,Firma
Signature to be appended at the end of every email,Firma que se adjunta al final de cada correo electrónico
Simplify entry forms by disabling features,Simplificar los formularios de inscripción mediante la desactivación de funciones
Single,Solo
Single unit of an Item.,Una sola unidad de un elemento.
Sky,Cielo
Slideshow,Presentación
Slideshow Items,Artículos Presentación
Slideshow Name,Nombre Presentación
Slideshow like display for the website,Presentación como visualización de la página web
Small Text,Texto pequeño
Snow,Nieve
Solid background color (default light gray),Color de fondo sólido (gris claro defecto)
Sorry we were unable to find what you were looking for.,Lamentablemente no hemos podido encontrar lo que estabas buscando.
Sorry you are not permitted to view this page.,"Disculpe, no tiene permiso para ver esta página."
Sorry! We can only allow upto 100 rows for Stock Reconciliation.,¡Lo siento! Sólo podemos permitir hasta 100 filas por la Reconciliación de Valores.
Sort By,Ordenado por
Sort Order,Orden de Clasificación
Source,Fuente
Source Warehouse,Fuente de depósito
Source and Target Warehouse cannot be same,Origen y destino de depósito no puede ser el mismo
Source of th,Fuente de th
"Source of the lead. If via a campaign, select ""Campaign""","Origen de la iniciativa. Si a través de una campaña, seleccione &quot;Campaña&quot;"
Special Page Settings,Configuración de Página Especial
Specification Details,Detalles Especificaciones
Split Delivery Note into packages.,Dividir nota de entrega en paquetes.
Standard,Estándar
Standard Rate,Tarifa Estándar
"Standard Terms and Conditions that can be added to Sales and Purchases.Examples:1. Validity of the offer.1. Payment Terms (In Advance, On Credit, part advance etc).1. What is extra (or payable by the Customer).1. Safety / usage warning.1. Warranty if any.1. Returns Policy.1. Terms of shipping, if applicable.1. Ways of addressing disputes, indemnity, liability, etc.1. Address and Contact of your Company.","Términos y condiciones generales que se pueden añadir a las ventas y Purchases.Examples: 1. Validez de la offer.1. Condiciones de pago (por adelantado, el crédito, etc adelantado parte) .1. ¿Qué es extra (o por pagar por el Cliente) .1. Seguridad / uso warning.1. Garantía si any.1. Devoluciones Policy.1. Condiciones de envío, si applicable.1. Formas de abordar los conflictos, indemnización, responsabilidad, etc.1. Dirección y Contacto de la Compañía."
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.10. Add or Deduct: Whether you want to add or deduct the tax.","Plantilla de gravamen que puede aplicarse a todas las transacciones de compra. Esta plantilla puede contener la lista de cabezas de impuestos y también otros jefes de gastos como &quot;envío&quot;, &quot;Seguros&quot;, &quot;Manipulación&quot;, etc tasa impositiva # # # # NotaEl que defina aquí será el tipo de gravamen general para todos los elementos ** ** . Si hay elementos ** ** que tienen ritmos diferentes, se deben agregar en el Impuesto artículo ** ** mesa en el artículo ** ** maestro. # # # # Descripción del Columns1. Tipo de cálculo: - Esto puede ser en ** Total Net ** (que es la suma de la cantidad de base). - ** En Fila Anterior total / importe ** (para los impuestos acumulativos o cargos). Si selecciona esta opción, el impuesto se aplica como un porcentaje de la fila anterior (en la tabla de impuestos) o cantidad total. - ** Actual ** (como se mencionó) .2. Jefe de la cuenta: El libro mayor de cuentas en las que este impuesto será booked3. Centro de coste: Si el impuesto / carga es un ingreso (como gastos de envío) o gasto que debe ser reservado frente a un coste Center.4. Descripción: Descripción del impuesto (que se imprimirá en las facturas / cotizaciones) .5. Tarifas: Impuesto rate.6. Importe: Impuestos amount.7. Total: Total acumulado de este point.8. Ingrese Fila: Si se basa en &quot;Total Fila Anterior&quot; se puede seleccionar el número de fila que se tomará como base para este cálculo (por defecto es la fila anterior) .9. Considere la posibilidad de impuesto o tasa para: En esta sección se puede especificar si el impuesto / carga es sólo para la valoración (no es una parte del total) o sólo para el total (no agrega valor al elemento) o para both.10. Agregar o deducir: Si desea agregar o deducir el impuesto."
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Plantilla de gravamen que puede aplicarse a todas las transacciones de venta. Esta plantilla puede contener la lista de cabezas de impuestos y también otros gastos / ingresos cabezas como &quot;envío&quot;, &quot;Seguros&quot;, &quot;Manipulación&quot;, etc del Hotel # # # # NotaEl fiscal que defina aquí será el tipo de gravamen general para todos los elementos ** **. Si hay elementos ** ** que tienen ritmos diferentes, se deben agregar en el Impuesto artículo ** ** mesa en el artículo ** ** maestro. # # # # Descripción del Columns1. Tipo de cálculo: - Esto puede ser en ** Total Net ** (que es la suma de la cantidad de base). - ** En Fila Anterior total / importe ** (para los impuestos acumulativos o cargos). Si selecciona esta opción, el impuesto se aplica como un porcentaje de la fila anterior (en la tabla de impuestos) o cantidad total. - ** Actual ** (como se mencionó) .2. Jefe de la cuenta: El libro mayor de cuentas en las que este impuesto será booked3. Centro de coste: Si el impuesto / carga es un ingreso (como gastos de envío) o gasto que debe ser reservado frente a un coste Center.4. Descripción: Descripción del impuesto (que se imprimirá en las facturas / cotizaciones) .5. Tarifas: Impuesto rate.6. Importe: Impuestos amount.7. Total: Total acumulado de este point.8. Ingrese Fila: Si se basa en &quot;Total Fila Anterior&quot; se puede seleccionar el número de fila que se tomará como base para este cálculo (por defecto es la fila anterior) .9. ¿Es este impuesto incluido en la tarifa básica:? Si marca esto, significa que este impuesto no se mostrará a continuación la tabla de partidas, pero se incluirán en la Tasa Básica en su mesa elemento principal. Esto es útil cuando usted quiere dar un precio fijo (incluidos todos los impuestos) precio a los clientes."
Start Date,Fecha de inicio
Start Report For,Inicio Informe para
Start date of current invoice's period,Fecha de inicio del periodo de facturación actual
Starts on,Comienza el
Startup,Inicio
State,Estado
State Name,Estado Nombre
States,Estados
Static Parameters,Parámetros estáticos
Status,Estado
Status must be one of ,Estado debe ser uno de
Statutory info and other general information about your Supplier,Información legal y otra información general acerca de su Proveedor
Stock,Valores
Stock Ageing,El envejecimiento de la
Stock Analytics,Análisis de la
Stock Balance,De la balanza
Stock Entry,De la entrada
Stock Entry Detail,Detalle de la entrada
Stock Frozen Upto,Stock Frozen Upto
Stock Home,Inicio de la
Stock Ledger,Stock Ledger
Stock Ledger Entry,Stock Ledger Entry
Stock Level,Nivel de existencias
Stock Qty,Stock Cantidad
Stock Queue (FIFO),De la cola (FIFO)
Stock Reconciliation,De la Reconciliación
Stock Reconciliation file not uploaded,Foto de archivo de la Reconciliación no cargado
Stock UOM,De la UOM
Stock UOM Replace Utility,De la UOM utilidad replace
Stock Uom,De la UOM
Stock Value,Valor de la
"Stock level frozen up to this date, nobody can do / modify entry except authorized person","Nivel de existencias congeladas hasta la fecha, nadie puede hacer / modificar entrada excepto persona autorizada"
Stop,Deténgase
Stop users from making Leave Applications on following days.,Deje que los usuarios realicen aplicaciones dejan en los días siguientes.
Stopped,Detenido
Structure cost centers for budgeting.,Centros estructura de costos para el presupuesto.
Structure of books of accounts.,Estructura de los libros de cuentas.
Style,Estilo
Style Settings,Ajustes de estilo
"Style represents the button color: Success - Green, Danger - Red, Inverse - Black, Primary - Dark Blue, Info - Light Blue, Warning - Orange","Estilo representa el color del botón: Success - Verde, Peligro - rojo, Inverse - Negro, Primaria - Dark Info Azul - Azul claro, Advertencia - Orange"
"Sub-currency. For e.g. ""Cent""","Sub-moneda. Por ejemplo, &quot;Cent&quot;"
Sub-domain provided by erpnext.com,Sub-dominio proporcionado por erpnext.com
Subcontract,Subcontratar
Subdomain,Subdominio
Subject,Sujeto
Submit,Presentar
Submit Salary Slip,Enviar nómina
Submit all salary slips for the above selected criteria,"Envíe todos los recibos de sueldos para los criterios anteriormente indicados,"
Submitted,Enviado
Success,Éxito
Suggestion,Sugerencia
Suggestions,Sugerencias
Sunday,Domingo
Sunny,Soleado
Supplier,Proveedor
Supplier (vendor) name as entered in supplier master,Proveedor (vendedor) Nombre tal como aparece en Maestro de proveedores
Supplier Address,Proveedor Dirección
Supplier Details,Detalles del producto
Supplier Intro,Proveedor Intro
Supplier Master created by ,Maestro de proveedores creada por
Supplier Name,Nombre del proveedor
Supplier Part Number,Número de pieza del proveedor
Supplier Quotation,Proveedor Cotización
Supplier Quotation Item,Proveedor del artículo Cotización
Supplier Reference,Proveedor de referencia
Supplier Type,Proveedor Tipo
Supplier Warehouse,Proveedor Almacén
Supplier classification.,Proveedor de clasificación.
Supplier database.,Proveedor de base de datos.
Supplier of Goods or Services.,Proveedor de Productos o Servicios.
Supplier warehouse where you have issued raw materials for sub - contracting,Proveedor almacén donde se han emitido las materias primas para la sub - contratación
Supplier's currency,Proveedor de moneda
Support,Apoyar
Support Analytics,Soporte Analytics
Support Email,Asistencia por correo electrónico
Support Email Id,Apoyar Identificación del email
Support Home,Asistencia y descargas
Support Password,Soporte contraseña
Support Ticket,Ticket de soporte
Support Ticket Mail Settings,Apoyo ajustes de la ficha Correo
Support queries from customers via email or website.,Apoyo a las consultas de los clientes a través de correo electrónico o página web.
Symbol,Símbolo
Sync Inbox,Bandeja de entrada Sync
Sync Support Mails,Sincronizar correos de apoyo
System,Sistema
System Console,La consola del sistema
System Defaults,Valores predeterminados del sistema
System User,Usuario del Sistema
"System User (login) ID. If set, it will become default for all HR forms.","Usuario del sistema (login) ID. Si se establece, será por defecto para todas las formas de recursos humanos."
System generated mails will be sent from this email id.,Electrónicos generados por el sistema serán enviados desde este correo electrónico de identificación.
Table,Mesa
Table Field,Tabla de campo
Table Mapper Detail,Tabla Detalle Mapper
Table Mapper Details,Detalles Mesa Mapper
Table for Item that will be shown in Web Site,Tabla de la partida que se mostrará en el Sitio Web
Tag,Etiqueta
Tag Name,Name Tag
Tags,Etiquetas
Tahoma,Tahoma
Target,Objetivo
Target  Amount,Objetivo Importe
Target Detail,Target Detalle
Target Details,Detalles objetivo
Target Details1,Target Details1
Target Distribution,Target Distribution
Target Qty,Target Cantidad
Target Warehouse,De destino de depósito
Task,Tarea
Task Details,Detalles de la tarea
Task Id,Tarea Id
Task Name,Nombre de tarea
Tasks,Tareas
Tasks belonging to this Project.,Las tareas que pertenecen a este proyecto.
Tax,Impuesto
Tax Amount,Importe del impuesto
Tax Calculation,Cálculo de impuestos
Tax Rate,Tasa de Impuesto
Tax Template for Purchase,Impuesto Plantilla para Compra
Tax Template for Sales,Impuesto Plantilla para Ventas
Tax and other salary deductions.,Impuestos 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 impuestos detalle descargue de maestro de artículos en forma de cadena y se almacenan en esta field.Used de Impuestos y Cargos
Taxable,Imponible
Taxes,Impuestos
Taxes and Charges,Impuestos y Cargos
Taxes and Charges Added,Los impuestos y cargos adicionales
Taxes and Charges Added (Import),Los impuestos y cargos adicionales (Import)
Taxes and Charges Calculation,Los impuestos y cargos de cálculo
Taxes and Charges Deducted,Los impuestos y gastos deducidos
Taxes and Charges Deducted (Import),Los impuestos y gastos deducidos (Import)
Taxes and Charges Total,Los impuestos y cargos totales
Taxes and Charges Total*,* Impuestos y cargos totales
Taxes and Charges1,Los impuestos y Charges1
Team Members,Miembros del Equipo
Team Members Heading,Miembros del Equipo partida
Template for employee performance appraisals.,Modelo para la evaluación del desempeño de los empleados.
Template of terms or contract.,Plantilla de los términos o condiciones.
Term Details,Datos del plazo
Terms and Conditions,Términos y Condiciones
Terms and Conditions Content,Términos y Condiciones Content
Terms and Conditions Details,Términos y Condiciones Detalles
Terms and Conditions HTML,Términos y Condiciones HTML
Terms and Conditions Template,Términos y Condiciones de plantilla
Terms and Conditions1,Términos y Condiciones1
Territory,Territorio
Territory Manager,Gerente de Territorio
Territory Name,Nombre Territorio
Territory Targets,Objetivos del Territorio
TerritoryHelp,TerritoryHelp
Test,Prueba
Test Data,Datos de Prueba
Test Date,Fecha del Examen
Test Email Id,Prueba de Identificación del email
Test Link,Prueba de enlace
Test Runner,Prueba Runner
Test Select,Seleccione Test
Test Text,Prueba de Texto
Test the Newsletter,Pruebe el Boletín
Text,Texto
Text Align,Alineación del texto
Text Editor,Editor de texto
"The ""Web Page"" that is the website home page","La &quot;Página Web&quot;, que es la página de inicio del sitio web"
The BOM which will be replaced,La lista de materiales que será sustituido
"The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes""",El punto que representa el paquete. Este elemento debe tener &quot;es el tema de&quot; como &quot;No&quot; y &quot;¿Sales Item&quot; como &quot;Sí&quot;
The account to which you will pay (have paid) the money to.,La cuenta a la que va a pagar (he pagado) el dinero.
The date at which current entry is corrected in the system.,La fecha en la que la entrada actual se corrige en el sistema.
The date at which current entry is made in system.,La fecha en que se efectúe la entrada actual en el sistema.
The date at which current entry will get or has actually executed.,La fecha en la que la entrada actual se consigue o se ejecuta realmente.
The date on which next invoice will be generated. It is generated on submit.,La fecha en la que será la próxima factura generada. Se genera en enviar.
The date on which recurring invoice will be stop,La fecha de factura recurrente se detenga
"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 factura generado automáticamente por ejemplo, 05, 28, etc"
The gross weight of the package. Usually net weight + packaging material weight. (for print),"El peso bruto del paquete. Por lo general, el peso neto + Peso del material de embalaje. (Para imprimir)"
The name of your company / website as you want to appear on browser title bar. All pages will have this as the prefix to the title.,El nombre de su empresa / sitio web como usted desea que aparezca en la barra de título del navegador. Todas las páginas tienen esto como el prefijo del título.
The net weight of this package. (calculated automatically as sum of net weight of items),El peso neto de este paquete. (Calculado automáticamente como la suma del peso neto de los artículos)
The new BOM after replacement,La lista de materiales nuevo después de sustituirlo
The rate at which Bill Currency is converted into company's base currency,La velocidad a la cual se convierte en moneda Bill moneda base empresa
"The system provides pre-defined roles, but you can <a href='#List/Role'>add new roles</a> to set finer permissions","El sistema proporciona roles predefinidos, pero usted puede <a href='#List/Role'>añadir nuevas funciones</a> para establecer permisos más finos"
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.
Theme,Tema
Then By (optional),Luego por (opcional)
These properties are Link Type fields from all Documents.,Estas propiedades son campos de tipo de enlace de todos los documentos.
"These properties can also be used to 'assign' a particular document, whose property matches with the User's property to a User. These can be set using the <a href='#permission-manager'>Permission Manager</a>","Estas propiedades también se puede utilizar para &quot;asignar&quot; un documento en particular, cuya propiedad corresponde a la propiedad del usuario a un usuario. Estos se pueden establecer mediante el <a href='#permission-manager'>Administrador de autorización</a>"
These properties will appear as values in forms that contain them.,Estas propiedades aparecerá como valores en formas que los contienen.
These values will be automatically updated in transactions and also will be useful to restrict permissions for this user on transactions containing these values.,Estos valores se actualizan automáticamente en las transacciones y también será útil para restringir los permisos para este usuario sobre las transacciones que contienen estos valores.
"This Item Group represents ""products.html""",Este grupo de elementos representa &quot;products.html&quot;
This Price List will be selected as default for all Customers under this Group.,Esta lista de precios será seleccionado como predeterminado para todos los usuarios en este grupo.
This currency will get fetched in Purchase transactions of this supplier,Esta moneda conseguirá exagerado en las transacciones de compra de este proveedor
This currency will get fetched in Sales transactions of this customer,Esta moneda conseguirá exagerado en las transacciones de venta de este cliente
"This feature is for merging duplicate warehouses. It will replace all the links of this warehouse by ""Merge With"" warehouse. After merging you can delete this warehouse, as stock level for this warehouse will be zero.","Esta característica es para la fusión de almacenes duplicados. Sustituirá a todos los eslabones de esta bodega por &quot;Combinar Con&quot; almacén. Después de la fusión puede eliminar este almacén, como el nivel de stock para este almacén será cero."
This field will appear only if the fieldname defined here has value OR the rules are true (examples): <br>myfieldeval:doc.myfield=='My Value'<br>eval:doc.age>18,Este campo sólo aparecerá si el nombre del campo definido aquí tiene valor o las reglas son verdaderas (ejemplos): <br> myfieldeval: doc.myfield == &#39;My Value&#39; <br> eval: doc.age&gt; 18
This goes above the slideshow.,Esto va por encima de la presentación de diapositivas.
This is PERMANENT action and you cannot undo. Continue?,Esto es una acción permanente y no se puede deshacer. ¿Desea continuar?
This is permanent action and you cannot undo. Continue?,Esta es una acción permanente y no se puede deshacer. ¿Desea continuar?
This is the number of the last created transaction with this prefix,Este es el número de la última transacción creado por este prefijo
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Esta herramienta le ayuda a actualizar o corregir la cantidad y la valoración de las existencias en el sistema. Se suele utilizar para sincronizar los valores del sistema y lo que realmente existe en sus almacenes.
This will be used for setting rule in HR module,Esto será utilizado para la regla de ajuste en el módulo HR
Thread HTML,Tema HTML
Thumbnail Image,Imagen en miniatura
Thursday,Jueves
Time,Tiempo
Time Zone,Time Zone
Time Zones,Zonas de horario
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 los materiales fueron recibidos
Timesheet,Parte de horas
Timesheet By,Por parte de horas
Timesheet Date,Fecha de parte de horas
Timesheet Detail,Detalle de parte de horas
Timesheet Details,Detalles del parte de horas
Timesheet for tasks.,Parte de horas para las tareas.
Title,Título
Title / headline of your page,Título / título de su página
Title Case,Título del caso
Title Prefix,Prefijo Título
To,A
To Date,Conocer
To Discuss,Para discutir
To Do,Para hacer
To Do List,Para hacer la lista
To DocType,Para DOCTYPE
To Field,Al campo
To PR Date,Conocer PR
To Package No.,Para Paquete No.
To Reply,Para Responder
To Table,Para la tabla
To Warehouse,Para Almacén
"To add a tag, open the document and click on ""Add Tag"" on the sidebar","Para agregar una etiqueta, abra el documento y haga clic en &quot;Añadir etiqueta&quot; en la barra lateral"
"To assign this issue, use the ""Assign"" button in the sidebar.","Para asignar este problema, utilice el botón &quot;Assign&quot; en la barra lateral."
"To automatically create Support Tickets from your incoming mail, set your POP3 settings here. You must ideally create a separate email id for the erp system so that all emails will be synced into the system from that mail id. If you are not sure, please contact your EMail Provider.","Para crear automáticamente Tickets de Soporte de su correo entrante, establecer la configuración de POP3 aquí. Lo ideal debe crear un ID de correo electrónico por separado para el sistema ERP para que todos los correos electrónicos se sincronizan en el sistema desde que id electrónico. Si no está seguro, póngase en contacto con su proveedor de correo electrónico."
"To create Quotation against Opportunity, Select Opportunity No. and click on 'Pull Opportunity Details' ","Para crear Cotización contra Opportunity, seleccione No. oportunidades y haga clic en &#39;Detalles de la oportunidad pull &quot;"
"To create an Account Head under a different company, select the company and save customer.","Para crear un Jefe de Cuenta bajo una empresa diferente, seleccione la empresa y ahorrar al cliente."
To enable <b>Point of Sale</b> features,Para habilitar <b>Punto de Venta</b> características
"To fetch items again, click on 'Get Items' button \						or update the Quantity manually.","Para buscar elementos de nuevo, haga clic en &quot;Obtener elementos&quot; botón \ o actualizar la cantidad manualmente."
"To further restrict permissions based on certain values in a document, use the 'Condition' settings.","Para restringir aún más permisos en función de determinados valores en un documento, utilice la &quot;condición&quot; de configuración."
To get Item Group in details table,Para obtener Grupo de artículos en tabla de Datos
"To import attendance data, click on ""Add"" button, select the saved CSV file and click on ""Upload"".Select the date format as attendance date format in CSV file.Click on ""Import"".","Para importar los datos de asistencia, haga clic en el botón &quot;Agregar&quot;, seleccione el archivo CSV guardado y haga clic en &quot;Upload&quot;. Seleccione el formato de fecha en formato de fecha en formato CSV asistencia file.Click en &quot;Importar&quot;."
To manage multiple series please go to Setup > Manage Series,Para gestionar múltiples series por favor vaya a Configuración&gt; Administrar Series
To restrict a User of a particular Role to documents that are explicitly assigned to them,Para restringir un usuario de un papel especial a los documentos que están expresamente asignadas
To restrict a User of a particular Role to documents that are only self-created.,Para restringir un usuario de un rol de particular a documentos que sólo son de creación propia.
"To set user roles, just go to <a href='#List/Profile'>Setup > Users</a> and click on the user to assign roles.","Para definir funciones de usuario, basta con ir a <a href='#List/Profile'>Configuración&gt; Usuarios</a> y haga clic en el usuario para asignar roles."
To track any installation or commissioning related work after sales,Para el seguimiento de cualquier instalación o puesta en servicio después de la venta relacionados
"To track brand name in the following documents<br>Delivery Note, Enuiry, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","Para realizar el seguimiento de marca en los siguientes documentos <br> Nota de Entrega, Enuiry, solicitud de materiales, artículos, orden de compra, comprobantes de compra, el recibo de compra, cotización, factura de venta, lista de materiales de ventas, pedidos de venta, Serial No"
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 realizar el seguimiento elemento en documentos de ventas y compras en base a sus números de serie. Esto también se puede utilizar para rastrear detalles de la garantía del producto.
To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>,"Para el seguimiento de los elementos de documentos de ventas y compras con los números de lote <br> <b>Industria de Preferencia: 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 el seguimiento de elementos mediante código de barras. Usted será capaz de entrar en los elementos de albarán y factura de venta mediante el escaneo de código de barras del artículo.
"To update your HTML from attachment, click here","Para actualizar el código HTML de archivo adjunto, haga clic aquí"
ToDo,ToDo
Tools,Instrumentos
Top Bar,Bar Top
Top Bar Background,Fondo de la barra superior
Top Bar Item,Bar Producto Top
Top Bar Items,Los productos principales Bar
Total,Total
Total (sum of) points distribution for all goals should be 100.,Total (la suma de) los puntos de distribución para todos los objetivos deben ser 100.
Total +Tax,Total + impuestos
Total Advance,Avance total
Total Amount,Monto Total
Total Amount To Pay,Monto total a pagar
Total Amount in Words,Monto total de palabras
Total Claimed Amount,Monto total reclamado
Total Commission,Total Comisión
Total Cost,Coste total
Total Credit,Crédito Total
Total Debit,Débito total
Total Deduction,Deducción total
Total Earning,Ganancia total
Total Experience,Experiencia Total
Total Hours (Actual),Horas totales (real)
Total Hours (Expected),Horas totales (esperados)
Total Invoiced Amount,Importe total facturado
Total Leave Days,Total de días Permiso
Total Leaves Allocated,Hojas total asignado
Total Operating Cost,El coste total de
Total Points,Total de puntos
Total Raw Material Cost,Costo total de materia prima
Total SMS Sent,SMS enviados totales
Total Sanctioned Amount,Monto total Sancionado
Total Score (Out of 5),Puntaje total (de 5)
Total Tax,Total de Impuestos
Total Tax Amount,Monto Total de Impuestos
Total Tax*,* Total de Impuestos
Total Taxes and Charges,Total de Impuestos y Cargos
Total days in month,Número total de días en el mes
Total in words,Total en palabras
Totals,Totales
Track Quotations received from Suppliers.,Seguimiento de citas recibidas de los proveedores.
Track separate Income and Expense for product verticals or divisions.,Seguimiento de Ingresos y Gastos por separado para los productos o divisiones verticales.
Track this Delivery Note against any Project,Seguir este albarán en contra de cualquier proyecto
Track this Sales Invoice against any Project,Seguir este Factura en contra de cualquier proyecto
Track this Sales Order against any Project,Seguir este orden de venta en contra de cualquier proyecto
Transaction,Transacción
Transaction Date,Fecha de Transacción
Transfer,Transferir
Transfer stock from one warehouse to another.,Traslado de stock de un almacén a otro.
Transition Rules,Reglas de Transición
Transporter Info,Transportador Info
Transporter Name,Transportador Nombre
Transporter lorry number,Transportador número camión
Trash,Papelera
Trash Control,Control de Basura
Trash Reason,Trash Razón
Tree of item classification,Árbol de la clasificación del artículo
Trend Analyzer,Tendencia Analizador
Trend Analyzer Control,Trend Control Analizador
Trial Balance,Balance de Comprobación
Tropic,Trópico
Tuesday,Martes
Type,Tipo
Type of employment master.,Tipo de empleo maestro.
"Type of leaves like casual, sick etc.","Tipo de hojas como etc casual, enfermos"
Types of Expense Claim.,Tipos de reclamo de gastos.
Types of activities for Time Sheets,Tipos de actividades de hojas de tiempo
Types of warehouse,Tipos de almacén
UOM,UOM
UOM Conversion Detail,UOM Detalle de conversión
UOM Conversion Details,UOM detalles de la conversión
UOM Conversion Factor,UOM factor de conversión
UOM Details,UOM Detalles
UOM Name,Nombre UOM
UOM Replace Utility,UOM utilidad replace
UPPER CASE,MAYÚSCULAS
URL,URL
Unable to complete request: ,No se puede completar la solicitud:
Under AMC,Bajo AMC
Under Graduate,En virtud de Postgrado
Under Section,Bajo la Sección
Under Warranty,En garantía
Unit of Measure,Unidad de medida
"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Unidad de medida de este artículo (Kg por ejemplo, Unidad, No, par)."
Units/Hour,Unidades / hora
Units/Shifts,Unidades / Turnos
Unmatched Amount,Importe sin igual
Unread Messages,Los mensajes no leídos
Unscheduled,No programada
Unsubscribe,Darse de baja
Unsubscribed,No suscrito
Update,Actualizar
Update Clearance Date,Actualizado Liquidación
Update Delivery Date,Actualización de Fecha de Entrega
Update Field,Actualizar campos
Update PR,Actualizar PR
Update Sales Order,Actualización de órdenes de venta
Update Series,Actualización de la Serie
Update Series Number,Actualización Número de Serie
Update Stock,Actualización de almacen
Update Value,Actualizar Valor
"Update allocated amount in the above table and then click ""Allocate"" button",Actualizar importe asignado en la tabla anterior y haga clic en &quot;Asignar&quot; botón
Update bank payment dates with journals.,Actualización de las fechas de pago bancario de las revistas.
Updates,Actualizaciones
Updates HTML,Actualizaciones HTML
Upload Attachment,Subir adjunto
Upload Attendance Data,Subir los datos de asistencia
Upload HTML,Sube HTML
Upload a file,Subir un archivo
Upload attendance,Sube asistencia
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.
Upper Income,Ingresos más altos
Urgent,Urgente
Use Multi-Level BOM,Utilice Multi-Level BOM
Use SSL,Usar SSL
User,Usuario
User Cannot Create,El usuario no puede crear
User Cannot Search,El usuario no puede buscar
User ID,ID de usuario
User Image,Imagen del usuario
User Name,Nombre de usuario
User Properties,Propiedades del usuario
User Remark,Usuario Comentario
User Remark will be added to Auto Remark,Observación de usuario se añadirá a Auto Observación
User Tags,Nube de etiquetas
User Type,Tipo de usuario
User must always select,Usuario siempre debe seleccionar
User not allowed entry in the Warehouse,No se permite la entrada del usuario en el almacén de
UserRole,UserRole
Username,Nombre de usuario
Users,Usuarios
Users Voted,Los usuarios Votado
Users with this role are allowed to do / modify accounting entry before frozen date,Los usuarios con este rol pueden ver / modificar registro contable antes de la fecha congelado
Users with this role are allowed to do / modify stock entry before frozen date,Los usuarios con este rol pueden ver / modificar los valores antes de la fecha de entrada congelado
Utilities,Utilidades
Utility,Utilidad
Valid Upto,Válido Hasta que
Validation Logic,Lógica de validación
Valuation,Valuación
Valuation Control,Evaluación de Control
Valuation Method,Método de valoración
Valuation Rate,Valoración de tipo
Valuation and Total,Valoración y Total
Value,Valor
Verdana,Verdana
Verified By,Verificado por
Visit,Visitar
Visit report for maintenance call.,Visita informe de llamada de mantenimiento.
Voucher Detail No,Vale Detalle Desierto
Voucher ID,Vale ID
Voucher Import Tool,Vale herramienta de importación
Voucher No,Vale No
Voucher Type,Vale Tipo
WIP Monitor,WIP monitor
Waiting for Customer,Esperando al Cliente
Walk In,Walk In
Warehouse,Almacén
Warehouse Contact Info,Almacén de información de contacto
Warehouse Detail,Almacén Detalle
Warehouse Name,Almacén Nombre
Warehouse Type,Depósito de tipo
Warehouse User,Almacén del usuario
Warehouse Users,Usuarios Almacén
Warehouse where you are maintaining stock of rejected items,Almacén donde usted está manteniendo un balance de los artículos rechazados
Warehouse-wise Item Reorder,Warehouse-sabio artículo reorden
Warn,Advertir
Warning,Advertencia
Warranty / AMC Details,Garantía / AMC Detalles
Warranty / AMC Status,Garantía / AMC Estado
Warranty Expiry Date,Garantía Fecha de caducidad
Warranty Period (Days),Período de Garantía (días)
Warranty Period (in days),Período de garantía (en días)
Web Content,Web Content
Web Page,Página Web
Webforms,WebForms
Website,Sitio web
Website Description,Descripción del sitio
Website Home,Website Home
Website Item Group,Website grupo de elementos
Website Item Groups,Sitio Web Grupos de artículo:
Website Overall Settings,Sitio web Configuración general
Website Price List,Website Lista de precios
Website Product Categories,Categorías sitio web del producto
Website Product Category,Sitio web Categoría de producto
Website Script,Sitio Web de secuencias de comandos
Website Settings,Ajustes del Sitio Web
Website Slideshow,Sitio Web Presentación
Website Slideshow Item,Sitio Web Presentación del artículo
Website Warehouse,Website Almacén
Wednesday,Miércoles
Weekly,Semanal
Weekly Off,Semanal Off
Weight UOM,Peso UOM
Weightage,Weightage
Weightage (%),Coeficiente de ponderación (%)
"When any of the checked transactions are ""Submitted"", an email pop-up automatically opened to send an email to the associated ""Contact"" in that transaction, with the transaction as an attachment. The user may or may not send the email.","Cuando alguna de las operaciones controladas son &quot;Enviado&quot;, un correo electrónico pop-up se abre automáticamente al enviar un correo electrónico a los asociados &quot;Contacto&quot; en esa transacción, la transacción como un archivo adjunto. El usuario puede o no puede enviar el correo electrónico."
"When you <b>Amend</b> a document after cancel and save it, it will get a new number that is a version of the old number.","Al <b>enmendar</b> un documento después de cancelar y lo guarda, se obtiene un número nuevo que es una versión del antiguo número."
Where items are stored.,Cuando los artículos se almacenan.
Where manufacturing operations are carried out.,Cuando las operaciones de elaboración se lleven a cabo.
White,Blanco
Widowed,Viudo
Width,Ancho
Will be calculated automatically when you enter the details,Se calculará automáticamente al entrar en los detalles
Will be fetched from Customer,¿Será que ir a buscar al cliente
With Operations,Con operaciones
Work Done,Trabajo realizado
Work In Progress,Trabajo en curso
Workflow,Flujo de trabajo
Workflow Action,Acción de flujo de trabajo
Workflow Action Detail,Detalle de Acción de flujo de trabajo
Workflow Action Details,Detalles de flujo de trabajo de acción
Workflow Action Master,Maestro acción de flujo de trabajo
Workflow Action Name,Nombre de la acción de flujo de trabajo
Workflow Document State,Estado de flujo de trabajo de documentos
Workflow Document States,Estados de flujos de trabajo de documentos
Workflow Engine,Workflow Engine
Workflow Name,Nombre del flujo de trabajo
Workflow Rule,Flujo de trabajo de la Regla
Workflow Rule Detail,Detalle de la regla de flujo de trabajo
Workflow Rule Details,Datos Workflow Rule
Workflow State,Estado de flujo de trabajo
Workflow State Field,Estado de flujo de trabajo de campo
Workflow State Name,Nombre del estado de flujo de trabajo
Workflow Transition,La transición de flujo de trabajo
Workflow Transitions,Las transiciones de flujo de trabajo
Workflow state represents the current state of a document.,Estado de flujo de trabajo representa el estado actual de un documento.
Workflow will start after saving.,Flujo de trabajo comenzará después de guardar.
Workfow,Workfow
Working,Laboral
Workstation,Puesto de trabajo
Workstation Name,Nombre de estación de trabajo
Write,Escribir
Write Off Account,Cancelar cuenta
Write Off Amount,Escribir Off Importe
Write Off Amount <=,Escribir Off Importe &lt;=
Write Off Based On,Escribir apagado basado en
Write Off Cost Center,Escribir Off de centros de coste
Write Off Outstanding Amount,Escribir Off Monto Pendiente
Write Off Voucher,Escribir Off Voucher
Year,Año
Year Closed,Año Cerrado
Year Name,Nombre Año
Year Start Date,Año Fecha de inicio
Year of Passing,Año de pasar
Yearly,Anual
Yes,Sí
Yesterday,Ayer
You are not authorized to do/modify back dated entries before ,Usted no está autorizado a hacer / modificar de nuevo las entradas de fecha anterior
You can create more earning and deduction type from Setup --> HR,Puede crear más ingresos y el tipo de deducción de Configuración -&gt; HR
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 de este artículo para ser ordenado.
You can make a delivery note from multiple sales orders. Select sales orders one by one and click on the button below.,Usted puede hacer una nota de entrega de los pedidos de ventas múltiples. Seleccione las órdenes de venta de uno en uno y haga clic en el botón de abajo.
You can make a purchase order from multiple Material Requests. Select Material Requests one by one and click on the button below.,Usted puede hacer una orden de compra de solicitudes de materiales múltiples. Seleccione solicitudes de material de uno en uno y haga clic en el botón de abajo.
You can make a purchase order from multiple Supplier Quotations. Select Supplier Quotations one by one and click on the button below.,Usted puede hacer una orden de compra de cotizaciones de proveedores múltiples. Seleccione Citas Proveedor de uno en uno y haga clic en el botón de abajo.
You can make a purchase receipt from multiple purchase orders. Select purchase orders one by one and click on the button below.,Usted puede hacer un recibo de compra a partir de órdenes de compra múltiples. Seleccione las órdenes de compra de uno en uno y haga clic en el botón de abajo.
You can set various 'properties' to Users to set default values and apply permission rules based on the value of these properties in various forms.,Puede establecer varias &quot;propiedades&quot; a los usuarios configurar los valores por defecto y aplicar reglas de permisos basados ​​en el valor de estas propiedades en diversas formas.
You can use <a href='#Form/Customize Form'>Customize Form</a> to set levels on fields.,Puede utilizar <a href='#Form/Customize Form'>Personalizar formulario</a> para establecer los niveles en los campos.
Your Customer's TAX registration numbers (if applicable) or any general information,De sus clientes números impuesto de matriculación (si es aplicable) o cualquier otra información de carácter general
"Your download is being built, this may take a few moments...","Su descarga se está construyendo, esto puede tardar unos minutos ..."
Your letter head content in HTML.,Su carta de contenido cabeza en HTML.
Your sales person who will contact the customer in future,Su persona de las ventas que se comunicará con el cliente en el futuro
Your sales person who will contact the lead in future,Su persona de las ventas que se comunicará con el plomo en el futuro
Your sales person will get a reminder on this date to contact the customer,Su persona de ventas se pondrá un aviso en la fecha de contacto con el cliente
Your sales person will get a reminder on this date to contact the lead,Su persona de ventas se pondrá un aviso en la fecha en contacto con el plomo
Your support email id - must be a valid email - this is where your emails will come!,Su ID de correo electrónico de apoyo - debe ser un correo electrónico válido - aquí es donde tus correos electrónicos vendrá!
[],[]
add your own CSS (careful!),añadir su propio CSS (¡cuidado!)
adjust,ajustar
align-center,alinear el centro
align-justify,alineación justificar
align-left,alineación a la izquierda
align-right,alinear a la derecha
and,y
arrow-down,flecha hacia abajo
arrow-left,flecha izquierda
arrow-right,flecha derecha
arrow-up,flecha hacia arriba
asterisk,asterisco
backward,hacia atrás
ban-circle,prohibición de círculo
barcode,código de barras
bell,campana
bold,audaz
book,libro
bookmark,marcador
briefcase,maletín
bullhorn,megáfono
calendar,calendario
camera,cámara
cancel,cancelar
certificate,certificado
check,comprobar
chevron-down,Chevron-down
chevron-left,Chevron-izquierda
chevron-right,Chevron-derecha
chevron-up,Chevron-up
circle-arrow-down,círculo de flecha hacia abajo
circle-arrow-left,círculo de flecha izquierda
circle-arrow-right,círculo de flecha derecha
circle-arrow-up,"círculo, flecha hacia arriba"
cog,diente
comment,comentario
create a Custom Field of type Link (Profile) and then use the 'Condition' settings to map that field to the Permission rule.,crear un campo personalizado de enlace tipo (perfil) y luego usar la &quot;condición&quot; configuración para asignar ese campo a la regla de permiso.
dashboard,salpicadero
dd-mm-yyyy,dd-mm-aaaa
dd/mm/yyyy,dd / mm / aaaa
deactivate,desactivar
does not belong to BOM: ,no pertenece a la lista de materiales:
download,descargar
download-alt,download-alt
"e.g. 0.5, 2.5 etc","por ejemplo, 0,5, 2,5, etc"
"e.g. Bank, Cash, Credit Card","por ejemplo, bancaria, Efectivo, Tarjeta de crédito"
"e.g. Kg, Unit, Nos, m","Kg por ejemplo, unidad, n, m"
"e.g. Office, Billing, Shipping","Oficina por ejemplo, facturación, envío"
edit,editar
eg. Cheque Number,por ejemplo. Número de Cheque
eject,expulsar
english,Inglés
envelope,sobre
equal,igual
español,español
exclamation-sign,-signo de exclamación
eye-close,ojo de cerca
eye-open,los ojos abiertos
facetime-video,facetime-video
fast-backward,rápido hacia atrás
fast-forward,avance rápido
file,expediente
film,película
filter,filtrar
fire,fuego
flag,bandera
folder-close,carpeta de cerca
folder-open,carpeta a abrir
font,fuente
forward,adelante
français,français
fullscreen,fullscreen
gift,regalo
glass,vidrio
globe,globo
greater than,más que
greater than equal,mayor o igual
hand-down,mano hacia abajo
hand-left,a mano izquierda
hand-right,a mano derecha
hand-up,mano-up
has been entered atleast twice,se ha introducido al menos dos veces
hdd,hdd
headphones,auriculares
heart,corazón
home,casa
inbox,bandeja de entrada
indent-left,indent-izquierda
indent-right,guión-derecha
info-sign,info-signo
is a cancelled Item,Es un Tema cancelado
is not a Stock Item,no es un elemento de serie
is not allowed.,no está permitido.
italic,itálico
leaf,hoja
less than,menos que
less than equal,menos de igual
lft,lft
list,lista
list-alt,lista-alt
lock,bloquear
magnet,imán
map-marker,mapa del marcador
minus,menos
minus-sign,signo menos
mm-dd-yyyy,dd-mm-aaaa
mm/dd/yy,mm / dd / aa
mm/dd/yyyy,mm / dd / aaaa
move,mover
music,música
nederlands,nederlands
not equal,no igual
not within Fiscal Year,no en el año fiscal
of type Link,Enlace de tipo
off,de
ok,ok
ok-circle,ok-círculo
ok-sign,ok-sign
old_parent,old_parent
or,o
pause,pausa
pencil,lápiz
picture,imagen
plane,plano
play,jugar
play-circle,play-círculo
plus,más
plus-sign,signo más
português,português
print,imprimir
qrcode,qrcode
question-sign,pregunta-sign
question-view,pregunta-view
questions,preguntas
random,azar
reached its end of life on,llegado al final de su vida en la
refresh,refrescar
remove,quitar
remove-circle,retirar el círculo
remove-sign,eliminar a firmar
repeat,repetir
resize-full,cambio de tamaño completo-
resize-horizontal,resize-horizontal
resize-small,cambio de tamaño pequeño-
resize-vertical,resize-vertical
retweet,Retweet
rgt,rgt
road,carretera
screenshot,captura de pantalla
search,buscar
share,participación
share-alt,acciones alt
shopping-cart,carro de la compra
signal,señal
star,estrella
star-empty,estrella vacía
step-backward,paso hacia atrás
step-forward,paso adelante
stop,detener
tag,etiqueta
tags,etiquetas
"target = ""_blank""",target = &quot;_blank&quot;
tasks,tareas
test,prueba
text-height,texto de altura
text-width,texto de ancho
th,ª
th-large,th-large
th-list,th-list
thumbs-down,pulgares hacia abajo
thumbs-up,thumbs-up
time,tiempo
tint,tinte
to,a
to be dropped,que se cayó
trash,basura
upload,subir
user,usuario
user_image_show,user_image_show
values and dates,valores y fechas
volume-down,volumen desplegable
volume-off,volumen-off
volume-up,volumen-up
warning-sign,advertencia signo
website page link,enlace de la página web
wrench,llave inglesa
yyyy-mm-dd,aaaa-mm-dd
zoom-in,zoom-in
zoom-out,zoom-out
српски,српски
العربية,العربية
हिंदी,हिंदी
தமிழ்,தமிழ்
