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