"""Customer Provided Item"" cannot be Purchase Item also",&quot;Kundeleveret vare&quot; kan ikke være kjøpsvarer også,
"""Customer Provided Item"" cannot have Valuation Rate",&quot;Kunden gitt varen&quot; kan ikke ha verdsettelsesgrad,
"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","&quot;Er Fixed Asset&quot; ikke kan være ukontrollert, som Asset post eksisterer mot elementet",
'Based On' and 'Group By' can not be same,"""Basert på"" og ""Grupper etter"" ikke kan være det samme",
'Days Since Last Order' must be greater than or equal to zero,&#39;Dager siden siste Bestill &quot;må være større enn eller lik null,
'Entries' cannot be empty,&#39;Innlegg&#39; kan ikke være tomt,
'From Date' is required,&quot;Fra dato&quot; er nødvendig,
'From Date' must be after 'To Date',"""Fra dato"" må være etter 'Til Dato'",
'Has Serial No' can not be 'Yes' for non-stock item,«Har Serial No &#39;kan ikke være&#39; Ja &#39;for ikke-lagervare,
'Opening',&quot;Opening&quot;,
'To Case No.' cannot be less than 'From Case No.',&#39;Til sak nr&#39; kan ikke være mindre enn &quot;From sak nr &#39;,
'To Date' is required,&#39;To Date&#39; er påkrevd,
'Total',&#39;Total&#39;,
'Update Stock' can not be checked because items are not delivered via {0},&#39;Oppdater Stock&#39; kan ikke kontrolleres fordi elementene ikke er levert via {0},
'Update Stock' cannot be checked for fixed asset sale,&#39;Oppdater Stock &quot;kan ikke kontrolleres for driftsmiddel salg,
) for {0},) for {0},
1 exact match.,1 nøyaktig kamp.,
90-Above,90-Above,
A Customer Group exists with same name please change the Customer name or rename the Customer Group,En kundegruppe eksisterer med samme navn kan du endre Kundens navn eller endre navn på Kundegruppe,
A Default Service Level Agreement already exists.,En standard servicenivåavtale eksisterer allerede.,
A Lead requires either a person's name or an organization's name,En leder krever enten en persons navn eller en organisasjons navn,
A customer with the same name already exists,En kunde med samme navn eksisterer allerede,
A question must have more than one options,Et spørsmål må ha mer enn ett alternativ,
A qustion must have at least one correct options,En spørsmål må ha minst ett riktig alternativ,
A {0} exists between {1} and {2} (,En {0} eksisterer mellom {1} og {2} (,
A4,A4,
API Endpoint,API Endpoint,
API Key,API-nøkkel,
Abbr can not be blank or space,Abbr kan ikke være tomt eller plass,
Abbreviation already used for another company,Forkortelse allerede brukt for et annet selskap,
Abbreviation cannot have more than 5 characters,Forkortelse kan ikke ha mer enn fem tegn,
Abbreviation is mandatory,Forkortelsen er obligatorisk,
About the Company,Om selskapet,
About your company,Om firmaet ditt,
Above,Fremfor,
Absent,Fraværende,
Academic Term,semester,
Academic Term: ,Faglig semester:,
Academic Year,Studieår,
Academic Year: ,Studieår:,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Akseptert + Avvist Antall må være lik mottatt kvantum for Element {0},
Access Token,Tilgang Token,
Accessable Value,Tilgjengelig verdi,
Account,Konto,
Account Number,Kontonummer,
Account Number {0} already used in account {1},Kontonummer {0} som allerede er brukt i konto {1},
Account Pay Only,Bare konto Pay,
Account Type,Kontotype,
Account Type for {0} must be {1},Kontotype for {0} må være {1},
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Saldo allerede i Credit, har du ikke lov til å sette &quot;Balance må være &#39;som&#39; debet &#39;",
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Saldo allerede i debet, har du ikke lov til å sette &quot;Balance må være &#39;som&#39; Credit &#39;",
Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Kontonummer for konto {0} er ikke tilgjengelig. <br> Vennligst konfigurer kontoregnskapet ditt riktig.,
Account with child nodes cannot be converted to ledger,Konto med barnet noder kan ikke konverteres til Ledger,
Account with child nodes cannot be set as ledger,Konto med barnet noder kan ikke settes som hovedbok,
Account with existing transaction can not be converted to group.,Konto med eksisterende transaksjon kan ikke konverteres til gruppen.,
Account with existing transaction can not be deleted,Konto med eksisterende transaksjon kan ikke slettes,
Account with existing transaction cannot be converted to ledger,Konto med eksisterende transaksjon kan ikke konverteres til Ledger,
Account {0} does not belong to company: {1},Konto {0} tilhører ikke selskapet: {1},
Account {0} does not belongs to company {1},Konto {0} ikke tilhører selskapet {1},
Account {0} does not exist,Konto {0} finnes ikke,
Account {0} does not exists,Konto {0} ikke eksisterer,
Account {0} does not match with Company {1} in Mode of Account: {2},Konto {0} stemmer ikke overens med Selskapet {1} i Konto modus: {2},
Account {0} has been entered multiple times,Konto {0} er angitt flere ganger,
Account {0} is added in the child company {1},Konto {0} legges til i barneselskapet {1},
Account {0} is frozen,Konto {0} er frosset,
Account {0} is invalid. Account Currency must be {1},Konto {0} er ugyldig. Account Valuta må være {1},
Account {0}: Parent account {1} can not be a ledger,Konto {0}: Parent konto {1} kan ikke være en hovedbok,
Account {0}: Parent account {1} does not belong to company: {2},Konto {0}: Parent konto {1} ikke tilhører selskapet: {2},
Account {0}: Parent account {1} does not exist,Konto {0}: Parent konto {1} finnes ikke,
Account {0}: You can not assign itself as parent account,Konto {0}: Du kan ikke tildele seg selv som forelder konto,
Account: {0} can only be updated via Stock Transactions,Konto: {0} kan bare oppdateres via lagertransaksjoner,
Account: {0} with currency: {1} can not be selected,Konto: {0} med valuta: {1} kan ikke velges,
Accountant,Accountant,
Accounting,regnskap,
Accounting Entry for Asset,Regnskapsføring for eiendel,
Accounting Entry for Stock,Regnskap Entry for Stock,
Accounting Entry for {0}: {1} can only be made in currency: {2},Regnskap Entry for {0}: {1} kan bare gjøres i valuta: {2},
Accounting Ledger,Regnskap Ledger,
Accounting journal entries.,Regnskap posteringer.,
Accounts,kontoer,
Accounts Manager,Accounts Manager,
Accounts Payable,Leverandørgjeld,
Accounts Payable Summary,Leverandørgjeld Sammendrag,
Accounts Receivable,Kundefordringer,
Accounts Receivable Summary,Kundefordringer Sammendrag,
Accounts User,Regnskap User,
Accounts table cannot be blank.,Regnskap bordet kan ikke være tomt.,
Accrual Journal Entry for salaries from {0} to {1},Periodiseringstidspunkt Oppføring for lønn fra {0} til {1},
Accumulated Depreciation,akkumulerte avskrivninger,
Accumulated Depreciation Amount,Akkumulerte avskrivninger beløp,
Accumulated Depreciation as on,Akkumulerte avskrivninger som på,
Accumulated Monthly,akkumulert pr måned,
Accumulated Values,Akkumulerte verdier,
Accumulated Values in Group Company,Akkumulerte verdier i konsernselskapet,
Achieved ({}),Oppnådd ({}),
Action,Handling,
Action Initialised,Handling initiert,
Actions,Handlinger,
Active,Aktiv,
Activity Cost exists for Employee {0} against Activity Type - {1},Aktivitet Kostnad finnes for Employee {0} mot Activity Type - {1},
Activity Cost per Employee,Aktivitet Kostnad per Employee,
Activity Type,Aktivitetstype,
Actual Cost,Faktiske kostnader,
Actual Delivery Date,Faktisk leveringsdato,
Actual Qty,Selve Antall,
Actual Qty is mandatory,Selve Antall er obligatorisk,
Actual Qty {0} / Waiting Qty {1},Faktisk antall {0} / Venter antall {1},
Actual Qty: Quantity available in the warehouse.,Faktisk mengde: Mengde tilgjengelig på lageret.,
Actual qty in stock,Faktisk antall på lager,
Actual type tax cannot be included in Item rate in row {0},Faktiske typen skatt kan ikke inkluderes i Element rente i rad {0},
Add,Legg,
Add / Edit Prices,Legg til / rediger priser,
Add All Suppliers,Legg til alle leverandører,
Add Comment,Legg til en kommentar,
Add Customers,Legg til kunder,
Add Employees,Legg Medarbeidere,
Add Item,Legg til element,
Add Items,Legg varer,
Add Leads,Legg til Leads,
Add Multiple Tasks,Legg til flere oppgaver,
Add Row,Legg til rad,
Add Sales Partners,Legg til salgspartnere,
Add Serial No,Legg Serial No,
Add Students,Legg Studenter,
Add Suppliers,Legg til leverandører,
Add Time Slots,Legg til tidsluker,
Add Timesheets,Legg Timelister,
Add Timeslots,Legg til Timeslots,
Add Users to Marketplace,Legg til brukere på markedsplassen,
Add a new address,Legg til en ny adresse,
Add cards or custom sections on homepage,Legg til kort eller tilpassede seksjoner på hjemmesiden,
Add more items or open full form,Legg til flere elementer eller åpne full form,
Add notes,Legg til notater,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Tilsett resten av organisasjonen som brukerne. Du kan også legge invitere kunder til portalen ved å legge dem fra Kontakter,
Add to Details,Legg til detaljer,
Add/Remove Recipients,Legg til / fjern Mottakere,
Added,Lagt,
Added to details,Lagt til detaljer,
Added {0} users,Lagt til {0} brukere,
Additional Salary Component Exists.,Ekstra lønnskomponent eksisterer.,
Address,Adresse,
Address Line 2,Adresselinje 2,
Address Name,Adressenavn,
Address Title,Adresse Tittel,
Address Type,Adressetype,
Administrative Expenses,Administrative utgifter,
Administrative Officer,Administrative Officer,
Administrator,Administrator,
Admission,Adgang,
Admission and Enrollment,Opptak og påmelding,
Admissions for {0},Innleggelser for {0},
Admit,Innrømme,
Admitted,innrømmet,
Advance Amount,Forskuddsbeløp,
Advance Payments,Forskudd,
Advance account currency should be same as company currency {0},Forhåndskonto valuta må være den samme som selskapets valuta {0},
Advance amount cannot be greater than {0} {1},Advance beløpet kan ikke være større enn {0} {1},
Advertising,Annonsering,
Aerospace,Aerospace,
Against,Against,
Against Account,Mot konto,
Against Journal Entry {0} does not have any unmatched {1} entry,Mot Journal Entry {0} har ikke noen enestående {1} oppføring,
Against Journal Entry {0} is already adjusted against some other voucher,Mot Journal Entry {0} er allerede justert mot en annen kupong,
Against Supplier Invoice {0} dated {1},Mot Leverandør Faktura {0} datert {1},
Against Voucher,Mot Voucher,
Against Voucher Type,Mot Voucher Type,
Age,Alder,
Age (Days),Alder (dager),
Ageing Based On,Aldring Based On,
Ageing Range 1,Aldring Range 1,
Ageing Range 2,Aldring Range 2,
Ageing Range 3,Aldring Range 3,
Agriculture,Landbruk,
Agriculture (beta),Jordbruk (beta),
Airline,Flyselskap,
All Accounts,Alle kontoer,
All Addresses.,Alle adresser.,
All Assessment Groups,Alle Assessment grupper,
All BOMs,alle stykklister,
All Contacts.,Alle kontakter.,
All Customer Groups,Alle kundegrupper,
All Day,Hele Dagen,
All Departments,Alle avdelinger,
All Healthcare Service Units,Alle helsevesenetjenestene,
All Item Groups,Alle varegrupper,
All Jobs,Alle jobber,
All Products,Alle produkter,
All Products or Services.,Alle produkter eller tjenester.,
All Student Admissions,Alle Student Opptak,
All Supplier Groups,Alle leverandørgrupper,
All Supplier scorecards.,Alle leverandørens scorecards.,
All Territories,Alle Territories,
All Warehouses,alle Næringslokaler,
All communications including and above this shall be moved into the new Issue,All kommunikasjon inkludert og over dette skal flyttes inn i det nye problemet,
All items have already been transferred for this Work Order.,Alle elementer er allerede overført for denne arbeidsordren.,
All other ITC,Alt annet ITC,
All the mandatory Task for employee creation hasn't been done yet.,Alle de obligatoriske oppgavene for oppretting av ansatte er ikke gjort ennå.,
Allocate Payment Amount,Fordele Betalingsbeløp,
Allocated Amount,Bevilget beløp,
Allocated Leaves,Tildelte blad,
Allocating leaves...,Fordeling av blader ...,
Already record exists for the item {0},Det finnes allerede en post for elementet {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Sett allerede standard i pos profil {0} for bruker {1}, vennligst deaktivert standard",
Alternate Item,Alternativt element,
Alternative item must not be same as item code,Alternativt element må ikke være det samme som varenummer,
Amended From,Endret Fra,
Amount,Beløp,
Amount After Depreciation,Mengde etter avskrivninger,
Amount of Integrated Tax,Beløp på integrert skatt,
Amount of TDS Deducted,Antallet TDS avviklet,
Amount should not be less than zero.,Beløpet skal ikke være mindre enn null.,
Amount to Bill,Beløp til Bill,
Amount {0} {1} against {2} {3},Mengden {0} {1} mot {2} {3},
Amount {0} {1} deducted against {2},Mengden {0} {1} trukket mot {2},
Amount {0} {1} transferred from {2} to {3},Mengden {0} {1} overført fra {2} til {3},
Amount {0} {1} {2} {3},Mengden {0} {1} {2} {3},
Amt,Amt,
"An Item Group exists with same name, please change the item name or rename the item group","En varegruppe eksisterer med samme navn, må du endre elementnavnet eller endre navn varegruppen",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Et semester med denne &#39;Academic Year&#39; {0} og &quot;Term Name {1} finnes allerede. Vennligst endre disse oppføringene og prøv igjen.,
An error occurred during the update process,Det oppsto en feil under oppdateringsprosessen,
"An item exists with same name ({0}), please change the item group name or rename the item","Et element eksisterer med samme navn ({0}), må du endre navn varegruppen eller endre navn på elementet",
Analyst,analytiker,
Analytics,Analytics,
Annual Billing: {0},Årlig Billing: {0},
Annual Salary,Årslønn,
Anonymous,Anonym,
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},En annen budsjettrekord &#39;{0}&#39; eksisterer allerede mot {1} &#39;{2}&#39; og konto &#39;{3}&#39; for regnskapsåret {4},
Another Period Closing Entry {0} has been made after {1},En annen periode Closing Entry {0} har blitt gjort etter {1},
Another Sales Person {0} exists with the same Employee id,En annen Sales Person {0} finnes med samme Employee id,
Antibiotic,Antibiotika,
Apparel & Accessories,Klær og tilbehør,
Applicable For,Aktuelt For,
"Applicable if the company is SpA, SApA or SRL","Gjelder hvis selskapet er SpA, SApA eller SRL",
Applicable if the company is a limited liability company,Gjelder hvis selskapet er et aksjeselskap,
Applicable if the company is an Individual or a Proprietorship,Gjelder hvis selskapet er et individ eller et eierskap,
Applicant,Søker,
Applicant Type,Søker Type,
Application of Funds (Assets),Anvendelse av midler (aktiva),
Application period cannot be across two allocation records,Søknadsperioden kan ikke være over to allokeringsregister,
Application period cannot be outside leave allocation period,Tegningsperioden kan ikke være utenfor permisjon tildeling periode,
Applied,Tatt i bruk,
Apply Now,Søk nå,
Appointment Confirmation,Avtalebekreftelse,
Appointment Duration (mins),Avtale Varighet (min),
Appointment Type,Avtale Type,
Appointment {0} and Sales Invoice {1} cancelled,Avtale {0} og salgsfaktura {1} kansellert,
Appointments and Encounters,Utnevnelser og møter,
Appointments and Patient Encounters,Utnevnelser og pasientmøter,
Appraisal {0} created for Employee {1} in the given date range,Appraisal {0} skapt for Employee {1} i den gitte datointervall,
Apprentice,Lærling,
Approval Status,Godkjenningsstatus,
Approval Status must be 'Approved' or 'Rejected',Godkjenningsstatus må være &quot;Godkjent&quot; eller &quot;Avvist&quot;,
Approve,Vedta,
Approving Role cannot be same as role the rule is Applicable To,Godkjenne Role kan ikke være det samme som rollen regelen gjelder for,
Approving User cannot be same as user the rule is Applicable To,Godkjenne Brukeren kan ikke være det samme som bruker regelen gjelder for,
"Apps using current key won't be able to access, are you sure?","Apper som bruker nåværende nøkkel vil ikke kunne få tilgang til, er du sikker?",
Are you sure you want to cancel this appointment?,Er du sikker på at du vil avbryte denne avtalen?,
Arrear,etterskudd,
As Examiner,Som eksaminator,
As On Date,Som på dato,
As Supervisor,Som veileder,
As per rules 42 & 43 of CGST Rules,I henhold til regel 42 og 43 i CGST-regler,
As per section 17(5),I henhold til avsnitt 17 (5),
As per your assigned Salary Structure you cannot apply for benefits,I henhold til din tildelte lønnsstruktur kan du ikke søke om fordeler,
Assessment,Assessment,
Assessment Criteria,Vurderingskriterier,
Assessment Group,Assessment Group,
Assessment Group: ,Bedømmelsesgruppe:,
Assessment Plan,Assessment Plan,
Assessment Plan Name,Evalueringsplan Navn,
Assessment Report,Vurderingsrapport,
Assessment Reports,Evalueringsrapporter,
Assessment Result,Assessment Resultat,
Assessment Result record {0} already exists.,Vurderingsresultatrekord {0} eksisterer allerede.,
Asset,Asset,
Asset Category,Asset Kategori,
Asset Category is mandatory for Fixed Asset item,Asset Kategori er obligatorisk for Fixed Asset element,
Asset Maintenance,Asset Maintenance,
Asset Movement,Asset Movement,
Asset Movement record {0} created,Asset Movement rekord {0} er opprettet,
Asset Name,Asset Name,
Asset Received But Not Billed,"Asset mottatt, men ikke fakturert",
Asset Value Adjustment,Asset Value Adjustment,
"Asset cannot be cancelled, as it is already {0}","Asset kan ikke avbestilles, som det allerede er {0}",
Asset scrapped via Journal Entry {0},Asset kasserte via bilagsregistrering {0},
"Asset {0} cannot be scrapped, as it is already {1}","Asset {0} kan ikke bli vraket, som det er allerede {1}",
Asset {0} does not belong to company {1},Asset {0} tilhører ikke selskapet {1},
Asset {0} must be submitted,Asset {0} må fremlegges,
Assets,Eiendeler,
Assign,Tildele,
Assign Salary Structure,Tilordne lønnsstruktur,
Assign To,Tildele Å,
Assign to Employees,Tildel til ansatte,
Assigning Structures...,Tildeler strukturer ...,
Associate,Forbinder,
At least one mode of payment is required for POS invoice.,I det minste én modus av betaling er nødvendig for POS faktura.,
Atleast one item should be entered with negative quantity in return document,Atleast ett element bør legges inn med negativt antall i retur dokument,
Atleast one of the Selling or Buying must be selected,Minst én av de selge eller kjøpe må velges,
Atleast one warehouse is mandatory,Minst én lageret er obligatorisk,
Attach Logo,Fest Logo,
Attachment,Vedlegg,
Attachments,vedlegg,
Attendance,Oppmøte,
Attendance From Date and Attendance To Date is mandatory,Oppmøte Fra Dato og oppmøte To Date er obligatorisk,
Attendance can not be marked for future dates,Oppmøte kan ikke merkes for fremtidige datoer,
Attendance date can not be less than employee's joining date,Oppmøte dato kan ikke være mindre enn ansattes bli dato,
Attendance for employee {0} is already marked,Oppmøte for arbeidstaker {0} er allerede merket,
Attendance for employee {0} is already marked for this day,Oppmøte for arbeidstaker {0} er allerede markert for denne dagen,
Attendance has been marked successfully.,Oppmøte er merket med hell.,
Attendance not submitted for {0} as it is a Holiday.,Tilstedeværelse ikke innlevert for {0} som det er en ferie.,
Attendance not submitted for {0} as {1} on leave.,Tilstedeværelse ikke sendt for {0} som {1} på permisjon.,
Attribute table is mandatory,Attributt tabellen er obligatorisk,
Attribute {0} selected multiple times in Attributes Table,Attributtet {0} valgt flere ganger i attributter Table,
Author,Forfatter,
Authorized Signatory,Autorisert signatur,
Auto Material Requests Generated,Auto Materiell Forespørsler Generert,
Auto Repeat,Auto Repeat,
Auto repeat document updated,Automatisk gjentatt dokument oppdatert,
Automotive,Automotive,
Available,Tilgjengelig,
Available Leaves,Tilgjengelige blader,
Available Qty,Tilgjengelig antall,
Available Selling,Tilgjengelig salg,
Available for use date is required,Tilgjengelig for bruk er nødvendig,
Available slots,Tilgjengelige spor,
Available {0},Tilgjengelig {0},
Available-for-use Date should be after purchase date,Tilgjengelig for bruk Dato bør være etter kjøpsdato,
Average Age,Gjennomsnittsalder,
Average Rate,Gjennomsnittlig rente,
Avg Daily Outgoing,Gjennomsnittlig Daily Utgående,
Avg. Buying Price List Rate,Nr. Kjøpe prisliste rate,
Avg. Selling Price List Rate,Nr. Selge prisliste rate,
Avg. Selling Rate,Avg. Salgskurs,
BOM,BOM,
BOM Browser,BOM Nettleser,
BOM No,BOM Nei,
BOM Rate,BOM rate,
BOM Stock Report,BOM aksjerapport,
BOM and Manufacturing Quantity are required,BOM og Industri Antall kreves,
BOM does not contain any stock item,BOM inneholder ikke lagervare,
BOM {0} does not belong to Item {1},BOM {0} tilhører ikke Element {1},
BOM {0} must be active,BOM {0} må være aktiv,
BOM {0} must be submitted,BOM {0} må sendes,
Balance,Balanse,
Balance (Dr - Cr),Balanse (Dr - Cr),
Balance ({0}),Balanse ({0}),
Balance Qty,Balanse Antall,
Balance Sheet,Balanse,
Balance Value,Balanse Verdi,
Balance for Account {0} must always be {1},Balanse for konto {0} må alltid være {1},
Bank,Bank,
Bank Account,Bankkonto,
Bank Accounts,Bankkontoer,
Bank Draft,Bank Draft,
Bank Entries,Bank Entries,
Bank Name,Bank Name,
Bank Overdraft Account,Kassekreditt konto,
Bank Reconciliation,Bankavstemming,
Bank Reconciliation Statement,Bankavstemming Statement,
Bank Statement,Kontoutskrift,
Bank Statement Settings,Innstillingsinnstillinger,
Bank Statement balance as per General Ledger,Kontoutskrift balanse pr hovedbok,
Bank account cannot be named as {0},Bankkonto kan ikke bli navngitt som {0},
Bank/Cash transactions against party or for internal transfer,Bank / kontanter transaksjoner mot part eller for intern overføring,
Banking,Banking,
Banking and Payments,Bank og Betalinger,
Barcode {0} already used in Item {1},Barcode {0} allerede brukt i Element {1},
Barcode {0} is not a valid {1} code,Strekkode {0} er ikke en gyldig {1} kode,
Base,Utgangspunkt,
Base URL,Basisadresse,
Based On,Basert På,
Based On Payment Terms,Basert på betalingsbetingelser,
Basic,Grunnleggende,
Batch,Parti,
Batch Entries,Batch-oppføringer,
Batch ID is mandatory,Batch-ID er obligatorisk,
Batch Inventory,Batch Lager,
Batch Name,batch Name,
Batch No,Batch No,
Batch number is mandatory for Item {0},Batchnummer er obligatorisk for element {0},
Batch {0} of Item {1} has expired.,Batch {0} av Element {1} er utløpt.,
Batch {0} of Item {1} is disabled.,Batch {0} i vare {1} er deaktivert.,
Batch: ,Parti:,
Batches,batcher,
Become a Seller,Bli en selger,
Beginner,Nybegynner,
Bill,Regning,
Bill Date,Bill Dato,
Bill No,Bill Nei,
Bill of Materials,Bill of Materials,
Bill of Materials (BOM),Bill of Materials (BOM),
Billable Hours,Fakturerbare timer,
Billed,fakturert,
Billed Amount,Fakturert beløp,
Billing,Billing,
Billing Address,fakturaadresse,
Billing Address is same as Shipping Address,Faktureringsadresse er den samme som leveringsadresse,
Billing Amount,Faktureringsbeløp,
Billing Status,Billing Status,
Billing currency must be equal to either default company's currency or party account currency,Faktureringsvaluta må være lik enten selskapets valuta- eller partikonto-valuta,
Bills raised by Suppliers.,Regninger oppdratt av leverandører.,
Bills raised to Customers.,Regninger hevet til kundene.,
Biotechnology,bioteknologi,
Birthday Reminder,Bursdag påminnelse,
Black,Svart,
Blanket Orders from Costumers.,Teppe bestillinger fra kunder.,
Block Invoice,Blokker faktura,
Boms,Boms,
Bonus Payment Date cannot be a past date,Bonus Betalingsdato kan ikke være en siste dato,
Both Trial Period Start Date and Trial Period End Date must be set,Begge prøveperiodens startdato og prøveperiodens sluttdato må settes,
Both Warehouse must belong to same Company,Både Warehouse må tilhøre samme selskapet,
Branch,Branch,
Broadcasting,kringkasting,
Brokerage,Brokerage,
Browse BOM,Bla BOM,
Budget Against,budsjett Against,
Budget List,Budsjettliste,
Budget Variance Report,Budsjett Avvik Rapporter,
Budget cannot be assigned against Group Account {0},Budsjettet kan ikke overdras mot gruppekonto {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Budsjettet kan ikke overdras mot {0}, som det er ikke en inntekt eller kostnad konto",
Buildings,bygninger,
Bundle items at time of sale.,Bundle elementer på salgstidspunktet.,
Business Development Manager,Business Development Manager,
Buy,Kjøpe,
Buying,Kjøpe,
Buying Amount,Kjøpe Beløp,
Buying Price List,Kjøpe prisliste,
Buying Rate,Kjøpspris,
"Buying must be checked, if Applicable For is selected as {0}","Kjøper må sjekkes, hvis dette gjelder for er valgt som {0}",
By {0},Av {0},
Bypass credit check at Sales Order ,Bypass kreditt sjekk på salgsordre,
C-Form records,C-Form poster,
C-form is not applicable for Invoice: {0},C-skjemaet er ikke aktuelt for faktura: {0},
CEO,administrerende direktør,
CESS Amount,CESS-beløp,
CGST Amount,CGST beløp,
CRM,CRM,
CWIP Account,CWIP-konto,
Calculated Bank Statement balance,Beregnet kontoutskrift balanse,
Calls,samtaler,
Campaign,Kampanje,
Can be approved by {0},Kan godkjennes av {0},
"Can not filter based on Account, if grouped by Account","Kan ikke filtrere basert på Konto, hvis gruppert etter Konto",
"Can not filter based on Voucher No, if grouped by Voucher","Kan ikke filtrere basert på Voucher Nei, hvis gruppert etter Voucher",
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Kan ikke markere Inpatient Record Discharged, det er Unbilled Fakturaer {0}",
Can only make payment against unbilled {0},Kan bare gjøre betaling mot fakturert {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Kan referere rad bare hvis belastningen typen er &#39;On Forrige Row beløp &quot;eller&quot; Forrige Row Totals,
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Kan ikke endre verdsettelsesmetoden, da det er transaksjoner mot enkelte poster som ikke har egen verdsettelsesmetode",
Can't create standard criteria. Please rename the criteria,Kan ikke opprette standard kriterier. Vennligst gi nytt navn til kriteriene,
Cancel,Avbryt,
Cancel Material Visit {0} before cancelling this Warranty Claim,Avbryt Material Besøk {0} før den avbryter denne garantikrav,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Avbryt Material Besøk {0} før den sletter denne Maintenance Visit,
Cancel Subscription,Avbestille abonnementet,
Cancel the journal entry {0} first,Avbryt journalinngangen {0} først,
Canceled,avbrutt,
"Cannot Submit, Employees left to mark attendance","Kan ikke sende inn, Ansatte igjen for å markere fremmøte",
Cannot be a fixed asset item as Stock Ledger is created.,Kan ikke være en fast eiendelsobjekt når lagerboksen er opprettet.,
Cannot cancel because submitted Stock Entry {0} exists,Kan ikke avbryte fordi innsendt Stock Entry {0} finnes,
Cannot cancel transaction for Completed Work Order.,Kan ikke avbryte transaksjonen for fullført arbeidsordre.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Kan ikke kansellere {0} {1} fordi serienummer {2} ikke tilhører lageret {3},
Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Kan ikke endre Attributter etter aksje transaksjon. Lag en ny vare og overfør lager til den nye varen,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Kan ikke endre regnskapsåret Startdato og regnskapsår sluttdato når regnskapsåret er lagret.,
Cannot change Service Stop Date for item in row {0},Kan ikke endre Service Stop Date for element i rad {0},
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Kan ikke endre Variant egenskaper etter aksje transaksjon. Du må lage en ny gjenstand for å gjøre dette.,
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Kan ikke endre selskapets standardvaluta, fordi det er eksisterende transaksjoner. Transaksjoner må avbestilles å endre valgt valuta.",
Cannot change status as student {0} is linked with student application {1},Kan ikke endre status som student {0} er knyttet til studentens søknad {1},
Cannot convert Cost Center to ledger as it has child nodes,Kan ikke konvertere kostnadssted til hovedbok som den har barnet noder,
Cannot covert to Group because Account Type is selected.,Kan ikke covert til konsernet fordi Kontotype er valgt.,
Cannot create Retention Bonus for left Employees,Kan ikke opprette Beholdningsbonus for venstre Ansatte,
Cannot create a Delivery Trip from Draft documents.,Kan ikke opprette en leveringstur fra utkast til dokumenter.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,Kan ikke deaktivere eller kansellere BOM som det er forbundet med andre stykklister,
"Cannot declare as lost, because Quotation has been made.","Kan ikke erklære som tapt, fordi tilbudet er gjort.",
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Kan ikke trekke når kategorien er for verdsetting &quot;eller&quot; Verdsettelse og Totals,
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Kan ikke trekke når kategorien er for verdsetting &#39;eller&#39; Vaulation og Total &#39;,
"Cannot delete Serial No {0}, as it is used in stock transactions","Kan ikke slette Serial No {0}, slik det brukes i aksjetransaksjoner",
Cannot enroll more than {0} students for this student group.,Kan ikke registrere mer enn {0} studentene på denne studentgruppen.,
Cannot find Item with this barcode,Kan ikke finne elementet med denne strekkoden,
Cannot find active Leave Period,Kan ikke finne aktiv permisjonstid,
Cannot produce more Item {0} than Sales Order quantity {1},Kan ikke produsere mer Element {0} enn Salgsordre kvantitet {1},
Cannot promote Employee with status Left,Kan ikke markedsføre Medarbeider med status til venstre,
Cannot refer row number greater than or equal to current row number for this Charge type,Kan ikke se rad tall større enn eller lik gjeldende rad nummer for denne debiteringstype,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Kan ikke velge charge type som &#39;On Forrige Row beløp &quot;eller&quot; On Forrige Row Totals for første rad,
Cannot set a received RFQ to No Quote,Kan ikke angi en mottatt RFQ til No Quote,
Cannot set as Lost as Sales Order is made.,Kan ikke settes som tapt som Salgsordre er gjort.,
Cannot set authorization on basis of Discount for {0},Kan ikke sette autorisasjon på grunnlag av Rabatt for {0},
Cannot set multiple Item Defaults for a company.,Kan ikke angi flere standardinnstillinger for et selskap.,
Cannot set quantity less than delivered quantity,Kan ikke angi mengde mindre enn levert antall,
Cannot set quantity less than received quantity,Kan ikke angi mengde mindre enn mottatt antall,
Cannot set the field <b>{0}</b> for copying in variants,Kan ikke angi feltet <b>{0}</b> for kopiering i varianter,
Cannot transfer Employee with status Left,Kan ikke overføre medarbeider med status til venstre,
Cannot {0} {1} {2} without any negative outstanding invoice,Kan ikke {0} {1} {2} uten noen negativ utestående faktura,
Capital Equipments,Capital Equipments,
Capital Stock,Kapitalbeholdningen,
Capital Work in Progress,Kapitalarbeid pågår,
Cart,kurven,
Cart is Empty,Handlevognen er tom,
Case No(s) already in use. Try from Case No {0},Tilfellet Nei (e) allerede er i bruk. Prøv fra sak nr {0},
Cash,Kontanter,
Cash Flow Statement,Kontantstrømoppstilling,
Cash Flow from Financing,Kontantstrøm fra finansierings,
Cash Flow from Investing,Kontantstrøm fra investerings,
Cash Flow from Operations,Kontantstrøm fra driften,
Cash In Hand,Kontanter,
Cash or Bank Account is mandatory for making payment entry,Kontanter eller bankkontoen er obligatorisk for å gjøre betaling oppføring,
Cashier Closing,Cashier Closing,
Casual Leave,Casual La,
Category,Kategori,
Category Name,Category Name,
Caution,Forsiktighet,
Central Tax,Sentralskatt,
Certification,sertifisering,
Cess,Cess,
Change Amount,endring Beløp,
Change Item Code,Endre varenummer,
Change Release Date,Endre utgivelsesdato,
Change Template Code,Endre malkode,
Changing Customer Group for the selected Customer is not allowed.,Endring av kundegruppe for den valgte kunden er ikke tillatt.,
Chapter,Kapittel,
Chapter information.,Kapittelinformasjon.,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Charge of type &#39;Actual&#39; i rad {0} kan ikke inkluderes i Element Ranger,
Chargeble,chargeble,
Charges are updated in Purchase Receipt against each item,Kostnader er oppdatert i Purchase Mottak mot hvert element,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Kostnader vil bli fordelt forholdsmessig basert på element stk eller beløp, som per ditt valg",
Chart of Cost Centers,Plan Kostnadssteder,
Check all,Sjekk alt,
Checkout,Sjekk ut,
Chemical,Kjemisk,
Cheque,Cheque,
Cheque/Reference No,Sjekk / referansenummer,
Cheques Required,Sjekker påkrevd,
Cheques and Deposits incorrectly cleared,Sjekker og Innskudd feil ryddet,
Child Task exists for this Task. You can not delete this Task.,Barneoppgave eksisterer for denne oppgaven. Du kan ikke slette denne oppgaven.,
Child nodes can be only created under 'Group' type nodes,Ordnede noder kan bare opprettes under &#39;Gruppe&#39; type noder,
Child warehouse exists for this warehouse. You can not delete this warehouse.,Barn lager finnes for dette lageret. Du kan ikke slette dette lageret.,
Circular Reference Error,Rundskriv Reference Error,
City,By,
City/Town,Sted / by,
Claimed Amount,Påkrevd beløp,
Clay,Leire,
Clear filters,Fjern filtre,
Clear values,Tydelige verdier,
Clearance Date,Klaring Dato,
Clearance Date not mentioned,Klaring Dato ikke nevnt,
Clearance Date updated,Lagersalg oppdatert,
Client,Client,
Client ID,Klient-ID,
Client Secret,Klientshemmelighet,
Clinical Procedure,Klinisk prosedyre,
Clinical Procedure Template,Klinisk Prosedyre Mal,
Close Balance Sheet and book Profit or Loss.,Lukk Balanse og bok resultatet.,
Close Loan,Lukk Lån,
Close the POS,Lukk POS,
Closed,Stengt,
Closed order cannot be cancelled. Unclose to cancel.,Stengt for kan ikke avbestilles. Unclose å avbryte.,
Closing (Cr),Lukking (Cr),
Closing (Dr),Lukking (Dr),
Closing (Opening + Total),Avslutning (Åpning + Totalt),
Closing Account {0} must be of type Liability / Equity,Lukke konto {0} må være av typen Ansvar / Egenkapital,
Closing Balance,Utgående balanse,
Code,Kode,
Collapse All,Skjul alle,
Color,Farge,
Colour,Farge,
Combined invoice portion must equal 100%,Kombinert fakturaport må være 100%,
Commercial,Commercial,
Commission,Kommisjon,
Commission Rate %,Kommisjon Rate%,
Commission on Sales,Provisjon på salg,
Commission rate cannot be greater than 100,Kommisjon kan ikke være større enn 100,
Community Forum,Community Forum,
Company (not Customer or Supplier) master.,Company (ikke kunde eller leverandør) mester.,
Company Abbreviation,Firma Forkortelse,
Company Abbreviation cannot have more than 5 characters,Selskapets forkortelse kan ikke inneholde mer enn 5 tegn,
Company Name,Selskapsnavn,
Company Name cannot be Company,Firmanavn kan ikke være selskap,
Company currencies of both the companies should match for Inter Company Transactions.,Bedriftsvalutaer for begge selskapene bør samsvare for Inter Company Transactions.,
Company is manadatory for company account,Selskapet er manadatory for selskapskonto,
Company name not same,Firmanavn ikke det samme,
Company {0} does not exist,Selskapet {0} finnes ikke,
Compensatory Off,Kompenserende Off,
Compensatory leave request days not in valid holidays,Kompensasjonsorlov forespørselsdager ikke i gyldige helligdager,
Complaint,Klage,
Completion Date,Ferdigstillelse Dato,
Computer,Datamaskin,
Condition,Tilstand,
Configure,Konfigurer,
Configure {0},Konfigurer {0},
Confirmed orders from Customers.,Bekreftede bestillinger fra kunder.,
Connect Amazon with ERPNext,Koble Amazon med ERPNext,
Connect Shopify with ERPNext,Koble Shopify med ERPNext,
Connect to Quickbooks,Koble til Quickbooks,
Connected to QuickBooks,Koblet til QuickBooks,
Connecting to QuickBooks,Koble til QuickBooks,
Consultation,Konsultasjon,
Consultations,konsultasjoner,
Consulting,Consulting,
Consumable,Konsum,
Consumed,forbrukes,
Consumed Amount,Forbrukes Beløp,
Consumed Qty,Forbrukes Antall,
Consumer Products,Forbrukerprodukter,
Contact,Kontakt,
Contact Details,Kontaktinformasjon,
Contact Number,Kontakt nummer,
Contact Us,Kontakt oss,
Content,Innhold,
Content Masters,Innholdsmestere,
Content Type,Innholdstype,
Continue Configuration,Fortsett konfigurasjonen,
Contract,Kontrakts,
Contract End Date must be greater than Date of Joining,Kontraktssluttdato må være større enn tidspunktet for inntreden,
Contribution %,Bidrag%,
Contribution Amount,Bidrag Beløp,
Conversion factor for default Unit of Measure must be 1 in row {0},Omregningsfaktor for standard Enhet må være en i rad {0},
Conversion rate cannot be 0 or 1,Konverteringsfrekvens kan ikke være 0 eller 1,
Convert to Group,Konverter til konsernet,
Convert to Non-Group,Konverter til ikke-konsernet,
Cosmetics,kosmetikk,
Cost Center,Kostnadssted,
Cost Center Number,Cost Center Number,
Cost Center and Budgeting,Kostnadssenter og budsjettering,
Cost Center is required in row {0} in Taxes table for type {1},Kostnadssted er nødvendig i rad {0} i skatter tabell for typen {1},
Cost Center with existing transactions can not be converted to group,Kostnadssted med eksisterende transaksjoner kan ikke konverteres til gruppen,
Cost Center with existing transactions can not be converted to ledger,Kostnadssted med eksisterende transaksjoner kan ikke konverteres til Ledger,
Cost Centers,Kostnadssteder,
Cost Updated,Kostnad oppdatert,
Cost as on,Koste så på,
Cost of Delivered Items,Kostnad for leverte varer,
Cost of Goods Sold,Varekostnad,
Cost of Issued Items,Cost of Utstedte Items,
Cost of New Purchase,Kostnad for nye kjøp,
Cost of Purchased Items,Kostnad for kjøpte varer,
Cost of Scrapped Asset,Kostnad for kasserte Asset,
Cost of Sold Asset,Cost of Selges Asset,
Cost of various activities,Kostnad for ulike aktiviteter,
"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Kunne ikke opprette kredittnota automatisk, vennligst fjern merket for &quot;Utsted kredittnota&quot; og send igjen",
Could not generate Secret,Kunne ikke generere hemmelig,
Could not retrieve information for {0}.,Kunne ikke hente informasjon for {0}.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,Kunne ikke løse kriterier score funksjon for {0}. Pass på at formelen er gyldig.,
Could not solve weighted score function. Make sure the formula is valid.,Kunne ikke løse vektet poengsumfunksjon. Pass på at formelen er gyldig.,
Could not submit some Salary Slips,Kunne ikke sende inn noen Lønnsslipp,
"Could not update stock, invoice contains drop shipping item.","Kunne ikke oppdatere lager, inneholder faktura slippe frakt element.",
Country wise default Address Templates,Country klok standardadresse Maler,
Course,Kurs,
Course Code: ,Bankkode:,
Course Enrollment {0} does not exists,Kursoppmelding {0} eksisterer ikke,
Course Schedule,Kursplan,
Course: ,Kurs:,
Cr,Cr,
Create,Skape,
Create BOM,Lag BOM,
Create Delivery Trip,Lag leveringstur,
Create Disbursement Entry,Opprett Utbetalingsoppføring,
Create Employee,Opprette ansatt,
Create Employee Records,Lag Medarbeider Records,
"Create Employee records to manage leaves, expense claims and payroll","Lag personalregistre for å håndtere blader, refusjonskrav og lønn",
Create Fee Schedule,Lag avgiftsplan,
Create Fees,Opprett gebyrer,
Create Inter Company Journal Entry,Opprett Inter Company Journal Entry,
Create Invoice,Opprett faktura,
Create Invoices,Lag fakturaer,
Create Job Card,Lag jobbkort,
Create Journal Entry,Opprett journaloppføring,
Create Lead,Lag bly,
Create Leads,Lag Leads,
Create Maintenance Visit,Opprett vedlikeholdsbesøk,
Create Material Request,Lag materiell forespørsel,
Create Multiple,Lag flere,
Create Opening Sales and Purchase Invoices,Lag åpnings- og kjøpsfakturaer,
Create Payment Entries,Opprett betalingsoppføringer,
Create Payment Entry,Opprett betalingsoppføring,
Create Print Format,Opprett Print Format,
Create Purchase Order,Opprett innkjøpsordre,
Create Purchase Orders,Opprette innkjøpsordrer,
Create Quotation,Lag sitat,
Create Salary Slip,Lag Lønn Slip,
Create Salary Slips,Opprett lønnsslipp,
Create Sales Invoice,Lag salgsfaktura,
Create Sales Order,Opprett salgsordre,
Create Sales Orders to help you plan your work and deliver on-time,Opprett salgsordrer som hjelper deg med å planlegge arbeidet ditt og levere til rett tid,
Create Sample Retention Stock Entry,Opprett eksempellagring,
Create Student,Lag student,
Create Student Batch,Lag studentgruppe,
Create Student Groups,Opprett studentgrupper,
Create Supplier Quotation,Lag leverandotilbud,
Create Tax Template,Lag skattemaler,
Create Timesheet,Lag timeliste,
Create User,Opprett bruker,
Create Users,Lag brukere,
Create Variant,Opprett variant,
Create Variants,Lag Varianter,
"Create and manage daily, weekly and monthly email digests.","Opprette og administrere daglige, ukentlige og månedlige e-postfordøyer.",
Create customer quotes,Opprett kunde sitater,
Create rules to restrict transactions based on values.,Lage regler for å begrense transaksjoner basert på verdier.,
Created By,Laget Av,
Created {0} scorecards for {1} between: ,Lagde {0} scorecards for {1} mellom:,
Creating Company and Importing Chart of Accounts,Opprette selskap og importere kontoplan,
Creating Fees,Opprette avgifter,
Creating Payment Entries......,Opprette betalingsoppføringer ......,
Creating Salary Slips...,Opprette lønnsslipp ...,
Creating student groups,Opprette studentgrupper,
Creating {0} Invoice,Opprette {0} faktura,
Credit,Credit,
Credit ({0}),Kreditt ({0}),
Credit Account,Credit konto,
Credit Balance,Credit Balance,
Credit Card,Kredittkort,
Credit Days cannot be a negative number,Kredittdager kan ikke være et negativt nummer,
Credit Limit,Kredittgrense,
Credit Note,Kreditnota,
Credit Note Amount,Kreditt Note Beløp,
Credit Note Issued,Kreditnota Utstedt,
Credit Note {0} has been created automatically,Kreditt notat {0} er opprettet automatisk,
Credit limit has been crossed for customer {0} ({1}/{2}),Kredittgrensen er krysset for kunden {0} ({1} / {2}),
Creditors,kreditorer,
Criteria weights must add up to 100%,Kriterievekter må legge opp til 100%,
Crop Cycle,Beskjæringssyklus,
Crops & Lands,Crops &amp; Lands,
Currency Exchange must be applicable for Buying or for Selling.,Valutaveksling må gjelde for kjøp eller salg.,
Currency can not be changed after making entries using some other currency,Valuta kan ikke endres etter at oppføringer ved hjelp av en annen valuta,
Currency exchange rate master.,Valutakursen mester.,
Currency for {0} must be {1},Valuta for {0} må være {1},
Currency is required for Price List {0},Valuta er nødvendig for Prisliste {0},
Currency of the Closing Account must be {0},Valuta ifølge kursen konto må være {0},
Currency of the price list {0} must be {1} or {2},Valuta på prislisten {0} må være {1} eller {2},
Currency should be same as Price List Currency: {0},Valuta bør være den samme som Prisliste Valuta: {0},
Current,Nåværende,
Current Assets,Omløpsmidler,
Current BOM and New BOM can not be same,Nåværende BOM og New BOM kan ikke være det samme,
Current Job Openings,Nåværende jobb Åpninger,
Current Liabilities,Kortsiktig gjeld,
Current Qty,Nåværende antall,
Current invoice {0} is missing,Nåværende faktura {0} mangler,
Custom HTML,Custom HTML,
Custom?,Custom?,
Customer,Kunde,
Customer Addresses And Contacts,Kunde Adresser og kontakter,
Customer Contact,Kundekontakt,
Customer Database.,Kundedatabase.,
Customer Group,Kundegruppe,
Customer LPO,Kunde LPO,
Customer LPO No.,Kunde LPO nr.,
Customer Name,Kundenavn,
Customer POS Id,Kundens POS-ID,
Customer Service,Kundeservice,
Customer and Supplier,Kunde og leverandør,
Customer is required,Kunden må,
Customer isn't enrolled in any Loyalty Program,Kunden er ikke innskrevet i noe lojalitetsprogram,
Customer required for 'Customerwise Discount',Kunden nødvendig for &#39;Customerwise Discount&#39;,
Customer {0} does not belong to project {1},Kunden {0} ikke hører til prosjektet {1},
Customer {0} is created.,Kunden {0} er opprettet.,
Customers in Queue,Kunder i kø,
Customize Homepage Sections,Tilpass hjemmesideseksjoner,
Customizing Forms,Tilpasse Forms,
Daily Project Summary for {0},Daglig prosjektoppsummering for {0},
Daily Reminders,Daglige påminnelser,
Daily Work Summary,Daglig arbeid Oppsummering,
Daily Work Summary Group,Daglig arbeidsoppsummeringsgruppe,
Data Import and Export,Data import og eksport,
Data Import and Settings,Dataimport og innstillinger,
Database of potential customers.,Database med potensielle kunder.,
Date Format,Datoformat,
Date Of Retirement must be greater than Date of Joining,Pensjoneringstidspunktet må være større enn tidspunktet for inntreden,
Date is repeated,Dato gjentas,
Date of Birth,Fødselsdato,
Date of Birth cannot be greater than today.,Fødselsdato kan ikke være større enn i dag.,
Date of Commencement should be greater than Date of Incorporation,Oppstartsdato bør være større enn dato for innlemmelse,
Date of Joining,Dato for Delta,
Date of Joining must be greater than Date of Birth,Dato Bli må være større enn fødselsdato,
Date of Transaction,Dato for transaksjon,
Datetime,Datetime,
Day,Dag,
Debit,debet,
Debit ({0}),Debet ({0}),
Debit A/C Number,Debet A / C-nummer,
Debit Account,Debet konto,
Debit Note,Debitnota,
Debit Note Amount,Debet Note Beløp,
Debit Note Issued,Debitnota Utstedt,
Debit To is required,Debet Å kreves,
Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debet- og kredittkort ikke lik for {0} # {1}. Forskjellen er {2}.,
Debtors,skyldnere,
Debtors ({0}),Skyldnere ({0}),
Declare Lost,Erklære tapt,
Deduction,Fradrag,
Default Activity Cost exists for Activity Type - {0},Standard Aktivitet Kostnad finnes for Aktivitetstype - {0},
Default BOM ({0}) must be active for this item or its template,Standard BOM ({0}) må være aktiv for denne varen eller dens mal,
Default BOM for {0} not found,Standard BOM for {0} ikke funnet,
Default BOM not found for Item {0} and Project {1},Standard BOM ikke funnet for element {0} og prosjekt {1},
Default Letter Head,Standard Brevhode,
Default Tax Template,Standardskattemall,
Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,Standard Enhet for Element {0} kan ikke endres direkte fordi du allerede har gjort noen transaksjon (er) med en annen målenheter. Du må opprette et nytt element for å bruke et annet standardmålenheter.,
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Standard Enhet for Variant {0} må være samme som i malen {1},
Default settings for buying transactions.,Standardinnstillingene for å kjøpe transaksjoner.,
Default settings for selling transactions.,Standardinnstillingene for salg transaksjoner.,
Default tax templates for sales and purchase are created.,Standard skattemaler for salg og kjøp opprettes.,
Defaults,Mislighold,
Defense,Forsvars,
Define Project type.,Definer prosjekttype.,
Define budget for a financial year.,Definer budsjett for et regnskapsår.,
Define various loan types,Definere ulike typer lån,
Del,del,
Delay in payment (Days),Forsinket betaling (dager),
Delete all the Transactions for this Company,Slett alle transaksjoner for dette selskapet,
Deletion is not permitted for country {0},Sletting er ikke tillatt for land {0},
Delivered,Levert,
Delivered Amount,Leveres beløp,
Delivered Qty,Leveres Antall,
Delivered: {0},Levering: {0},
Delivery,Levering,
Delivery Date,Leveringsdato,
Delivery Note,Levering Note,
Delivery Note {0} is not submitted,Levering Note {0} er ikke innsendt,
Delivery Note {0} must not be submitted,Levering Note {0} må ikke sendes inn,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Levering Merknader {0} må avbestilles før den avbryter denne salgsordre,
Delivery Notes {0} updated,Leveringsnotater {0} oppdatert,
Delivery Status,Levering Status,
Delivery Trip,Leveringsreise,
Delivery warehouse required for stock item {0},Levering lager nødvendig for lagervare {0},
Department,Avdeling,
Department Stores,Varehus,
Depreciation,avskrivninger,
Depreciation Amount,avskrivninger Beløp,
Depreciation Amount during the period,Avskrivningsbeløpet i perioden,
Depreciation Date,avskrivninger Dato,
Depreciation Eliminated due to disposal of assets,Avskrivninger Slått på grunn av salg av eiendeler,
Depreciation Entry,avskrivninger Entry,
Depreciation Method,Avskrivningsmetode,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Avskrivningsrute {0}: Avskrivnings startdato er oppgitt som siste dato,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Avskrivningsraden {0}: Forventet verdi etter brukstid må være større enn eller lik {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Avskrivningsraden {0}: Neste avskrivningsdato kan ikke være før Tilgjengelig-til-bruk-dato,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Avskrivningsraden {0}: Neste avskrivningsdato kan ikke være før kjøpsdato,
Designer,Designer,
Detailed Reason,Detaljert grunn,
Details,Detaljer,
Details of Outward Supplies and inward supplies liable to reverse charge,Detaljer om levering og levering av varer som kan tilbakeføres,
Details of the operations carried out.,Detaljene for operasjonen utføres.,
Diagnosis,Diagnose,
Did not find any item called {0},Fant ikke noe element som heter {0},
Diff Qty,Diff Antall,
Difference Account,Forskjellen konto,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Forskjellen konto må være en eiendel / forpliktelse type konto, siden dette Stock Forsoning er en åpning Entry",
Difference Amount,Forskjellen Beløp,
Difference Amount must be zero,Forskjellen Beløpet må være null,
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.,Ulik målenheter for elementer vil føre til feil (Total) Netto vekt verdi. Sørg for at nettovekt av hvert element er i samme målenheter.,
Direct Expenses,Direkte kostnader,
Direct Income,Direkte inntekt,
Disable,Deaktiver,
Disabled template must not be default template,Funksjonshemmede malen må ikke være standardmal,
Disburse Loan,Utbetalingslån,
Disbursed,utbetalt,
Disc,Plate,
Discharge,Utslipp,
Discount,Rabatt,
Discount Percentage can be applied either against a Price List or for all Price List.,Rabattprosenten kan brukes enten mot en prisliste eller for alle Prisliste.,
Discount must be less than 100,Rabatt må være mindre enn 100,
Diseases & Fertilizers,Sykdommer og gjødsel,
Dispatch,Dispatch,
Dispatch Notification,Forsendelsesvarsling,
Dispatch State,Forsendelsesstat,
Distance,Avstand,
Distribution,Distribusjon,
Distributor,distributør,
Dividends Paid,Utbytte betalt,
Do you really want to restore this scrapped asset?,Har du virkelig ønsker å gjenopprette dette skrotet ressurs?,
Do you really want to scrap this asset?,Har du virkelig ønsker å hugge denne eiendelen?,
Do you want to notify all the customers by email?,Vil du varsle alle kundene via e-post?,
Doc Date,Dok Dato,
Doc Name,Doc Name,
Doc Type,Doc Type,
Docs Search,Doksøk,
Document Name,Dokumentnavn,
Document Status,Dokumentstatus,
Document Type,Document Type,
Domain,Domene,
Domains,Domener,
Done,Ferdig,
Donor,donor,
Donor Type information.,Donor Type informasjon.,
Donor information.,Donorinformasjon.,
Download JSON,Last ned JSON,
Draft,utkast,
Drop Ship,Drop Ship,
Drug,Legemiddel,
Due / Reference Date cannot be after {0},Due / Reference Datoen kan ikke være etter {0},
Due Date cannot be before Posting / Supplier Invoice Date,Forfallsdato kan ikke være før utsendelse / leverandørfakturadato,
Due Date is mandatory,Due Date er obligatorisk,
Duplicate Entry. Please check Authorization Rule {0},Duplisere Entry. Vennligst sjekk Authorization Rule {0},
Duplicate Serial No entered for Item {0},Duplisere serie Ingen kom inn for Element {0},
Duplicate customer group found in the cutomer group table,Duplicate kundegruppen funnet i cutomer gruppetabellen,
Duplicate entry,Duplicate entry,
Duplicate item group found in the item group table,Duplicate varegruppe funnet i varegruppen bordet,
Duplicate roll number for student {0},Dupliseringsnummer for student {0},
Duplicate row {0} with same {1},Duplicate rad {0} med samme {1},
Duplicate {0} found in the table,Dupliser {0} funnet i tabellen,
Duration in Days,Varighet i dager,
Duties and Taxes,Skatter og avgifter,
E-Invoicing Information Missing,Informasjon om fakturering mangler,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,ERPNeste innstillinger,
Earliest,tidligste,
Earnest Money,Earnest Penger,
Earning,tjene,
Edit,Redigere,
Edit Publishing Details,Rediger publiseringsdetaljer,
"Edit in full page for more options like assets, serial nos, batches etc.","Rediger på full side for flere alternativer som eiendeler, serienummer, batcher etc.",
Education,utdanning,
Either location or employee must be required,Enten plassering eller ansatt må være påkrevd,
Either target qty or target amount is mandatory,Enten målet stk eller mål beløpet er obligatorisk,
Either target qty or target amount is mandatory.,Enten målet stk eller mål beløpet er obligatorisk.,
Electrical,Elektrisk,
Electronic Equipments,Elektronisk utstyr,
Electronics,Elektronikk,
Eligible ITC,Kvalifisert ITC,
Email Account,E-postkonto,
Email Address,Epostadresse,
"Email Address must be unique, already exists for {0}","E-post adresse må være unikt, allerede eksisterer for {0}",
Email Digest: ,E-post Digest:,
Email Reminders will be sent to all parties with email contacts,E-mail påminnelser vil bli sendt til alle parter med e-postkontakter,
Email Sent,E-post sendt,
Email Template,E-postskjema,
Email not found in default contact,E-post ikke funnet i standardkontakt,
Email sent to {0},E-post sendt til {0},
Employee,Ansatt,
Employee A/C Number,Ansattes A / C-nummer,
Employee Advances,Ansattes fremskritt,
Employee Benefits,Ytelser til ansatte,
Employee Grade,Ansatte grad,
Employee ID,Ansatt ID,
Employee Lifecycle,Ansattes livssyklus,
Employee Name,Ansattes Navn,
Employee Promotion cannot be submitted before Promotion Date ,Medarbeideropprykk kan ikke sendes før Kampanjedato,
Employee Referral,Ansatt henvisning,
Employee Transfer cannot be submitted before Transfer Date ,Ansatteoverføring kan ikke sendes før overføringsdato,
Employee cannot report to himself.,Arbeidstaker kan ikke rapportere til seg selv.,
Employee relieved on {0} must be set as 'Left',Ansatt lettet på {0} må være angitt som &quot;venstre&quot;,
Employee status cannot be set to 'Left' as following employees are currently reporting to this employee:&nbsp;,Ansattestatus kan ikke settes til &#39;Venstre&#39; ettersom følgende ansatte for tiden rapporterer til denne ansatte:,
Employee {0} already submited an apllication {1} for the payroll period {2},Ansatt {0} har allerede sendt inn en påmelding {1} for lønnsperioden {2},
Employee {0} has already applied for {1} between {2} and {3} : ,Ansatt {0} har allerede søkt om {1} mellom {2} og {3}:,
Employee {0} has no maximum benefit amount,Medarbeider {0} har ingen maksimal ytelsesbeløp,
Employee {0} is not active or does not exist,Ansatt {0} er ikke aktiv eller ikke eksisterer,
Employee {0} is on Leave on {1},Ansatt {0} er på permisjon på {1},
Employee {0} of grade {1} have no default leave policy,Medarbeider {0} av klasse {1} har ingen standard permisjon,
Employee {0} on Half day on {1},Employee {0} på halv dag {1},
Enable,Aktiver,
Enable / disable currencies.,Aktivere / deaktivere valutaer.,
Enabled,Aktivert,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Aktivering av «Bruk for handlekurven&quot;, som Handlevogn er aktivert, og det bør være minst en skatteregel for Handlekurv",
End Date,Sluttdato,
End Date can not be less than Start Date,Sluttdato kan ikke være mindre enn startdato,
End Date cannot be before Start Date.,Sluttdato kan ikke være før startdato.,
End Year,slutt År,
End Year cannot be before Start Year,Slutt År kan ikke være før start År,
End on,Slutt på,
End time cannot be before start time,Sluttid kan ikke være før starttid,
Ends On date cannot be before Next Contact Date.,Slutter på dato kan ikke være før neste kontakt dato.,
Energy,Energy,
Engineer,Ingeniør,
Enough Parts to Build,Nok Deler bygge,
Enroll,Registrere,
Enrolling student,påmelding student,
Enrolling students,Registrering av studenter,
Enter depreciation details,Skriv inn avskrivningsdetaljer,
Enter the Bank Guarantee Number before submittting.,Oppgi bankgarantienummeret før du sender inn.,
Enter the name of the Beneficiary before submittting.,Skriv inn mottakerens navn før du sender inn.,
Enter the name of the bank or lending institution before submittting.,Skriv inn navnet på banken eller låneinstitusjonen før du sender inn.,
Enter value betweeen {0} and {1},Angi verdien mellom {0} og {1},
Entertainment & Leisure,Entertainment &amp; Leisure,
Entertainment Expenses,Underholdning Utgifter,
Equity,Egenkapital,
Error Log,feil~~POS=TRUNC,
Error evaluating the criteria formula,Feil ved vurdering av kriterieformelen,
Error in formula or condition: {0},Feil i formel eller betingelse: {0},
Error: Not a valid id?,Feil: Ikke en gyldig id?,
Estimated Cost,anslått pris,
Evaluation,evaluering,
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Selv om det er flere Prising regler med høyest prioritet, deretter følgende interne prioriteringer til grunn:",
Event,Hendelses,
Event Location,Hendelsessted,
Event Name,Aktivitetsnavn,
Exchange Gain/Loss,Valutagevinst / tap,
Exchange Rate Revaluation master.,Valutakursvurderingsmester.,
Exchange Rate must be same as {0} {1} ({2}),Exchange Rate må være samme som {0} {1} ({2}),
Excise Invoice,Vesenet Faktura,
Execution,Execution,
Executive Search,Executive Search,
Expand All,Utvid alle,
Expected Delivery Date,Forventet Leveringsdato,
Expected Delivery Date should be after Sales Order Date,Forventet leveringsdato bør være etter salgsordre,
Expected End Date,Forventet sluttdato,
Expected Hrs,Forventet tid,
Expected Start Date,Tiltredelse,
Expense,Expense,
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Expense / Difference konto ({0}) må være en &quot;resultatet&quot; konto,
Expense Account,Expense konto,
Expense Claim,Expense krav,
Expense Claim for Vehicle Log {0},Expense krav for Vehicle Logg {0},
Expense Claim {0} already exists for the Vehicle Log,Expense krav {0} finnes allerede for Vehicle Log,
Expense Claims,Regninger,
Expense account is mandatory for item {0},Utgiftskonto er obligatorisk for elementet {0},
Expenses,utgifter,
Expenses Included In Asset Valuation,Utgifter inkludert i eiendelvurdering,
Expenses Included In Valuation,Kostnader som inngår i verdivurderings,
Expired Batches,Utløpte partier,
Expires On,Går ut på dato den,
Expiring On,Utløper på,
Expiry (In Days),Utløps (i dager),
Explore,Utforske,
Export E-Invoices,Eksporter e-fakturaer,
Extra Large,Extra large,
Extra Small,Extra Small,
Fail,fail,
Failed,Mislyktes,
Failed to create website,Kunne ikke opprette nettside,
Failed to install presets,Kunne ikke installere forhåndsinnstillinger,
Failed to login,Kunne ikke logge inn,
Failed to setup company,Kunne ikke opprette selskapet,
Failed to setup defaults,Kunne ikke konfigurere standardverdiene,
Failed to setup post company fixtures,Kunne ikke opprette postvirksomhetsarmaturer,
Fax,Fax,
Fee,Avgift,
Fee Created,Avgift er opprettet,
Fee Creation Failed,Fee Creation mislyktes,
Fee Creation Pending,Avgiftskapasitet venter,
Fee Records Created - {0},Fee Records Laget - {0},
Feedback,Tilbakemelding,
Fees,avgifter,
Female,Kvinne,
Fetch Data,Hent data,
Fetch Subscription Updates,Hent abonnementsoppdateringer,
Fetch exploded BOM (including sub-assemblies),Hente eksploderte BOM (inkludert underenheter),
Fetching records......,Henter poster ......,
Field Name,Feltnavn,
Fieldname,Feltnavn,
Fields,Felt,
Fill the form and save it,Fyll ut skjemaet og lagre det,
Filter Employees By (Optional),Filtrer ansatte etter (Valgfritt),
"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filterfelt Rad # {0}: Feltnavn <b>{1}</b> må være av typen &quot;Link&quot; eller &quot;Tabell MultiSelect&quot;,
Filter Total Zero Qty,Filter totalt null antall,
Finance Book,Finansbok,
Financial / accounting year.,Finansiell / regnskap år.,
Financial Services,Finansielle tjenester,
Financial Statements,Årsregnskap,
Financial Year,Regnskapsår,
Finish,Bli ferdig,
Finished Good,Ferdig bra,
Finished Good Item Code,Ferdig god varekode,
Finished Goods,Ferdigvarer,
Finished Item {0} must be entered for Manufacture type entry,Ferdig Element {0} må angis for Produksjon typen oppføring,
Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Ferdig produktmengde <b>{0}</b> og For kvantitet <b>{1}</b> kan ikke være annerledes,
First Name,Fornavn,
"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}",Finanspolitikk er obligatorisk. Angi skatteregime i selskapet {0},
Fiscal Year,Regnskapsår,
Fiscal Year End Date should be one year after Fiscal Year Start Date,Regnskapsårets sluttdato skal være ett år etter regnskapsårets startdato,
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Regnskapsår Startdato og regnskapsår sluttdato er allerede satt i regnskapsåret {0},
Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Startdato for regnskapsår bør være ett år tidligere enn sluttdato for regnskapsår,
Fiscal Year {0} does not exist,Regnskapsåret {0} finnes ikke,
Fiscal Year {0} is required,Regnskapsår {0} er nødvendig,
Fiscal Year {0} not found,Regnskapsåret {0} ikke funnet,
Fixed Asset,Fast Asset,
Fixed Asset Item must be a non-stock item.,Fast Asset varen må være et ikke-lagervare.,
Fixed Assets,Anleggsmidler,
Following Material Requests have been raised automatically based on Item's re-order level,Følgende materiale Requests har vært reist automatisk basert på element re-order nivå,
Following accounts might be selected in GST Settings:,Følgende kontoer kan velges i GST-innstillinger:,
Following course schedules were created,Følgende kursplaner ble opprettet,
Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Følgende element {0} er ikke merket som {1} element. Du kan aktivere dem som {1} -objekt fra elementmasteren,
Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Følgende elementer {0} er ikke merket som {1} element. Du kan aktivere dem som {1} -objekt fra elementmasteren,
Food,Mat,
"Food, Beverage & Tobacco","Mat, drikke og tobakk",
For,Til,
"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","For &#39;Produkt Bundle&#39; elementer, Warehouse, serienummer og Batch Ingen vil bli vurdert fra &quot;Pakkeliste&quot; bord. Hvis Warehouse og Batch Ingen er lik for alle pakking elementer for noen &quot;Product Bundle &#39;elementet, kan disse verdiene legges inn i hoved Sak bordet, vil verdiene bli kopiert til&quot; Pakkeliste &quot;bord.",
For Employee,For Employee,
For Quantity (Manufactured Qty) is mandatory,For Mengde (Produsert Stk) er obligatorisk,
For Supplier,For Leverandør,
For Warehouse,For Warehouse,
For Warehouse is required before Submit,For Warehouse er nødvendig før Send,
"For an item {0}, quantity must be negative number",For et element {0} må mengden være negativt tall,
"For an item {0}, quantity must be positive number",For et element {0} må mengden være positivt tall,
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry",For jobbkort {0} kan du bare oppgi type &#39;Material Transfer for Manufacture&#39;,
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","For rad {0} i {1}. For å inkludere {2} i Element rate, rader {3} må også inkluderes",
For row {0}: Enter Planned Qty,For rad {0}: Skriv inn Planlagt antall,
"For {0}, only credit accounts can be linked against another debit entry",For {0} kan bare kredittkontoer kobles mot en annen belastning oppføring,
"For {0}, only debit accounts can be linked against another credit entry",For {0} kan bare belastning kontoer knyttes opp mot en annen kreditt oppføring,
Form View,Formvisning,
Forum Activity,Forumaktivitet,
Free item code is not selected,Gratis varekode er ikke valgt,
Freight and Forwarding Charges,Spedisjons- og Kostnader,
Frequency,Hyppighet,
Friday,Fredag,
From,Fra,
From Address 1,Fra adresse 1,
From Address 2,Fra adresse 2,
From Currency and To Currency cannot be same,Fra valuta og til valuta kan ikke være det samme,
From Date and To Date lie in different Fiscal Year,Fra dato og dato ligger i ulike regnskapsår,
From Date cannot be greater than To Date,Fra dato ikke kan være større enn To Date,
From Date must be before To Date,Fra dato må være før til dato,
From Date should be within the Fiscal Year. Assuming From Date = {0},Fra dato bør være innenfor regnskapsåret. Antar Fra Date = {0},
From Date {0} cannot be after employee's relieving Date {1},Fra dato {0} kan ikke være etter ansattes avlastningsdato {1},
From Date {0} cannot be before employee's joining Date {1},Fra dato {0} kan ikke være før ansattes tilmeldingsdato {1},
From Datetime,Fra Datetime,
From Delivery Note,Fra følgeseddel,
From Fiscal Year,Fra regnskapsåret,
From GSTIN,Fra GSTIN,
From Party Name,Fra Festnavn,
From Pin Code,Fra Pin Code,
From Place,Fra Sted,
From Range has to be less than To Range,Fra Range må være mindre enn til kolleksjonen,
From State,Fra stat,
From Time,Fra Time,
From Time Should Be Less Than To Time,Fra tiden burde være mindre enn til tid,
From Time cannot be greater than To Time.,Fra tid kan ikke være større enn til annen.,
"From a supplier under composition scheme, Exempt and Nil rated",Fra en leverandør under komposisjonsordning vurderte Exempt og Nil,
From and To dates required,Fra og Til dato kreves,
From date can not be less than employee's joining date,Fra datoen kan ikke være mindre enn ansattes tilmeldingsdato,
From value must be less than to value in row {0},Fra verdien må være mindre enn til verdien i rad {0},
From {0} | {1} {2},Fra {0} | {1} {2},
Fuel Price,Fuel Pris,
Fuel Qty,Drivstoff Antall,
Fulfillment,Oppfyllelse,
Full,Full,
Full Name,Fullt Navn,
Full-time,Fulltid,
Fully Depreciated,Fullt avskrevet,
Furnitures and Fixtures,Møbler og inventar,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Ytterligere kontoer kan gjøres under grupper, men oppføringene kan gjøres mot ikke-grupper",
Further cost centers can be made under Groups but entries can be made against non-Groups,Ytterligere kostnadsbærere kan gjøres under Grupper men oppføringene kan gjøres mot ikke-grupper,
Further nodes can be only created under 'Group' type nodes,Ytterligere noder kan bare skapt under &#39;Gruppe&#39; type noder,
Future dates not allowed,Fremtidige datoer ikke tillatt,
GSTIN,GSTIN,
GSTR3B-Form,GSTR3B-Form,
Gain/Loss on Asset Disposal,Gevinst / Tap på Asset Avhending,
Gantt Chart,Gantt,
Gantt chart of all tasks.,Gantt diagram av alle oppgaver.,
Gender,Kjønn,
General,Generelt,
General Ledger,General Ledger,
Generate Material Requests (MRP) and Work Orders.,Generere materialforespørsler (MRP) og arbeidsordre.,
Generate Secret,Generer hemmelighet,
Get Details From Declaration,Få detaljer fra erklæringen,
Get Employees,Få ansatte,
Get Invocies,Få påbud,
Get Invoices,Få fakturaer,
Get Invoices based on Filters,Få fakturaer basert på filtre,
Get Items from BOM,Få elementer fra BOM,
Get Items from Healthcare Services,Få elementer fra helsetjenester,
Get Items from Prescriptions,Få varer fra resepter,
Get Items from Product Bundle,Få Elementer fra Produkt Bundle,
Get Suppliers,Få leverandører,
Get Suppliers By,Få leverandører av,
Get Updates,Få oppdateringer,
Get customers from,Få kunder fra,
Get from Patient Encounter,Få fra Patient Encounter,
Getting Started,Starter,
GitHub Sync ID,GitHub Sync ID,
Global settings for all manufacturing processes.,Globale innstillinger for alle produksjonsprosesser.,
Go to the Desktop and start using ERPNext,Gå til skrivebordet og begynne å bruke ERPNext,
GoCardless SEPA Mandate,GoCardless SEPA Mandat,
GoCardless payment gateway settings,GoCardless betalings gateway innstillinger,
Goal and Procedure,Mål og prosedyre,
Goals cannot be empty,Mål kan ikke være tomt,
Goods In Transit,Varer i transitt,
Goods Transferred,Varer overført,
Goods and Services Tax (GST India),Varer og tjenester skatt (GST India),
Goods are already received against the outward entry {0},Varer er allerede mottatt mot utmeldingen {0},
Government,Regjeringen,
Grand Total,Grand Total,
Grant,Stipend,
Grant Application,Grant søknad,
Grant Leaves,Grant Leaves,
Grant information.,Gi informasjon.,
Grocery,dagligvare,
Gross Pay,Brutto lønn,
Gross Profit,Bruttofortjeneste,
Gross Profit %,Bruttofortjeneste%,
Gross Profit / Loss,Brutto gevinst / tap,
Gross Purchase Amount,Bruttobeløpet,
Gross Purchase Amount is mandatory,Bruttobeløpet er obligatorisk,
Group by Account,Grupper etter Account,
Group by Party,Gruppe etter parti,
Group by Voucher,Grupper etter Voucher,
Group by Voucher (Consolidated),Gruppe av voucher (konsoliderte),
Group node warehouse is not allowed to select for transactions,Gruppe node lageret er ikke lov til å velge for transaksjoner,
Group to Non-Group,Gruppe til Non-gruppe,
Group your students in batches,Gruppe elevene i grupper,
Groups,grupper,
Guardian1 Email ID,Guardian1 Email ID,
Guardian1 Mobile No,Guardian1 Mobile No,
Guardian1 Name,Guardian1 Name,
Guardian2 Email ID,Guardian2 Email ID,
Guardian2 Mobile No,Guardian2 Mobile No,
Guardian2 Name,Guardian2 Name,
Guest,Gjest,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Day,Halv Dag,
Half Day Date is mandatory,Halvdagsdato er obligatorisk,
Half Day Date should be between From Date and To Date,Half Day Date bør være mellom Fra dato og Til dato,
Half Day Date should be in between Work From Date and Work End Date,Halvdagsdato bør være mellom arbeid fra dato og arbeidsdato,
Half Yearly,Halvårlig,
Half day date should be in between from date and to date,Halvdagsdagen bør være mellom dato og dato,
Half-Yearly,Halvårs,
Hardware,Hardware,
Head of Marketing and Sales,Head of Marketing and Sales,
Health Care,Helsevesen,
Healthcare,Helsetjenester,
Healthcare (beta),Helsevesenet (beta),
Healthcare Practitioner,Helsepersonell,
Healthcare Practitioner not available on {0},Helsepersonell er ikke tilgjengelig på {0},
Healthcare Practitioner {0} not available on {1},Helsepersonell {0} er ikke tilgjengelig på {1},
Healthcare Service Unit,Helsevesenethet,
Healthcare Service Unit Tree,Healthcare Service Unit Tree,
Healthcare Service Unit Type,Helsesektorenhetstype,
Healthcare Services,Helsetjenester,
Healthcare Settings,Helseinstitusjoner,
Hello,Hallo,
Help Results for,Hjelpresultater for,
High,Høy,
High Sensitivity,Høy følsomhet,
Hold,Hold,
Hold Invoice,Hold faktura,
Holiday,ferie,
Holiday List,Holiday List,
Hotel Rooms of type {0} are unavailable on {1},Hotellrom av typen {0} er utilgjengelig på {1},
Hotels,hoteller,
Hourly,Hver time,
Hours,timer,
House rent paid days overlapping with {0},Husleie betalte dager som er overlappende med {0},
House rented dates required for exemption calculation,Husleide datoer som kreves for beregning av unntak,
House rented dates should be atleast 15 days apart,Husleide datoer skal være minst 15 dager fra hverandre,
How Pricing Rule is applied?,Hvordan Pricing Rule er brukt?,
Hub Category,Hub Kategori,
Hub Sync ID,Hub Sync ID,
Human Resource,Menneskelig Resurs,
Human Resources,Menneskelige ressurser,
IFSC Code,IFSC-kode,
IGST Amount,IGST Beløp,
IP Address,IP adresse,
ITC Available (whether in full op part),ITC tilgjengelig (om fullstendig del),
ITC Reversed,ITC omvendt,
Identifying Decision Makers,Identifisere beslutningstakere,
"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Hvis Auto Opt In er merket, blir kundene automatisk koblet til det berørte lojalitetsprogrammet (ved lagring)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Hvis flere Pris Regler fortsette å råde, blir brukerne bedt om å sette Priority manuelt for å løse konflikten.",
"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Hvis valgt prismodell er laget for «Rate», vil den overskrive Prisliste. Prissetting Regelsats er sluttprisen, så ingen ytterligere rabatt skal brukes. Derfor, i transaksjoner som salgsordre, innkjøpsordre osv., Blir det hentet i feltet &#39;Rate&#39;, i stedet for &#39;Prislistefrekvens&#39;.",
"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Hvis to eller flere Prising Reglene er funnet basert på de ovennevnte forhold, er Priority brukt. Prioritet er et tall mellom 0 og 20, mens standardverdi er null (blank). Høyere tall betyr at det vil ha forrang dersom det er flere Prising regler med samme betingelser.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Hvis ubegrenset utløper for lojalitetspoengene, hold utløpsvarigheten tom eller 0.",
"If you have any questions, please get back to us.","Hvis du har spørsmål, kan du komme tilbake til oss.",
Ignore Existing Ordered Qty,Ignorer eksisterende rekkefølge,
Image,Bilde,
Image View,Bilde Vis,
Import Data,Importer data,
Import Day Book Data,Importer data fra dagbok,
Import Log,Import Logg,
Import Master Data,Importer stamdata,
Import in Bulk,Import i bulk,
Import of goods,Import av varer,
Import of services,Import av tjenester,
Importing Items and UOMs,Importere elementer og UOM-er,
Importing Parties and Addresses,Importere parter og adresser,
In Maintenance,Ved vedlikehold,
In Production,I produksjon,
In Qty,I antall,
In Stock Qty,På lager Antall,
In Stock: ,På lager:,
In Value,I verdi,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","Når det gjelder flerlagsprogram, vil kundene automatisk bli tilordnet den aktuelle delen som brukt",
Inactive,inaktiv,
Incentives,Motivasjon,
Include Default Book Entries,Inkluder standardbokoppføringer,
Include Exploded Items,Inkluder eksploderte elementer,
Include POS Transactions,Inkluder POS-transaksjoner,
Include UOM,Inkluder UOM,
Included in Gross Profit,Inkludert i brutto fortjeneste,
Income,Inntekt,
Income Account,Inntekt konto,
Income Tax,Inntektsskatt,
Incoming,innkommende,
Incoming Rate,Innkommende Rate,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Feil antall hovedbok Entries funnet. Du kan ha valgt feil konto i transaksjonen.,
Increment cannot be 0,Tilveksten kan ikke være 0,
Increment for Attribute {0} cannot be 0,Økning for egenskap {0} kan ikke være 0,
Indirect Expenses,Indirekte kostnader,
Indirect Income,Indirekte inntekt,
Individual,Individuell,
Ineligible ITC,Ikke-kvalifisert ITC,
Initiated,Initiert,
Inpatient Record,Inpatient Record,
Insert,Sett,
Installation Note,Installasjon Merk,
Installation Note {0} has already been submitted,Installasjon Merk {0} har allerede blitt sendt,
Installation date cannot be before delivery date for Item {0},Installasjonsdato kan ikke være før leveringsdato for element {0},
Installing presets,Installere forhåndsinnstillinger,
Institute Abbreviation,Institute forkortelse,
Institute Name,Institute Name,
Instructor,Instruktør,
Insufficient Stock,utilstrekkelig Stock,
Insurance Start date should be less than Insurance End date,Forsikring Startdatoen må være mindre enn Forsikring Sluttdato,
Integrated Tax,Integrert skatt,
Inter-State Supplies,Mellomstatlige forsyninger,
Interest Amount,rente~~POS=TRUNC,
Interests,Interesser,
Intern,Intern,
Internet Publishing,Internett Publisering,
Intra-State Supplies,Innenstatlige forsyninger,
Introduction,Introduksjon,
Invalid Attribute,Ugyldig Egenskap,
Invalid Blanket Order for the selected Customer and Item,Ugyldig ordreordre for den valgte kunden og varen,
Invalid Company for Inter Company Transaction.,Ugyldig selskap for transaksjoner mellom selskaper.,
Invalid GSTIN! A GSTIN must have 15 characters.,Ugyldig GSTIN! En GSTIN må ha 15 tegn.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Ugyldig GSTIN! De to første sifrene i GSTIN skal samsvare med statenummer {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,Ugyldig GSTIN! Innspillet du har skrevet stemmer ikke overens med formatet til GSTIN.,
Invalid Posting Time,Ugyldig innleggstid,
Invalid attribute {0} {1},Ugyldig egenskap {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Ugyldig kvantum spesifisert for elementet {0}. Antall må være større enn 0.,
Invalid reference {0} {1},Ugyldig referanse {0} {1},
Invalid {0},Ugyldig {0},
Invalid {0} for Inter Company Transaction.,Ugyldig {0} for transaksjoner mellom selskaper.,
Invalid {0}: {1},Ugyldig {0}: {1},
Inventory,Inventar,
Investment Banking,Investment Banking,
Investments,investeringer,
Invoice,Faktura,
Invoice Created,Faktura er opprettet,
Invoice Discounting,Fakturabat,
Invoice Patient Registration,Faktura Pasientregistrering,
Invoice Posting Date,Faktura Publiseringsdato,
Invoice Type,Faktura Type,
Invoice already created for all billing hours,Faktura som allerede er opprettet for alle faktureringstimer,
Invoice can't be made for zero billing hour,Fakturaen kan ikke gjøres for null faktureringstid,
Invoice {0} no longer exists,Faktura {0} eksisterer ikke lenger,
Invoiced,fakturert,
Invoiced Amount,Fakturert beløp,
Invoices,fakturaer,
Invoices for Costumers.,Fakturaer for kunder.,
Inward supplies from ISD,Innleveringer fra ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),Inngående leveranser som kan tilbakeføres (annet enn 1 og 2 ovenfor),
Is Active,Er Aktiv,
Is Default,Er standard,
Is Existing Asset,Er Eksisterende Asset,
Is Frozen,Er Frozen,
Is Group,Is Gruppe,
Issue,Problem,
Issue Material,Issue Material,
Issued,Utstedt,
Issues,Problemer,
It is needed to fetch Item Details.,Det er nødvendig å hente Element detaljer.,
Item,Sak,
Item 1,Sak 1,
Item 2,Sak 2,
Item 3,Sak 3,
Item 4,Sak 4,
Item 5,Sak 5,
Item Cart,Sak Handlekurv,
Item Code,Sak Kode,
Item Code cannot be changed for Serial No.,Elementkode kan ikke endres for Serial No.,
Item Code required at Row No {0},Elementkode kreves ved Row Nei {0},
Item Description,Element Beskrivelse,
Item Group,Varegruppe,
Item Group Tree,Varegruppe treet,
Item Group not mentioned in item master for item {0},Varegruppe ikke nevnt i punkt master for elementet {0},
Item Name,Gjenstandsnavn,
Item Price added for {0} in Price List {1},Varen Pris lagt for {0} i Prisliste {1},
"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Varepris vises flere ganger basert på prisliste, leverandør / kunde, valuta, varenummer, uom, antall og datoer.",
Item Price updated for {0} in Price List {1},Sak Pris oppdateres for {0} i prislisten {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Vare Row {0}: {1} {2} finnes ikke i tabellen ovenfor {1},
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Sak Skatte Rad {0} må ha konto for type skatt eller inntekt eller kostnad eller Charge,
Item Template,Artikkelmal,
Item Variant Settings,Variantinnstillinger,
Item Variant {0} already exists with same attributes,Sak Variant {0} finnes allerede med samme attributtene,
Item Variants,Element Varianter,
Item Variants updated,Varevariasjoner oppdatert,
Item has variants.,Elementet har varianter.,
Item must be added using 'Get Items from Purchase Receipts' button,Elementet må legges til med &quot;Get Elementer fra innkjøps Receipts &#39;knappen,
Item valuation rate is recalculated considering landed cost voucher amount,Sak verdivurdering rente beregnes på nytt vurderer inntakskost kupong beløp,
Item variant {0} exists with same attributes,Sak variant {0} finnes med samme attributtene,
Item {0} does not exist,Element {0} finnes ikke,
Item {0} does not exist in the system or has expired,Element {0} finnes ikke i systemet eller er utløpt,
Item {0} has already been returned,Element {0} er allerede returnert,
Item {0} has been disabled,Element {0} har blitt deaktivert,
Item {0} has reached its end of life on {1},Element {0} har nådd slutten av livet på {1},
Item {0} ignored since it is not a stock item,Element {0} ignorert siden det ikke er en lagervare,
"Item {0} is a template, please select one of its variants","Element {0} er en mal, kan du velge en av variantene",
Item {0} is cancelled,Element {0} er kansellert,
Item {0} is disabled,Element {0} er deaktivert,
Item {0} is not a serialized Item,Element {0} er ikke en serie Element,
Item {0} is not a stock Item,Element {0} er ikke en lagervare,
Item {0} is not active or end of life has been reached,Element {0} er ikke aktiv eller slutten av livet er nådd,
Item {0} is not setup for Serial Nos. Check Item master,Element {0} er ikke oppsett for Serial Nos. Sjekk Element mester,
Item {0} is not setup for Serial Nos. Column must be blank,Element {0} er ikke oppsett for Serial Nos. Kolonne må være tomt,
Item {0} must be a Fixed Asset Item,Element {0} må være et driftsmiddel element,
Item {0} must be a Sub-contracted Item,Elementet {0} må være en underleverandør Element,
Item {0} must be a non-stock item,Element {0} må være et ikke-lagervare,
Item {0} must be a stock Item,Elementet {0} må være en lagervare,
Item {0} not found,Element {0} ikke funnet,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Element {0} ble ikke funnet i &#39;Råvare Leveres&#39; bord i innkjøpsordre {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Element {0}: Bestilte qty {1} kan ikke være mindre enn minimum ordreantall {2} (definert i punkt).,
Item: {0} does not exist in the system,Sak: {0} finnes ikke i systemet,
Items,elementer,
Items Filter,Elementer Filter,
Items and Pricing,Elementer og priser,
Items for Raw Material Request,Varer for råstoffforespørsel,
Job Card,Jobbkort,
Job Description,Stillingsbeskrivelse,
Job Offer,Jobbtilbud,
Job card {0} created,Jobbkort {0} opprettet,
Jobs,Jobs,
Join,Bli med,
Journal Entries {0} are un-linked,Journal Entries {0} er un-linked,
Journal Entry,Journal entry,
Journal Entry {0} does not have account {1} or already matched against other voucher,Journal Entry {0} ikke har konto {1} eller allerede matchet mot andre verdikupong,
Kanban Board,Kanban Board,
Key Reports,Nøkkelrapporter,
LMS Activity,LMS-aktivitet,
Lab Test,Lab Test,
Lab Test Report,Lab Test Report,
Lab Test Sample,Lab Test prøve,
Lab Test Template,Lab Test Template,
Lab Test UOM,Lab Test UOM,
Lab Tests and Vital Signs,Lab Tests og Vital Signs,
Lab result datetime cannot be before testing datetime,Lab-resultat datetime kan ikke være før testing av datetime,
Lab testing datetime cannot be before collection datetime,Labtesting datetime kan ikke være før datetime samling,
Label,Etiketten,
Laboratory,Laboratorium,
Language Name,språk Name,
Large,Stor,
Last Communication,Siste kommunikasjon,
Last Communication Date,Siste kommunikasjonsdato,
Last Name,Etternavn,
Last Order Amount,Siste ordrebeløp,
Last Order Date,Siste Order Date,
Last Purchase Price,Siste innkjøpspris,
Last Purchase Rate,Siste Purchase Rate,
Latest,Siste,
Latest price updated in all BOMs,Siste pris oppdatert i alle BOMs,
Lead,Lead,
Lead Count,Lead Count,
Lead Owner,Lead Eier,
Lead Owner cannot be same as the Lead,Bly Eier kan ikke være det samme som Lead,
Lead Time Days,Ledetid Days,
Lead to Quotation,Føre til prisanslag,
"Leads help you get business, add all your contacts and more as your leads","Leads hjelpe deg å få virksomheten, legge til alle dine kontakter og mer som dine potensielle kunder",
Learn,Lære,
Leave Approval Notification,Legg igjen godkjenningsvarsling,
Leave Blocked,La Blokkert,
Leave Encashment,La Encashment,
Leave Management,La Ledelse,
Leave Status Notification,Oppgi statusmelding,
Leave Type,La Type,
Leave Type is madatory,Forlat Type er madatory,
Leave Type {0} cannot be allocated since it is leave without pay,La Type {0} kan ikke tildeles siden det er permisjon uten lønn,
Leave Type {0} cannot be carry-forwarded,La Type {0} kan ikke bære-videre,
Leave Type {0} is not encashable,Forlatype {0} er ikke innrykkbar,
Leave Without Pay,Dager uten lønn,
Leave and Attendance,La og oppmøte,
Leave application {0} already exists against the student {1},Forlat søknad {0} eksisterer allerede mot studenten {1},
"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Permisjon kan ikke tildeles før {0}, som permisjon balanse har allerede vært carry-sendt i fremtiden permisjon tildeling posten {1}",
"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","La ikke kan brukes / kansellert før {0}, som permisjon balanse har allerede vært carry-sendt i fremtiden permisjon tildeling posten {1}",
Leave of type {0} cannot be longer than {1},Permisjon av typen {0} kan ikke være lengre enn {1},
Leave the field empty to make purchase orders for all suppliers,La feltet være tomt for å foreta bestillinger for alle leverandører,
Leaves,blader,
Leaves Allocated Successfully for {0},Etterlater Avsatt Vellykket for {0},
Leaves has been granted sucessfully,Blader har blitt gitt suksessivt,
Leaves must be allocated in multiples of 0.5,"Bladene skal avsettes i multipler av 0,5",
Leaves per Year,Later per år,
Ledger,Ledger,
Legal,Juridisk,
Legal Expenses,Rettshjelp,
Letter Head,Brevhode,
Letter Heads for print templates.,Brevark for utskriftsmaler.,
Level,Nivå,
Liability,Ansvar,
License,Tillatelse,
Lifecycle,Livssyklus,
Limit,Grense,
Limit Crossed,Limit Krysset,
Link to Material Request,Link til materialforespørsel,
List of all share transactions,Liste over alle aksje transaksjoner,
List of available Shareholders with folio numbers,Liste over tilgjengelige Aksjonærer med folio nummer,
Loading Payment System,Laster inn betalingssystem,
Loan,Låne,
Loan Amount cannot exceed Maximum Loan Amount of {0},Lånebeløp kan ikke overstige maksimalt lånebeløp på {0},
Loan Application,Lånesøknad,
Loan Management,Lånestyring,
Loan Repayment,lån tilbakebetaling,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Lånets startdato og låneperiode er obligatorisk for å lagre fakturabatten,
Loans (Liabilities),Lån (gjeld),
Loans and Advances (Assets),Utlån (Eiendeler),
Local,lokal,
Log,Logg,
Logs for maintaining sms delivery status,Logger for å opprettholde sms leveringsstatus,
Lost,Mistet,
Lost Reasons,Tapte grunner,
Low,Lav,
Low Sensitivity,Lav følsomhet,
Lower Income,Lavere inntekt,
Loyalty Amount,Lojalitetsbeløp,
Loyalty Point Entry,Lojalitetspoenginngang,
Loyalty Points,Lojalitetspoeng,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Lojalitetspoeng beregnes ut fra den brukte ferdige (via salgsfakturaen), basert på innsamlingsfaktor som er nevnt.",
Loyalty Points: {0},Lojalitetspoeng: {0},
Loyalty Program,Lojalitetsprogram,
Main,Hoved,
Maintenance,Vedlikehold,
Maintenance Log,Vedlikeholdslogg,
Maintenance Manager,Vedlikeholdsbehandling,
Maintenance Schedule,Vedlikeholdsplan,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Vedlikeholdsplan genereres ikke for alle elementene. Vennligst klikk på &quot;Generer Schedule &#39;,
Maintenance Schedule {0} exists against {1},Vedlikeholdsplan {0} eksisterer mot {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Vedlikeholdsplan {0} må avbestilles før den avbryter denne salgsordre,
Maintenance Status has to be Cancelled or Completed to Submit,Vedlikeholdsstatus må avbrytes eller fullføres for å sende inn,
Maintenance User,Vedlikehold Bruker,
Maintenance Visit,Vedlikehold Visit,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Vedlikehold Besøk {0} må avbestilles før den avbryter denne salgsordre,
Maintenance start date can not be before delivery date for Serial No {0},Vedlikehold startdato kan ikke være før leveringsdato for Serial No {0},
Make,Gjøre,
Make Payment,Utføre betaling,
Make project from a template.,Lag prosjekt fra en mal.,
Making Stock Entries,Making Stock Entries,
Male,Mann,
Manage Customer Group Tree.,Administrere kunde Gruppe treet.,
Manage Sales Partners.,Administrer Salgs Partners.,
Manage Sales Person Tree.,Administrer Sales Person treet.,
Manage Territory Tree.,Administrer Territory treet.,
Manage your orders,Administrere dine bestillinger,
Management,Ledelse,
Manager,Manager,
Managing Projects,Managing Projects,
Managing Subcontracting,Administrerende Underleverandører,
Mandatory,Obligatorisk,
Mandatory field - Academic Year,Obligatorisk felt - akademisk år,
Mandatory field - Get Students From,Obligatorisk felt - Få studenter fra,
Mandatory field - Program,Obligatorisk felt - Program,
Manufacture,Produksjon,
Manufacturer,Produsent,
Manufacturer Part Number,Produsentens varenummer,
Manufacturing,Manufacturing,
Manufacturing Quantity is mandatory,Manufacturing Antall er obligatorisk,
Mapping,Kartlegging,
Mapping Type,Mapping Type,
Mark Absent,Mark Fraværende,
Mark Attendance,Mark Attendance,
Mark Half Day,Mark Half Day,
Mark Present,Mark Present,
Marketing,markedsføring,
Marketing Expenses,Markedsføringskostnader,
Marketplace,Marketplace,
Marketplace Error,Markedsplassfeil,
Masters,Masters,
Match Payments with Invoices,Match Betalinger med Fakturaer,
Match non-linked Invoices and Payments.,Matche ikke bundet fakturaer og betalinger.,
Material,Materiale,
Material Consumption,Materialforbruk,
Material Consumption is not set in Manufacturing Settings.,Materialforbruk er ikke angitt i produksjonsinnstillinger.,
Material Receipt,Materialet Kvittering,
Material Request,Materialet Request,
Material Request Date,Materiale Request Dato,
Material Request No,Materialet Request Ingen,
"Material Request not created, as quantity for Raw Materials already available.","Materialforespørsel ikke opprettet, som mengde for råvarer allerede tilgjengelig.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Materialet Request av maksimal {0} kan gjøres for Element {1} mot Salgsordre {2},
Material Request to Purchase Order,Materialet Request til innkjøpsordre,
Material Request {0} is cancelled or stopped,Materialet Request {0} blir kansellert eller stoppet,
Material Request {0} submitted.,Materiell forespørsel {0} sendt.,
Material Transfer,Material Transfer,
Material Transferred,Materiale overført,
Material to Supplier,Materiale til Leverandør,
Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Maks unntaksbeløp kan ikke være større enn maksimalt unntaksbeløp {0} av avgiftsfritakskategori {1},
Max benefits should be greater than zero to dispense benefits,Maksimale fordeler bør være større enn null for å gi fordeler,
Max discount allowed for item: {0} is {1}%,Maks rabatt tillatt for element: {0} er {1}%,
Max: {0},Max: {0},
Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Maksimale prøver - {0} kan beholdes for Batch {1} og Item {2}.,
Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Maksimale prøver - {0} har allerede blitt beholdt for Batch {1} og Item {2} i Batch {3}.,
Maximum amount eligible for the component {0} exceeds {1},Maksimumsbeløp som er kvalifisert for komponenten {0} overstiger {1},
Maximum benefit amount of component {0} exceeds {1},Maksimal ytelsesbeløp for komponent {0} overstiger {1},
Maximum benefit amount of employee {0} exceeds {1},Maksimal ytelsesbeløp for ansatt {0} overstiger {1},
Maximum discount for Item {0} is {1}%,Maksimum rabatt for element {0} er {1}%,
Maximum leave allowed in the leave type {0} is {1},Maksimum permisjon tillatt i permisjonstypen {0} er {1},
Medical,Medisinsk,
Medical Code,Medisinsk kode,
Medical Code Standard,Medisinskode Standard,
Medical Department,Medisinsk avdeling,
Medical Record,Pasientjournal,
Medium,Medium,
Meeting,Møte,
Member Activity,Medlemsaktivitet,
Member ID,Medlem ID,
Member Name,Medlemsnavn,
Member information.,Medlemsinformasjon.,
Membership,Medlemskap,
Membership Details,Medlemskapsdetaljer,
Membership ID,Medlemskaps-ID,
Membership Type,Medlemskapstype,
Memebership Details,Memebership Detaljer,
Memebership Type Details,Memebership Type Detaljer,
Merge,Slå sammen,
Merge Account,Slå sammen konto,
Merge with Existing Account,Slå sammen med eksisterende konto,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Sammenslåing er bare mulig hvis følgende egenskaper er samme i begge postene. Er Group, Root Type, Company",
Message Examples,Meldings Eksempler,
Message Sent,Melding sendt,
Method,Metode,
Middle Income,Middle Income,
Middle Name,Mellomnavn,
Middle Name (Optional),Middle Name (valgfritt),
Min Amt can not be greater than Max Amt,Min Amt kan ikke være større enn Max Amt,
Min Qty can not be greater than Max Qty,Min Antall kan ikke være større enn Max Antall,
Minimum Lead Age (Days),Minimum levealder (dager),
Miscellaneous Expenses,Diverse utgifter,
Missing Currency Exchange Rates for {0},Mangler valutakurser for {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Manglende e-postmal for sending. Vennligst sett inn en i Leveringsinnstillinger.,
"Missing value for Password, API Key or Shopify URL","Manglende verdi for Password, API Key eller Shopify URL",
Mode of Payment,Betalingsmåte,
Mode of Payments,Betalingsmåte,
Mode of Transport,Transportmiddel,
Mode of Transportation,Transportform,
Mode of payment is required to make a payment,Modus for betaling er nødvendig å foreta en betaling,
Model,Modell,
Moderate Sensitivity,Moderat følsomhet,
Monday,Mandag,
Monthly,Månedlig,
Monthly Distribution,Månedlig Distribution,
Monthly Repayment Amount cannot be greater than Loan Amount,Månedlig nedbetaling beløpet kan ikke være større enn Lånebeløp,
More,Mer,
More Information,Mer informasjon,
More than one selection for {0} not allowed,Mer enn ett valg for {0} er ikke tillatt,
More...,Mer...,
Motion Picture & Video,Motion Picture &amp; Video,
Move,trekk,
Move Item,Flytt element,
Multi Currency,Multi Valuta,
Multiple Item prices.,Flere varepriser.,
Multiple Loyalty Program found for the Customer. Please select manually.,Flere lojalitetsprogram funnet for kunden. Vennligst velg manuelt.,
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Flere Pris regler eksisterer med samme kriteriene, kan du løse konflikten ved å prioritere. Pris Regler: {0}",
Multiple Variants,Flere variasjoner,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Flere regnskapsårene finnes for datoen {0}. Vennligst satt selskapet i regnskapsåret,
Music,Musikk,
My Account,Min Konto,
Name error: {0},Navn feil: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Navn på ny konto. Merk: Vennligst ikke opprette kontoer for kunder og leverandører,
Name or Email is mandatory,Navn eller e-post er obligatorisk,
Nature Of Supplies,Forsyningstype,
Navigating,navigere,
Needs Analysis,Trenger analyse,
Negative Quantity is not allowed,Negative Antall er ikke tillatt,
Negative Valuation Rate is not allowed,Negative Verdivurdering Rate er ikke tillatt,
Negotiation/Review,Forhandling / omtale,
Net Asset value as on,Net Asset verdi som på,
Net Cash from Financing,Netto kontantstrøm fra finansierings,
Net Cash from Investing,Netto kontantstrøm fra investerings,
Net Cash from Operations,Netto kontantstrøm fra driften,
Net Change in Accounts Payable,Netto endring i leverandørgjeld,
Net Change in Accounts Receivable,Netto endring i kundefordringer,
Net Change in Cash,Netto endring i kontanter,
Net Change in Equity,Netto endring i egenkapital,
Net Change in Fixed Asset,Netto endring i Fixed Asset,
Net Change in Inventory,Netto endring i varelager,
Net ITC Available(A) - (B),Netto ITC tilgjengelig (A) - (B),
Net Pay,Netto lønn,
Net Pay cannot be less than 0,Nettolønn kan ikke være mindre enn 0,
Net Profit,Netto fortjeneste,
Net Salary Amount,Netto lønnsmengde,
Net Total,Net Total,
Net pay cannot be negative,Nettolønn kan ikke være negativ,
New Account Name,New Account Name,
New Address,Ny adresse,
New BOM,New BOM,
New Batch ID (Optional),Ny batch-ID (valgfritt),
New Batch Qty,Ny batch Antall,
New Company,Nytt firma,
New Cost Center Name,New kostnadssted Navn,
New Customer Revenue,Ny kunde Revenue,
New Customers,nye kunder,
New Department,Ny avdeling,
New Employee,Ny ansatt,
New Location,Ny plassering,
New Quality Procedure,Ny kvalitetsprosedyre,
New Sales Invoice,Ny salgsfaktura,
New Sales Person Name,New Sales Person navn,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,New Serial No kan ikke ha Warehouse. Warehouse må settes av Stock Entry eller Kjøpskvittering,
New Warehouse Name,New Warehouse navn,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Ny kredittgrensen er mindre enn dagens utestående beløp for kunden. Kredittgrense må være atleast {0},
New task,Ny oppgave,
New {0} pricing rules are created,Nye {0} prisregler opprettes,
Newsletters,nyhetsbrev,
Newspaper Publishers,Avis Publishers,
Next,Neste,
Next Contact By cannot be same as the Lead Email Address,Neste Kontakt By kan ikke være samme som Lead e-postadresse,
Next Contact Date cannot be in the past,Neste Kontakt Datoen kan ikke være i fortiden,
Next Steps,Neste skritt,
No Action,Ingen handling,
No Customers yet!,Ingen kunder ennå!,
No Data,Ingen Data,
No Delivery Note selected for Customer {},Ingen leveringsnotering valgt for kunden {},
No Employee Found,Ingen ansatt funnet,
No Item with Barcode {0},Ingen Element med Barcode {0},
No Item with Serial No {0},Ingen Element med Serial No {0},
No Items available for transfer,Ingen elementer tilgjengelig for overføring,
No Items selected for transfer,Ingen elementer valgt for overføring,
No Items to pack,Ingenting å pakke,
No Items with Bill of Materials to Manufacture,Ingen elementer med Bill of Materials til Manufacture,
No Items with Bill of Materials.,Ingen gjenstander med materialregning.,
No Permission,Ingen tillatelse,
No Quote,Ingen sitat,
No Remarks,Nei Anmerkninger,
No Result to submit,Ingen resultat å sende inn,
No Salary Structure assigned for Employee {0} on given date {1},Ingen lønnskostnad tildelt for ansatt {0} på gitt dato {1},
No Staffing Plans found for this Designation,Ingen bemanningsplaner funnet for denne betegnelsen,
No Student Groups created.,Ingen studentgrupper opprettet.,
No Students in,Ingen studenter i,
No Tax Withholding data found for the current Fiscal Year.,Ingen skattelettende data funnet for det nåværende regnskapsåret.,
No Work Orders created,Ingen arbeidsordre opprettet,
No accounting entries for the following warehouses,Ingen regnskapspostene for følgende varehus,
No active or default Salary Structure found for employee {0} for the given dates,Ingen aktive eller standard Lønn Struktur funnet for arbeidstaker {0} for den gitte datoer,
No contacts with email IDs found.,Ingen kontakter med e-postadresser funnet.,
No data for this period,Ingen data for denne perioden,
No description given,Ingen beskrivelse gitt,
No employees for the mentioned criteria,Ingen ansatte for de nevnte kriteriene,
No gain or loss in the exchange rate,Ingen gevinst eller tap i valutakursen,
No items listed,Ingen elementer oppført,
No items to be received are overdue,Ingen elementer som skal mottas er for sent,
No material request created,Ingen materiell forespørsel opprettet,
No more updates,Ingen flere oppdateringer,
No of Interactions,Ingen interaksjoner,
No of Shares,Antall aksjer,
No pending Material Requests found to link for the given items.,Ingen ventende materialeforespørsler funnet å lenke for de oppgitte elementene.,
No products found,Ingen produkter funnet,
No products found.,Ingen produkter funnet.,
No record found,Ingen rekord funnet,
No records found in the Invoice table,Ingen poster ble funnet i Faktura tabellen,
No records found in the Payment table,Ingen poster ble funnet i Payment tabellen,
No replies from,Ingen svar fra,
No salary slip found to submit for the above selected criteria OR salary slip already submitted,Ingen lønnsslipp funnet å sende inn for ovennevnte utvalgte kriterier ELLER lønnsslipp allerede sendt,
No tasks,Ingen oppgaver,
No time sheets,Ingen timelister,
No values,Ingen verdier,
No {0} found for Inter Company Transactions.,Ingen {0} funnet for Inter Company Transactions.,
Non GST Inward Supplies,Ikke-leveranser innen GST,
Non Profit,Non Profit,
Non Profit (beta),Ikke-profitt (beta),
Non-GST outward supplies,Utvendige forsyninger uten GST,
Non-Group to Group,Non-gruppe til gruppe,
None,Ingen,
None of the items have any change in quantity or value.,Ingen av elementene har noen endring i mengde eller verdi.,
Nos,nos,
Not Available,Ikke tilgjengelig,
Not Marked,Ikke merket,
Not Paid and Not Delivered,Ikke betalt og ikke levert,
Not Permitted,Ikke Tillatt,
Not Started,Ikke i gang,
Not active,Ikke aktiv,
Not allow to set alternative item for the item {0},Ikke tillat å angi alternativt element for elementet {0},
Not allowed to update stock transactions older than {0},Ikke lov til å oppdatere lagertransaksjoner eldre enn {0},
Not authorized to edit frozen Account {0},Ikke autorisert til å redigere fryst kontoen {0},
Not authroized since {0} exceeds limits,Ikke authroized siden {0} overskrider grensene,
Not permitted for {0},Ikke tillatt for {0},
"Not permitted, configure Lab Test Template as required","Ikke tillatt, konfigurer Lab Test Template etter behov",
Not permitted. Please disable the Service Unit Type,Ikke tillatt. Slå av tjenestenhetstype,
Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Merk: På grunn / Reference Date stiger tillatt kunde kreditt dager med {0} dag (er),
Note: Item {0} entered multiple times,Merk: Element {0} inngått flere ganger,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Merk: Betaling Entry vil ikke bli laget siden &quot;Cash eller bankkontoen ble ikke spesifisert,
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Merk: Systemet vil ikke sjekke over-levering og over-booking for Element {0} som mengde eller beløpet er 0,
Note: There is not enough leave balance for Leave Type {0},Merk: Det er ikke nok permisjon balanse for La Type {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Merk: Denne Cost Center er en gruppe. Kan ikke gjøre regnskapspostene mot grupper.,
Note: {0},Merk: {0},
Notes,Notater,
Nothing is included in gross,Ingenting er inkludert i brutto,
Nothing more to show.,Ingenting mer å vise.,
Nothing to change,Ingenting å forandre seg,
Notice Period,Oppsigelsestid,
Notify Customers via Email,Meld kundene via e-post,
Number,Antall,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Antall Avskrivninger reservert kan ikke være større enn Totalt antall Avskrivninger,
Number of Interaction,Antall interaksjoner,
Number of Order,Antall Bestill,
"Number of new Account, it will be included in the account name as a prefix","Antall ny konto, den vil bli inkludert i kontonavnet som prefiks",
"Number of new Cost Center, it will be included in the cost center name as a prefix","Antall nye kostnadssenter, det vil bli inkludert i kostnadsområdets navn som et prefiks",
Number of root accounts cannot be less than 4,Antall rotkontoer kan ikke være mindre enn 4,
Odometer,Kilometerteller,
Office Equipments,Kontor utstyr,
Office Maintenance Expenses,Kontor vedlikehold utgifter,
Office Rent,Kontor Leie,
On Hold,På vent,
On Net Total,On Net Total,
One customer can be part of only single Loyalty Program.,En kunde kan være en del av det eneste lojalitetsprogrammet.,
Online Auctions,Online auksjoner,
Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Bare La Applikasjoner med status &#39;Godkjent&#39; og &#39;Avvist&#39; kan sendes inn,
"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Kun Student søker med statusen &quot;Godkjent&quot; vil bli valgt i tabellen nedenfor.,
Only users with {0} role can register on Marketplace,Kun brukere med {0} rolle kan registrere seg på Marketplace,
Open BOM {0},Åpen BOM {0},
Open Item {0},Åpen Element {0},
Open Notifications,Åpne Påminnelser,
Open Orders,Åpne bestillinger,
Open a new ticket,Åpne en ny billett,
Opening,Åpning,
Opening (Cr),Åpning (Cr),
Opening (Dr),Åpning (Dr),
Opening Accounting Balance,Åpning Regnskap Balanse,
Opening Accumulated Depreciation,Åpning akkumulerte avskrivninger,
Opening Accumulated Depreciation must be less than equal to {0},Åpning akkumulerte avskrivninger må være mindre enn eller lik {0},
Opening Balance,Inngående balanse,
Opening Balance Equity,Åpningsbalanse Equity,
Opening Date and Closing Date should be within same Fiscal Year,Åpningsdato og sluttdato skal være innenfor samme regnskapsår,
Opening Date should be before Closing Date,Åpningsdato bør være før påmeldingsfristens utløp,
Opening Entry Journal,Åpningsoppføring Journal,
Opening Invoice Creation Tool,Åpning av fakturaopprettingsverktøy,
Opening Invoice Item,Åpning av fakturaelement,
Opening Invoices,Åpning av fakturaer,
Opening Invoices Summary,Åpning av fakturaoversikt,
Opening Qty,Antall åpne,
Opening Stock,åpning Stock,
Opening Stock Balance,Åpning Stock Balance,
Opening Value,åpning Verdi,
Opening {0} Invoice created,Åpning {0} Faktura opprettet,
Operation,Operasjon,
Operation Time must be greater than 0 for Operation {0},Operation Tid må være større enn 0 for operasjon {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operation {0} lenger enn noen tilgjengelige arbeidstimer i arbeidsstasjonen {1}, bryte ned driften i flere operasjoner",
Operations,operasjoner,
Operations cannot be left blank,Operasjoner kan ikke være tomt,
Opp Count,Opptelling,
Opp/Lead %,Opp / Lead%,
Opportunities,Muligheter,
Opportunities by lead source,Muligheter ved blykilde,
Opportunity,Opportunity,
Opportunity Amount,Mulighetsbeløp,
Optional Holiday List not set for leave period {0},Valgfri ferieliste ikke angitt for permisjon {0},
"Optional. Sets company's default currency, if not specified.","Valgfritt. Setter selskapets standardvaluta, hvis ikke spesifisert.",
Optional. This setting will be used to filter in various transactions.,Valgfritt. Denne innstillingen vil bli brukt for å filtrere i forskjellige transaksjoner.,
Options,Alternativer,
Order Count,Ordre Count,
Order Entry,Bestillingsinngang,
Order Value,Bestillingsverdi,
Order rescheduled for sync,Ordre omlagt for synkronisering,
Order/Quot %,Ordre / Quot%,
Ordered,bestilt,
Ordered Qty,Bestilte Antall,
"Ordered Qty: Quantity ordered for purchase, but not received.","Bestilt antall: Mengde bestilt for kjøp, men ikke mottatt.",
Orders,Bestillinger,
Orders released for production.,Bestillinger frigitt for produksjon.,
Organization,Organisasjon,
Organization Name,Organization Name,
Other,Andre,
Other Reports,Andre rapporter,
"Other outward supplies(Nil rated,Exempted)","Andre forsyninger (ikke vurdert, unntatt)",
Others,Annet,
Out Qty,Ut Antall,
Out Value,ut Verdi,
Out of Order,I ustand,
Outgoing,Utgående,
Outstanding,Utestående,
Outstanding Amount,Utestående beløp,
Outstanding Amt,Enestående Amt,
Outstanding Cheques and Deposits to clear,Utestående Sjekker og Innskudd å tømme,
Outstanding for {0} cannot be less than zero ({1}),Enestående for {0} kan ikke være mindre enn null ({1}),
Outward taxable supplies(zero rated),Utgående skattepliktige leveranser (null vurdert),
Overdue,Forfalt,
Overlap in scoring between {0} and {1},Overlappe i scoring mellom {0} og {1},
Overlapping conditions found between:,Overlappende vilkår funnet mellom:,
Owner,Eier,
PAN,PANNE,
PO already created for all sales order items,PO allerede opprettet for alle salgsordreelementer,
POS,POS,
POS Profile,POS Profile,
POS Profile is required to use Point-of-Sale,POS-profilen kreves for å bruke Point-of-Sale,
POS Profile required to make POS Entry,POS Profile nødvendig å foreta POS Entry,
POS Settings,POS-innstillinger,
Packed quantity must equal quantity for Item {0} in row {1},Pakket mengde må være lik mengde for Element {0} i rad {1},
Packing Slip,Pakkseddel,
Packing Slip(s) cancelled,Pakking Slip (s) kansellert,
Paid,betalt,
Paid Amount,Innbetalt beløp,
Paid Amount cannot be greater than total negative outstanding amount {0},Betalt Beløpet kan ikke være større enn total negativ utestående beløp {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Innbetalt beløp + avskrive Beløpet kan ikke være større enn Totalsum,
Paid and Not Delivered,Betalt og ikke levert,
Parameter,Parameter,
Parent Item {0} must not be a Stock Item,Parent Element {0} må ikke være en lagervare,
Parents Teacher Meeting Attendance,Foreldres lærermøte,
Part-time,Deltid,
Partially Depreciated,delvis Avskrives,
Partially Received,Delvis mottatt,
Party,Selskap,
Party Name,partiet~~POS=HEADCOMP Name,
Party Type,Partiet Type,
Party Type and Party is mandatory for {0} account,Party Type and Party er obligatorisk for {0} konto,
Party Type is mandatory,Partiet Type er obligatorisk,
Party is mandatory,Party er obligatorisk,
Password,Passord,
Password policy for Salary Slips is not set,Passordpolitikk for lønnsslipper er ikke angitt,
Past Due Date,Forfallsdato,
Patient,Pasient,
Patient Appointment,Pasientavtale,
Patient Encounter,Pasientmøte,
Patient not found,Pasient ikke funnet,
Pay Remaining,Betal gjenværende,
Pay {0} {1},Betal {0} {1},
Payable,Betales,
Payable Account,Betales konto,
Payable Amount,Betalbart beløp,
Payment,Betaling,
Payment Cancelled. Please check your GoCardless Account for more details,Betaling avbrutt. Vennligst sjekk din GoCardless-konto for mer informasjon,
Payment Confirmation,Betalingsbekreftelse,
Payment Date,Betalingsdato,
Payment Days,Betalings Days,
Payment Document,betaling Document,
Payment Due Date,Betalingsfrist,
Payment Entries {0} are un-linked,Betalings Innlegg {0} er un-linked,
Payment Entry,betaling Entry,
Payment Entry already exists,Betaling Entry finnes allerede,
Payment Entry has been modified after you pulled it. Please pull it again.,Betaling Entry har blitt endret etter at du trakk den. Kan trekke det igjen.,
Payment Entry is already created,Betaling Entry er allerede opprettet,
Payment Failed. Please check your GoCardless Account for more details,Betalingen feilet. Vennligst sjekk din GoCardless-konto for mer informasjon,
Payment Gateway,Betaling Gateway,
"Payment Gateway Account not created, please create one manually.","Betaling Gateway konto ikke opprettet, kan du opprette en manuelt.",
Payment Gateway Name,Betalings gateway navn,
Payment Mode,Betaling Mode,
Payment Receipt Note,Betaling kvittering Note,
Payment Request,Betaling Request,
Payment Request for {0},Betalingsforespørsel om {0},
Payment Tems,Betalingstemmer,
Payment Term,Betalingsperiode,
Payment Terms,Betalingsbetingelser,
Payment Terms Template,Betalingsbetingelser mal,
Payment Terms based on conditions,Betalingsbetingelser basert på betingelser,
Payment Type,Betalings type,
"Payment Type must be one of Receive, Pay and Internal Transfer","Betalingstype må være en av Motta, Lønn og Internal Transfer",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Betaling mot {0} {1} kan ikke være større enn utestående beløp {2},
Payment of {0} from {1} to {2},Betaling av {0} fra {1} til {2},
Payment request {0} created,Betalingsforespørsel {0} opprettet,
Payments,Betalinger,
Payroll,lønn,
Payroll Number,Lønnsnummer,
Payroll Payable,Lønn betales,
Payslip,payslip,
Pending Activities,Ventende Aktiviteter,
Pending Amount,Avventer Beløp,
Pending Leaves,Venter på bladene,
Pending Qty,Venter Stk,
Pending Quantity,Venter på mengde,
Pending Review,Avventer omtale,
Pending activities for today,Ventende aktiviteter for i dag,
Pension Funds,Pensjonsfondene,
Percentage Allocation should be equal to 100%,Prosentvis Tildeling skal være lik 100%,
Perception Analysis,Perception Analysis,
Period,Periode,
Period Closing Entry,Periode Closing Entry,
Period Closing Voucher,Periode Closing Voucher,
Periodicity,periodisitet,
Personal Details,Personlig Informasjon,
Pharmaceutical,Pharmaceutical,
Pharmaceuticals,Farmasi,
Physician,lege,
Piecework,akkord,
Pincode,Pinkode,
Place Of Supply (State/UT),Leveringssted (delstat / UT),
Place Order,Legg inn bestilling,
Plan Name,Plan navn,
Plan for maintenance visits.,Plan for vedlikeholdsbesøk.,
Planned Qty,Planlagt antall,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Planlagt antall: Mengde, hvor arbeidsordren er hevet, men avventer å bli produsert.",
Planning,Planlegging,
Plants and Machineries,Planter og Machineries,
Please Set Supplier Group in Buying Settings.,Vennligst sett leverandørgruppe i kjøpsinnstillinger.,
Please add a Temporary Opening account in Chart of Accounts,Vennligst legg til en midlertidig åpningskonto i kontoplan,
Please add the account to root level Company - ,Legg til kontoen til selskapets rotnivå -,
Please add the remaining benefits {0} to any of the existing component,Vennligst legg til de resterende fordelene {0} til en eksisterende komponent,
Please check Multi Currency option to allow accounts with other currency,Vennligst sjekk Multi Valuta alternativet for å tillate kontoer med andre valuta,
Please click on 'Generate Schedule',Vennligst klikk på &quot;Generer Schedule &#39;,
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Vennligst klikk på &quot;Generer Schedule &#39;for å hente serienummer lagt for Element {0},
Please click on 'Generate Schedule' to get schedule,Vennligst klikk på &quot;Generer Schedule &#39;for å få timeplanen,
Please confirm once you have completed your training,Vennligst bekreft når du har fullført treningen,
Please create purchase receipt or purchase invoice for the item {0},Vennligst opprett kvittering eller kjøpsfaktura for elementet {0},
Please define grade for Threshold 0%,Vennligst definer karakter for Terskel 0%,
Please enable Applicable on Booking Actual Expenses,Vennligst aktiver gjeldende for bestilling av faktiske kostnader,
Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Vennligst aktiver gjeldende på innkjøpsordre og gjeldende ved bestilling av faktiske kostnader,
Please enable default incoming account before creating Daily Work Summary Group,Vennligst aktiver standard innkommende konto før du oppretter Daglig arbeidsoppsummeringsgruppe,
Please enable pop-ups,Vennligst aktiver pop-ups,
Please enter 'Is Subcontracted' as Yes or No,Skriv inn &#39;Er underleverandør&#39; som Ja eller Nei,
Please enter API Consumer Key,Vennligst skriv inn API forbrukernøkkel,
Please enter API Consumer Secret,Vennligst skriv inn API Consumer Secret,
Please enter Account for Change Amount,Vennligst oppgi konto for Change Beløp,
Please enter Approving Role or Approving User,Skriv inn Godkjenne Rolle eller Godkjenne User,
Please enter Cost Center,Skriv inn kostnadssted,
Please enter Delivery Date,Vennligst oppgi Leveringsdato,
Please enter Employee Id of this sales person,Skriv inn Employee Id av denne salgs person,
Please enter Expense Account,Skriv inn Expense konto,
Please enter Item Code to get Batch Number,Fyll inn Element kode for å få Batch Number,
Please enter Item Code to get batch no,Skriv inn Element kode for å få batch no,
Please enter Item first,Skriv inn Sak først,
Please enter Maintaince Details first,Skriv inn maintaince detaljer Første,
Please enter Planned Qty for Item {0} at row {1},Skriv inn Planned Antall for Element {0} på rad {1},
Please enter Preferred Contact Email,Fyll inn foretrukne e-,
Please enter Production Item first,Skriv inn Produksjon varen først,
Please enter Purchase Receipt first,Skriv inn Kjøpskvittering først,
Please enter Receipt Document,Fyll inn Kvittering Document,
Please enter Reference date,Skriv inn Reference dato,
Please enter Repayment Periods,Fyll inn nedbetalingstid,
Please enter Reqd by Date,Vennligst skriv inn Reqd etter dato,
Please enter Woocommerce Server URL,Vennligst skriv inn Woocommerce Server URL,
Please enter Write Off Account,Skriv inn avskrive konto,
Please enter atleast 1 invoice in the table,Skriv inn atleast en faktura i tabellen,
Please enter company first,Skriv inn et selskap først,
Please enter company name first,Skriv inn firmanavn først,
Please enter default currency in Company Master,Skriv inn standardvaluta i selskapet Master,
Please enter message before sending,Skriv inn meldingen før du sender,
Please enter parent cost center,Skriv inn forelder kostnadssted,
Please enter quantity for Item {0},Skriv inn antall for Element {0},
Please enter relieving date.,Skriv inn lindrende dato.,
Please enter repayment Amount,Fyll inn gjenværende beløpet,
Please enter valid Financial Year Start and End Dates,Fyll inn gyldig Regnskapsår start- og sluttdato,
Please enter valid email address,Vennligst skriv inn gyldig e-postadresse,
Please enter {0} first,Fyll inn {0} først,
Please fill in all the details to generate Assessment Result.,Vennligst fyll ut alle detaljene for å generere vurderingsresultatet.,
Please identify/create Account (Group) for type - {0},Vennligst identifiser / opprett konto (gruppe) for typen - {0},
Please identify/create Account (Ledger) for type - {0},Vennligst identifiser / opprett konto (Ledger) for typen - {0},
Please login as another user to register on Marketplace,Vennligst logg inn som en annen bruker for å registrere deg på Marketplace,
Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,Sørg for at du virkelig ønsker å slette alle transaksjoner for dette selskapet. Dine stamdata vil forbli som det er. Denne handlingen kan ikke angres.,
Please mention Basic and HRA component in Company,Nevn Basic og HRA-komponenten i selskapet,
Please mention Round Off Account in Company,Vennligst oppgi Round Off-konto i selskapet,
Please mention Round Off Cost Center in Company,Vennligst oppgi Round Off Cost Center i selskapet,
Please mention no of visits required,Vennligst oppgi ingen av besøk som kreves,
Please mention the Lead Name in Lead {0},Vennligst nevne Lead Name in Lead {0},
Please pull items from Delivery Note,Kan trekke elementer fra følgeseddel,
Please register the SIREN number in the company information file,Vennligst registrer SIREN-nummeret i bedriftsinformasjonsfilen,
Please remove this Invoice {0} from C-Form {1},Vennligst fjern denne Faktura {0} fra C-Form {1},
Please save the patient first,Vennligst lagre pasienten først,
Please save the report again to rebuild or update,Lagre rapporten igjen for å gjenoppbygge eller oppdatere,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Vennligst velg avsatt beløp, fakturatype og fakturanummer i minst én rad",
Please select Apply Discount On,Vennligst velg Bruk rabatt på,
Please select BOM against item {0},Vennligst velg BOM mot element {0},
Please select BOM for Item in Row {0},Vennligst velg BOM for element i rad {0},
Please select BOM in BOM field for Item {0},Vennligst velg BOM i BOM felt for Element {0},
Please select Category first,Vennligst første velg kategori,
Please select Charge Type first,Vennligst velg Charge Type først,
Please select Company,Vennligst velg selskapet,
Please select Company and Designation,Vennligst velg Firma og Betegnelse,
Please select Company and Posting Date to getting entries,Vennligst velg Company og Posting Date for å få oppføringer,
Please select Company first,Vennligst velg selskapet først,
Please select Completion Date for Completed Asset Maintenance Log,Vennligst velg sluttdato for fullført aktivitetsvedlikeholdslogg,
Please select Completion Date for Completed Repair,Vennligst velg Fullføringsdato for fullført reparasjon,
Please select Course,Vennligst velg Kurs,
Please select Drug,Vennligst velg Drug,
Please select Employee,Vennligst velg Medarbeider,
Please select Existing Company for creating Chart of Accounts,Velg eksisterende selskap for å skape Konto,
Please select Healthcare Service,Vennligst velg Healthcare Service,
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","Vennligst velg Element der &quot;Er Stock Item&quot; er &quot;Nei&quot; og &quot;Er Sales Item&quot; er &quot;Ja&quot;, og det er ingen andre Product Bundle",
Please select Maintenance Status as Completed or remove Completion Date,"Vennligst velg Vedlikeholdsstatus som Fullført, eller fjern sluttdato",
Please select Party Type first,Vennligst velg Partiet Type først,
Please select Patient,Vennligst velg Pasient,
Please select Patient to get Lab Tests,Vennligst velg Pasient for å få Lab Tests,
Please select Posting Date before selecting Party,Vennligst velg Publiseringsdato før du velger Partiet,
Please select Posting Date first,Vennligst velg Publiseringsdato først,
Please select Price List,Vennligst velg prisliste,
Please select Program,Vennligst velg Program,
Please select Qty against item {0},Vennligst velg antall til elementet {0},
Please select Sample Retention Warehouse in Stock Settings first,Vennligst velg Sample Retention Warehouse i lagerinnstillinger først,
Please select Start Date and End Date for Item {0},Vennligst velg startdato og sluttdato for Element {0},
Please select Student Admission which is mandatory for the paid student applicant,"Vennligst velg Student Admission, som er obligatorisk for den betalte student søkeren",
Please select a BOM,Vennligst velg en BOM,
Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Vennligst velg en batch for element {0}. Kunne ikke finne en enkelt batch som oppfyller dette kravet,
Please select a Company,Vennligst velg et selskap,
Please select a batch,Vennligst velg en batch,
Please select a csv file,Vennligst velg en csv-fil,
Please select a field to edit from numpad,Vennligst velg et felt for å redigere fra numpad,
Please select a table,Vennligst velg en tabell,
Please select a valid Date,Vennligst velg en gyldig dato,
Please select a value for {0} quotation_to {1},Velg en verdi for {0} quotation_to {1},
Please select a warehouse,Vennligst velg et lager,
Please select at least one domain.,Vennligst velg minst ett domene.,
Please select correct account,Velg riktig konto,
Please select date,Vennligst velg dato,
Please select item code,Velg elementet kode,
Please select month and year,Velg måned og år,
Please select prefix first,Vennligst velg først prefiks,
Please select the Company,Vennligst velg firmaet,
Please select the Multiple Tier Program type for more than one collection rules.,Vennligst velg flerverdierprogrammet for mer enn ett samlingsreglement.,
Please select the assessment group other than 'All Assessment Groups',Vennligst velg vurderingsgruppen annet enn &#39;Alle vurderingsgrupper&#39;,
Please select the document type first,Velg dokumenttypen først,
Please select weekly off day,Vennligst velg ukentlig off dag,
Please select {0},Vennligst velg {0},
Please select {0} first,Vennligst velg {0} først,
Please set 'Apply Additional Discount On',Vennligst sett &#39;Apply Ytterligere rabatt på&#39;,
Please set 'Asset Depreciation Cost Center' in Company {0},Vennligst sett &#39;Asset Avskrivninger kostnadssted &quot;i selskapet {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Vennligst sett &#39;Gevinst / tap-konto på Asset Deponering &quot;i selskapet {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Vennligst sett inn konto i lager {0} eller standardbeholdningskonto i firma {1},
Please set B2C Limit in GST Settings.,Vennligst sett inn B2C Limit i GST-innstillinger.,
Please set Company,Vennligst sett selskap,
Please set Company filter blank if Group By is 'Company',Vennligst sett Company filter blank hvis Group By er &#39;Company&#39;,
Please set Default Payroll Payable Account in Company {0},Vennligst sette Standard Lønn betales konto i selskapet {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Vennligst sett Avskrivninger relatert kontoer i Asset Kategori {0} eller selskapet {1},
Please set Email Address,Vennligst sett e-postadresse,
Please set GST Accounts in GST Settings,Vennligst sett GST-kontoer i GST-innstillinger,
Please set Hotel Room Rate on {},Vennligst sett inn hotellrenten på {},
Please set Number of Depreciations Booked,Vennligst sett Antall Avskrivninger bestilt,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Vennligst sett Urealisert Exchange Gain / Loss-konto i selskapet {0},
Please set User ID field in an Employee record to set Employee Role,Vennligst angi bruker-ID-feltet i en Employee rekord å sette Employee Rolle,
Please set a default Holiday List for Employee {0} or Company {1},Vennligst angi en standard Holiday Liste for Employee {0} eller selskapet {1},
Please set account in Warehouse {0},Vennligst sett inn konto i Lager {0},
Please set an active menu for Restaurant {0},Vennligst sett inn en aktiv meny for Restaurant {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Vennligst sett inn tilknyttet konto i Skatteholdskategori {0} mot firma {1},
Please set at least one row in the Taxes and Charges Table,Angi minst en rad i tabellen Skatter og avgifter,
Please set default Cash or Bank account in Mode of Payment {0},Vennligst angi standard kontanter eller bankkontoen i modus for betaling {0},
Please set default account in Salary Component {0},Vennligst angi standardkonto i Lønn Component {0},
Please set default customer in Restaurant Settings,Vennligst sett standardkunden i Restaurantinnstillinger,
Please set default template for Leave Approval Notification in HR Settings.,Vennligst angi standardmal for godkjenning av varsling i HR-innstillinger.,
Please set default template for Leave Status Notification in HR Settings.,Vennligst angi standardmal for statusmeldingsstatus i HR-innstillinger.,
Please set default {0} in Company {1},Vennligst sett standard {0} i selskapet {1},
Please set filter based on Item or Warehouse,Vennligst sette filter basert på varen eller Warehouse,
Please set leave policy for employee {0} in Employee / Grade record,Vennligst sett permitteringslov for ansatt {0} i ansatt / karakteroppføring,
Please set recurring after saving,Vennligst sett gjentakende etter lagring,
Please set the Company,Vennligst sett selskapet,
Please set the Customer Address,Angi kundeadresse,
Please set the Date Of Joining for employee {0},Vennligst sett datoen for å bli med på ansatt {0},
Please set the Default Cost Center in {0} company.,Angi standardkostnadssenteret i {0} selskapet.,
Please set the Email ID for the Student to send the Payment Request,Vennligst still inn e-post-IDen for studenten for å sende betalingsanmodningen,
Please set the Item Code first,Vennligst sett inn varenummeret først,
Please set the Payment Schedule,Angi betalingsplanen,
Please set the series to be used.,Vennligst sett serien som skal brukes.,
Please set {0} for address {1},Angi {0} for adresse {1},
Please setup Students under Student Groups,Vennligst oppsett Studentene under Student Grupper,
Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',Vennligst del din tilbakemelding til treningen ved å klikke på &#39;Trenings tilbakemelding&#39; og deretter &#39;Ny&#39;,
Please specify Company,Vennligst oppgi selskapet,
Please specify Company to proceed,Vennligst oppgi selskapet å fortsette,
Please specify a valid 'From Case No.',Vennligst oppgi en gyldig &quot;Fra sak nr &#39;,
Please specify a valid Row ID for row {0} in table {1},Vennligst oppgi en gyldig Row ID for rad {0} i tabellen {1},
Please specify at least one attribute in the Attributes table,Vennligst oppgi minst ett attributt i Attributter tabellen,
Please specify currency in Company,Vennligst oppgi valuta i selskapet,
Please specify either Quantity or Valuation Rate or both,Vennligst oppgi enten Mengde eller Verdivurdering Rate eller begge deler,
Please specify from/to range,Vennligst oppgi fra / til spenner,
Please supply the specified items at the best possible rates,Vennligst oppgi de angitte elementene på de best mulige priser,
Please update your status for this training event,Vennligst oppdatere statusen din for denne treningshendelsen,
Please wait 3 days before resending the reminder.,Vennligst vent 3 dager før du sender påminnelsen på nytt.,
Point of Sale,Utsalgssted,
Point-of-Sale,Utsalgssted,
Point-of-Sale Profile,Point-of-Sale Profile,
Portal,Portal,
Portal Settings,portal Innstillinger,
Possible Supplier,Mulig leverandør,
Postal Expenses,Post Utgifter,
Posting Date,Publiseringsdato,
Posting Date cannot be future date,Publiseringsdato kan ikke være fremtidig dato,
Posting Time,Postering Tid,
Posting date and posting time is mandatory,Konteringsdato og legger tid er obligatorisk,
Posting timestamp must be after {0},Oppslaget tidsstempel må være etter {0},
Potential opportunities for selling.,Potensielle muligheter for å selge.,
Practitioner Schedule,Utøverplan,
Pre Sales,Før salg,
Preference,Preference,
Prescribed Procedures,Foreskrevne prosedyrer,
Prescription,Resept,
Prescription Dosage,Reseptdosering,
Prescription Duration,Reseptbeløp,
Prescriptions,resepter,
Present,Present,
Prev,prev,
Preview,Forhåndsvisning,
Preview Salary Slip,Forhåndsvisning Lønn Slip,
Previous Financial Year is not closed,Foregående regnskapsår er ikke stengt,
Price,Pris,
Price List,Pris liste,
Price List Currency not selected,Prisliste Valuta ikke valgt,
Price List Rate,Prisliste rate,
Price List master.,Prisliste mester.,
Price List must be applicable for Buying or Selling,Prisliste må være aktuelt for å kjøpe eller selge,
Price List {0} is disabled or does not exist,Prisliste {0} er deaktivert eller eksisterer ikke,
Price or product discount slabs are required,Pris eller produktrabattplater er påkrevd,
Pricing,Priser,
Pricing Rule,Prising Rule,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Prising Rule først valgt basert på &quot;Apply On-feltet, som kan være varen, varegruppe eller Brand.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Prising Rule er laget for å overskrive Prisliste / definere rabattprosenten, basert på noen kriterier.",
Pricing Rule {0} is updated,Prisregel {0} er oppdatert,
Pricing Rules are further filtered based on quantity.,Prising Reglene er videre filtreres basert på kvantitet.,
Primary Address Details,Primæradresse detaljer,
Primary Contact Details,Primær kontaktdetaljer,
Principal Amount,hovedstol,
Print Format,Print Format,
Print IRS 1099 Forms,Skriv ut IRS 1099 skjemaer,
Print Report Card,Skriv ut rapportkort,
Print Settings,Utskriftsinnstillinger,
Print and Stationery,Skriv ut og Saker,
Print settings updated in respective print format,Utskriftsinnstillingene oppdatert i respektive utskriftsformat,
Print taxes with zero amount,Skriv ut avgifter med null beløp,
Printing and Branding,Trykking og merkevarebygging,
Private Equity,Private Equity,
Privilege Leave,Privilege La,
Probation,Prøvetid,
Probationary Period,Prøvetid,
Procedure,Fremgangsmåte,
Process Day Book Data,Behandle dagbokdata,
Process Master Data,Behandle stamdata,
Processing Chart of Accounts and Parties,Behandler oversikt over kontoer og parter,
Processing Items and UOMs,Behandler elementer og UOM-er,
Processing Party Addresses,Behandler festadresser,
Processing Vouchers,Behandler bilag,
Procurement,innkjøp,
Produced Qty,Produsert antall,
Product,Produkt,
Product Bundle,Produktet Bundle,
Product Search,Produktsøk,
Production,Produksjon,
Production Item,Produksjon Element,
Products,Produkter,
Profit and Loss,Gevinst og tap,
Profit for the year,Årets resultat,
Program,Program,
Program in the Fee Structure and Student Group {0} are different.,Programmet i avgiftsstrukturen og studentgruppen {0} er forskjellig.,
Program {0} does not exist.,Program {0} eksisterer ikke.,
Program: ,Program:,
Progress % for a task cannot be more than 100.,Progress% for en oppgave kan ikke være mer enn 100.,
Project Collaboration Invitation,Prosjekt Samarbeid Invitasjon,
Project Id,Prosjekt ID,
Project Manager,Prosjektleder,
Project Name,prosjektnavn,
Project Start Date,Prosjekt Startdato,
Project Status,Prosjekt status,
Project Summary for {0},Prosjektoppsummering for {0},
Project Update.,Prosjektoppdatering.,
Project Value,Prosjektet Verdi,
Project activity / task.,Prosjektet aktivitet / oppgave.,
Project master.,Prosjektet mester.,
Project-wise data is not available for Quotation,Prosjekt-messig data er ikke tilgjengelig for prisanslag,
Projected,Prosjekterte,
Projected Qty,Projisert antall,
Projected Quantity Formula,Prosjektert mengdeformel,
Projects,prosjekter,
Property,Eiendoms,
Property already added,Eiendom allerede lagt til,
Proposal Writing,Forslaget Writing,
Proposal/Price Quote,Forslag / pris sitat,
Prospecting,prospecting,
Provisional Profit / Loss (Credit),Foreløpig Profit / Loss (Credit),
Publications,publikasjoner,
Publish Items on Website,Publiser elementer på nettstedet,
Published,Publisert,
Publishing,publisering,
Purchase,Kjøp,
Purchase Amount,kjøpesummen,
Purchase Date,Kjøpsdato,
Purchase Invoice,Fakturaen,
Purchase Invoice {0} is already submitted,Fakturaen {0} er allerede sendt,
Purchase Manager,Innkjøpssjef,
Purchase Master Manager,Kjøp Master manager,
Purchase Order,Bestilling,
Purchase Order Amount,Innkjøpsordrebeløp,
Purchase Order Amount(Company Currency),Innkjøpsordrebeløp (selskapets valuta),
Purchase Order Date,Innkjøpsordringsdato,
Purchase Order Items not received on time,Innkjøpsordre Varer ikke mottatt i tide,
Purchase Order number required for Item {0},Innkjøpsordrenummeret som kreves for Element {0},
Purchase Order to Payment,Bestilling til betaling,
Purchase Order {0} is not submitted,Purchase Order {0} ikke er sendt,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Innkjøpsordrer er ikke tillatt for {0} på grunn av et scorecard som står på {1}.,
Purchase Orders given to Suppliers.,Innkjøpsordrer gis til leverandører.,
Purchase Price List,Kjøp Prisliste,
Purchase Receipt,Kvitteringen,
Purchase Receipt {0} is not submitted,Kvitteringen {0} er ikke innsendt,
Purchase Tax Template,Kjøpe Tax Mal,
Purchase User,Kjøp User,
Purchase orders help you plan and follow up on your purchases,Innkjøpsordrer hjelpe deg å planlegge og følge opp kjøpene,
Purchasing,innkjøp,
Purpose must be one of {0},Hensikten må være en av {0},
Qty,Antall,
Qty To Manufacture,Antall å produsere,
Qty Total,Antall totalt,
Qty for {0},Antall for {0},
Qualification,Kvalifisering,
Quality,Kvalitet,
Quality Action,Kvalitetshandling,
Quality Goal.,Kvalitetsmål.,
Quality Inspection,Quality Inspection,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Kvalitetskontroll: {0} sendes ikke inn for varen: {1} i rad {2},
Quality Management,Kvalitetsstyring,
Quality Meeting,Kvalitetsmøte,
Quality Procedure,Kvalitetsprosedyre,
Quality Procedure.,Kvalitetsprosedyre.,
Quality Review,Kvalitetsanmeldelse,
Quantity,Antall,
Quantity for Item {0} must be less than {1},Kvantum for Element {0} må være mindre enn {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Antall på rad {0} ({1}) må være det samme som produsert mengde {2},
Quantity must be less than or equal to {0},Antall må være mindre enn eller lik {0},
Quantity must not be more than {0},Antall må ikke være mer enn {0},
Quantity required for Item {0} in row {1},Mengden som kreves for Element {0} i rad {1},
Quantity should be greater than 0,Mengden skal være større enn 0,
Quantity to Make,Mengde å lage,
Quantity to Manufacture must be greater than 0.,Antall å Manufacture må være større enn 0.,
Quantity to Produce,Mengde å produsere,
Quantity to Produce can not be less than Zero,Mengde å produsere kan ikke være mindre enn null,
Query Options,Query Options,
Queued for replacing the BOM. It may take a few minutes.,Kjøtt for å erstatte BOM. Det kan ta noen minutter.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,I kø for å oppdatere siste pris i alle Materialebevis. Det kan ta noen minutter.,
Quick Journal Entry,Hurtig Journal Entry,
Quot Count,Sitatall,
Quot/Lead %,Quot / Lead%,
Quotation,Sitat,
Quotation {0} is cancelled,Sitat {0} er kansellert,
Quotation {0} not of type {1},Sitat {0} ikke av typen {1},
Quotations,sitater,
"Quotations are proposals, bids you have sent to your customers","Sitater er forslag, bud du har sendt til dine kunder",
Quotations received from Suppliers.,Sitater mottatt fra Leverandører.,
Quotations: ,sitater:,
Quotes to Leads or Customers.,Sitater for å Leads eller kunder.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ er ikke tillatt for {0} på grunn av et resultatkort som står for {1},
Range,Område,
Rate,Rate,
Rate:,Sats:,
Rating,Vurdering,
Raw Material,Råmateriale,
Raw Materials,Råstoffer,
Raw Materials cannot be blank.,Råvare kan ikke være blank.,
Re-open,Re-open,
Read blog,Les blogg,
Read the ERPNext Manual,Les ERPNext Manual,
Reading Uploaded File,Leser opplastet fil,
Real Estate,Eiendom,
Reason For Putting On Hold,Årsak til å sette på hold,
Reason for Hold,Årsaken til Hold,
Reason for hold: ,Årsak til hold:,
Receipt,Kvittering,
Receipt document must be submitted,Kvittering dokumentet må sendes,
Receivable,fordring,
Receivable Account,Fordring konto,
Received,Mottatt,
Received On,Mottatt On,
Received Quantity,Mottatt mengde,
Received Stock Entries,Mottatte aksjeoppføringer,
Receiver List is empty. Please create Receiver List,Mottaker-listen er tom. Opprett Receiver Liste,
Recipients,Mottakere,
Reconcile,Forsone,
"Record of all communications of type email, phone, chat, visit, etc.","Registrering av all kommunikasjon av typen e-post, telefon, chat, besøk, etc.",
Records,Records,
Redirect URL,omdirigere URL,
Ref,Ref,
Ref Date,Ref dato,
Reference,Referanse,
Reference #{0} dated {1},Reference # {0} datert {1},
Reference Date,Reference Date,
Reference Doctype must be one of {0},Referanse Doctype må være en av {0},
Reference Document,Reference Document,
Reference Document Type,Reference Document Type,
Reference No & Reference Date is required for {0},Referansenummer og Reference Date er nødvendig for {0},
Reference No and Reference Date is mandatory for Bank transaction,Referansenummer og Reference Date er obligatorisk for Bank transaksjon,
Reference No is mandatory if you entered Reference Date,Referansenummer er obligatorisk hvis du skrev Reference Date,
Reference No.,Referanse Nei.,
Reference Number,Referanse nummer,
Reference Owner,Referanse Eier,
Reference Type,Referanse Type,
"Reference: {0}, Item Code: {1} and Customer: {2}","Henvisning: {0}, Varenummer: {1} og kunde: {2}",
References,referanser,
Refresh Token,Refresh Token,
Region,Region,
Register,Registrere,
Reject,Avvis,
Rejected,Avvist,
Related,I slekt,
Relation with Guardian1,Relasjon med Guardian1,
Relation with Guardian2,Relasjon med Guardian2,
Release Date,Utgivelsesdato,
Reload Linked Analysis,Last inn sammenkoblet analyse,
Remaining,Gjenværende værende~~POS=HEADCOMP,
Remaining Balance,Gjenværende balanse,
Remarks,Bemerkninger,
Reminder to update GSTIN Sent,Påminnelse om å oppdatere GSTIN Sendt,
Remove item if charges is not applicable to that item,Fjern artikkel om avgifter er ikke aktuelt til dette elementet,
Removed items with no change in quantity or value.,Fjernet elementer med ingen endring i mengde eller verdi.,
Reopen,Gjenåpne,
Reorder Level,Omgjøre nivå,
Reorder Qty,Omgjøre Antall,
Repeat Customer Revenue,Gjenta kunden Revenue,
Repeat Customers,Gjenta kunder,
Replace BOM and update latest price in all BOMs,Erstatt BOM og oppdater siste pris i alle BOMs,
Replied,Svarte,
Replies,svar,
Report,Rapporter,
Report Builder,Report Builder,
Report Type,Rapporttype,
Report Type is mandatory,Rapporter Type er obligatorisk,
Reports,Reports,
Reqd By Date,Reqd etter dato,
Reqd Qty,Reqd Antall,
Request for Quotation,Forespørsel om kostnadsoverslag,
Request for Quotations,Forespørsel om Sitater,
Request for Raw Materials,Forespørsel om råvarer,
Request for purchase.,Be for kjøp.,
Request for quotation.,Forespørsel om kostnadsoverslag.,
Requested Qty,Spurt Antall,
"Requested Qty: Quantity requested for purchase, but not ordered.","Forespurt mengde: Mengde forespurt for kjøp, men ikke bestilt.",
Requesting Site,Ber om nettsted,
Requesting payment against {0} {1} for amount {2},Ber om betaling mot {0} {1} for mengden {2},
Requestor,forespørselen,
Required On,Nødvendig På,
Required Qty,Påkrevd antall,
Required Quantity,Nødvendig mengde,
Reschedule,Planlegge på nytt,
Research,Forskning,
Research & Development,Forskning og utvikling,
Researcher,forsker,
Resend Payment Email,Sende Betaling Email,
Reserve Warehouse,Reserve Warehouse,
Reserved Qty,Reservert antall,
Reserved Qty for Production,Reservert antall for produksjon,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Reservert antall for produksjon: Råvaremengde for å lage produksjonsvarer.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Reservert antall: Antall bestilt for salg, men ikke levert.",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Reservert lager er obligatorisk for vare {0} i råvarer som leveres,
Reserved for manufacturing,Reservert for produksjon,
Reserved for sale,Reservert for salg,
Reserved for sub contracting,Reservert for underentreprise,
Resistant,Resistant,
Resolve error and upload again.,Løs feil og last opp igjen.,
Responsibilities,Ansvarsområder,
Rest Of The World,Resten av verden,
Restart Subscription,Start abonnementet på nytt,
Restaurant,Restaurant,
Result Date,Resultatdato,
Result already Submitted,Resultat allerede sendt,
Resume,Gjenoppta,
Retail,Retail,
Retail & Wholesale,Retail &amp; Wholesale,
Retail Operations,Detaljhandel,
Retained Earnings,Opptjent egenkapital,
Retention Stock Entry,Beholdningsinngang,
Retention Stock Entry already created or Sample Quantity not provided,Retention Stock Entry allerede opprettet eller Sample Quantity ikke oppgitt,
Return,Return,
Return / Credit Note,Retur / kreditnota,
Return / Debit Note,Retur / debitnota,
Returns,returer,
Reverse Journal Entry,Omvendt journalinngang,
Review Invitation Sent,Gjennomgå invitasjon sendt,
Review and Action,Gjennomgang og handling,
Role,Rolle,
Rooms Booked,Rom bestilles,
Root Company,Root Company,
Root Type,Root Type,
Root Type is mandatory,Root Type er obligatorisk,
Root cannot be edited.,Root kan ikke redigeres.,
Root cannot have a parent cost center,Root kan ikke ha en forelder kostnadssted,
Round Off,Avrunde,
Rounded Total,Avrundet Total,
Route,Rute,
Row # {0}: ,Row # {0}:,
Row # {0}: Batch No must be same as {1} {2},Row # {0}: Batch No må være samme som {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: Kan ikke returnere mer enn {1} for element {2},
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Row # {0}: Prisen kan ikke være større enn frekvensen som brukes i {1} {2},
Row # {0}: Serial No is mandatory,Row # {0}: Serial No er obligatorisk,
Row # {0}: Serial No {1} does not match with {2} {3},Row # {0}: Serial No {1} samsvarer ikke med {2} {3},
Row #{0} (Payment Table): Amount must be negative,Rad # {0} (betalingstabell): beløpet må være negativt,
Row #{0} (Payment Table): Amount must be positive,Row # {0} (Betalingstabell): Beløpet må være positivt,
Row #{0}: Account {1} does not belong to company {2},Rute # {0}: Konto {1} tilhører ikke firma {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Rad # {0}: Tilordnet beløp kan ikke være større enn utestående beløp.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Row # {0}: Asset {1} kan ikke sendes inn, er det allerede {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Row # {0}: Kan ikke sette Rate hvis beløpet er større enn fakturert beløp for element {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Row # {0}: Clearance date {1} kan ikke være før Cheque Dato {2},
Row #{0}: Duplicate entry in References {1} {2},Row # {0}: Dupliseringsoppføring i Referanser {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Rute # {0}: Forventet leveringsdato kan ikke være før innkjøpsordrenes dato,
Row #{0}: Item added,Rad # {0}: Element lagt til,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Row # {0}: Bilagsregistrering {1} har ikke konto {2} eller allerede matchet mot en annen kupong,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Row # {0}: Ikke lov til å endre Leverandør som innkjøpsordre allerede eksisterer,
Row #{0}: Please set reorder quantity,Row # {0}: Vennligst sett omgjøring kvantitet,
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Vennligst oppgi serienummer for varen {1},
Row #{0}: Qty increased by 1,Rad # {0}: Antall økte med 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Pris må være samme som {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Row # {0}: Referansedokumenttype må være en av kostnadskrav eller journaloppføring,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: Reference Document Type må være en av innkjøpsordre, faktura eller bilagsregistrering",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Avvist Antall kan ikke legges inn i innkjøpsliste,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Avvist Warehouse er obligatorisk mot avvist Element {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Row # {0}: Reqd by Date kan ikke være før transaksjonsdato,
Row #{0}: Set Supplier for item {1},Row # {0}: Sett Leverandør for elementet {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Rad # {0}: Status må være {1} for fakturabatering {2},
"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches",Row # {0}: Batch {1} har bare {2} antall. Vennligst velg en annen batch som har {3} antall tilgjengelig eller del opp raden i flere rader for å levere / utføre fra flere batcher,
Row #{0}: Timings conflicts with row {1},Row # {0}: timings konflikter med rad {1},
Row #{0}: {1} can not be negative for item {2},Rad # {0}: {1} ikke kan være negativ for elementet {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Row Nei {0}: Beløpet kan ikke være større enn utestående beløpet mot Expense krav {1}. Avventer Beløp er {2},
Row {0} : Operation is required against the raw material item {1},Row {0}: Drift er nødvendig mot råvareelementet {1},
Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Row {0} # Tilordnet mengde {1} kan ikke være større enn uanmeldt beløp {2},
Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Row {0} # Item {1} kan ikke overføres mer enn {2} mot innkjøpsordre {3},
Row {0}# Paid Amount cannot be greater than requested advance amount,Rå {0} # Betalt beløp kan ikke være større enn ønsket beløp,
Row {0}: Activity Type is mandatory.,Rad {0}: Aktivitetstype er obligatorisk.,
Row {0}: Advance against Customer must be credit,Rad {0}: Advance mot Kunden må være kreditt,
Row {0}: Advance against Supplier must be debit,Rad {0}: Advance mot Leverandøren skal belaste,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Rad {0}: Avsatt beløp {1} må være mindre enn eller lik Betaling Entry mengden {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Rad {0}: Nummerert mengden {1} må være mindre enn eller lik fakturere utestående beløp {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Rad {0}: En Omgjøre oppføring finnes allerede for dette lageret {1},
Row {0}: Bill of Materials not found for the Item {1},P {0}: stykk ikke funnet med Element {1},
Row {0}: Conversion Factor is mandatory,Rad {0}: Omregningsfaktor er obligatorisk,
Row {0}: Cost center is required for an item {1},Row {0}: Kostnadsstedet kreves for et element {1},
Row {0}: Credit entry can not be linked with a {1},Rad {0}: Credit oppføring kan ikke være knyttet til en {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Rad {0}: valuta BOM # {1} bør være lik den valgte valutaen {2},
Row {0}: Debit entry can not be linked with a {1},Rad {0}: Debet oppføring kan ikke være knyttet til en {1},
Row {0}: Depreciation Start Date is required,Row {0}: Avskrivnings startdato er nødvendig,
Row {0}: Enter location for the asset item {1},Row {0}: Angi plassering for aktivelementet {1},
Row {0}: Exchange Rate is mandatory,Rad {0}: Exchange Rate er obligatorisk,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Row {0}: Forventet verdi etter brukbart liv må være mindre enn brutto innkjøpsbeløp,
Row {0}: From Time and To Time is mandatory.,Rad {0}: Fra tid og Tid er obligatorisk.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Rad {0}: Fra tid og klokkeslett {1} er overlappende med {2},
Row {0}: From time must be less than to time,Rad {0}: Fra tiden må være mindre enn til tiden,
Row {0}: Hours value must be greater than zero.,Rad {0}: Timer verdien må være større enn null.,
Row {0}: Invalid reference {1},Rad {0}: ugyldig referanse {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Rad {0}: Party / Account samsvarer ikke med {1} / {2} i {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Rad {0}: Party Type og Party er nødvendig for fordringer / gjeld kontoen {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Rad {0}: Betaling mot Salg / innkjøpsordre skal alltid merkes som forskudd,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Rad {0}: Vennligst sjekk &#39;Er Advance &quot;mot Account {1} hvis dette er et forskudd oppføring.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Rad {0}: Vennligst angi grunn for skattefritak i moms og avgifter,
Row {0}: Please set the Mode of Payment in Payment Schedule,Rad {0}: Angi betalingsmåte i betalingsplanen,
Row {0}: Please set the correct code on Mode of Payment {1},Rad {0}: Angi riktig kode på betalingsmåte {1},
Row {0}: Qty is mandatory,Rad {0}: Antall er obligatorisk,
Row {0}: Quality Inspection rejected for item {1},Rad {0}: Kvalitetskontroll avvist for varen {1},
Row {0}: UOM Conversion Factor is mandatory,Rad {0}: målenheter omregningsfaktor er obligatorisk,
Row {0}: select the workstation against the operation {1},Row {0}: velg arbeidsstasjonen mot operasjonen {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Row {0}: {1} Serienummer som kreves for element {2}. Du har oppgitt {3}.,
Row {0}: {1} is required to create the Opening {2} Invoices,Row {0}: {1} er nødvendig for å opprette {2} Fakturaer,
Row {0}: {1} must be greater than 0,Row {0}: {1} må være større enn 0,
Row {0}: {1} {2} does not match with {3},Rad {0}: {1} {2} samsvarer ikke med {3},
Row {0}:Start Date must be before End Date,Rad {0}: Startdato må være før sluttdato,
Rows with duplicate due dates in other rows were found: {0},Rader med dupliserte forfallsdatoer i andre rader ble funnet: {0},
Rules for adding shipping costs.,Regler for å legge til fraktkostnader.,
Rules for applying pricing and discount.,Regler for bruk av prising og rabatt.,
S.O. No.,SO No.,
SGST Amount,SGST Beløp,
SO Qty,SO Antall,
Safety Stock,Safety Stock,
Salary,Lønn,
Salary Slip ID,Lønn Slip ID,
Salary Slip of employee {0} already created for this period,Lønn Slip av ansattes {0} som allerede er opprettet for denne perioden,
Salary Slip of employee {0} already created for time sheet {1},Lønn Slip av ansattes {0} allerede opprettet for timeregistrering {1},
Salary Slip submitted for period from {0} to {1},Lønnsslipp legges inn for perioden fra {0} til {1},
Salary Structure Assignment for Employee already exists,Lønnsstrukturoppdrag for ansatte eksisterer allerede,
Salary Structure Missing,Lønn Struktur Missing,
Salary Structure must be submitted before submission of Tax Ememption Declaration,Lønnsstruktur må leveres før innsendelse av skattefrihetserklæring,
Salary Structure not found for employee {0} and date {1},Lønnsstruktur ikke funnet for ansatt {0} og dato {1},
Salary Structure should have flexible benefit component(s) to dispense benefit amount,Lønnsstruktur bør ha fleksible fordelskomponenter for å dispensere ytelsesbeløpet,
"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Lønn allerede behandlet for perioden mellom {0} og {1}, La søknadsperioden kan ikke være mellom denne datoperioden.",
Sales,Salgs,
Sales Account,Salgskonto,
Sales Expenses,Salgs Utgifter,
Sales Funnel,Sales trakt,
Sales Invoice,Salg Faktura,
Sales Invoice {0} has already been submitted,Salg Faktura {0} er allerede innsendt,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Salg Faktura {0} må slettes før den sletter denne salgsordre,
Sales Manager,Salgssjef,
Sales Master Manager,Sales Master manager,
Sales Order,Salgsordre,
Sales Order Item,Salgsordre Element,
Sales Order required for Item {0},Salgsordre kreves for Element {0},
Sales Order to Payment,Salgsordre til betaling,
Sales Order {0} is not submitted,Salgsordre {0} er ikke innsendt,
Sales Order {0} is not valid,Salgsordre {0} er ikke gyldig,
Sales Order {0} is {1},Salgsordre {0} er {1},
Sales Orders,Salgsordrer,
Sales Partner,Sales Partner,
Sales Pipeline,salgs~~POS=TRUNC,
Sales Price List,Salg Prisliste,
Sales Return,Sales Return,
Sales Summary,Salgsoppsummering,
Sales Tax Template,Merverdiavgift Mal,
Sales Team,Sales Team,
Sales User,Salg User,
Sales and Returns,Salg og retur,
Sales campaigns.,Salgskampanjer.,
Sales orders are not available for production,Salgsordrer er ikke tilgjengelige for produksjon,
Salutation,Hilsen,
Same Company is entered more than once,Samme firma er angitt mer enn én gang,
Same item cannot be entered multiple times.,Samme elementet kan ikke legges inn flere ganger.,
Same supplier has been entered multiple times,Samme leverandør er angitt flere ganger,
Sample,Prøve,
Sample Collection,Eksempel Innsamling,
Sample quantity {0} cannot be more than received quantity {1},Prøvekvantitet {0} kan ikke være mer enn mottatt mengde {1},
Sanctioned,sanksjonert,
Sanctioned Amount,Sanksjonert beløp,
Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Sanksjonert Beløpet kan ikke være større enn krav Beløp i Rad {0}.,
Sand,Sand,
Saturday,Lørdag,
Saved,lagret,
Saving {0},Lagrer {0},
Scan Barcode,Skann strekkode,
Schedule,Tidsplan,
Schedule Admission,Planleggingsopptak,
Schedule Course,Schedule Course,
Schedule Date,Schedule Date,
Schedule Discharge,Planlegg utladning,
Scheduled,Planlagt,
Scheduled Upto,Planlagt Upto,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Tidsplaner for {0} overlapper, vil du fortsette etter å ha hoppet over overlapte spor?",
Score cannot be greater than Maximum Score,Score kan ikke være større enn Maksimal poengsum,
Score must be less than or equal to 5,Score må være mindre enn eller lik 5,
Scorecards,målstyring,
Scrapped,skrotet,
Search,Søk,
Search Results,Søkeresultater,
Search Sub Assemblies,Søk Sub Assemblies,
"Search by item code, serial number, batch no or barcode","Søk etter varenummer, serienummer, batchnummer eller strekkode",
"Seasonality for setting budgets, targets etc.","Sesong for å sette budsjetter, mål etc.",
Secret Key,Hemmelig nøkkel,
Secretary,Sekretær,
Section Code,Seksjonskode,
Secured Loans,Sikret lån,
Securities & Commodity Exchanges,Verdipapirer og råvarebørser,
Securities and Deposits,Verdipapirer og innskudd,
See All Articles,Se alle artikler,
See all open tickets,Se alle åpne billetter,
See past orders,Se tidligere bestillinger,
See past quotations,Se tidligere sitater,
Select,Velg,
Select Alternate Item,Velg alternativt element,
Select Attribute Values,Velg Attributtverdier,
Select BOM,Velg BOM,
Select BOM and Qty for Production,Velg BOM og Stk for produksjon,
"Select BOM, Qty and For Warehouse","Velg BOM, antall og for lager",
Select Batch,Velg Batch,
Select Batch Numbers,Velg batchnumre,
Select Brand...,Velg merke ...,
Select Company,Velg firma,
Select Company...,Velg Company ...,
Select Customer,Velg kunde,
Select Days,Velg dager,
Select Default Supplier,Velg Standard Leverandør,
Select DocType,Velg DOCTYPE,
Select Fiscal Year...,Velg regnskapsår ...,
Select Item (optional),Velg element (valgfritt),
Select Items based on Delivery Date,Velg elementer basert på Leveringsdato,
Select Items to Manufacture,Velg delbetaling Produksjon,
Select Loyalty Program,Velg Lojalitetsprogram,
Select Patient,Velg Pasient,
Select Possible Supplier,Velg mulig leverandør,
Select Property,Velg Egenskap,
Select Quantity,Velg antall,
Select Serial Numbers,Velg serienummer,
Select Target Warehouse,Velg Target Warehouse,
Select Warehouse...,Velg Warehouse ...,
Select an account to print in account currency,Velg en konto for å skrive ut i kontovaluta,
Select an employee to get the employee advance.,Velg en ansatt for å få ansatt på forhånd.,
Select at least one value from each of the attributes.,Velg minst én verdi fra hver av attributter.,
Select change amount account,Velg endring mengde konto,
Select company first,Velg firma først,
Select students manually for the Activity based Group,Velg studenter manuelt for aktivitetsbasert gruppe,
Select the customer or supplier.,Velg kunden eller leverandøren.,
Select the nature of your business.,Velg formålet med virksomheten.,
Select the program first,Velg programmet først,
Select to add Serial Number.,Velg å legge til serienummer.,
Select your Domains,Velg domenene dine,
Selected Price List should have buying and selling fields checked.,Valgt prisliste skal ha kjøps- og salgsfelt sjekket.,
Sell,Selge,
Selling,Selling,
Selling Amount,Selge Beløp,
Selling Price List,Selge prisliste,
Selling Rate,Selgingsfrekvens,
"Selling must be checked, if Applicable For is selected as {0}","Selling må sjekkes, hvis dette gjelder for er valgt som {0}",
Send Grant Review Email,Send Grant Review Email,
Send Now,Send Nå,
Send SMS,Send SMS,
Send Supplier Emails,Send Leverandør e-post,
Send mass SMS to your contacts,Sende masse SMS til kontaktene dine,
Sensitivity,Følsomhet,
Sent,Sendte,
Serial #,Serial #,
Serial No and Batch,Serial No og Batch,
Serial No is mandatory for Item {0},Serial No er obligatorisk for Element {0},
Serial No {0} does not belong to Batch {1},Serienummer {0} tilhører ikke batch {1},
Serial No {0} does not belong to Delivery Note {1},Serial No {0} tilhører ikke følgeseddel {1},
Serial No {0} does not belong to Item {1},Serial No {0} tilhører ikke Element {1},
Serial No {0} does not belong to Warehouse {1},Serial No {0} tilhører ikke Warehouse {1},
Serial No {0} does not belong to any Warehouse,Serial No {0} tilhører ikke noen Warehouse,
Serial No {0} does not exist,Serial No {0} finnes ikke,
Serial No {0} has already been received,Serial No {0} er allerede mottatt,
Serial No {0} is under maintenance contract upto {1},Serial No {0} er under vedlikeholdskontrakt opp {1},
Serial No {0} is under warranty upto {1},Serial No {0} er under garanti opptil {1},
Serial No {0} not found,Serial No {0} ikke funnet,
Serial No {0} not in stock,Serial No {0} ikke på lager,
Serial No {0} quantity {1} cannot be a fraction,Serial No {0} mengde {1} kan ikke være en brøkdel,
Serial Nos Required for Serialized Item {0},Serial Nos Nødvendig for Serialisert Element {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Serienummer: {0} er allerede referert i salgsfaktura: {1},
Serial Numbers,Serienummer,
Serial Numbers in row {0} does not match with Delivery Note,Serienumre i rad {0} stemmer ikke overens med Leveringsnotat,
Serial no {0} has been already returned,Serienummer {0} har allerede blitt returnert,
Serial number {0} entered more than once,Serienummer {0} angitt mer enn en gang,
Serialized Inventory,Serialisert Lager,
Series Updated,Serien Oppdatert,
Series Updated Successfully,Serien er oppdatert,
Series is mandatory,Serien er obligatorisk,
Series {0} already used in {1},Serien {0} allerede brukt i {1},
Service,Tjeneste,
Service Expense,tjenesten Expense,
Service Level Agreement,Servicenivåavtale,
Service Level Agreement.,Servicenivåavtale.,
Service Level.,Service nivå.,
Service Stop Date cannot be after Service End Date,Service Stop Date kan ikke være etter service sluttdato,
Service Stop Date cannot be before Service Start Date,Service Stop Date kan ikke være før service startdato,
Services,tjenester,
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Sett standardverdier som Company, Valuta, værende regnskapsår, etc.",
Set Details,Angi detaljer,
Set New Release Date,Angi ny utgivelsesdato,
Set Project and all Tasks to status {0}?,Vil du stille prosjekt og alle oppgaver til status {0}?,
Set Status,Angi status,
Set Tax Rule for shopping cart,Still skatteregel for shopping cart,
Set as Closed,Sett som Stengt,
Set as Completed,Angi som fullført,
Set as Default,Satt som standard,
Set as Lost,Sett som tapte,
Set as Open,Sett som åpen,
Set default inventory account for perpetual inventory,Angi standard beholdningskonto for evigvarende beholdning,
Set this if the customer is a Public Administration company.,Angi dette hvis kunden er et offentlig administrasjonsselskap.,
Set {0} in asset category {1} or company {2},Angi {0} i aktivakategori {1} eller firma {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Innstilling Hendelser til {0}, siden den ansatte knyttet til under selgerne ikke har en bruker-ID {1}",
Setting defaults,Angir standardinnstillinger,
Setting up Email,Sette opp e-post,
Setting up Email Account,Sette opp e-postkonto,
Setting up Employees,Sette opp ansatte,
Setting up Taxes,Sette opp skatter,
Setting up company,Setter opp selskap,
Settings,Innstillinger,
"Settings for online shopping cart such as shipping rules, price list etc.","Innstillinger for online shopping cart som skipsregler, prisliste etc.",
Settings for website homepage,Innstillinger for nettstedet hjemmeside,
Settings for website product listing,Innstillinger for produktliste på nettstedet,
Settled,Bosatte seg,
Setup Gateway accounts.,Oppsett Gateway kontoer.,
Setup SMS gateway settings,Oppsett SMS gateway-innstillinger,
Setup cheque dimensions for printing,Oppsett sjekk dimensjoner for utskrift,
Setup default values for POS Invoices,Oppsett standardverdier for POS-fakturaer,
Setup mode of POS (Online / Offline),Oppsettmodus for POS (Online / Offline),
Setup your Institute in ERPNext,Oppsett ditt institutt i ERPNext,
Share Balance,Andelsbalanse,
Share Ledger,Del Ledger,
Share Management,Aksjeforvaltning,
Share Transfer,Del overføring,
Share Type,Del Type,
Shareholder,Aksjonær,
Ship To State,Send til stat,
Shipments,forsendelser,
Shipping,Shipping,
Shipping Address,Sendingsadresse,
"Shipping Address does not have country, which is required for this Shipping Rule","Fraktadresse har ikke land, som kreves for denne leveringsregelen",
Shipping rule only applicable for Buying,Fraktregel gjelder kun for kjøp,
Shipping rule only applicable for Selling,Fraktregel gjelder kun for salg,
Shopify Supplier,Shopify Leverandør,
Shopping Cart,Handlevogn,
Shopping Cart Settings,Handlevogn Innstillinger,
Short Name,Kort Navn,
Shortage Qty,Mangel Antall,
Show Completed,Vis fullført,
Show Cumulative Amount,Vis kumulativ beløp,
Show Employee,Vis medarbeider,
Show Open,Vis åpen,
Show Opening Entries,Vis åpningsoppføringer,
Show Payment Details,Vis betalingsdetaljer,
Show Return Entries,Vis returinnlegg,
Show Salary Slip,Vis Lønn Slip,
Show Variant Attributes,Vis variantattributter,
Show Variants,Vis Varianter,
Show closed,Vis stengt,
Show exploded view,Vis eksplodert visning,
Show only POS,Vis bare POS,
Show unclosed fiscal year's P&L balances,Vis unclosed regnskapsårets P &amp; L balanserer,
Show zero values,Vis nullverdier,
Sick Leave,Sykefravær,
Silt,silt,
Single Variant,Enkelt variant,
Single unit of an Item.,Enkelt enhet av et element.,
"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Hopp over permisjon for de følgende ansatte, ettersom det allerede eksisterer permitteringsoppføringer overfor dem. {0}",
"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Hopp over lønnsstrukturoppdrag for følgende ansatte, da lønnsstrukturoppdrag allerede finnes mot dem. {0}",
Slideshow,Lysbildefremvisning,
Slots for {0} are not added to the schedule,Slots for {0} legges ikke til i timeplanen,
Small,Liten,
Soap & Detergent,Såpe og vaskemiddel,
Software,programvare,
Software Developer,Programvareutvikler,
Softwares,programvare,
Soil compositions do not add up to 100,Jordblandinger legger ikke opp til 100,
Sold,selges,
Some emails are invalid,Noen e-poster er ugyldige,
Some information is missing,mangler litt informasjon,
Something went wrong!,Noe gikk galt!,
"Sorry, Serial Nos cannot be merged","Sorry, kan Serial Nos ikke bli slått sammen",
Source,Source,
Source Name,Source Name,
Source Warehouse,Kilde Warehouse,
Source and Target Location cannot be same,Kilde og målplassering kan ikke være det samme,
Source and target warehouse cannot be same for row {0},Kilden og målet lageret kan ikke være det samme for rad {0},
Source and target warehouse must be different,Kilde og mål lageret må være annerledes,
Source of Funds (Liabilities),Source of Funds (Gjeld),
Source warehouse is mandatory for row {0},Kilde lageret er obligatorisk for rad {0},
Specified BOM {0} does not exist for Item {1},Spesifisert BOM {0} finnes ikke for element {1},
Split,Dele,
Split Batch,Split Batch,
Split Issue,Delt utgave,
Sports,sport,
Staffing Plan {0} already exist for designation {1},Bemanningsplan {0} finnes allerede for betegnelse {1},
Standard,Standard,
Standard Buying,Standard Kjøpe,
Standard Selling,Standard Selling,
Standard contract terms for Sales or Purchase.,Standard kontraktsvilkår for salg eller kjøp.,
Start Date,Startdato,
Start Date of Agreement can't be greater than or equal to End Date.,Startdato for avtale kan ikke være større enn eller lik sluttdato.,
Start Year,start-år,
"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Start- og sluttdatoer som ikke er i en gyldig lønnsperiode, kan ikke beregne {0}",
"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Begynn og avslutt datoer ikke i en gyldig lønningsperiode, kan ikke beregne {0}.",
Start date should be less than end date for Item {0},Startdato skal være mindre enn sluttdato for Element {0},
Start date should be less than end date for task {0},Startdato bør være mindre enn sluttdato for oppgaven {0},
Start day is greater than end day in task '{0}',Startdagen er større enn sluttdagen i oppgaven &#39;{0}&#39;,
Start on,Start på,
State,Stat,
State/UT Tax,Stat / UT-skatt,
Statement of Account,Kontoutskrift,
Status must be one of {0},Status må være en av {0},
Stock,Lager,
Stock Adjustment,Stock Adjustment,
Stock Analytics,Aksje Analytics,
Stock Assets,Aksje Eiendeler,
Stock Available,På lager,
Stock Balance,Stock Balance,
Stock Entries already created for Work Order ,Lageroppføringer allerede opprettet for arbeidsordre,
Stock Entry,Stock Entry,
Stock Entry {0} created,Stock Entry {0} er opprettet,
Stock Entry {0} is not submitted,Stock Entry {0} er ikke innsendt,
Stock Expenses,Aksje Utgifter,
Stock In Hand,Lager i hånd,
Stock Items,lager~~POS=TRUNC,
Stock Ledger,Stock Ledger,
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Arkiv Ledger Oppføringer og GL Oppføringer repostes for de valgte Kjøps Receipts,
Stock Levels,lagernivåer,
Stock Liabilities,Aksje Gjeld,
Stock Options,Aksjeopsjoner,
Stock Qty,Varenummer,
Stock Received But Not Billed,"Stock mottatt, men ikke fakturert",
Stock Reports,lager rapporter,
Stock Summary,Stock oppsummering,
Stock Transactions,aksje~~POS=TRUNC,
Stock UOM,Stock målenheter,
Stock Value,Stock verdi,
Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Stock balanse i Batch {0} vil bli negativ {1} for Element {2} på Warehouse {3},
Stock cannot be updated against Delivery Note {0},Stock kan ikke oppdateres mot følgeseddel {0},
Stock cannot be updated against Purchase Receipt {0},Stock kan ikke oppdateres mot Kjøpskvittering {0},
Stock cannot exist for Item {0} since has variants,Stock kan ikke eksistere for Element {0} siden har varianter,
Stock transactions before {0} are frozen,Lagertransaksjoner før {0} er frosset,
Stop,Stoppe,
Stopped,Stoppet,
"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Stoppet arbeidsordre kan ikke kanselleres, Unstop det først for å avbryte",
Stores,butikker,
Structures have been assigned successfully,Strukturer er tilordnet med hell,
Student,Student,
Student Activity,Studentaktivitet,
Student Address,Studentadresse,
Student Admissions,student Opptak,
Student Attendance,student Oppmøte,
"Student Batches help you track attendance, assessments and fees for students","Student batcher hjelpe deg med å spore oppmøte, vurderinger og avgifter for studenter",
Student Email Address,Student e-postadresse,
Student Email ID,Student Email ID,
Student Group,student Gruppe,
Student Group Strength,Studentgruppestyrke,
Student Group is already updated.,Studentgruppen er allerede oppdatert.,
Student Group: ,Studentgruppe:,
Student ID,Student ID,
Student ID: ,Student ID:,
Student LMS Activity,Student LMS Aktivitet,
Student Mobile No.,Student Mobile No.,
Student Name,Student navn,
Student Name: ,Student navn:,
Student Report Card,Studentrapportkort,
Student is already enrolled.,Student er allerede registrert.,
Student {0} - {1} appears Multiple times in row {2} & {3},Student {0} - {1} vises flere ganger på rad {2} og {3},
Student {0} does not belong to group {1},Student {0} tilhører ikke gruppe {1},
Student {0} exist against student applicant {1},Student {0} eksistere mot student Søkeren {1},
"Students are at the heart of the system, add all your students","Studentene er i hjertet av systemet, legge til alle elevene",
Sub Assemblies,Sub Assemblies,
Sub Type,Undertype,
Sub-contracting,Underleverandører,
Subcontract,underentrepriser,
Subject,Emne,
Submit,Send inn,
Submit Proof,Send inn bevis,
Submit Salary Slip,Send Lønn Slip,
Submit this Work Order for further processing.,Send inn denne arbeidsordren for videre behandling.,
Submit this to create the Employee record,Send inn dette for å skape medarbeideroppføringen,
Submitting Salary Slips...,Innlevering av lønnsslipp ...,
Subscription,Abonnement,
Subscription Management,Abonnementsadministrasjon,
Subscriptions,abonnementer,
Subtotal,delsum,
Successful,Vellykket,
Successfully Reconciled,Vellykket forsonet,
Successfully Set Supplier,Vellykket sett leverandør,
Successfully created payment entries,Vellykket opprettet betalingsoppføringer,
Successfully deleted all transactions related to this company!,Slettet alle transaksjoner knyttet til dette selskapet!,
Sum of Scores of Assessment Criteria needs to be {0}.,Summen av Resultater av vurderingskriterier må være {0}.,
Sum of points for all goals should be 100. It is {0},Summen av poeng for alle mål bør være 100. Det er {0},
Summary,Sammendrag,
Summary for this month and pending activities,Oppsummering for denne måneden og ventende aktiviteter,
Summary for this week and pending activities,Oppsummering for denne uken og ventende aktiviteter,
Sunday,Søndag,
Suplier,suplier,
Supplier,Leverandør,
Supplier Group,Leverandørgruppe,
Supplier Group master.,Leverandør Gruppemester.,
Supplier Id,Leverandør Id,
Supplier Invoice Date cannot be greater than Posting Date,Leverandør Fakturadato kan ikke være større enn konteringsdato,
Supplier Invoice No,Leverandør Faktura Nei,
Supplier Invoice No exists in Purchase Invoice {0},Leverandør Faktura Ingen eksisterer i fakturaen {0},
Supplier Name,Leverandør Name,
Supplier Part No,Leverandør varenummer,
Supplier Quotation,Leverandør sitat,
Supplier Scorecard,Leverandør Scorecard,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Leverandør Warehouse obligatorisk for underleverandør Kjøpskvittering,
Supplier database.,Leverandør database.,
Supplier {0} not found in {1},Leverandør {0} ikke funnet i {1},
Supplier(s),Leverandør (er),
Supplies made to UIN holders,Leveranser til UIN-innehavere,
Supplies made to Unregistered Persons,Leveranser til uregistrerte personer,
Suppliies made to Composition Taxable Persons,Forsyninger levert til sammensatte avgiftspliktige personer,
Supply Type,Forsyningstype,
Support,Support,
Support Analytics,Støtte Analytics,
Support Settings,støtte~~POS=TRUNC Innstillinger,
Support Tickets,Støtte Billetter,
Support queries from customers.,Støtte henvendelser fra kunder.,
Susceptible,utsatt,
Sync has been temporarily disabled because maximum retries have been exceeded,Synkronisering er midlertidig deaktivert fordi maksimal retries er overskredet,
Syntax error in condition: {0},Syntaksfeil i tilstand: {0},
Syntax error in formula or condition: {0},Syntaksfeil i formelen eller tilstand: {0},
System Manager,System Manager,
TDS Rate %,TDS Rate%,
Tap items to add them here,Trykk på elementer for å legge dem til her,
Target,Target,
Target ({}),Mål ({}),
Target On,Target På,
Target Warehouse,Target Warehouse,
Target warehouse is mandatory for row {0},Target lageret er obligatorisk for rad {0},
Task,Task,
Tasks,Oppgaver,
Tasks have been created for managing the {0} disease (on row {1}),Oppgaver er opprettet for å administrere {0} sykdommen (på rad {1}),
Tax,Skatte,
Tax Assets,Skattefordel,
Tax Category,Skattekategori,
Tax Category for overriding tax rates.,Skattekategori for overordnede skattesatser.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items",Skattekategori har blitt endret til &quot;Totalt&quot; fordi alle elementene er ikke-varelager,
Tax ID,Skatt ID,
Tax Id: ,Skatte-ID:,
Tax Rate,Skattesats,
Tax Rule Conflicts with {0},Skatteregel konflikter med {0},
Tax Rule for transactions.,Skatteregel for transaksjoner.,
Tax Template is mandatory.,Skatt Mal er obligatorisk.,
Tax Withholding rates to be applied on transactions.,Skatt Tilbakebetaling satser som skal brukes på transaksjoner.,
Tax template for buying transactions.,Skatt mal for å kjøpe transaksjoner.,
Tax template for item tax rates.,Skattemal for varesatser.,
Tax template for selling transactions.,Skatt mal for å selge transaksjoner.,
Taxable Amount,Skattepliktig beløp,
Taxes,skatter,
Team Updates,laget Oppdateringer,
Technology,Teknologi,
Telecommunications,Telekommunikasjon,
Telephone Expenses,Telefon Utgifter,
Television,TV,
Template Name,Malnavn,
Template of terms or contract.,Mal av begreper eller kontrakt.,
Templates of supplier scorecard criteria.,Maler med leverandørpoengkriterier.,
Templates of supplier scorecard variables.,Maler av leverandørens scorecard-variabler.,
Templates of supplier standings.,Maler av leverandørstillinger.,
Temporarily on Hold,Midlertidig på vent,
Temporary,Midlertidig,
Temporary Accounts,Midlertidige kontoer,
Temporary Opening,Midlertidig åpning,
Terms and Conditions,Vilkår og betingelser,
Terms and Conditions Template,Betingelser Mal,
Territory,Territorium,
Test,Test,
Thank you,Takk,
Thank you for your business!,Takk for handelen!,
The 'From Package No.' field must neither be empty nor it's value less than 1.,Fra pakke nr. feltet må verken være tomt eller det er mindre enn 1.,
The Brand,The Brand,
The Item {0} cannot have Batch,Element {0} kan ikke ha Batch,
The Loyalty Program isn't valid for the selected company,Lojalitetsprogrammet er ikke gyldig for det valgte selskapet,
The Payment Term at row {0} is possibly a duplicate.,Betalingsperioden i rad {0} er muligens en duplikat.,
The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,"Begrepet Sluttdatoen kan ikke være tidligere enn Term startdato. Korriger datoene, og prøv igjen.",
The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,"Begrepet Sluttdato kan ikke være senere enn året sluttdato av studieåret som begrepet er knyttet (studieåret {}). Korriger datoene, og prøv igjen.",
The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,"Begrepet Startdato kan ikke være tidligere enn året startdato av studieåret som begrepet er knyttet (studieåret {}). Korriger datoene, og prøv igjen.",
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,"Året Sluttdatoen kan ikke være tidligere enn året startdato. Korriger datoene, og prøv igjen.",
The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,"Beløpet på {0} som er angitt i denne betalingsanmodningen, er forskjellig fra det beregnede beløpet for alle betalingsplaner: {1}. Pass på at dette er riktig før du sender dokumentet.",
The day(s) on which you are applying for leave are holidays. You need not apply for leave.,Dagen (e) der du søker om permisjon er helligdager. Du trenger ikke søke om permisjon.,
The field From Shareholder cannot be blank,Feltet fra Aksjonær kan ikke være tomt,
The field To Shareholder cannot be blank,Feltet Til Aksjonær kan ikke være tomt,
The fields From Shareholder and To Shareholder cannot be blank,Feltene fra Aksjonær og Til Aksjonær kan ikke være tomme,
The folio numbers are not matching,Folio tallene stemmer ikke overens,
The holiday on {0} is not between From Date and To Date,Ferien på {0} er ikke mellom Fra dato og til dato,
The name of the institute for which you are setting up this system.,Navnet på institutt for som du setter opp dette systemet.,
The name of your company for which you are setting up this system.,Navnet på firmaet som du setter opp dette systemet.,
The number of shares and the share numbers are inconsistent,Antall aksjer og aksjenumrene er inkonsekvente,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Betalingsgatewaykontoen i plan {0} er forskjellig fra betalingsgatewaykontoen i denne betalingsanmodningen,
The selected BOMs are not for the same item,De valgte stykklister er ikke for den samme varen,
The selected item cannot have Batch,Den valgte elementet kan ikke ha Batch,
The seller and the buyer cannot be the same,Selgeren og kjøperen kan ikke være det samme,
The shareholder does not belong to this company,Aksjonæren tilhører ikke dette firmaet,
The shares already exist,Aksjene eksisterer allerede,
The shares don't exist with the {0},Aksjene eksisterer ikke med {0},
"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","Oppgaven er blitt pålagt som bakgrunnsjobb. I tilfelle det er noe problem med behandlingen i bakgrunnen, vil systemet legge til en kommentar om feilen på denne aksjeavstemmingen og gå tilbake til utkaststrinnet",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Da reglene for prissetting filtreres ut basert på Kunden, Kundens Group, Territory, leverandør, leverandør Type, Kampanje, Sales Partner etc.",
"There are inconsistencies between the rate, no of shares and the amount calculated","Det er uoverensstemmelser mellom rente, antall aksjer og beregnet beløp",
There are more holidays than working days this month.,Det er mer ferie enn virkedager denne måneden.,
There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,Det kan være flere lagdelt innsamlingsfaktor basert på totalt brukt. Men konverteringsfaktoren for innløsning vil alltid være den samme for alle nivåer.,
There can only be 1 Account per Company in {0} {1},Det kan bare være en konto per Company i {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""",Det kan bare være én Shipping Rule Forhold med 0 eller blank verdi for &quot;å verd&quot;,
There is no leave period in between {0} and {1},Det er ingen permisjon mellom {0} og {1},
There is not enough leave balance for Leave Type {0},Det er ikke nok permisjon balanse for La Type {0},
There is nothing to edit.,Det er ingenting å redigere.,
There isn't any item variant for the selected item,Det er ikke noen varianter for det valgte elementet,
"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Det ser ut til å være et problem med serverens GoCardless-konfigurasjon. Ikke bekymre deg, i tilfelle feil, vil beløpet bli refundert til kontoen din.",
There were errors creating Course Schedule,Det var feil å opprette kursplan,
There were errors.,Det var feil.,
This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,"Denne varen er en mal, og kan ikke brukes i transaksjoner. Element attributter vil bli kopiert over i varianter med mindre &#39;No Copy&#39; er satt",
This Item is a Variant of {0} (Template).,Denne varen er en variant av {0} (mal).,
This Month's Summary,Denne måneden Oppsummering,
This Week's Summary,Denne ukens oppsummering,
This action will stop future billing. Are you sure you want to cancel this subscription?,Denne handlingen stopper fremtidig fakturering. Er du sikker på at du vil avbryte dette abonnementet?,
This covers all scorecards tied to this Setup,Dette dekker alle scorecards knyttet til denne oppsettet,
This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Dette dokumentet er over grensen av {0} {1} for elementet {4}. Er du gjør en annen {3} mot samme {2}?,
This is a root account and cannot be edited.,Dette er en rot konto og kan ikke redigeres.,
This is a root customer group and cannot be edited.,"Dette er en rot kundegruppe, og kan ikke redigeres.",
This is a root department and cannot be edited.,Dette er en rotavdeling og kan ikke redigeres.,
This is a root healthcare service unit and cannot be edited.,Dette er en rotasjonshelsetjenestenhet og kan ikke redigeres.,
This is a root item group and cannot be edited.,Dette er en rot varegruppe og kan ikke redigeres.,
This is a root sales person and cannot be edited.,Dette er en grunnlegg salg person og kan ikke redigeres.,
This is a root supplier group and cannot be edited.,Dette er en rotleverandørgruppe og kan ikke redigeres.,
This is a root territory and cannot be edited.,Dette er en rot territorium og kan ikke redigeres.,
This is an example website auto-generated from ERPNext,Dette er et eksempel nettsiden automatisk generert fra ERPNext,
This is based on logs against this Vehicle. See timeline below for details,Dette er basert på loggene mot denne bilen. Se tidslinjen nedenfor for detaljer,
This is based on stock movement. See {0} for details,Dette er basert på lagerbevegelse. Se {0} for detaljer,
This is based on the Time Sheets created against this project,Dette er basert på timelister som er opprettet mot dette prosjektet,
This is based on the attendance of this Employee,Dette er basert på tilstedeværelse av denne Employee,
This is based on the attendance of this Student,Dette er basert på tilstedeværelse av denne Student,
This is based on transactions against this Customer. See timeline below for details,Dette er basert på transaksjoner mot denne kunden. Se tidslinjen nedenfor for detaljer,
This is based on transactions against this Healthcare Practitioner.,Dette er basert på transaksjoner mot denne helsepersonell.,
This is based on transactions against this Patient. See timeline below for details,Dette er basert på transaksjoner mot denne pasienten. Se tidslinjen nedenfor for detaljer,
This is based on transactions against this Sales Person. See timeline below for details,Dette er basert på transaksjoner mot denne selgeren. Se tidslinjen nedenfor for detaljer,
This is based on transactions against this Supplier. See timeline below for details,Dette er basert på transaksjoner mot denne Leverandøren. Se tidslinjen nedenfor for detaljer,
This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Dette vil sende Lønnsslipp og opprette periodiseringstabell. Vil du fortsette?,
This {0} conflicts with {1} for {2} {3},Denne {0} konflikter med {1} for {2} {3},
Time Sheet for manufacturing.,Timeregistrering for produksjon.,
Time Tracking,Time Tracking,
"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Tidsluke hoppet over, sporet {0} til {1} overlapper eksisterende spor {2} til {3}",
Time slots added,Tidsluker lagt til,
Time(in mins),Tid (i minutter),
Timer,Timer,
Timer exceeded the given hours.,Timeren oversteg de angitte timene.,
Timesheet,Tids skjema,
Timesheet for tasks.,Timeregistrering for oppgaver.,
Timesheet {0} is already completed or cancelled,Timeregistrering {0} er allerede gjennomført eller kansellert,
Timesheets,Timelister,
"Timesheets help keep track of time, cost and billing for activites done by your team","Timelister bidra til å holde styr på tid, kostnader og fakturering for aktiviteter gjort av teamet ditt",
Titles for print templates e.g. Proforma Invoice.,Titler for utskriftsmaler f.eks Proforma Faktura.,
To,Til,
To Address 1,Å adresse 1,
To Address 2,Å adresse 2,
To Bill,Til Bill,
To Date,To Date,
To Date cannot be before From Date,Til dags dato kan ikke være før fra dato,
To Date cannot be less than From Date,Til dato kan ikke være mindre enn Fra dato,
To Date must be greater than From Date,Til dags dato må være større enn Fra dato,
To Date should be within the Fiscal Year. Assuming To Date = {0},To Date bør være innenfor regnskapsåret. Antar To Date = {0},
To Datetime,Til Datetime,
To Deliver,Å levere,
To Deliver and Bill,Å levere og Bill,
To Fiscal Year,Til Skatteår,
To GSTIN,Til GSTIN,
To Party Name,Til Festnavn,
To Pin Code,Å pin kode,
To Place,Å sette,
To Receive,Å motta,
To Receive and Bill,Å motta og Bill,
To State,Å statliggjøre,
To Warehouse,Til Warehouse,
To create a Payment Request reference document is required,For å opprette en betalingsforespørsel kreves referansedokument,
To date can not be equal or less than from date,Til dato kan ikke være lik eller mindre enn fra dato,
To date can not be less than from date,Til dato kan ikke være mindre enn fra dato,
To date can not greater than employee's relieving date,Til dags dato kan ikke større enn ansattes avlastningsdato,
"To filter based on Party, select Party Type first","Hvis du vil filtrere basert på partiet, velger partiet Skriv inn først",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","For å få det beste ut av ERPNext, anbefaler vi at du tar litt tid og se på disse hjelpevideoer.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","For å inkludere skatt i rad {0} i Element rente, skatt i rader {1} må også inkluderes",
To make Customer based incentive schemes.,Å gjøre kundebaserte insentivordninger.,
"To merge, following properties must be same for both items","Å fusjonere, må følgende egenskaper være lik for begge elementene",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Hvis du ikke vil bruke Prissetting regel i en bestemt transaksjon, bør alle gjeldende reglene for prissetting deaktiveres.",
"To set this Fiscal Year as Default, click on 'Set as Default'","For å sette dette regnskapsåret som standard, klikk på &quot;Angi som standard &#39;",
To view logs of Loyalty Points assigned to a Customer.,For å vise logger over lojalitetspoeng som er tilordnet en kunde.,
To {0},Til {0},
To {0} | {1} {2},Til {0} | {1} {2},
Toggle Filters,Bytt filter,
Too many columns. Export the report and print it using a spreadsheet application.,For mange kolonner. Eksportere rapporten og skrive den ut ved hjelp av et regnearkprogram.,
Tools,Verktøy,
Total (Credit),Total (Credit),
Total (Without Tax),Totalt (uten skatt),
Total Absent,Total Fraværende,
Total Achieved,Oppnådd Total,
Total Actual,Total Actual,
Total Allocated Leaves,Totalt tildelte blad,
Total Amount,Totalbeløp,
Total Amount Credited,Totalt beløp krevet,
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Totalt gjeldende avgifter i kvitteringen Elementer tabellen må være det samme som total skatter og avgifter,
Total Budget,Totalt budsjett,
Total Collected: {0},Samlet samlet: {0},
Total Commission,Total Commission,
Total Contribution Amount: {0},Totalt bidragsbeløp: {0},
Total Credit/ Debit Amount should be same as linked Journal Entry,Totalt kreditt / debetbeløp skal være det samme som koblet journalinngang,
Total Debit must be equal to Total Credit. The difference is {0},Total debet må være lik samlet kreditt. Forskjellen er {0},
Total Deduction,Total fradrag,
Total Invoiced Amount,Total Fakturert beløp,
Total Leaves,Totalt Leaves,
Total Order Considered,Total Bestill Regnes,
Total Order Value,Total ordreverdi,
Total Outgoing,Total Utgående,
Total Outstanding,Totalt Utestående,
Total Outstanding Amount,Totalt utestående beløp,
Total Outstanding: {0},Totalt utestående: {0},
Total Paid Amount,Totalt innbetalt beløp,
Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Totalt betalingsbeløp i betalingsplan må være lik Grand / Rounded Total,
Total Payments,Totale betalinger,
Total Present,Total Present,
Total Qty,Total Antall,
Total Quantity,Totalt antall,
Total Revenue,Totale inntekter,
Total Student,Totalt Student,
Total Target,Total Target,
Total Tax,Total Skatte,
Total Taxable Amount,Sum skattepliktig beløp,
Total Taxable Value,Total skattepliktig verdi,
Total Unpaid: {0},Total Ubetalte: {0},
Total Variance,Total Variance,
Total Weightage of all Assessment Criteria must be 100%,Totalt weightage av alle vurderingskriteriene må være 100%,
Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Total forhånd ({0}) mot Bestill {1} kan ikke være større enn totalsummen ({2}),
Total advance amount cannot be greater than total claimed amount,Samlet forskuddsbeløp kan ikke være større enn totalt beløp,
Total advance amount cannot be greater than total sanctioned amount,Samlet forskuddbeløp kan ikke være større enn total sanksjonert beløp,
Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Totalt tildelte blader er flere dager enn maksimal tildeling av {0} permisjonstype for ansatt {1} i perioden,
Total allocated leaves are more than days in the period,Totalt tildelte bladene er mer enn dager i perioden,
Total allocated percentage for sales team should be 100,Totalt bevilget prosent for salgsteam skal være 100,
Total cannot be zero,Totalt kan ikke være null,
Total contribution percentage should be equal to 100,Total innskuddsprosent skal være lik 100,
Total flexible benefit component amount {0} should not be less than max benefits {1},Det totale beløpet for fleksibel ytelse {0} skal ikke være mindre enn maksimalt utbytte {1},
Total hours: {0},Antall timer: {0},
Total leaves allocated is mandatory for Leave Type {0},Totalt antall permisjoner er obligatorisk for permisjonstype {0},
Total working hours should not be greater than max working hours {0},Samlet arbeidstid må ikke være større enn maks arbeidstid {0},
Total {0} ({1}),Totalt {0} ({1}),
"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Totalt {0} for alle elementer er null, kan være du bør endre &#39;Fordel Avgifter basert på&#39;",
Total(Amt),Total (Amt),
Total(Qty),Total (Stk),
Traceability,Sporbarhet,
Traceback,Spore tilbake,
Track Leads by Lead Source.,Sporledninger av blykilde.,
Training,Opplæring,
Training Event,trening Hendelses,
Training Events,Treningsarrangementer,
Training Feedback,Trening tilbakemelding,
Training Result,trening Resultat,
Transaction,Transaksjons,
Transaction Date,Transaksjonsdato,
Transaction Type,Transaksjonstype,
Transaction currency must be same as Payment Gateway currency,Transaksjons valuta må være samme som Payment Gateway valuta,
Transaction not allowed against stopped Work Order {0},Transaksjon ikke tillatt mot stoppet Arbeidsordre {0},
Transaction reference no {0} dated {1},Transaksjonsreferanse ikke {0} datert {1},
Transactions,transaksjoner,
Transactions can only be deleted by the creator of the Company,Transaksjoner kan bare slettes av skaperen av selskapet,
Transfer,Transfer,
Transfer Material,Transfer Material,
Transfer Type,Overføringstype,
Transfer an asset from one warehouse to another,Overfør en eiendel fra en lagerbygning til en annen,
Transfered,Overført,
Transferred Quantity,Overført antall,
Transport Receipt Date,Transportkvitteringsdato,
Transport Receipt No,Transport kvittering nr,
Transportation,Transport,
Transporter ID,Transporter ID,
Transporter Name,Transporter Name,
Travel,Reise,
Travel Expenses,Reiseutgifter,
Tree Type,Tre Type,
Tree of Bill of Materials,Tree of Bill of Materials,
Tree of Item Groups.,Tree of varegrupper.,
Tree of Procedures,Prosedyretre,
Tree of Quality Procedures.,Tree of Quality Prosedyrer.,
Tree of financial Cost Centers.,Tre av finansielle kostnadssteder.,
Tree of financial accounts.,Tre av finansregnskap.,
Treshold {0}% appears more than once,Treshold {0}% kommer mer enn én gang,
Trial Period End Date Cannot be before Trial Period Start Date,Prøveperiode Sluttdato kan ikke være før startdato for prøveperiode,
Trialling,Tester ut,
Type of Business,Type virksomhet,
Types of activities for Time Logs,Typer aktiviteter for Tid Logger,
UOM,målenheter,
UOM Conversion factor is required in row {0},Målenheter Omregningsfaktor er nødvendig i rad {0},
UOM coversion factor required for UOM: {0} in Item: {1},Målenheter coversion faktor nødvendig for målenheter: {0} i Sak: {1},
URL,URL,
Unable to find DocType {0},Kan ikke finne DocType {0},
Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Kan ikke finne valutakurs for {0} til {1} for nøkkeldato {2}. Vennligst opprett en valutautvekslingsrekord manuelt,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Kan ikke finne poeng som starter ved {0}. Du må ha stående poeng som dekker 0 til 100,
Unable to find variable: ,Kan ikke finne variabel:,
Unblock Invoice,Fjern blokkering av faktura,
Uncheck all,Fjern haken ved alle,
Unclosed Fiscal Years Profit / Loss (Credit),Unclosed regnskapsårene Profit / Loss (Credit),
Unit,Enhet,
Unit of Measure,Måleenhet,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Enhet {0} har blitt lagt inn mer enn én gang i omregningsfaktor tabell,
Unknown,Ukjent,
Unpaid,ubetalte,
Unsecured Loans,Usikret lån,
Unsubscribe from this Email Digest,Melde deg ut av denne e-post Digest,
Unsubscribed,Utmeldings,
Until,Inntil,
Unverified Webhook Data,Uverifiserte Webhook-data,
Update Account Name / Number,Oppdater kontonavn / nummer,
Update Account Number / Name,Oppdater kontonummer / navn,
Update Cost,Oppdater Cost,
Update Items,Oppdater elementer,
Update Print Format,Oppdater Print Format,
Update Response,Oppdater svar,
Update bank payment dates with journals.,Oppdatere bankbetalings datoer med tidsskrifter.,
Update in progress. It might take a while.,Oppdatering pågår. Det kan ta en stund.,
Update rate as per last purchase,Oppdateringsfrekvens per siste kjøp,
Update stock must be enable for the purchase invoice {0},Oppdateringslager må være aktivert for kjøpsfakturaen {0},
Updating Variants...,Oppdaterer varianter ...,
Upload your letter head and logo. (you can edit them later).,Last opp din brevhode og logo. (Du kan redigere dem senere).,
Upper Income,Øvre inntekt,
Use Sandbox,bruk Sandbox,
Used Leaves,Brukte blad,
User,Bruker,
User ID,bruker-ID,
User ID not set for Employee {0},Bruker-ID ikke satt for Employee {0},
User Remark,Bruker Remark,
User has not applied rule on the invoice {0},Bruker har ikke brukt regel på fakturaen {0},
User {0} already exists,Bruker {0} eksisterer allerede,
User {0} created,Bruker {0} opprettet,
User {0} does not exist,Bruker {0} finnes ikke,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Bruker {0} har ingen standard POS-profil. Kontroller standard i rad {1} for denne brukeren.,
User {0} is already assigned to Employee {1},Bruker {0} er allerede tildelt Employee {1},
User {0} is already assigned to Healthcare Practitioner {1},Bruker {0} er allerede tildelt Healthcare Practitioner {1},
Users,Brukere,
Utility Expenses,Utility Utgifter,
Valid From Date must be lesser than Valid Upto Date.,Gyldig fra dato må være mindre enn gyldig utløpsdato.,
Valid Till,Gyldig til,
Valid from and valid upto fields are mandatory for the cumulative,Gyldig fra og gyldige opptil felt er obligatorisk for det kumulative,
Valid from date must be less than valid upto date,Gyldig fra dato må være mindre enn gyldig til dato,
Valid till date cannot be before transaction date,Gyldig til dato kan ikke være før transaksjonsdato,
Validity,Gyldighet,
Validity period of this quotation has ended.,Gyldighetsperioden for dette sitatet er avsluttet.,
Valuation Rate,Verdivurdering Rate,
Valuation Rate is mandatory if Opening Stock entered,Verdsettelse Rate er obligatorisk hvis Åpning Stock oppgitt,
Valuation type charges can not marked as Inclusive,Verdsettelse typen kostnader kan ikke merket som Inclusive,
Value Or Qty,Verdi eller Stk,
Value Proposition,Verdivurdering,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Verdi for Egenskap {0} må være innenfor området {1} til {2} i trinn på {3} for Element {4},
Value missing,Verdi mangler,
Value must be between {0} and {1},Verdien må være mellom {0} og {1},
"Values of exempt, nil rated and non-GST inward supplies","Verdier av unntatte, ikke-klassifiserte og ikke-GST-innforsyninger",
Variable,variabel,
Variance,varians,
Variance ({}),Varians ({}),
Variant,variant,
Variant Attributes,Variant Attributter,
Variant Based On cannot be changed,Variant basert på kan ikke endres,
Variant Details Report,Variant Detaljer Report,
Variant creation has been queued.,Variantskaping har vært i kø.,
Vehicle Expenses,Vehicle Utgifter,
Vehicle No,Vehicle Nei,
Vehicle Type,Bil type,
Vehicle/Bus Number,Kjøretøy / bussnummer,
Venture Capital,Venture Capital,
View Chart of Accounts,Se diagram over kontoer,
View Fees Records,Se avgifter,
View Form,Vis skjema,
View Lab Tests,Se labtester,
View Leads,Vis Leads,
View Ledger,Vis Ledger,
View Now,Vis nå,
View a list of all the help videos,Vis en liste over alle hjelpevideoer,
View in Cart,Vis i handlekurven,
Visit report for maintenance call.,Besøk rapport for vedlikehold samtale.,
Visit the forums,Besøk forumene,
Vital Signs,Livstegn,
Volunteer,Frivillig,
Volunteer Type information.,Frivillig Type informasjon.,
Volunteer information.,Frivillig informasjon.,
Voucher #,Kupong #,
Voucher No,Kupong Ingen,
Voucher Type,Kupong Type,
WIP Warehouse,WIP Warehouse,
Walk In,Gå inn,
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Warehouse kan ikke slettes som finnes lager hovedbok oppføring for dette lageret.,
Warehouse cannot be changed for Serial No.,Warehouse kan ikke endres for Serial No.,
Warehouse is mandatory,Warehouse er obligatorisk,
Warehouse is mandatory for stock Item {0} in row {1},Warehouse er obligatorisk for lager Element {0} i rad {1},
Warehouse not found in the system,Warehouse ikke funnet i systemet,
"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Lager som kreves ved rad nr. {0}, angi standardlager for elementet {1} for firmaet {2}",
Warehouse required for stock Item {0},Warehouse nødvendig for lager Element {0},
Warehouse {0} can not be deleted as quantity exists for Item {1},Warehouse {0} kan ikke slettes som kvantitet finnes for Element {1},
Warehouse {0} does not belong to company {1},Warehouse {0} ikke tilhører selskapet {1},
Warehouse {0} does not exist,Warehouse {0} finnes ikke,
"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Lager {0} er ikke knyttet til noen konto, vennligst oppgi kontoen i lagerregisteret eller sett inn standardbeholdningskonto i selskap {1}.",
Warehouses with child nodes cannot be converted to ledger,Næringslokaler med barn noder kan ikke konverteres til Ledger,
Warehouses with existing transaction can not be converted to group.,Næringslokaler med eksisterende transaksjon kan ikke konverteres til gruppen.,
Warehouses with existing transaction can not be converted to ledger.,Næringslokaler med eksisterende transaksjon kan ikke konverteres til hovedbok.,
Warning,Advarsel,
Warning: Another {0} # {1} exists against stock entry {2},Advarsel: Another {0} # {1} finnes mot aksje oppføring {2},
Warning: Invalid SSL certificate on attachment {0},Advarsel: Ugyldig SSL-sertifikat på vedlegg {0},
Warning: Invalid attachment {0},Advarsel: Ugyldig vedlegg {0},
Warning: Leave application contains following block dates,Advarsel: La programmet inneholder følgende blokk datoer,
Warning: Material Requested Qty is less than Minimum Order Qty,Advarsel: Material Requested Antall er mindre enn Minimum Antall,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Advarsel: Salgsordre {0} finnes allerede mot kundens innkjøpsordre {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Advarsel: System vil ikke sjekke billing siden beløpet for varen {0} i {1} er null,
Warranty,Garanti,
Warranty Claim,Garantikrav,
Warranty Claim against Serial No.,Garantikrav mot Serial No.,
Website,nettsted,
Website Image should be a public file or website URL,Website Bilde bør være en offentlig fil eller nettside URL,
Website Image {0} attached to Item {1} cannot be found,Website Bilde {0} festet til Element {1} kan ikke finnes,
Website Listing,Nettstedsliste,
Website Manager,Website manager,
Website Settings,Nettstedinnstillinger,
Wednesday,Onsdag,
Week,Uke,
Weekdays,hver~~POS=TRUNC,
Weekly,Ukentlig,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Vekt er nevnt, \ nVennligst nevne &quot;Weight målenheter&quot; også",
Welcome email sent,Velkommen e-post sendt,
Welcome to ERPNext,Velkommen til ERPNext,
What do you need help with?,Hva trenger du hjelp med?,
What does it do?,Hva gjør det?,
Where manufacturing operations are carried.,Hvor fabrikasjonsvirksomhet gjennomføres.,
"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Mens du opprettet konto for barneselskapet {0}, ble ikke foreldrekontoen {1} funnet. Opprett overkonto i tilsvarende COA",
White,Hvit,
Wire Transfer,Wire Transfer,
WooCommerce Products,WooCommerce-produkter,
Work In Progress,Arbeid På Går,
Work Order,Arbeidsordre,
Work Order already created for all items with BOM,Arbeidsordre som allerede er opprettet for alle elementer med BOM,
Work Order cannot be raised against a Item Template,Arbeidsordre kan ikke heves opp mot en varemaling,
Work Order has been {0},Arbeidsordre har vært {0},
Work Order not created,Arbeidsordre er ikke opprettet,
Work Order {0} must be cancelled before cancelling this Sales Order,Arbeidsordre {0} må avbestilles før du kansellerer denne salgsordren,
Work Order {0} must be submitted,Arbeidsordre {0} må sendes,
Work Orders Created: {0},Arbeidsordre opprettet: {0},
Work Summary for {0},Arbeidssammendrag for {0},
Work-in-Progress Warehouse is required before Submit,Work-in-progress Warehouse er nødvendig før Send,
Workflow,Arbeidsflyt,
Working,Arbeids,
Working Hours,Arbeidstid,
Workstation,arbeidsstasjon,
Workstation is closed on the following dates as per Holiday List: {0},Workstation er stengt på følgende datoer som per Holiday Liste: {0},
Wrapping up,Innpakning,
Wrong Password,Feil passord,
Year start date or end date is overlapping with {0}. To avoid please set company,År startdato eller sluttdato er overlappende med {0}. For å unngå vennligst sett selskap,
You are not authorized to add or update entries before {0},Du er ikke autorisert til å legge til eller oppdatere bloggen før {0},
You are not authorized to approve leaves on Block Dates,Du er ikke autorisert til å godkjenne blader på Block Datoer,
You are not authorized to set Frozen value,Du er ikke autorisert til å sette Frozen verdi,
You are not present all day(s) between compensatory leave request days,Du er ikke til stede hele dagen (e) mellom kompensasjonsorlovsdager,
You can not change rate if BOM mentioned agianst any item,Du kan ikke endre prisen dersom BOM nevnt agianst ethvert element,
You can not enter current voucher in 'Against Journal Entry' column,Du kan ikke legge inn dagens kupong i &quot;Against Journal Entry-kolonnen,
You can only have Plans with the same billing cycle in a Subscription,Du kan bare ha planer med samme faktureringsperiode i en abonnement,
You can only redeem max {0} points in this order.,Du kan bare innløse maksimalt {0} poeng i denne rekkefølgen.,
You can only renew if your membership expires within 30 days,Du kan bare fornye hvis medlemskapet ditt utløper innen 30 dager,
You can only select a maximum of one option from the list of check boxes.,Du kan bare velge maksimalt ett alternativ fra listen med avmerkingsbokser.,
You can only submit Leave Encashment for a valid encashment amount,Du kan kun sende permittering for et gyldig innkjøpsbeløp,
You can't redeem Loyalty Points having more value than the Grand Total.,Du kan ikke innløse Lojalitetspoeng som har mer verdi enn Grand Total.,
You cannot credit and debit same account at the same time,Du kan ikke kreditt- og debet samme konto samtidig,
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Du kan ikke slette regnskapsår {0}. Regnskapsåret {0} er satt som standard i Globale innstillinger,
You cannot delete Project Type 'External',Du kan ikke slette Project Type &#39;External&#39;,
You cannot edit root node.,Du kan ikke redigere rotknutepunktet.,
You cannot restart a Subscription that is not cancelled.,Du kan ikke starte en abonnement som ikke er kansellert.,
You don't have enought Loyalty Points to redeem,Du har ikke nok lojalitetspoeng til å innløse,
You have already assessed for the assessment criteria {}.,Du har allerede vurdert for vurderingskriteriene {}.,
You have already selected items from {0} {1},Du har allerede valgt elementer fra {0} {1},
You have been invited to collaborate on the project: {0},Du har blitt invitert til å samarbeide om prosjektet: {0},
You have entered duplicate items. Please rectify and try again.,Du har skrevet inn like elementer. Vennligst utbedre og prøv igjen.,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Du må være en annen bruker enn Administrator med System Manager og Item Manager roller for å registrere deg på Marketplace.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Du må være en bruker med System Manager og Item Manager roller for å legge til brukere på Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Du må være en bruker med System Manager og Item Manager roller for å registrere deg på Marketplace.,
You need to be logged in to access this page,Du må være innlogget for å få tilgang til denne siden,
You need to enable Shopping Cart,Du må aktivere Handlevogn,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Du vil miste oversikt over tidligere genererte fakturaer. Er du sikker på at du vil starte dette abonnementet på nytt?,
Your Organization,Din organisasjon,
Your cart is Empty,Vognen din er tom,
Your email address...,Din epostadresse...,
Your order is out for delivery!,Din bestilling er ute for levering!,
Your tickets,Dine billetter,
ZIP Code,Post kode,
[Error],[Error],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Form / post / {0}) er utsolgt,
`Freeze Stocks Older Than` should be smaller than %d days.,`frys Aksjer Eldre en` bør være mindre enn %d dager.,
based_on,basert på,
cannot be greater than 100,kan ikke være større enn 100,
disabled user,deaktivert bruker,
"e.g. ""Build tools for builders""",f.eks &quot;Bygg verktøy for utbyggere&quot;,
"e.g. ""Primary School"" or ""University""",for eksempel &quot;Primary School&quot; eller &quot;University&quot;,
"e.g. Bank, Cash, Credit Card","f.eks Bank, Cash, Kredittkort",
hidden,Skjult,
modified,modifisert,
old_parent,old_parent,
on,på,
{0} '{1}' is disabled,{0} {1} er deaktivert,
{0} '{1}' not in Fiscal Year {2},{0} {1} ikke i regnskapsåret {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) kan ikke være større enn planlagt antall ({2}) i Work Order {3},
{0} - {1} is inactive student,{0} - {1} er inaktiv student,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} er ikke påmeldt i batch {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} er ikke påmeldt kurset {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} budsjettet for kontoen {1} mot {2} {3} er {4}. Det vil overstige ved {5},
{0} Digest,{0} Fordel,
{0} Request for {1},{0} Forespørsel om {1},
{0} Result submittted,{0} Resultat sendt,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} serienumre som kreves for Element {1}. Du har gitt {2}.,
{0} Student Groups created.,{0} Studentgrupper opprettet.,
{0} Students have been enrolled,{0} Studentene har blitt registrert,
{0} against Bill {1} dated {2},{0} mot Bill {1} datert {2},
{0} against Purchase Order {1},{0} mot innkjøpsordre {1},
{0} against Sales Invoice {1},{0} mot Sales Faktura {1},
{0} against Sales Order {1},{0} mot salgsordre {1},
{0} already allocated for Employee {1} for period {2} to {3},{0} allerede bevilget for Employee {1} for perioden {2} til {3},
{0} applicable after {1} working days,{0} gjelder etter {1} arbeidsdager,
{0} asset cannot be transferred,{0} eiendelen kan ikke overføres,
{0} can not be negative,{0} kan ikke være negativ,
{0} created,{0} opprettet,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} har for øyeblikket en {1} leverandør scorecard, og innkjøpsordre til denne leverandøren skal utstedes med forsiktighet.",
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} har for øyeblikket en {1} leverandør scorecard, og RFQs til denne leverandøren skal utstedes med forsiktighet.",
{0} does not belong to Company {1},{0} ikke tilhører selskapet {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} har ikke en helsepersonellplan. Legg det til i helsepersonell mester,
{0} entered twice in Item Tax,{0} registrert to ganger i pkt Skatte,
{0} for {1},{0} for {1},
{0} has been submitted successfully,{0} har blitt sendt inn,
{0} has fee validity till {1},{0} har gebyrgyldighet til {1},
{0} hours,{0} timer,
{0} in row {1},{0} i rad {1},
{0} is blocked so this transaction cannot proceed,"{0} er blokkert, slik at denne transaksjonen ikke kan fortsette",
{0} is mandatory,{0} er obligatorisk,
{0} is mandatory for Item {1},{0} er obligatorisk for element {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} er obligatorisk. Kanskje Valutaveksling posten ikke er skapt for {1} til {2}.,
{0} is not a stock Item,{0} er ikke en lagervare,
{0} is not a valid Batch Number for Item {1},{0} er ikke en gyldig batchnummer for varen {1},
{0} is not added in the table,{0} er ikke lagt til i tabellen,
{0} is not in Optional Holiday List,{0} er ikke i valgfri ferieliste,
{0} is not in a valid Payroll Period,{0} er ikke i en gyldig lønnsperiode,
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} er nå standard regnskapsåret. Vennligst oppdater nettleser for at endringen skal tre i kraft.,
{0} is on hold till {1},{0} er ventet til {1},
{0} item found.,{0} elementet ble funnet.,
{0} items found.,{0} elementer funnet.,
{0} items in progress,{0} elementer i fremgang,
{0} items produced,{0} elementer produsert,
{0} must appear only once,{0} må vises bare en gang,
{0} must be negative in return document,{0} må være negativ i retur dokument,
{0} must be submitted,{0} må sendes,
{0} not allowed to transact with {1}. Please change the Company.,{0} ikke lov til å transaksere med {1}. Vennligst endre firmaet.,
{0} not found for item {1},{0} ikke funnet for element {1},
{0} parameter is invalid,{0} -parameteren er ugyldig,
{0} payment entries can not be filtered by {1},{0} oppføringer betalings kan ikke bli filtrert av {1},
{0} should be a value between 0 and 100,{0} skal være en verdi mellom 0 og 100,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} enheter av [{1}] (# Form / post / {1}) finnes i [{2}] (# Form / Lager / {2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} enheter av {1} trengs i {2} på {3} {4} for {5} for å fullføre denne transaksjonen.,
{0} units of {1} needed in {2} to complete this transaction.,{0} enheter av {1} trengs i {2} for å fullføre denne transaksjonen.,
{0} valid serial nos for Item {1},{0} gyldig serie nos for Element {1},
{0} variants created.,{0} varianter opprettet.,
{0} {1} created,{0} {1} er opprettet,
{0} {1} does not exist,{0} {1} finnes ikke,
{0} {1} does not exist.,{0} {1} eksisterer ikke.,
{0} {1} has been modified. Please refresh.,{0} {1} har blitt endret. Vennligst oppdater.,
{0} {1} has not been submitted so the action cannot be completed,"{0} {1} er ikke sendt, så handlingen kan ikke fullføres",
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} er knyttet til {2}, men partikonto er {3}",
{0} {1} is cancelled or closed,{0} {1} er kansellert eller lukket,
{0} {1} is cancelled or stopped,{0} {1} avbrytes eller stoppes,
{0} {1} is cancelled so the action cannot be completed,"{0} {1} er kansellert, slik at handlingen ikke kan fullføres",
{0} {1} is closed,{0} {1} er stengt,
{0} {1} is disabled,{0} {1} er deaktivert,
{0} {1} is frozen,{0} {1} er frosset,
{0} {1} is fully billed,{0} {1} er fullt fakturert,
{0} {1} is not active,{0} {1} er ikke aktiv,
{0} {1} is not associated with {2} {3},{0} {1} er ikke knyttet til {2} {3},
{0} {1} is not present in the parent company,{0} {1} er ikke til stede i morselskapet,
{0} {1} is not submitted,{0} {1} ikke er sendt,
{0} {1} is {2},{0} {1} er {2},
{0} {1} must be submitted,{0} {1} må sendes,
{0} {1} not in any active Fiscal Year.,{0} {1} ikke i noen aktiv regnskapsåret.,
{0} {1} status is {2},{0} {1} status er {2},
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &#39;Resultat&#39; type konto {2} ikke tillatt i Åpning Entry,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Account {2} ikke tilhører selskapet {3},
{0} {1}: Account {2} is inactive,{0} {1}: Account {2} er inaktiv,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Regnskap Entry for {2} kan bare gjøres i valuta: {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Kostnadssted er obligatorisk for Element {2},
{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: Det kreves kostnadssted for &#39;resultat&#39; konto {2}. Sett opp en standardkostnadssted for selskapet.,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Kostnadssted {2} ikke tilhører selskapet {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}: Kunden er nødvendig mot fordringer kontoen {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Enten debet- eller kredittbeløpet er nødvendig for {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Leverandør er nødvendig mot Betales konto {2},
{0}% Billed,{0}% Fakturert,
{0}% Delivered,{0}% Leveres,
"{0}: Employee email not found, hence email not sent","{0}: Ansattes e-post ikke funnet, derav e-posten ikke sendt",
{0}: From {0} of type {1},{0}: Fra {0} av typen {1},
{0}: From {1},{0}: Fra {1},
{0}: {1} does not exists,{0}: {1} ikke eksisterer,
{0}: {1} not found in Invoice Details table,{0}: {1} ble ikke funnet i Fakturadetaljer tabellen,
{} of {},{} av {},
Chat,Chat,
Completed By,Fullført av,
Conditions,Forhold,
County,fylke,
Day of Week,Ukedag,
"Dear System Manager,","Kjære System Manager,",
Default Value,Standardverdi,
Email Group,E-post-konsernet,
Email Settings,E-postinnstillinger,
Email not sent to {0} (unsubscribed / disabled),E-post ble ikke sendt til {0} (utmeldings / deaktivert),
Error Message,Feilmelding,
Fieldtype,Fieldtype,
Help Articles,Hjelp artikler,
ID,ID,
Images,Bilder,
Import,Import,
Language,Språk,
Likes,Likes,
Merge with existing,Slå sammen med eksisterende,
Office,Kontor,
Orientation,orientering,
Passive,Passiv,
Percent,Prosent,
Permanent,Fast,
Personal,Personlig,
Plant,Plant,
Post,Post,
Postal,Postal,
Postal Code,postnummer,
Previous,Forrige,
Provider,Forsørger,
Read Only,Read Only,
Recipient,Mottaker,
Reviews,anmeldelser,
Sender,Avsender,
Shop,Butikk,
Sign Up,Melde deg på,
Subsidiary,Datterselskap,
There is some problem with the file url: {0},Det er noe problem med filen url: {0},
There were errors while sending email. Please try again.,"Det oppstod feil under sending epost. Vær så snill, prøv på nytt.",
Values Changed,verdier Endret,
or,eller,
Ageing Range 4,Aldringsområde 4,
Allocated amount cannot be greater than unadjusted amount,Tildelt beløp kan ikke være større enn ujustert beløp,
Allocated amount cannot be negative,Tildelt beløp kan ikke være negativt,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Differansekontoen må være en konto / formue / ansvarstype, siden denne aksjeoppføringen er en åpningsinngang",
Error in some rows,Feil i noen rader,
Import Successful,Import Vellykket,
Please save first,Lagre først,
Price not found for item {0} in price list {1},Pris ikke funnet for varen {0} i prislisten {1},
Warehouse Type,Lagertype,
'Date' is required,&#39;Dato&#39; er påkrevd,
Benefit,Fordel,
Budgets,budsjetter,
Bundle Qty,Bundle Antall,
Company GSTIN,Firma GSTIN,
Company field is required,Firmafelt er påkrevd,
Creating Dimensions...,Oppretter dimensjoner ...,
Duplicate entry against the item code {0} and manufacturer {1},Dupliser oppføring mot varekoden {0} og produsenten {1},
Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,Ugyldig GSTIN! Inputene du har skrevet inn samsvarer ikke med GSTIN-formatet for UIN-innehavere eller ikke-bosatte OIDAR-tjenesteleverandører,
Invoice Grand Total,Faktura Grand Total,
Last carbon check date cannot be a future date,Siste dato for karbonkontroll kan ikke være en fremtidig dato,
Make Stock Entry,Gjør lageroppføring,
Quality Feedback,Tilbakemelding om kvalitet,
Quality Feedback Template,Kvalitet Tilbakemelding Mal,
Rules for applying different promotional schemes.,Regler for anvendelse av forskjellige kampanjer.,
Shift,Skifte,
Show {0},Vis {0},
"Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Spesialtegn unntatt &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Og &quot;}&quot; ikke tillatt i navneserier",
Target Details,Måldetaljer,
API,API,
Annual,Årlig,
Approved,Godkjent,
Change,Endre,
Contact Email,Kontakt Epost,
Export Type,Eksporttype,
From Date,Fra Dato,
Group By,Gruppe av,
Importing {0} of {1},Importerer {0} av {1},
Invalid URL,ugyldig URL,
Landscape,Landskap,
Last Sync On,Sist synk på,
Naming Series,Navngi Series,
No data to export,Ingen data å eksportere,
Portrait,Portrett,
Print Heading,Print Overskrift,
Show Document,Vis dokument,
Show Traceback,Vis traceback,
Video,video,
Webhook Secret,Webhook Secret,
% Of Grand Total,% Av Grand Total,
'employee_field_value' and 'timestamp' are required.,&#39;medarbeider_felt_verdi&#39; og &#39;tidsstempel&#39; er påkrevd.,
<b>Company</b> is a mandatory filter.,<b>Selskapet</b> er et obligatorisk filter.,
<b>From Date</b> is a mandatory filter.,<b>Fra dato</b> er et obligatorisk filter.,
<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>Fra tid</b> kan ikke være senere enn <b>til tid</b> for {0},
<b>To Date</b> is a mandatory filter.,<b>Til dags dato</b> er et obligatorisk filter.,
A new appointment has been created for you with {0},En ny avtale er opprettet for deg med {0},
Account Value,Kontoverdi,
Account is mandatory to get payment entries,Konto er obligatorisk for å få betalingsoppføringer,
Account is not set for the dashboard chart {0},Kontoen er ikke angitt for dashborddiagrammet {0},
Account {0} does not belong to company {1},Konto {0} tilhører ikke selskapet {1},
Account {0} does not exists in the dashboard chart {1},Konto {0} eksisterer ikke i oversiktsdiagrammet {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Konto: <b>{0}</b> er kapital Arbeid pågår og kan ikke oppdateres av journalpost,
Account: {0} is not permitted under Payment Entry,Konto: {0} er ikke tillatt under betalingsoppføringen,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Regnskapsdimensjon <b>{0}</b> er påkrevd for &quot;Balanse&quot; -konto {1}.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Regnskapsdimensjon <b>{0}</b> kreves for &#39;Resultat og tap&#39; -konto {1}.,
Accounting Masters,Regnskapsførere,
Accounting Period overlaps with {0},Regnskapsperioden overlapper med {0},
Activity,Aktivitet,
Add / Manage Email Accounts.,Legg til / Administrer e-postkontoer.,
Add Child,Legg Child,
Add Loan Security,Legg til lånesikkerhet,
Add Multiple,Legg til flere,
Add Participants,Legg til deltakere,
Add to Featured Item,Legg til valgt produkt,
Add your review,Legg til din anmeldelse,
Add/Edit Coupon Conditions,Legg til / rediger kupongbetingelser,
Added to Featured Items,Lagt til utvalgte elementer,
Added {0} ({1}),Lagt {0} ({1}),
Address Line 1,Adresselinje 1,
Addresses,Adresser,
Admission End Date should be greater than Admission Start Date.,Sluttdatoen for opptaket skal være større enn startdato for opptaket.,
Against Loan,Mot lån,
Against Loan:,Mot lån:,
All,Alle,
All bank transactions have been created,Alle banktransaksjoner er opprettet,
All the depreciations has been booked,Alle avskrivningene er booket,
Allocation Expired!,Tildeling utløpt!,
Allow Resetting Service Level Agreement from Support Settings.,Tillat tilbakestilling av servicenivåavtale fra støtteinnstillinger.,
Amount of {0} is required for Loan closure,Mengden {0} er nødvendig for lånets nedleggelse,
Amount paid cannot be zero,Betalt beløp kan ikke være null,
Applied Coupon Code,Anvendt kupongkode,
Apply Coupon Code,Bruk kupongkode,
Appointment Booking,Avtalebestilling,
"As there are existing transactions against item {0}, you can not change the value of {1}","Ettersom det er eksisterende transaksjoner mot item {0}, kan du ikke endre verdien av {1}",
Asset Id,Eiendoms-id,
Asset Value,Eiendomsverdi,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Justering av formuesverdi kan ikke legges før Asset&#39;s kjøpsdato <b>{0}</b> .,
Asset {0} does not belongs to the custodian {1},Eiendom {0} hører ikke til depotkontor {1},
Asset {0} does not belongs to the location {1},Eiendom {0} hører ikke til stedet {1},
At least one of the Applicable Modules should be selected,Minst en av de aktuelle modulene skal velges,
Atleast one asset has to be selected.,Atleast en eiendel må velges.,
Attendance Marked,Oppmøte markert,
Attendance has been marked as per employee check-ins,Oppmøte er merket som per ansattes innsjekking,
Authentication Failed,Autentiseringen mislyktes,
Automatic Reconciliation,Automatisk avstemming,
Available For Use Date,Tilgjengelig for bruksdato,
Available Stock,Tilgjengelig lager,
"Available quantity is {0}, you need {1}","Tilgjengelig antall er {0}, du trenger {1}",
BOM 1,BOM 1,
BOM 2,BOM 2,
BOM Comparison Tool,BOM-sammenligningsverktøy,
BOM recursion: {0} cannot be child of {1},Rekursjon for BOM: {0} kan ikke være barn av {1},
BOM recursion: {0} cannot be parent or child of {1},Rekruttering til BOM: {0} kan ikke være foreldre eller barn til {1},
Back to Home,Tilbake til hjemmet,
Back to Messages,Tilbake til Meldinger,
Bank Data mapper doesn't exist,Bankdatakartlegging eksisterer ikke,
Bank Details,Bankinformasjon,
Bank account '{0}' has been synchronized,Bankkonto &#39;{0}&#39; er synkronisert,
Bank account {0} already exists and could not be created again,Bankkonto {0} eksisterer allerede og kunne ikke opprettes igjen,
Bank accounts added,Bankkontoer lagt til,
Batch no is required for batched item {0},Batch-nr er nødvendig for batch-varen {0},
Billing Date,Fakturadato,
Billing Interval Count cannot be less than 1,Faktureringsintervallantallet kan ikke være mindre enn 1,
Blue,Blå,
Book,Bok,
Book Appointment,Bokavtale,
Brand,Brand,
Browse,Bla,
Call Connected,Ring tilkoblet,
Call Disconnected,Ring frakoblet,
Call Missed,Samtale savnet,
Call Summary,Samtaleoppsummering,
Call Summary Saved,Samtaleoppsummering lagret,
Cancelled,avbrutt,
Cannot Calculate Arrival Time as Driver Address is Missing.,Kan ikke beregne ankomsttid da driveradressen mangler.,
Cannot Optimize Route as Driver Address is Missing.,Kan ikke optimalisere ruten ettersom driveradressen mangler.,
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Kan ikke fullføre oppgaven {0} da den avhengige oppgaven {1} ikke er komplettert / kansellert.,
Cannot create loan until application is approved,Kan ikke opprette lån før søknaden er godkjent,
Cannot find a matching Item. Please select some other value for {0}.,Kan ikke finne en matchende element. Vennligst velg en annen verdi for {0}.,
"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Kan ikke overbillige for varen {0} i rad {1} mer enn {2}. For å tillate overfakturering, må du angi godtgjørelse i Kontoinnstillinger",
"Capacity Planning Error, planned start time can not be same as end time","Kapasitetsplanleggingsfeil, planlagt starttid kan ikke være det samme som sluttid",
Categories,kategorier,
Changes in {0},Endringer i {0},
Chart,Chart,
Choose a corresponding payment,Velg en tilsvarende betaling,
Click on the link below to verify your email and confirm the appointment,Klikk på lenken nedenfor for å bekrefte e-posten din og bekrefte avtalen,
Close,Lukk,
Communication,Kommunikasjon,
Compact Item Print,Kompakt Element Skriv ut,
Company,Selskap,
Company of asset {0} and purchase document {1} doesn't matches.,Selskapet med eiendelen {0} og kjøpsdokumentet {1} stemmer ikke.,
Compare BOMs for changes in Raw Materials and Operations,Sammenlign BOM-er for endringer i råvarer og drift,
Compare List function takes on list arguments,Sammenlign liste-funksjonen tar på seg listeargumenter,
Complete,Fullstendig,
Completed,fullført,
Completed Quantity,Fullført mengde,
Connect your Exotel Account to ERPNext and track call logs,Koble Exotel-kontoen din til ERPNekst og spore anropslogger,
Connect your bank accounts to ERPNext,Koble bankkontoer til ERPNext,
Contact Seller,Kontakt selger,
Continue,Fortsette,
Cost Center: {0} does not exist,Kostnadssenter: {0} eksisterer ikke,
Couldn't Set Service Level Agreement {0}.,Kunne ikke angi servicenivåavtale {0}.,
Country,Land,
Country Code in File does not match with country code set up in the system,Landskode i fil stemmer ikke med landskoden som er satt opp i systemet,
Create New Contact,Opprett ny kontakt,
Create New Lead,Lag ny kunde,
Create Pick List,Lag valgliste,
Create Quality Inspection for Item {0},Lag kvalitetskontroll for varen {0},
Creating Accounts...,Oppretter kontoer ...,
Creating bank entries...,Oppretter bankoppføringer ...,
Creating {0},Opprette {0},
Credit limit is already defined for the Company {0},Kredittgrensen er allerede definert for selskapet {0},
Ctrl + Enter to submit,Ctrl + Enter for å sende,
Ctrl+Enter to submit,Ctrl + Enter for å sende inn,
Currency,Valuta,
Current Status,Nåværende status,
Customer PO,Kundepost,
Customize,Tilpass,
Daily,Daglig,
Date,Dato,
Date Range,Datointervall,
Date of Birth cannot be greater than Joining Date.,Fødselsdato kan ikke være større enn tiltredelsesdato.,
Dear,Kjære,
Default,Standard,
Define coupon codes.,Definer kupongkoder.,
Delayed Days,Forsinkede dager,
Delete,Slett,
Delivered Quantity,Levert mengde,
Delivery Notes,Leverings notater,
Depreciated Amount,Avskrevet beløp,
Description,Beskrivelse,
Designation,Betegnelse,
Difference Value,Forskjell Verdi,
Dimension Filter,Dimensjonsfilter,
Disabled,Funksjonshemmede,
Disbursement and Repayment,Utbetaling og tilbakebetaling,
Distance cannot be greater than 4000 kms,Avstanden kan ikke være større enn 4000 km,
Do you want to submit the material request,Ønsker du å sende inn materialforespørselen,
Doctype,dOCTYPE,
Document {0} successfully uncleared,Dokument {0} er velutviklet,
Download Template,Last ned Mal,
Dr,Dr,
Due Date,Tidsfrist,
Duplicate,Duplisere,
Duplicate Project with Tasks,Dupliser prosjekt med oppgaver,
Duplicate project has been created,Duplisert prosjekt er opprettet,
E-Way Bill JSON can only be generated from a submitted document,E-Way Bill JSON kan bare genereres fra et innsendt dokument,
E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON kan bare genereres fra innsendt dokument,
E-Way Bill JSON cannot be generated for Sales Return as of now,E-Way Bill JSON kan ikke genereres for salgsavkastning per nå,
ERPNext could not find any matching payment entry,ERPNext kunne ikke finne noen matchende betalingsoppføringer,
Earliest Age,Tidligste alder,
Edit Details,Rediger detaljer,
Edit Profile,Endre profil,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,Enten GST Transporter ID eller kjøretøy Nei er påkrevd hvis modus for transport er vei,
Email,e-post,
Email Campaigns,E-postkampanjer,
Employee ID is linked with another instructor,Ansattes ID er knyttet til en annen instruktør,
Employee Tax and Benefits,Ansatt skatt og fordeler,
Employee is required while issuing Asset {0},Det kreves ansatt ved utstedelse av eiendel {0},
Employee {0} does not belongs to the company {1},Ansatt {0} tilhører ikke selskapet {1},
Enable Auto Re-Order,Aktiver automatisk nybestilling,
End Date of Agreement can't be less than today.,Sluttdato for avtalen kan ikke være mindre enn i dag.,
End Time,Sluttid,
Energy Point Leaderboard,Energy Point Leaderboard,
Enter API key in Google Settings.,Skriv inn API-nøkkel i Google Innstillinger.,
Enter Supplier,Gå inn i leverandøren,
Enter Value,Legg inn verdi,
Entity Type,Entity Type,
Error,Feil,
Error in Exotel incoming call,Feil i innkommende samtale fra Exotel,
Error: {0} is mandatory field,Feil: {0} er obligatorisk felt,
Event Link,Hendelseslink,
Exception occurred while reconciling {0},Unntak skjedde under avstemming av {0},
Expected and Discharge dates cannot be less than Admission Schedule date,Forventede og utslippsdatoer kan ikke være mindre enn opptaksplandatoen,
Expire Allocation,Utløp tildeling,
Expired,Utløpt,
Export,Export,
Export not allowed. You need {0} role to export.,Eksport er ikke tillatt. Du må {0} rolle å eksportere.,
Failed to add Domain,Kunne ikke legge til domenet,
Fetch Items from Warehouse,Hent gjenstander fra lageret,
Fetching...,Henter...,
Field,feltet,
File Manager,Filbehandler,
Filters,Filtre,
Finding linked payments,Finne koblede betalinger,
Fleet Management,Flåtestyring,
Following fields are mandatory to create address:,Følgende felt er obligatoriske for å opprette adresse:,
For Month,For måned,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity",For vare {0} på rad {1} stemmer ikke antall serienumre med det utvalgte antallet,
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),For drift {0}: Mengde ({1}) kan ikke være greter enn mengde i påvente ({2}),
For quantity {0} should not be greater than work order quantity {1},For mengde {0} skal ikke være større enn mengden arbeidsordre {1},
Free item not set in the pricing rule {0},Gratis varen er ikke angitt i prisregelen {0},
From Date and To Date are Mandatory,Fra dato og til dato er obligatorisk,
From employee is required while receiving Asset {0} to a target location,Fra ansatt kreves det mens du mottar eiendel {0} til et målsted,
Fuel Expense,Drivstoffutgift,
Future Payment Amount,Fremtidig betalingsbeløp,
Future Payment Ref,Fremtidig betaling ref,
Future Payments,Fremtidige betalinger,
GST HSN Code does not exist for one or more items,GST HSN-kode eksisterer ikke for en eller flere elementer,
Generate E-Way Bill JSON,Generer E-Way Bill JSON,
Get Items,Få Items,
Get Outstanding Documents,Få fremragende dokumenter,
Goal,Mål,
Greater Than Amount,Større enn beløpet,
Green,Grønn,
Group,Gruppe,
Group By Customer,Gruppe etter kunde,
Group By Supplier,Gruppe etter leverandør,
Group Node,Gruppe Node,
Group Warehouses cannot be used in transactions. Please change the value of {0},Gruppelager kan ikke brukes i transaksjoner. Endre verdien på {0},
Help,Hjelp,
Help Article,Hjelp Artikkel,
"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Hjelper deg med å holde oversikt over kontrakter basert på leverandør, kunde og ansatt",
Helps you manage appointments with your leads,Hjelper deg med å administrere avtaler med potensielle kunder,
Home,Hjem,
IBAN is not valid,IBAN er ikke gyldig,
Import Data from CSV / Excel files.,Importer data fra CSV / Excel-filer.,
In Progress,I prosess,
Incoming call from {0},Innkommende samtale fra {0},
Incorrect Warehouse,Feil lager,
Intermediate,Mellom,
Invalid Barcode. There is no Item attached to this barcode.,Ugyldig strekkode. Det er ingen ting knyttet til denne strekkoden.,
Invalid credentials,Ugyldige legitimasjon,
Invite as User,Inviter som User,
Issue Priority.,Utgaveprioritet.,
Issue Type.,Utgavetype.,
"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.",Det ser ut til at det er et problem med serverens stripekonfigurasjon. I tilfelle feil blir beløpet refundert til kontoen din.,
Item Reported,Artikkel rapportert,
Item listing removed,Vareoppføringen er fjernet,
Item quantity can not be zero,Varenummer kan ikke være null,
Item taxes updated,Vareskatter oppdatert,
Item {0}: {1} qty produced. ,Vare {0}: {1} antall produsert.,
Joining Date can not be greater than Leaving Date,Deltagelsesdato kan ikke være større enn Leaving Date,
Lab Test Item {0} already exist,Lab-testelement {0} eksisterer allerede,
Last Issue,Siste utgave,
Latest Age,Siste alder,
Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Permisjonssøknad er knyttet til permisjonstildeling {0}. Permisjonssøknad kan ikke settes som permisjon uten lønn,
Leaves Taken,Blader tatt,
Less Than Amount,Mindre enn beløpet,
Liabilities,gjeld,
Loading...,Laster inn ...,
Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Lånebeløpet overstiger det maksimale lånebeløpet på {0} som per foreslåtte verdipapirer,
Loan Applications from customers and employees.,Låneapplikasjoner fra kunder og ansatte.,
Loan Disbursement,Lånutbetaling,
Loan Processes,Låneprosesser,
Loan Security,Lånesikkerhet,
Loan Security Pledge,Lånesikkerhetspant,
Loan Security Pledge Created : {0},Lånesikkerhetspant opprettet: {0},
Loan Security Price,Lånesikkerhetspris,
Loan Security Price overlapping with {0},Lånesikkerhetspris som overlapper med {0},
Loan Security Unpledge,Lånesikkerhet unpedge,
Loan Security Value,Lånesikkerhetsverdi,
Loan Type for interest and penalty rates,Lånetype for renter og bøter,
Loan amount cannot be greater than {0},Lånebeløpet kan ikke være større enn {0},
Loan is mandatory,Lån er obligatorisk,
Loans,lån,
Loans provided to customers and employees.,Lån gitt til kunder og ansatte.,
Location,Beliggenhet,
Log Type is required for check-ins falling in the shift: {0}.,Loggtype er nødvendig for innsjekkinger som faller i skiftet: {0}.,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Ser ut som noen har sendt deg til en ufullstendig nettadresse. Vennligst be dem om å se nærmere på saken.,
Make Journal Entry,Gjør Journal Entry,
Make Purchase Invoice,Gjør fakturaen,
Manufactured,produsert,
Mark Work From Home,Merk arbeid hjemmefra,
Master,Master,
Max strength cannot be less than zero.,Maks styrke kan ikke være mindre enn null.,
Maximum attempts for this quiz reached!,Maksimale forsøk for denne quizen nådd!,
Message,Beskjed,
Missing Values Required,Manglende verdier Påkrevd,
Mobile No,Mobile No,
Mobile Number,Mobilnummer,
Month,Måned,
Name,Navn,
Near you,I nærheten av deg,
Net Profit/Loss,Netto fortjeneste / tap,
New Expense,Ny kostnad,
New Invoice,Ny faktura,
New Payment,Ny betaling,
New release date should be in the future,Ny utgivelsesdato bør være i fremtiden,
Newsletter,Nyhetsbrev,
No Account matched these filters: {},Ingen kontoer matchet disse filtrene: {},
No Employee found for the given employee field value. '{}': {},Ingen ansatte funnet for den gitte ansattes feltverdi. &#39;{}&#39;: {},
No Leaves Allocated to Employee: {0} for Leave Type: {1},Ingen blader tildelt ansatt: {0} for permisjonstype: {1},
No communication found.,Ingen kommunikasjon funnet.,
No correct answer is set for {0},Det er ikke satt noe riktig svar for {0},
No description,ingen beskrivelse,
No issue has been raised by the caller.,Ingen spørsmål har blitt reist av innringeren.,
No items to publish,Ingen elementer å publisere,
No outstanding invoices found,Fant ingen utestående fakturaer,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Fant ingen utestående fakturaer for {0} {1} som kvalifiserer filtrene du har angitt.,
No outstanding invoices require exchange rate revaluation,Ingen utestående fakturaer krever omvurdering av valutakursen,
No reviews yet,Ingen omtaler ennå,
No views yet,Ingen visninger enda,
Non stock items,Varer som ikke er på lager,
Not Allowed,Ikke tillatt,
Not allowed to create accounting dimension for {0},Ikke tillatt å opprette regnskapsmessig dimensjon for {0},
Not permitted. Please disable the Lab Test Template,Ikke tillatt. Deaktiver Lab Test Test Mal,
Note,Notat,
Notes: ,Merknader:,
On Converting Opportunity,På konvertering av mulighet,
On Purchase Order Submission,Ved innkjøpsordreinnlevering,
On Sales Order Submission,På innkjøpsordre,
On Task Completion,Ved fullførelse av oppgaven,
On {0} Creation,På {0} Oppretting,
Only .csv and .xlsx files are supported currently,Bare .csv- og .xlsx-filer støttes for øyeblikket,
Only expired allocation can be cancelled,Bare utløpt tildeling kan avlyses,
Only users with the {0} role can create backdated leave applications,Bare brukere med {0} -rollen kan opprette utdaterte permisjonsapplikasjoner,
Open,Åpen,
Open Contact,Åpen kontakt,
Open Lead,Åpen leder,
Opening and Closing,Åpning og lukking,
Operating Cost as per Work Order / BOM,Driftskostnader per arbeidsordre / BOM,
Order Amount,Bestill beløp,
Page {0} of {1},Page {0} av {1},
Paid amount cannot be less than {0},Betalt beløp kan ikke være mindre enn {0},
Parent Company must be a group company,Morselskapet må være et konsernselskap,
Passing Score value should be between 0 and 100,Passing Score-verdien skal være mellom 0 og 100,
Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Passordpolicy kan ikke inneholde mellomrom eller samtidig bindestrek. Formatet blir omstrukturert automatisk,
Patient History,Pasienthistorie,
Pause,Pause,
Pay,Betale,
Payment Document Type,Betalingsdokumenttype,
Payment Name,Betalingsnavn,
Penalty Amount,Straffebeløp,
Pending,Avventer,
Performance,Opptreden,
Period based On,Periode basert på,
Perpetual inventory required for the company {0} to view this report.,Evigvarende varebeholdning som er nødvendig for at {0} skal kunne se denne rapporten.,
Phone,Telefon,
Pick List,Plukkliste,
Plaid authentication error,Autentiseringsfeil i rutet,
Plaid public token error,Plaid public token error,
Plaid transactions sync error,Feil i synkronisering av rutete transaksjoner,
Please check the error log for details about the import errors,Kontroller feilloggen for detaljer om importfeilene,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Opprett <b>DATEV-innstillinger</b> for selskapet <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Opprett justeringsjournalregistrering for beløp {0},
Please do not create more than 500 items at a time,Ikke lag mer enn 500 elementer om gangen,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},"Vennligst skriv inn <b>Difference-konto,</b> eller angi standard <b>aksjejusteringskonto</b> for selskapet {0}",
Please enter GSTIN and state for the Company Address {0},Vennligst tast inn GSTIN og oppgi firmanavn {0},
Please enter Item Code to get item taxes,Vennligst tast inn varekoden for å få vareskatter,
Please enter Warehouse and Date,Vennligst skriv inn lager og dato,
Please enter the designation,Angi betegnelsen,
Please login as a Marketplace User to edit this item.,Vennligst logg inn som markedsplassbruker for å redigere dette elementet.,
Please login as a Marketplace User to report this item.,Vennligst logg inn som Marketplace-bruker for å rapportere denne varen.,
Please select <b>Template Type</b> to download template,Velg <b>Template Type for</b> å laste ned mal,
Please select Applicant Type first,Velg Søkertype først,
Please select Customer first,Velg kunde først,
Please select Item Code first,Velg varekode først,
Please select Loan Type for company {0},Velg lånetype for selskapet {0},
Please select a Delivery Note,Velg en leveringsmerknad,
Please select a Sales Person for item: {0},Velg en selger for varen: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Vennligst velg en annen betalingsmetode. Stripe støtter ikke transaksjoner i valuta &#39;{0}&#39;,
Please select the customer.,Velg kunde.,
Please set a Supplier against the Items to be considered in the Purchase Order.,Angi en leverandør mot varene som skal vurderes i innkjøpsordren.,
Please set account heads in GST Settings for Compnay {0},Angi kontohoder i GST-innstillinger for Compnay {0},
Please set an email id for the Lead {0},Angi en e-post-id for Lead {0},
Please set default UOM in Stock Settings,Angi standard UOM i lagerinnstillinger,
Please set filter based on Item or Warehouse due to a large amount of entries.,Angi filter basert på vare eller lager på grunn av en stor mengde oppføringer.,
Please set up the Campaign Schedule in the Campaign {0},Sett opp kampanjeplanen i kampanjen {0},
Please set valid GSTIN No. in Company Address for company {0},Angi gyldig GSTIN-nr. I firmanavn for firma {0},
Please set {0},Angi {0},customer
Please setup a default bank account for company {0},Sett opp en standard bankkonto for selskapet {0},
Please specify,Vennligst spesifiser,
Please specify a {0},Angi {0},lead
Pledge Status,Pantestatus,
Pledge Time,Pantetid,
Printing,Utskrift,
Priority,Prioritet,
Priority has been changed to {0}.,Prioritet er endret til {0}.,
Priority {0} has been repeated.,Prioritet {0} har blitt gjentatt.,
Processing XML Files,Behandler XML-filer,
Profitability,lønnsomhet,
Project,Prosjekt,
Proposed Pledges are mandatory for secured Loans,Foreslåtte pantsettelser er obligatoriske for sikrede lån,
Provide the academic year and set the starting and ending date.,Gi studieåret og angi start- og sluttdato.,
Public token is missing for this bank,Offentlig token mangler for denne banken,
Publish,publisere,
Publish 1 Item,Publiser 1 vare,
Publish Items,Publiser elementer,
Publish More Items,Publiser flere elementer,
Publish Your First Items,Publiser de første varene dine,
Publish {0} Items,Publiser {0} varer,
Published Items,Publiserte artikler,
Purchase Invoice cannot be made against an existing asset {0},Innkjøpsfaktura kan ikke gjøres mot en eksisterende eiendel {0},
Purchase Invoices,Kjøp fakturaer,
Purchase Orders,Innkjøpsordrer,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Innkjøpskvittering har ingen varer som beholder prøve er aktivert for.,
Purchase Return,Kjøp Return,
Qty of Finished Goods Item,Antall ferdige varer,
Qty or Amount is mandatroy for loan security,Antall eller beløp er mandatroy for lån sikkerhet,
Quality Inspection required for Item {0} to submit,Kvalitetskontroll kreves for at varen {0} skal sendes inn,
Quantity to Manufacture,Mengde å produsere,
Quantity to Manufacture can not be zero for the operation {0},Mengde å produsere kan ikke være null for operasjonen {0},
Quarterly,Quarterly,
Queued,I kø,
Quick Entry,Hurtig Entry,
Quiz {0} does not exist,Quiz {0} eksisterer ikke,
Quotation Amount,Sitatbeløp,
Rate or Discount is required for the price discount.,Pris eller rabatt kreves for prisrabatten.,
Reason,Reason,
Reconcile Entries,Forsone oppføringer,
Reconcile this account,Forsone denne kontoen,
Reconciled,forsonet,
Recruitment,Rekruttering,
Red,Rød,
Refreshing,forfriskende,
Release date must be in the future,Utgivelsesdato må være i fremtiden,
Relieving Date must be greater than or equal to Date of Joining,Relieving Date må være større enn eller lik dato for tiltredelse,
Rename,Gi nytt navn,
Rename Not Allowed,Gi nytt navn ikke tillatt,
Repayment Method is mandatory for term loans,Tilbakebetalingsmetode er obligatorisk for lån,
Repayment Start Date is mandatory for term loans,Startdato for tilbakebetaling er obligatorisk for terminlån,
Report Item,Rapporter varen,
Report this Item,Rapporter dette elementet,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Reservert antall for underleveranser: Råvaremengde for å lage underleveranser.,
Reset,Tilbakestill,
Reset Service Level Agreement,Tilbakestill servicenivåavtale,
Resetting Service Level Agreement.,Tilbakestilling av servicenivåavtale.,
Return amount cannot be greater unclaimed amount,Returbeløpet kan ikke være større uten krav,
Review,Anmeldelse,
Room,Rom,
Room Type,Romtype,
Row # ,Row #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Rad # {0}: Godkjent lager og leverandørlager kan ikke være det samme,
Row #{0}: Cannot delete item {1} which has already been billed.,Rad # {0}: Kan ikke slette elementet {1} som allerede er fakturert.,
Row #{0}: Cannot delete item {1} which has already been delivered,Rad # {0}: Kan ikke slette varen {1} som allerede er levert,
Row #{0}: Cannot delete item {1} which has already been received,Rad # {0}: Kan ikke slette varen {1} som allerede er mottatt,
Row #{0}: Cannot delete item {1} which has work order assigned to it.,Rad # {0}: Kan ikke slette elementet {1} som er tilordnet arbeidsrekkefølge.,
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Rad # {0}: Kan ikke slette elementet {1} som er tilordnet kundens innkjøpsordre.,
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Rad # {0}: Kan ikke velge leverandørlager mens råstoffene tildeles underleverandøren,
Row #{0}: Cost Center {1} does not belong to company {2},Rad # {0}: Kostnadssenter {1} tilhører ikke selskapet {2},
Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Rad # {0}: Betjening {1} er ikke fullført for {2} antall ferdige varer i arbeidsordre {3}. Oppdater driftsstatus via Jobbkort {4}.,
Row #{0}: Payment document is required to complete the transaction,Rad # {0}: Betalingsdokument er påkrevd for å fullføre transaksjonen,
Row #{0}: Serial No {1} does not belong to Batch {2},Rad # {0}: Serienummer {1} hører ikke til gruppe {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Rad nr. {0}: Sluttdato for service kan ikke være før faktureringsdato,
Row #{0}: Service Start Date cannot be greater than Service End Date,Rad # {0}: Service-startdato kan ikke være større enn sluttidspunkt for tjeneste,
Row #{0}: Service Start and End Date is required for deferred accounting,Rad # {0}: Tjenestens start- og sluttdato kreves for utsatt regnskap,
Row {0}: Invalid Item Tax Template for item {1},Rad {0}: Ugyldig varighetsskattmal for varen {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Rad {0}: Mengde er ikke tilgjengelig for {4} på lager {1} ved oppføringstidspunktet for oppføringen ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Rad {0}: bruker har ikke brukt regelen {1} på elementet {2},
Row {0}:Sibling Date of Birth cannot be greater than today.,Rad {0}: Søsken fødselsdato kan ikke være større enn i dag.,
Row({0}): {1} is already discounted in {2},Rad ({0}): {1} er allerede nedsatt innen {2},
Rows Added in {0},Rader lagt til i {0},
Rows Removed in {0},Rader fjernet om {0},
Sanctioned Amount limit crossed for {0} {1},Sanksjonert beløpsgrense krysset for {0} {1},
Sanctioned Loan Amount already exists for {0} against company {1},Sanksjonert lånebeløp eksisterer allerede for {0} mot selskap {1},
Save,Lagre,
Save Item,Lagre varen,
Saved Items,Lagrede elementer,
Search Items ...,Søk etter artikler ...,
Search for a payment,Søk etter en betaling,
Search for anything ...,Søk etter noe ...,
Search results for,Søkeresultater for,
Select All,Velg Alle,
Select Difference Account,Velg Differanse-konto,
Select a Default Priority.,Velg en standardprioritet.,
Select a company,Velg et selskap,
Select finance book for the item {0} at row {1},Velg økonomibok for varen {0} på rad {1},
Select only one Priority as Default.,Velg bare én prioritet som standard.,
Seller Information,Selgerinformasjon,
Send,Sende,
Send a message,Send en melding,
Sending,sende,
Sends Mails to lead or contact based on a Campaign schedule,Sender e-post for å lede eller kontakte basert på en kampanjeplan,
Serial Number Created,Serienummer opprettet,
Serial Numbers Created,Serienumre opprettet,
Serial no(s) required for serialized item {0},Serienummer (er) som kreves for serienummeret {0},
Series,Series,
Server Error,serverfeil,
Service Level Agreement has been changed to {0}.,Servicenivåavtale er endret til {0}.,
Service Level Agreement was reset.,Servicenivåavtale ble tilbakestilt.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Servicenivåavtale med enhetstype {0} og enhet {1} eksisterer allerede.,
Set,Set,
Set Meta Tags,Angi metatagger,
Set {0} in company {1},Sett {0} i firma {1},
Setup,Setup,
Setup Wizard,Setup Wizard,
Shift Management,Shift Management,
Show Future Payments,Vis fremtidige betalinger,
Show Linked Delivery Notes,Vis tilknyttede leveringsnotater,
Show Sales Person,Vis selger,
Show Stock Ageing Data,Vis lagringsalderingsdata,
Show Warehouse-wise Stock,Vis lagermessig lager,
Size,Størrelse,
Something went wrong while evaluating the quiz.,Noe gikk galt under evalueringen av quizen.,
Sr,sr,
Start,Start,
Start Date cannot be before the current date,Startdato kan ikke være før gjeldende dato,
Start Time,Starttid,
Status,Status,
Status must be Cancelled or Completed,Status må avbrytes eller fullføres,
Stock Balance Report,Aksjekursrapport,
Stock Entry has been already created against this Pick List,Aksjepost er allerede opprettet mot denne plukklisten,
Stock Ledger ID,Lagerbok-ID,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,"Lagerverdi ({0}) og kontosaldo ({1}) er ikke synkronisert for konto {2}, og det er koblede lager.",
Stores - {0},Butikker - {0},
Student with email {0} does not exist,Student med e-post {0} eksisterer ikke,
Submit Review,Send anmeldelse,
Submitted,Sendt inn,
Supplier Addresses And Contacts,Leverandør Adresser og kontakter,
Synchronize this account,Synkroniser denne kontoen,
Tag,stikkord,
Target Location is required while receiving Asset {0} from an employee,Målplassering er påkrevd når du mottar aktiva {0} fra en ansatt,
Target Location is required while transferring Asset {0},Målplassering er nødvendig ved overføring av aktiva {0},
Target Location or To Employee is required while receiving Asset {0},Målplassering eller til ansatt er påkrevd når du mottar aktiva {0},
Task's {0} End Date cannot be after Project's End Date.,Oppgavens {0} sluttdato kan ikke være etter prosjektets sluttdato.,
Task's {0} Start Date cannot be after Project's End Date.,Oppgavens {0} startdato kan ikke være etter prosjektets sluttdato.,
Tax Account not specified for Shopify Tax {0},Skattekonto er ikke spesifisert for Shopify Tax {0},
Tax Total,Sum skatt,
Template,Mal,
The Campaign '{0}' already exists for the {1} '{2}',Kampanjen &#39;{0}&#39; eksisterer allerede for {1} &#39;{2}&#39;,
The difference between from time and To Time must be a multiple of Appointment,Forskjellen mellom tid og tid må være en mangfoldighet av utnevnelsen,
The field Asset Account cannot be blank,Feltet Kontokonto kan ikke være tomt,
The field Equity/Liability Account cannot be blank,Feltet Egenkapital / ansvarskonto kan ikke være blankt,
The following serial numbers were created: <br><br> {0},Følgende serienummer ble opprettet: <br><br> {0},
The parent account {0} does not exists in the uploaded template,Foreldrekontoen {0} eksisterer ikke i den opplastede malen,
The question cannot be duplicate,Spørsmålet kan ikke dupliseres,
The selected payment entry should be linked with a creditor bank transaction,Den valgte betalingsoppføringen bør knyttes til en kredittbanktransaksjon,
The selected payment entry should be linked with a debtor bank transaction,Den valgte betalingsoppføringen bør være knyttet til en debitorbanktransaksjon,
The total allocated amount ({0}) is greated than the paid amount ({1}).,Det totale tildelte beløpet ({0}) er større enn det betalte beløpet ({1}).,
There are no vacancies under staffing plan {0},Det er ingen ledige stillinger under bemanningsplan {0},
This Service Level Agreement is specific to Customer {0},Denne servicenivåavtalen er spesifikk for kunden {0},
This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Denne handlingen vil koble denne kontoen fra ekstern tjeneste som integrerer ERPNext med bankkontoer. Det kan ikke angres. Er du sikker ?,
This bank account is already synchronized,Denne bankkontoen er allerede synkronisert,
This bank transaction is already fully reconciled,Denne banktransaksjonen er allerede fullstendig avstemt,
This employee already has a log with the same timestamp.{0},Denne ansatte har allerede en logg med samme tidsstempel. {0},
This page keeps track of items you want to buy from sellers.,Denne siden holder oversikt over varer du vil kjøpe fra selgere.,
This page keeps track of your items in which buyers have showed some interest.,Denne siden holder oversikt over varene dine hvor kjøpere har vist en viss interesse.,
Thursday,Torsdag,
Timing,timing,
Title,Tittel,
"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","For å tillate overfakturering, oppdater &quot;Over Billing Allowance&quot; i Kontoinnstillinger eller elementet.",
"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","For å tillate over mottak / levering, oppdaterer du &quot;Over kvittering / levering kvote&quot; i lagerinnstillinger eller varen.",
To date needs to be before from date,Til dags dato må være før fra dato,
Total,Total,
Total Early Exits,Totalt tidlig utkjørsel,
Total Late Entries,Totalt antall sene oppføringer,
Total Payment Request amount cannot be greater than {0} amount,Totalt beløp for forespørsel om betaling kan ikke være større enn {0} beløp,
Total payments amount can't be greater than {},Det totale betalingsbeløpet kan ikke være større enn {},
Totals,Totals,
Training Event:,Treningsarrangement:,
Transactions already retreived from the statement,Transaksjoner er allerede gjenopprettet fra uttalelsen,
Transfer Material to Supplier,Overføre materialet til Leverandør,
Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Transportkvitteringsnummer og dato er obligatorisk for den valgte transportmåten,
Tuesday,Tirsdag,
Type,Type,
Unable to find Salary Component {0},Kan ikke finne lønnskomponent {0},
Unable to find the time slot in the next {0} days for the operation {1}.,Kan ikke finne tidsluken i løpet av de neste {0} dagene for operasjonen {1}.,
Unable to update remote activity,Kan ikke oppdatere ekstern aktivitet,
Unknown Caller,Ukjent anroper,
Unlink external integrations,Fjern koblingen til eksterne integrasjoner,
Unmarked Attendance for days,Umerket fremmøte i flere dager,
Unpublish Item,Fjern publisering av varen,
Unreconciled,Ikke-avstemt,
Unsupported GST Category for E-Way Bill JSON generation,Ikke støttet GST-kategori for e-veis Bill JSON-generasjon,
Update,Oppdater,
Update Details,Oppdater detaljer,
Update Taxes for Items,Oppdater skatter for varer,
"Upload a bank statement, link or reconcile a bank account","Last opp en kontoutskrift, koble til eller forene en bankkonto",
Upload a statement,Last opp en uttalelse,
Use a name that is different from previous project name,Bruk et navn som er forskjellig fra tidligere prosjektnavn,
User {0} is disabled,Bruker {0} er deaktivert,
Users and Permissions,Brukere og tillatelser,
Vacancies cannot be lower than the current openings,Ledige stillinger kan ikke være lavere enn dagens åpninger,
Valid From Time must be lesser than Valid Upto Time.,Gyldig fra tid må være mindre enn gyldig inntil tid.,
Valuation Rate required for Item {0} at row {1},Verdsettelsesgrad påkrevd for vare {0} på rad {1},
Values Out Of Sync,Verdier utenfor synkronisering,
Vehicle Type is required if Mode of Transport is Road,Kjøretøytype er påkrevd hvis modus for transport er vei,
Vendor Name,Leverandørnavn,
Verify Email,verifiser e-post,
View,Utsikt,
View all issues from {0},Se alle utgaver fra {0},
View call log,Vis anropslogg,
Warehouse,Warehouse,
Warehouse not found against the account {0},Lager ikke funnet mot kontoen {0},
Welcome to {0},Velkommen til {0},
Why do think this Item should be removed?,Hvorfor tror dette elementet bør fjernes?,
Work Order {0}: Job Card not found for the operation {1},Arbeidsordre {0}: jobbkortet ble ikke funnet for operasjonen {1},
Workday {0} has been repeated.,Arbeidsdag {0} har blitt gjentatt.,
XML Files Processed,XML-filer behandlet,
Year,År,
Yearly,årlig,
You,Du,
You are not allowed to enroll for this course,Du har ikke lov til å melde deg på dette kurset,
You are not enrolled in program {0},Du er ikke påmeldt programmet {0},
You can Feature upto 8 items.,Du kan ha opptil 8 artikler.,
You can also copy-paste this link in your browser,Du kan også kopiere og lime inn lenken i din nettleser,
You can publish upto 200 items.,Du kan publisere opptil 200 artikler.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,Du må aktivere automatisk ombestilling i lagerinnstillinger for å opprettholde ombestillingsnivåer.,
You must be a registered supplier to generate e-Way Bill,Du må være en registrert leverandør for å generere e-Way Bill,
You need to login as a Marketplace User before you can add any reviews.,Du må logge deg inn som Marketplace-bruker før du kan legge til anmeldelser.,
Your Featured Items,Dine utvalgte varer,
Your Items,Varene dine,
Your Profile,Profilen din,
Your rating:,Din vurdering:,
and,og,
e-Way Bill already exists for this document,e-Way Bill eksisterer allerede for dette dokumentet,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Kupongen som brukes er {1}. Tillatt mengde er oppbrukt,
{0} Name,{0} Name,
{0} Operations: {1},{0} Operasjoner: {1},
{0} bank transaction(s) created,{0} banktransaksjoner er opprettet,
{0} bank transaction(s) created and {1} errors,{0} banktransaksjoner er opprettet og {1} feil,
{0} can not be greater than {1},{0} kan ikke være større enn {1},
{0} conversations,{0} samtaler,
{0} is not a company bank account,{0} er ikke en bankkonto,
{0} is not a group node. Please select a group node as parent cost center,{0} er ikke en gruppe node. Velg en gruppe node som overkostningssenter,
{0} is not the default supplier for any items.,{0} er ikke standardleverandøren for noen artikler.,
{0} is required,{0} er nødvendig,
{0}: {1} must be less than {2},{0}: {1} må være mindre enn {2},
{} is an invalid Attendance Status.,{} er en ugyldig deltakerstatus.,
{} is required to generate E-Way Bill JSON,{} er påkrevd for å generere E-Way Bill JSON,
"Invalid lost reason {0}, please create a new lost reason",Ugyldig tapt grunn {0}. Opprett en ny tapt grunn,
Profit This Year,Fortjeneste i år,
Total Expense,Total kostnad,
Total Expense This Year,Total kostnad i år,
Total Income,Totale inntekter,
Total Income This Year,Samlet inntekt i år,
Barcode,Barcode,
Bold,Modig,
Center,Sentrum,
Clear,Klar,
Comment,Kommentar,
Comments,Kommentarer,
DocType,DOCTYPE,
Download,nedlasting,
Left,Venstre,
Link,link,
New,Ny,
Not Found,Ikke Funnet,
Print,Skrive ut,
Reference Name,referansenavn,
Refresh,Refresh,
Success,Suksess,
Time,Tid,
Value,Verdi,
Actual,Faktiske,
Add to Cart,Legg til i handlevogn,
Days Since Last Order,Dager siden sist bestilling,
In Stock,På lager,
Loan Amount is mandatory,Lånebeløp er obligatorisk,
Mode Of Payment,Modus for betaling,
No students Found,Ingen studenter funnet,
Not in Stock,Ikke på lager,
Please select a Customer,Vennligst velg en kunde,
Printed On,Trykt på,
Received From,Mottatt fra,
Sales Person,Selger,
To date cannot be before From date,Til dags dato kan ikke være før fra dato,
Write Off,Skriv Off,
{0} Created,{0} Opprettet,
Email Id,E-ID,
No,Nei,
Reference Doctype,Referanse DOCTYPE,
User Id,Bruker-ID,
Yes,Ja,
Actual ,Faktiske,
Add to cart,Legg til i handlevogn,
Budget,Budsjett,
Chart of Accounts,Kontooversikt,
Customer database.,Kunde Database.,
Days Since Last order,Dager siden siste Bestill,
Download as JSON,Last ned som JSON,
End date can not be less than start date,Sluttdato kan ikke være mindre enn startdato,
For Default Supplier (Optional),For standardleverandør (valgfritt),
From date cannot be greater than To date,Fra dato ikke kan være større enn To Date,
Get items from,Få elementer fra,
Group by,Grupper etter,
In stock,På lager,
Item name,Navn,
Loan amount is mandatory,Lånebeløp er obligatorisk,
Minimum Qty,Minimum antall,
More details,Mer informasjon,
Nature of Supplies,Naturens forsyninger,
No Items found.,Ingen objekter funnet.,
No employee found,Ingen ansatt funnet,
No students found,Ingen studenter funnet,
Not in stock,Ikke på lager,
Not permitted,Ikke tillatt,
Open Issues ,åpne spørsmål,
Open Projects ,Åpne prosjekter,
Open To Do ,Åpne for å gjøre,
Operation Id,Operation ID,
Partially ordered,Delvis bestilt,
Please select company first,Vennligst velg Company først,
Please select patient,Vennligst velg Pasient,
Printed On ,Trykt på,
Projected qty,Anslått Antall,
Sales person,Sales Person,
Serial No {0} Created,Serial No {0} opprettet,
Source Location is required for the Asset {0},Kildeplassering er nødvendig for aktiva {0},
Tax Id,Skatte-id,
To Time,Til Time,
To date cannot be before from date,Til dags dato kan ikke være fra Fra dato,
Total Taxable value,Total skattepliktig verdi,
Upcoming Calendar Events ,Kommende kalenderhendelser,
Value or Qty,Verdi eller Stk,
Variance ,varians,
Variant of,Variant av,
Write off,Skriv Off,
hours,timer,
received from,Mottatt fra,
to,til,
Cards,kort,
Percentage,Prosentdel,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Kunne ikke konfigurere standardverdiene for land {0}. Kontakt support@erpnext.com,
Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Rad # {0}: Element {1} er ikke en serie / batch-vare. Det kan ikke ha et serienummer / batchnr mot det.,
Please set {0},Vennligst sett {0},
Please set {0},Angi {0},supplier
Draft,utkast,"docstatus,=,0"
Cancelled,avbrutt,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Oppsett Instructor Naming System i Education&gt; Education Settings,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Angi Naming Series for {0} via Setup&gt; Settings&gt; Naming Series,
UOM Conversion factor ({0} -> {1}) not found for item: {2},UOM konverteringsfaktor ({0} -&gt; {1}) ikke funnet for varen: {2},
Item Code > Item Group > Brand,Varekode&gt; Varegruppe&gt; Merke,
Customer > Customer Group > Territory,Kunde&gt; Kundegruppe&gt; Territorium,
Supplier > Supplier Type,Leverandør&gt; Leverandørtype,
Please setup Employee Naming System in Human Resource > HR Settings,Oppsett medarbeidersamlingssystem i menneskelige ressurser&gt; HR-innstillinger,
Please setup numbering series for Attendance via Setup > Numbering Series,Angi nummereringsserier for Oppmøte via Oppsett&gt; Nummereringsserier,
The value of {0} differs between Items {1} and {2},Verdien på {0} er forskjellig mellom elementene {1} og {2},
Auto Fetch,Automatisk henting,
Fetch Serial Numbers based on FIFO,Hent serienumre basert på FIFO,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Utgående skattepliktige leveranser (annet enn nullrangerte, nullrangerte og fritatt)",
"To allow different rates, disable the {0} checkbox in {1}.","For å tillate forskjellige priser, deaktiver {0} avkrysningsruten i {1}.",
Current Odometer Value should be greater than Last Odometer Value {0},Gjeldende kilometertellerverdi bør være større enn siste kilometertellerverdi {0},
No additional expenses has been added,Ingen ekstra utgifter er lagt til,
Asset{} {assets_link} created for {},Eiendom {} {assets_link} opprettet for {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Rad {}: Asset Naming Series er obligatorisk for automatisk oppretting av element {},
Assets not created for {0}. You will have to create asset manually.,Eiendeler ble ikke opprettet for {0}. Du må opprette eiendel manuelt.,
{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} har regnskapsoppføringer i valuta {2} for firmaet {3}. Velg en fordringskonto eller betalbar konto med valuta {2}.,
Invalid Account,Ugyldig konto,
Purchase Order Required,Innkjøpsordre Påkrevd,
Purchase Receipt Required,Kvitteringen Påkrevd,
Account Missing,Konto mangler,
Requested,Spurt,
Partially Paid,Delvis betalt,
Invalid Account Currency,Ugyldig kontovaluta,
"Row {0}: The item {1}, quantity must be positive number","Rad {0}: Varen {1}, antall må være positivt tall",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Angi {0} for vareparti {1}, som brukes til å angi {2} på Send.",
Expiry Date Mandatory,Utløpsdato obligatorisk,
Variant Item,Variantelement,
BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} og BOM 2 {1} skal ikke være den samme,
Note: Item {0} added multiple times,Merk: Element {0} er lagt til flere ganger,
YouTube,YouTube,
Vimeo,Vimeo,
Publish Date,Publiseringsdato,
Duration,Varighet,
Advanced Settings,Avanserte innstillinger,
Path,Sti,
Components,komponenter,
Verified By,Verified by,
Invalid naming series (. missing) for {0},Ugyldig navneserie (. Mangler) for {0},
Filter Based On,Filter basert på,
Reqd by date,Oppgitt etter dato,
Manufacturer Part Number <b>{0}</b> is invalid,Produsentens delenummer <b>{0}</b> er ugyldig,
Invalid Part Number,Ugyldig delenummer,
Select atleast one Social Media from Share on.,Velg minst én sosial media fra Del på.,
Invalid Scheduled Time,Ugyldig planlagt tid,
Length Must be less than 280.,Lengde må være mindre enn 280.,
Error while POSTING {0},Feil under POSTING av {0},
"Session not valid, Do you want to login?",Økten er ikke gyldig. Vil du logge inn?,
Session Active,Økt aktiv,
Session Not Active. Save doc to login.,Økten er ikke aktiv. Lagre dokument for å logge inn.,
Error! Failed to get request token.,Feil! Kunne ikke hente forespørselstoken.,
Invalid {0} or {1},Ugyldig {0} eller {1},
Error! Failed to get access token.,Feil! Kunne ikke få tilgangstoken.,
Invalid Consumer Key or Consumer Secret Key,Ugyldig forbrukernøkkel eller forbrukerhemmelig nøkkel,
Your Session will be expire in ,Økten din utløper om,
 days.,dager.,
Session is expired. Save doc to login.,Økten er utløpt. Lagre dokument for å logge inn.,
Error While Uploading Image,Feil under opplasting av bilde,
You Didn't have permission to access this API,Du hadde ikke tillatelse til å få tilgang til dette API-et,
Valid Upto date cannot be before Valid From date,Gyldig oppdato kan ikke være før Gyldig fra dato,
Valid From date not in Fiscal Year {0},Gyldig fra dato ikke i regnskapsåret {0},
Valid Upto date not in Fiscal Year {0},Gyldig oppdato ikke i regnskapsåret {0},
Group Roll No,Grupperull nr,
Maintain Same Rate Throughout Sales Cycle,Opprettholde samme hastighet Gjennom Salgssyklus,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Rad {1}: Mengde ({0}) kan ikke være en brøkdel. For å tillate dette, deaktiver &#39;{2}&#39; i UOM {3}.",
Must be Whole Number,Må være hele tall,
Please setup Razorpay Plan ID,Sett opp Razorpay plan-ID,
Contact Creation Failed,Opprettelse av kontakt mislyktes,
{0} already exists for employee {1} and period {2},{0} eksisterer allerede for ansatt {1} og periode {2},
Leaves Allocated,Bladene tildelt,
Leaves Expired,Bladene utløpt,
Leave Without Pay does not match with approved {} records,Permisjon uten betaling samsvarer ikke med godkjente {} poster,
Income Tax Slab not set in Salary Structure Assignment: {0},Inntektsskattplate er ikke angitt i lønnsstrukturoppdrag: {0},
Income Tax Slab: {0} is disabled,Inntektsskattplate: {0} er deaktivert,
Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Inntektsskattplaten må være i kraft på eller før startdatoen for lønnsperioden: {0},
No leave record found for employee {0} on {1},Ingen permisjonsjournal funnet for ansatt {0} på {1},
Row {0}: {1} is required in the expenses table to book an expense claim.,Rad {0}: {1} kreves i kostnadstabellen for å bestille et utgiftskrav.,
Set the default account for the {0} {1},Angi standardkontoen for {0} {1},
(Half Day),(Halv dag),
Income Tax Slab,Inntektsskattplate,
Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Rad nr. {0}: Kan ikke angi beløp eller formel for lønnskomponent {1} med variabel basert på skattepliktig lønn,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Rad nr. {}: {} Av {} skal være {}. Endre kontoen eller velg en annen konto.,
Row #{}: Please asign task to a member.,Rad nr. {}: Vennligst tilordne oppgaven til et medlem.,
Process Failed,Prosessen mislyktes,
Tally Migration Error,Tally Migration Error,
Please set Warehouse in Woocommerce Settings,Angi Warehouse i Woocommerce Settings,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Rad {0}: Leveringslager ({1}) og kundelager ({2}) kan ikke være like,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Rad {0}: Forfallsdato i tabellen Betalingsbetingelser kan ikke være før utgivelsesdato,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Finner ikke {} for varen {}. Angi det samme i Element Master eller Stock Settings.,
Row #{0}: The batch {1} has already expired.,Rad nr. {0}: Partiet {1} har allerede utløpt.,
Start Year and End Year are mandatory,Startår og sluttår er obligatorisk,
GL Entry,GL Entry,
Cannot allocate more than {0} against payment term {1},Kan ikke tildele mer enn {0} mot betalingsperioden {1},
The root account {0} must be a group,Rotkontoen {0} må være en gruppe,
Shipping rule not applicable for country {0} in Shipping Address,Leveringsregel gjelder ikke for land {0} i leveringsadresse,
Get Payments from,Få betalinger fra,
Set Shipping Address or Billing Address,Angi leveringsadresse eller faktureringsadresse,
Consultation Setup,Konsultasjonsoppsett,
Fee Validity,Avgift Gyldighet,
Laboratory Setup,Laboratorieoppsett,
Dosage Form,Doseringsform,
Records and History,Opptegnelser og historie,
Patient Medical Record,Patient Medical Record,
Rehabilitation,Rehabilitering,
Exercise Type,Treningstype,
Exercise Difficulty Level,Vanskelighetsnivå for trening,
Therapy Type,Terapi Type,
Therapy Plan,Terapiplan,
Therapy Session,Terapisession,
Motor Assessment Scale,Motorisk vurderingsskala,
[Important] [ERPNext] Auto Reorder Errors,[Viktig] [ERPNext] Autoregistrer feil,
"Regards,","Hilsen,",
The following {0} were created: {1},Følgende {0} ble opprettet: {1},
Work Orders,Arbeidsordre,
The {0} {1} created sucessfully,{0} {1} opprettet med suksess,
Work Order cannot be created for following reason: <br> {0},Arbeidsordre kan ikke opprettes av følgende grunn:<br> {0},
Add items in the Item Locations table,Legg til varer i varelokaliseringstabellen,
Update Current Stock,Oppdater gjeldende aksje,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item",{0} Behold prøven er basert på batch. Merk av for Har batch-nummer for å beholde eksemplet på varen,
Empty,Tømme,
Currently no stock available in any warehouse,For øyeblikket ingen lager tilgjengelig på noe lager,
BOM Qty,BOM Antall,
Time logs are required for {0} {1},Tidslogger kreves for {0} {1},
Total Completed Qty,Totalt fullført antall,
Qty to Manufacture,Antall å produsere,
Repay From Salary can be selected only for term loans,Tilbakebetaling fra lønn kan bare velges for løpetidslån,
No valid Loan Security Price found for {0},Fant ingen gyldig sikkerhetspris for lån for {0},
Loan Account and Payment Account cannot be same,Lånekontoen og betalingskontoen kan ikke være den samme,
Loan Security Pledge can only be created for secured loans,Lånesikkerhetspant kan bare opprettes for sikrede lån,
Social Media Campaigns,Sosiale mediekampanjer,
From Date can not be greater than To Date,Fra dato kan ikke være større enn til dato,
Please set a Customer linked to the Patient,Angi en kunde som er koblet til pasienten,
Customer Not Found,Kunden ble ikke funnet,
Please Configure Clinical Procedure Consumable Item in ,Vennligst konfigurer klinisk prosedyre forbruksvare i,
Missing Configuration,Mangler konfigurasjon,
Out Patient Consulting Charge Item,Out Patient Consulting Charge Item,
Inpatient Visit Charge Item,Inpatient Visit Charge Item,
OP Consulting Charge,OP-konsulentkostnad,
Inpatient Visit Charge,Inpatient besøksavgift,
Appointment Status,Avtalestatus,
Test: ,Test:,
Collection Details: ,Samlingsdetaljer:,
{0} out of {1},{0} av {1},
Select Therapy Type,Velg behandlingstype,
{0} sessions completed,{0} økter fullført,
{0} session completed,{0} økt fullført,
 out of {0},av {0},
Therapy Sessions,Terapisessioner,
Add Exercise Step,Legg til treningstrinn,
Edit Exercise Step,Rediger treningstrinn,
Patient Appointments,Pasientavtaler,
Item with Item Code {0} already exists,Vare med varekode {0} eksisterer allerede,
Registration Fee cannot be negative or zero,Registreringsgebyr kan ikke være negativt eller null,
Configure a service Item for {0},Konfigurer et tjenesteelement for {0},
Temperature: ,Temperatur:,
Pulse: ,Puls:,
Respiratory Rate: ,Respirasjonsfrekvens:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,Merk:,
Check Availability,Sjekk tilgjengelighet,
Please select Patient first,Velg pasient først,
Please select a Mode of Payment first,Velg en betalingsmåte først,
Please set the Paid Amount first,Angi det betalte beløpet først,
Not Therapies Prescribed,Ikke terapier foreskrevet,
There are no Therapies prescribed for Patient {0},Det er ingen terapier foreskrevet for pasienten {0},
Appointment date and Healthcare Practitioner are Mandatory,Avtaledato og helsepersonell er obligatorisk,
No Prescribed Procedures found for the selected Patient,Ingen reseptbelagte prosedyrer ble funnet for den valgte pasienten,
Please select a Patient first,Velg først en pasient,
There are no procedure prescribed for ,Det er ingen prosedyre foreskrevet for,
Prescribed Therapies,Foreskrevne terapier,
Appointment overlaps with ,Avtale overlapper med,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} har avtale planlagt med {1} kl. {2} som har {3} minutt (er).,
Appointments Overlapping,Avtaler som overlapper hverandre,
Consulting Charges: {0},Rådgivningskostnader: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Avtale kansellert. Gjennomgå og kanseller fakturaen {0},
Appointment Cancelled.,Avtale kansellert.,
Fee Validity {0} updated.,Avgiftsgyldighet {0} oppdatert.,
Practitioner Schedule Not Found,Praktiseringsplanen ble ikke funnet,
{0} is on a Half day Leave on {1},{0} har en halv dags permisjon {1},
{0} is on Leave on {1},{0} har permisjon {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} har ikke en tidsplan for helsepersonell. Legg det til i helsepersonell,
Healthcare Service Units,Enheter for helsetjenester,
Complete and Consume,Fullfør og forbruk,
Complete {0} and Consume Stock?,Fullføre {0} og konsumere lager?,
Complete {0}?,Fullført {0}?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Lagermengde for å starte prosedyren er ikke tilgjengelig i lageret {0}. Vil du registrere en aksjeoppføring?,
{0} as on {1},{0} som på {1},
Clinical Procedure ({0}):,Klinisk prosedyre ({0}):,
Please set Customer in Patient {0},Angi kunden som pasient {0},
Item {0} is not active,Varen {0} er ikke aktiv,
Therapy Plan {0} created successfully.,Behandlingsplanen {0} ble opprettet.,
Symptoms: ,Symptomer:,
No Symptoms,Ingen symptomer,
Diagnosis: ,Diagnose:,
No Diagnosis,Ingen diagnose,
Drug(s) Prescribed.,Legemiddel (er) Foreskrevet.,
Test(s) Prescribed.,Test (er) Foreskrevet.,
Procedure(s) Prescribed.,Prosedyre (r) Foreskrevet.,
Counts Completed: {0},Teller fullført: {0},
Patient Assessment,Pasientvurdering,
Assessments,Vurderinger,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Hoder (eller grupper) mot hvilke regnskapspostene er laget og balanserer opprettholdes.,
Account Name,Brukernavn,
Inter Company Account,Inter Company Account,
Parent Account,Parent konto,
Setting Account Type helps in selecting this Account in transactions.,Stille Kontotype hjelper i å velge denne kontoen i transaksjoner.,
Chargeable,Avgift,
Rate at which this tax is applied,Hastigheten som denne skatten er brukt,
Frozen,Frozen,
"If the account is frozen, entries are allowed to restricted users.","Hvis kontoen er fryst, er oppføringer lov til begrensede brukere.",
Balance must be,Balansen må være,
Lft,Lft,
Rgt,Rgt,
Old Parent,Gammel Parent,
Include in gross,Inkluder i brutto,
Auditor,Revisor,
Accounting Dimension,Regnskapsdimensjon,
Dimension Name,Dimensjonsnavn,
Dimension Defaults,Dimensjonsstandarder,
Accounting Dimension Detail,Regnskapsdimensjon Detalj,
Default Dimension,Standard dimensjon,
Mandatory For Balance Sheet,Obligatorisk for balanse,
Mandatory For Profit and Loss Account,Obligatorisk for resultatregnskap,
Accounting Period,Regnskapsperiode,
Period Name,Periode Navn,
Closed Documents,Lukkede dokumenter,
Accounts Settings,Regnskap Innstillinger,
Settings for Accounts,Innstillinger for kontoer,
Make Accounting Entry For Every Stock Movement,Gjør regnskap Entry For Hver Stock Movement,
"If enabled, the system will post accounting entries for inventory automatically.","Hvis aktivert, vil systemet starte regnskapspostene for inventar automatisk.",
Accounts Frozen Upto,Regnskap Frozen Opp,
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Regnskap oppføring frosset opp til denne datoen, kan ingen gjøre / endre oppføring unntatt rolle angitt nedenfor.",
Role Allowed to Set Frozen Accounts & Edit Frozen Entries,Rolle lov til å sette Frosne Kontoer og Rediger Frosne Entries,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Brukere med denne rollen har lov til å sette frosne kontoer og lage / endre regnskapspostene mot frosne kontoer,
Determine Address Tax Category From,Bestem adresseskattekategori fra,
Address used to determine Tax Category in transactions.,Adresse som brukes til å bestemme skattekategori i transaksjoner.,
Over Billing Allowance (%),Over faktureringsgodtgjørelse (%),
Percentage you are allowed to bill more against the amount ordered. For example: If the order value is $100 for an item and tolerance is set as 10% then you are allowed to bill for $110.,"Prosentvis har du lov til å fakturere mer mot det bestilte beløpet. For eksempel: Hvis ordreverdien er $ 100 for en vare og toleransen er satt til 10%, har du lov til å fakturere $ 110.",
Credit Controller,Credit Controller,
Role that is allowed to submit transactions that exceed credit limits set.,Rollen som får lov til å sende transaksjoner som overstiger kredittgrenser fastsatt.,
Check Supplier Invoice Number Uniqueness,Sjekk Leverandør fakturanummer Unikhet,
Make Payment via Journal Entry,Utfør betaling via bilagsregistrering,
Unlink Payment on Cancellation of Invoice,Oppheve koblingen Betaling ved kansellering av faktura,
Book Asset Depreciation Entry Automatically,Bokføring av aktivavskrivninger automatisk,
Automatically Add Taxes and Charges from Item Tax Template,Legg automatisk til skatter og avgifter fra varighetsskattmal,
Automatically Fetch Payment Terms,Hent automatisk betalingsbetingelser,
Show Inclusive Tax In Print,Vis inklusiv skatt i utskrift,
Show Payment Schedule in Print,Vis betalingsplan i utskrift,
Currency Exchange Settings,Valutavekslingsinnstillinger,
Allow Stale Exchange Rates,Tillat uaktuelle valutakurser,
Stale Days,Foreldede dager,
Report Settings,Rapporter innstillinger,
Use Custom Cash Flow Format,Bruk tilpasset kontantstrømformat,
Only select if you have setup Cash Flow Mapper documents,Bare velg hvis du har installert Cash Flow Mapper-dokumenter,
Allowed To Transact With,Tillat å transaksere med,
SWIFT number,Raskt nummer,
Branch Code,Bransjekode,
Address and Contact,Adresse og Kontakt,
Address HTML,Adresse HTML,
Contact HTML,Kontakt HTML,
Data Import Configuration,Dataimportkonfigurasjon,
Bank Transaction Mapping,Kartlegging av banktransaksjoner,
Plaid Access Token,Token for rutet tilgang,
Company Account,Firmakonto,
Account Subtype,Kontotype,
Is Default Account,Er standardkonto,
Is Company Account,Er selskapskonto,
Party Details,Festdetaljer,
Account Details,kontodetaljer,
IBAN,IBAN,
Bank Account No,Bankkonto nr,
Integration Details,Integrasjonsdetaljer,
Integration ID,Integrasjons-ID,
Last Integration Date,Siste integreringsdato,
Change this date manually to setup the next synchronization start date,Endre denne datoen manuelt for å konfigurere neste dato for synkronisering,
Mask,Maske,
Bank Account Subtype,Banktypens undertype,
Bank Account Type,Bankkontotype,
Bank Guarantee,Bankgaranti,
Bank Guarantee Type,Bankgaranti Type,
Receiving,motta,
Providing,Gir,
Reference Document Name,Referansedokumentnavn,
Validity in Days,Gyldighet i dager,
Bank Account Info,Bankkontoinformasjon,
Clauses and Conditions,Klausuler og betingelser,
Other Details,Andre detaljer,
Bank Guarantee Number,Bankgaranti nummer,
Name of Beneficiary,Navn på mottaker,
Margin Money,Marginpenger,
Charges Incurred,Avgifter opphørt,
Fixed Deposit Number,Fast innskuddsnummer,
Account Currency,Account Valuta,
Select the Bank Account to reconcile.,Velg bankkontoen du vil forene.,
Include Reconciled Entries,Inkluder forsonet Entries,
Get Payment Entries,Få Betalings Entries,
Payment Entries,Betalings Entries,
Update Clearance Date,Oppdater Lagersalg Dato,
Bank Reconciliation Detail,Bankavstemming Detalj,
Cheque Number,Sjekk Antall,
Cheque Date,Sjekk Dato,
Statement Header Mapping,Statement Header Mapping,
Statement Headers,Statement Headers,
Transaction Data Mapping,Transaksjonsdata kartlegging,
Mapped Items,Mappede elementer,
Bank Statement Settings Item,Innstillingsinnstillinger for bankkontoen,
Mapped Header,Mapped Header,
Bank Header,Bankoverskrift,
Bank Statement Transaction Entry,Bankkonto Transaksjonsoppføring,
Bank Transaction Entries,Bankoverføringsoppføringer,
New Transactions,Nye transaksjoner,
Match Transaction to Invoices,Match transaksjon til fakturaer,
Create New Payment/Journal Entry,Opprett ny betaling / journalinngang,
Submit/Reconcile Payments,Send / avstem betalinger,
Matching Invoices,Matchende fakturaer,
Payment Invoice Items,Betalingsfakturaelementer,
Reconciled Transactions,Avstemte transaksjoner,
Bank Statement Transaction Invoice Item,Bankkonto Transaksjonsfaktura,
Payment Description,Betalingsbeskrivelse,
Invoice Date,Fakturadato,
invoice,faktura,
Bank Statement Transaction Payment Item,Bankkonto Transaksjonsbetalingselement,
outstanding_amount,utestående beløp,
Payment Reference,Betalingsreferanse,
Bank Statement Transaction Settings Item,Bankoversikt Transaksjonsinnstillinger,
Bank Data,Bankdata,
Mapped Data Type,Mappet datatype,
Mapped Data,Mappedata,
Bank Transaction,Banktransaksjon,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,Transaksjons-ID,
Unallocated Amount,uallokert Beløp,
Field in Bank Transaction,Felt i banktransaksjon,
Column in Bank File,Kolonne i bankfil,
Bank Transaction Payments,Banktransaksjoner,
Control Action,Kontroller handling,
Applicable on Material Request,Gjelder på materialforespørsel,
Action if Annual Budget Exceeded on MR,Handling hvis årlig budsjett overskrider MR,
Warn,Advare,
Ignore,Ignorer,
Action if Accumulated Monthly Budget Exceeded on MR,Handling hvis akkumulert månedlig budsjett oversteg MR,
Applicable on Purchase Order,Gjelder på innkjøpsordre,
Action if Annual Budget Exceeded on PO,Handling hvis årlig budsjett overskrides på PO,
Action if Accumulated Monthly Budget Exceeded on PO,Handling hvis akkumulert månedlig budsjett oversteg PO,
Applicable on booking actual expenses,Gjelder på bestilling faktiske utgifter,
Action if Annual Budget Exceeded on Actual,Handling hvis årlig budsjett overskrider faktisk,
Action if Accumulated Monthly Budget Exceeded on Actual,Handling hvis akkumulert månedlig budsjett oversteg faktisk,
Budget Accounts,Budsjett Regnskap,
Budget Account,budsjett konto,
Budget Amount,budsjett~~POS=TRUNC,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-Form Nei,
Received Date,Mottatt dato,
Quarter,Quarter,
I,Jeg,
II,II,
III,III,
IV,IV,
C-Form Invoice Detail,C-Form Faktura Detalj,
Invoice No,Faktura Nei,
Cash Flow Mapper,Cash Flow Mapper,
Section Name,Seksjonsnavn,
Section Header,Seksjonsoverskrift,
Section Leader,Seksjonsleder,
e.g Adjustments for:,f.eks. justeringer for:,
Section Subtotal,Seksjon Subtotal,
Section Footer,Seksjon Footer,
Position,Posisjon,
Cash Flow Mapping,Cash Flow Mapping,
Select Maximum Of 1,Velg Maksimum 1,
Is Finance Cost,Er finansieringskostnad,
Is Working Capital,Er arbeidskapital,
Is Finance Cost Adjustment,Er finansieringskostnadsjustering,
Is Income Tax Liability,Er skatt på inntektsskatt,
Is Income Tax Expense,Er inntektsskatt utgift,
Cash Flow Mapping Accounts,Kontantstrømmappekontoer,
account,Konto,
Cash Flow Mapping Template,Cash Flow Mapping Template,
Cash Flow Mapping Template Details,Kontantstrøm kartlegging detaljer,
POS-CLO-,POS-lukningstider,
Custody,varetekt,
Net Amount,Nettobeløp,
Cashier Closing Payments,Kasseavslutninger,
Chart of Accounts Importer,Kontooversikt Importør,
Import Chart of Accounts from a csv file,Importer kontoplan fra en csv-fil,
Attach custom Chart of Accounts file,Legg ved tilpasset kontoplan,
Chart Preview,Forhåndsvisning av diagram,
Chart Tree,Chart Tree,
Cheque Print Template,Sjekk ut Mal,
Has Print Format,Har Print Format,
Primary Settings,primære Innstillinger,
Cheque Size,sjekk Size,
Regular,Regelmessig,
Starting position from top edge,Startposisjon fra øverste kant,
Cheque Width,sjekk Bredde,
Cheque Height,sjekk Høyde,
Scanned Cheque,skannede Cheque,
Is Account Payable,Er konto Betales,
Distance from top edge,Avstand fra øvre kant,
Distance from left edge,Avstand fra venstre kant,
Message to show,Melding for visning,
Date Settings,Dato Innstillinger,
Starting location from left edge,Starter plassering fra venstre kant,
Payer Settings,Payer Innstillinger,
Width of amount in word,Bredde på beløpet i ord,
Line spacing for amount in words,Linjeavstand for beløpet i ord,
Amount In Figure,Beløp I figur,
Signatory Position,Signataren plassering,
Closed Document,Lukket dokument,
Track separate Income and Expense for product verticals or divisions.,Spor separat inntekter og kostnader for produkt vertikaler eller divisjoner.,
Cost Center Name,Kostnadssteds Name,
Parent Cost Center,Parent kostnadssted,
lft,LFT,
rgt,RGT,
Coupon Code,Kupongkode,
Coupon Name,Kupongnavn,
"e.g. ""Summer Holiday 2019 Offer 20""",f.eks &quot;Sommerferie 2019 Tilbud 20&quot;,
Coupon Type,Kupongtype,
Promotional,Promotional,
Gift Card,Gavekort,
unique e.g. SAVE20  To be used to get discount,unik f.eks. SAVE20 Brukes for å få rabatt,
Validity and Usage,Gyldighet og bruk,
Valid From,Gyldig fra,
Valid Upto,Gyldig Upto,
Maximum Use,Maksimal bruk,
Used,brukes,
Coupon Description,Kupongbeskrivelse,
Discounted Invoice,Rabattert faktura,
Debit to,Debet til,
Exchange Rate Revaluation,Valutakursomskrivning,
Get Entries,Få oppføringer,
Exchange Rate Revaluation Account,Valutakursreguleringskonto,
Total Gain/Loss,Total gevinst / tap,
Balance In Account Currency,Balanse i Konto Valuta,
Current Exchange Rate,Gjeldende valutakurs,
Balance In Base Currency,Balanse i basisvaluta,
New Exchange Rate,Ny valutakurs,
New Balance In Base Currency,Ny balanse i basisvaluta,
Gain/Loss,Gevinst / tap,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Regnskapsår ** representerer et regnskapsår. Alle regnskapspostene og andre store transaksjoner spores mot ** regnskapsår **.,
Year Name,År Navn,
"For e.g. 2012, 2012-13","For eksempel 2012, 2012-13",
Year Start Date,År Startdato,
Year End Date,År Sluttdato,
Companies,Selskaper,
Auto Created,Automatisk opprettet,
Stock User,Stock User,
Fiscal Year Company,Regnskapsåret selskapet,
Debit Amount,Debet Beløp,
Credit Amount,Credit Beløp,
Debit Amount in Account Currency,Debet beløp på kontoen Valuta,
Credit Amount in Account Currency,Credit beløp på kontoen Valuta,
Voucher Detail No,Kupong Detail Ingen,
Is Opening,Er Åpnings,
Is Advance,Er Advance,
To Rename,Å gi nytt navn,
GST Account,GST-konto,
CGST Account,CGST-konto,
SGST Account,SGST-konto,
IGST Account,IGST-konto,
CESS Account,CESS-konto,
Loan Start Date,Startdato for lån,
Loan Period (Days),Låneperiode (dager),
Loan End Date,Sluttdato for lån,
Bank Charges,Bankgebyrer,
Short Term Loan Account,Kortsiktig lånekonto,
Bank Charges Account,Bankkontokonto,
Accounts Receivable Credit Account,Kundefordringer Kredittkonto,
Accounts Receivable Discounted Account,Kundefordringer Rabattert konto,
Accounts Receivable Unpaid Account,Kundefordringer Ubetalt konto,
Item Tax Template,Vare skatt mal,
Tax Rates,Skattesatser,
Item Tax Template Detail,Vare skatt mal detalj,
Entry Type,Entry Type,
Inter Company Journal Entry,Inter Company Journal Entry,
Bank Entry,Bank Entry,
Cash Entry,Cash Entry,
Credit Card Entry,Kredittkort Entry,
Contra Entry,Contra Entry,
Excise Entry,Vesenet Entry,
Write Off Entry,Skriv Off Entry,
Opening Entry,Åpning Entry,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Regnskaps Entries,
Total Debit,Total debet,
Total Credit,Total Credit,
Difference (Dr - Cr),Forskjellen (Dr - Cr),
Make Difference Entry,Gjør forskjell Entry,
Total Amount Currency,Totalbeløp Valuta,
Total Amount in Words,Totalbeløp i Words,
Remark,Bemerkning,
Paid Loan,Betalt lån,
Inter Company Journal Entry Reference,Inter Company Journal Entry Reference,
Write Off Based On,Skriv Off basert på,
Get Outstanding Invoices,Få utestående fakturaer,
Write Off Amount,Avskrive beløp,
Printing Settings,Utskriftsinnstillinger,
Pay To / Recd From,Betal Til / recd From,
Payment Order,Betalingsordre,
Subscription Section,Abonnementsseksjon,
Journal Entry Account,Journal Entry konto,
Account Balance,Saldo,
Party Balance,Fest Balance,
Accounting Dimensions,Regnskapsdimensjoner,
If Income or Expense,Dersom inntekt eller kostnad,
Exchange Rate,Vekslingskurs,
Debit in Company Currency,Debet i selskapet Valuta,
Credit in Company Currency,Kreditt i selskapet Valuta,
Payroll Entry,Lønninngang,
Employee Advance,Ansattes fremskritt,
Reference Due Date,Referansedato,
Loyalty Program Tier,Lojalitetsprogram Tier,
Redeem Against,Løs inn mot,
Expiry Date,Utløpsdato,
Loyalty Point Entry Redemption,Innløsning av lojalitetspoeng,
Redemption Date,Innløsningsdato,
Redeemed Points,Innløste poeng,
Loyalty Program Name,Lojalitetsprogramnavn,
Loyalty Program Type,Lojalitetsprogramtype,
Single Tier Program,Single Tier Program,
Multiple Tier Program,Flertallsprogram,
Customer Territory,Kundeområde,
Auto Opt In (For all customers),Auto Opt In (For alle kunder),
Collection Tier,Collection Tier,
Collection Rules,Innsamlingsregler,
Redemption,Forløsning,
Conversion Factor,Omregningsfaktor,
1 Loyalty Points = How much base currency?,1 Lojalitetspoeng = Hvor mye grunnvaluta?,
Expiry Duration (in days),Utløpsvarighet (i dager),
Help Section,Hjelpseksjon,
Loyalty Program Help,Lojalitetsprogram Hjelp,
Loyalty Program Collection,Lojalitetsprogram samling,
Tier Name,Tiernavn,
Minimum Total Spent,Minimum totalt brukt,
Collection Factor (=1 LP),Samlefaktor (= 1 LP),
For how much spent = 1 Loyalty Point,For hvor mye brukt = 1 Lojalitetspoeng,
Mode of Payment Account,Modus for betaling konto,
Default Account,Standard konto,
Default account will be automatically updated in POS Invoice when this mode is selected.,Standardkontoen oppdateres automatisk i POS-faktura når denne modusen er valgt.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Månedlig Distribusjon ** hjelper deg distribuere Budsjett / Target over måneder hvis du har sesongvariasjoner i din virksomhet.,
Distribution Name,Distribusjon Name,
Name of the Monthly Distribution,Navn på Monthly Distribution,
Monthly Distribution Percentages,Månedlig Distribusjonsprosent,
Monthly Distribution Percentage,Månedlig Distribution Prosent,
Percentage Allocation,Prosentvis Allocation,
Create Missing Party,Opprett manglende parti,
Create missing customer or supplier.,Opprett manglende kunde eller leverandør.,
Opening Invoice Creation Tool Item,Åpning av fakturaopprettingsverktøyet,
Temporary Opening Account,Midlertidig åpningskonto,
Party Account,Partiet konto,
Type of Payment,Type Betaling,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Motta,
Internal Transfer,Internal Transfer,
Payment Order Status,Betalingsordresstatus,
Payment Ordered,Betaling Bestilt,
Payment From / To,Betaling fra / til,
Company Bank Account,Firmaets bankkonto,
Party Bank Account,Party bankkonto,
Account Paid From,Konto betalt fra,
Account Paid To,Konto Betalt for å,
Paid Amount (Company Currency),Innbetalt beløp (Company Valuta),
Received Amount,mottatt beløp,
Received Amount (Company Currency),Mottatt beløp (Selskap Valuta),
Get Outstanding Invoice,Få utestående faktura,
Payment References,Betalings Referanser,
Writeoff,writeoff,
Total Allocated Amount,Totalt tildelte beløp,
Total Allocated Amount (Company Currency),Totalt tildelte beløp (Selskap Valuta),
Set Exchange Gain / Loss,Sett valutagevinst / tap,
Difference Amount (Company Currency),Forskjell Beløp (Selskap Valuta),
Write Off Difference Amount,Skriv Off differansebeløpet,
Deductions or Loss,Fradrag eller tap,
Payment Deductions or Loss,Betalings fradrag eller tap,
Cheque/Reference Date,Sjekk / Reference Date,
Payment Entry Deduction,Betaling Entry Fradrag,
Payment Entry Reference,Betaling Entry Reference,
Allocated,Avsatt,
Payment Gateway Account,Betaling Gateway konto,
Payment Account,Betaling konto,
Default Payment Request Message,Standard betalingsforespørsel Message,
PMO-,PMO-,
Payment Order Type,Type betalingsordre,
Payment Order Reference,Betalingsordrehenvisning,
Bank Account Details,Detaljer om bankkonto,
Payment Reconciliation,Betaling Avstemming,
Receivable / Payable Account,Fordringer / gjeld konto,
Bank / Cash Account,Bank / minibank konto,
From Invoice Date,Fra Fakturadato,
To Invoice Date,Å Fakturadato,
Minimum Invoice Amount,Minimum Fakturert beløp,
Maximum Invoice Amount,Maksimal Fakturert beløp,
System will fetch all the entries if limit value is zero.,Systemet henter alle oppføringene hvis grenseverdien er null.,
Get Unreconciled Entries,Få avstemte Entries,
Unreconciled Payment Details,Avstemte Betalingsopplysninger,
Invoice/Journal Entry Details,Faktura / Journal Entry Detaljer,
Payment Reconciliation Invoice,Betaling Avstemming Faktura,
Invoice Number,Fakturanummer,
Payment Reconciliation Payment,Betaling Avstemming Betaling,
Reference Row,Referanse Row,
Allocated amount,Bevilget beløp,
Payment Request Type,Betalingsforespørselstype,
Outward,Ytre,
Inward,innover,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,Transaksjonsdetaljer,
Amount in customer's currency,Beløp i kundens valuta,
Is a Subscription,Er en abonnement,
Transaction Currency,transaksjonsvaluta,
Subscription Plans,Abonnementsplaner,
SWIFT Number,Raskt nummer,
Recipient Message And Payment Details,Mottakers Message og betalingsinformasjon,
Make Sales Invoice,Gjør Sales Faktura,
Mute Email,Demp Email,
payment_url,payment_url,
Payment Gateway Details,Betaling Gateway Detaljer,
Payment Schedule,Nedbetalingsplan,
Invoice Portion,Fakturaandel,
Payment Amount,Betalings Beløp,
Payment Term Name,Betalingsnavn,
Due Date Based On,Forfallsdato basert på,
Day(s) after invoice date,Dag (er) etter faktura dato,
Day(s) after the end of the invoice month,Dag (er) etter slutten av faktura måneden,
Month(s) after the end of the invoice month,Måned (e) etter slutten av faktura måneden,
Credit Days,Kreditt Days,
Credit Months,Kredittmåneder,
Allocate Payment Based On Payment Terms,Tildel betaling basert på betalingsbetingelser,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Hvis denne avkrysningsruten er merket av, vil det betalte beløpet bli delt opp og fordeles i henhold til beløpene i betalingsplanen mot hver betalingsperiode",
Payment Terms Template Detail,Betalingsvilkår Maledetaljer,
Closing Fiscal Year,Lukke regnskapsår,
Closing Account Head,Lukke konto Leder,
"The account head under Liability or Equity, in which Profit/Loss will be booked","Kontoen hodet etter forpliktelse eller et egenkapital, der gevinst / tap vil bli bokført",
POS Customer Group,POS Kundegruppe,
POS Field,POS-felt,
POS Item Group,POS Varegruppe,
Company Address,Firma adresse,
Update Stock,Oppdater Stock,
Ignore Pricing Rule,Ignorer Pricing Rule,
Applicable for Users,Gjelder for brukere,
Sales Invoice Payment,Salg Faktura Betaling,
Item Groups,varegruppene,
Only show Items from these Item Groups,Vis bare varer fra disse varegruppene,
Customer Groups,kunde~~POS=TRUNC grupper~~POS=HEADCOMP,
Only show Customer of these Customer Groups,Vis kun kunde for disse kundegruppene,
Write Off Account,Skriv Off konto,
Write Off Cost Center,Skriv Av kostnadssted,
Account for Change Amount,Konto for Change Beløp,
Taxes and Charges,Skatter og avgifter,
Apply Discount On,Påfør rabatt på,
POS Profile User,POS Profil Bruker,
Apply On,Påfør på,
Price or Product Discount,Pris eller produktrabatt,
Apply Rule On Item Code,Bruk regel om varekode,
Apply Rule On Item Group,Bruk regel om varegrupper,
Apply Rule On Brand,Bruk regel på merke,
Mixed Conditions,Blandede forhold,
Conditions will be applied on all the selected items combined. ,Betingelsene vil bli brukt på alle valgte elementer kombinert.,
Is Cumulative,Er kumulativ,
Coupon Code Based,Basert på kupongkode,
Discount on Other Item,Rabatt på annen vare,
Apply Rule On Other,Bruk regel på andre,
Party Information,Partiinformasjon,
Quantity and Amount,Mengde og mengde,
Min Qty,Min Antall,
Max Qty,Max Antall,
Min Amt,Min Amt,
Max Amt,Max Amt,
Period Settings,Periodeinnstillinger,
Margin,Margin,
Margin Type,margin Type,
Margin Rate or Amount,Margin Rate Beløp,
Price Discount Scheme,Prisrabattordning,
Rate or Discount,Pris eller rabatt,
Discount Percentage,Rabatt Prosent,
Discount Amount,Rabattbeløp,
For Price List,For Prisliste,
Product Discount Scheme,Produktrabattordning,
Same Item,Samme vare,
Free Item,Gratis vare,
Threshold for Suggestion,Terskel for forslag,
System will notify to increase or decrease quantity or amount ,Systemet vil varsle om å øke eller redusere mengde eller mengde,
"Higher the number, higher the priority","Høyere tallet er, høyere prioritet",
Apply Multiple Pricing Rules,Bruk flere prisregler,
Apply Discount on Rate,Bruk rabatt på pris,
Validate Applied Rule,Valider gjeldende regel,
Rule Description,Regelbeskrivelse,
Pricing Rule Help,Prising Rule Hjelp,
Promotional Scheme Id,Kampanjeplan-id,
Promotional Scheme,Kampanjeplan,
Pricing Rule Brand,Prissett regelmerke,
Pricing Rule Detail,Prisregler detalj,
Child Docname,Dokumentnavn for barn,
Rule Applied,Regel anvendt,
Pricing Rule Item Code,Prisregel Varenummer,
Pricing Rule Item Group,Prissett regelgruppe,
Price Discount Slabs,Pris Rabattplater,
Promotional Scheme Price Discount,Kampanjepriser Rabatt,
Product Discount Slabs,Produktrabattplater,
Promotional Scheme Product Discount,Salgsfremmende produkt rabatt,
Min Amount,Min beløp,
Max Amount,Maks beløp,
Discount Type,Rabatttype,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Skattelettende kategori,
Edit Posting Date and Time,Rediger konteringsdato og klokkeslett,
Is Paid,er betalt,
Is Return (Debit Note),Er retur (Debit Note),
Apply Tax Withholding Amount,Påfør gjeldsbeløp,
Accounting Dimensions ,Regnskapsdimensjoner,
Supplier Invoice Details,Leverandør Fakturadetaljer,
Supplier Invoice Date,Leverandør Fakturadato,
Return Against Purchase Invoice,Tilbake mot fakturaen,
Select Supplier Address,Velg Leverandør Adresse,
Contact Person,Kontaktperson,
Select Shipping Address,Velg leveringsadresse,
Currency and Price List,Valuta og prisliste,
Price List Currency,Prisliste Valuta,
Price List Exchange Rate,Prisliste Exchange Rate,
Set Accepted Warehouse,Sett akseptert lager,
Rejected Warehouse,Avvist Warehouse,
Warehouse where you are maintaining stock of rejected items,Warehouse hvor du opprettholder lager avviste elementer,
Raw Materials Supplied,Råvare Leveres,
Supplier Warehouse,Leverandør Warehouse,
Pricing Rules,Prisregler,
Supplied Items,Leveringen,
Total (Company Currency),Total (Company Valuta),
Net Total (Company Currency),Net Total (Selskap Valuta),
Total Net Weight,Total nettovikt,
Shipping Rule,Shipping Rule,
Purchase Taxes and Charges Template,Kjøpe skatter og avgifter Mal,
Purchase Taxes and Charges,Kjøpe skatter og avgifter,
Tax Breakup,Skatteavbrudd,
Taxes and Charges Calculation,Skatter og avgifter Beregning,
Taxes and Charges Added (Company Currency),Skatter og avgifter legges (Company Valuta),
Taxes and Charges Deducted (Company Currency),Skatter og avgifter fratrukket (Company Valuta),
Total Taxes and Charges (Company Currency),Totale skatter og avgifter (Selskapet valuta),
Taxes and Charges Added,Skatter og avgifter legges,
Taxes and Charges Deducted,Skatter og avgifter fratrukket,
Total Taxes and Charges,Totale skatter og avgifter,
Additional Discount,Ekstra rabatt,
Apply Additional Discount On,Påfør Ytterligere rabatt på,
Additional Discount Amount (Company Currency),Ekstra rabatt Beløp (Selskap Valuta),
Additional Discount Percentage,Ekstra rabattprosent,
Additional Discount Amount,Ekstra rabattbeløp,
Grand Total (Company Currency),Grand Total (Selskap Valuta),
Rounding Adjustment (Company Currency),Avrundingsjustering (Bedriftsvaluta),
Rounded Total (Company Currency),Avrundet Total (Selskap Valuta),
In Words (Company Currency),I Words (Company Valuta),
Rounding Adjustment,Avrundingsjustering,
In Words,I Words,
Total Advance,Total Advance,
Disable Rounded Total,Deaktiver Avrundet Total,
Cash/Bank Account,Cash / Bank Account,
Write Off Amount (Company Currency),Skriv Off Beløp (Selskap Valuta),
Set Advances and Allocate (FIFO),Angi fremskritt og tilordne (FIFO),
Get Advances Paid,Få utbetalt forskudd,
Advances,Fremskritt,
Terms,Vilkår,
Terms and Conditions1,Vilkår og forhold 1,
Group same items,Gruppe samme elementene,
Print Language,Print Språk,
"Once set, this invoice will be on hold till the set date","Når denne er satt, vil denne fakturaen være på vent til den angitte datoen",
Credit To,Kreditt til,
Party Account Currency,Partiet konto Valuta,
Against Expense Account,Mot regning,
Inter Company Invoice Reference,Interfirma faktura referanse,
Is Internal Supplier,Er Intern Leverandør,
Start date of current invoice's period,Startdato for nåværende fakturaperiode,
End date of current invoice's period,Sluttdato for gjeldende faktura periode,
Update Auto Repeat Reference,Oppdater Auto Repeat Reference,
Purchase Invoice Advance,Fakturaen Advance,
Purchase Invoice Item,Fakturaen Element,
Quantity and Rate,Kvantitet og Rate,
Received Qty,Mottatt Antall,
Accepted Qty,Godkjent mengde,
Rejected Qty,avvist Antall,
UOM Conversion Factor,Målenheter Omregningsfaktor,
Discount on Price List Rate (%),Rabatt på Prisliste Rate (%),
Price List Rate (Company Currency),Prisliste Rate (Selskap Valuta),
Rate ,Rate,
Rate (Company Currency),Rate (Selskap Valuta),
Amount (Company Currency),Beløp (Selskap Valuta),
Is Free Item,Er gratis vare,
Net Rate,Net Rate,
Net Rate (Company Currency),Netto Rate (Selskap Valuta),
Net Amount (Company Currency),Nettobeløp (Company Valuta),
Item Tax Amount Included in Value,Vare skattebeløp inkludert i verdien,
Landed Cost Voucher Amount,Landed Cost Voucher Beløp,
Raw Materials Supplied Cost,Råvare Leveres Cost,
Accepted Warehouse,Akseptert Warehouse,
Serial No,Serial No,
Rejected Serial No,Avvist Serial No,
Expense Head,Expense Leder,
Is Fixed Asset,Er Fast Asset,
Asset Location,Asset Location,
Deferred Expense,Utsatt kostnad,
Deferred Expense Account,Utsatt kostnadskonto,
Service Stop Date,Service Stop Date,
Enable Deferred Expense,Aktiver utsatt utgift,
Service Start Date,Service Startdato,
Service End Date,Tjenestens sluttdato,
Allow Zero Valuation Rate,Tillat null verdivurdering,
Item Tax Rate,Sak Skattesats,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,"Tax detalj tabell hentet fra elementet Hoved som en streng, og som er lagret på dette feltet. Brukes for skatter og avgifter",
Purchase Order Item,Innkjøpsordre Element,
Purchase Receipt Detail,Kjøpskvitteringsdetalj,
Item Weight Details,Vektdetaljer,
Weight Per Unit,Vekt pr. Enhet,
Total Weight,Total vekt,
Weight UOM,Vekt målenheter,
Page Break,Page Break,
Consider Tax or Charge for,Tenk Skatte eller Charge for,
Valuation and Total,Verdivurdering og Total,
Valuation,Verdivurdering,
Add or Deduct,Legge til eller trekke fra,
Deduct,Trekke,
On Previous Row Amount,På Forrige Row Beløp,
On Previous Row Total,På Forrige Row Total,
On Item Quantity,På varemengde,
Reference Row #,Referanse Row #,
Is this Tax included in Basic Rate?,Er dette inklusiv i Basic Rate?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Hvis det er merket, vil skattebeløpet betraktes som allerede er inkludert i Print Rate / Print Beløp",
Account Head,Account Leder,
Tax Amount After Discount Amount,Skattebeløp Etter Rabattbeløp,
Item Wise Tax Detail ,Vare detalj for skattebeskatning,
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Standard skatt mal som kan brukes på alle kjøpstransaksjoner. Denne malen kan inneholde liste over skatte hoder og også andre utgifter hoder som &quot;Shipping&quot;, &quot;Forsikring&quot;, &quot;Håndtering&quot; osv #### Note Skattesatsen du definerer her vil være standard skattesats for alle ** Items * *. Hvis det er ** Elementer ** som har forskjellige priser, må de legges i ** Sak Skatt ** bord i ** Sak ** mester. #### Beskrivelse av kolonner 1. Beregning Type: - Dette kan være på ** Net Total ** (som er summen av grunnbeløpet). - ** På Forrige Row Total / Beløp ** (for kumulative skatter eller avgifter). Hvis du velger dette alternativet, vil skatten bli brukt som en prosentandel av forrige rad (i skattetabellen) eller en total. - ** Faktisk ** (som nevnt). 2. Account Head: Konto hovedbok der denne skatten vil bli bokført 3. Cost Center: Hvis skatt / avgift er en inntekt (som frakt) eller utgifter det må bestilles mot et kostnadssted. 4. Beskrivelse: Beskrivelse av skatt (som vil bli skrevet ut i fakturaer / sitater). 5. Ranger: skattesats. 6. Beløp: Skatt beløp. 7. Totalt: Akkumulert total til dette punktet. 8. Angi Row: Dersom basert på &quot;Forrige Row Total&quot; du kan velge radnummeret som vil bli tatt som en base for denne beregningen (standard er den forrige rad). 9. Vurdere Skatte eller Charge for: I denne delen kan du angi om skatt / avgift er kun for verdivurdering (ikke en del av total) eller bare for total (ikke tilføre verdi til elementet) eller for begge. 10. legge til eller trekke: Enten du ønsker å legge til eller trekke skatt.",
Salary Component Account,Lønnstype konto,
Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Standard Bank / minibank konto vil bli automatisk oppdatert i Lønn bilagsregistrering når denne modusen er valgt.,
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Inkluder Payment (POS),
Offline POS Name,Offline POS Name,
Is Return (Credit Note),Er retur (kredittnota),
Return Against Sales Invoice,Tilbake Mot Salg Faktura,
Update Billed Amount in Sales Order,Oppdater fakturert beløp i salgsordre,
Customer PO Details,Kunde PO Detaljer,
Customer's Purchase Order,Kundens innkjøpsordre,
Customer's Purchase Order Date,Kundens Purchase Order Date,
Customer Address,Kunde Adresse,
Shipping Address Name,Leveringsadresse Navn,
Company Address Name,Bedriftsadresse Navn,
Rate at which Customer Currency is converted to customer's base currency,Hastigheten som Kunden Valuta omdannes til kundens basisvaluta,
Rate at which Price list currency is converted to customer's base currency,Hastigheten som Prisliste valuta er konvertert til kundens basisvaluta,
Set Source Warehouse,Angi kildelager,
Packing List,Pakkeliste,
Packed Items,Lunsj Items,
Product Bundle Help,Produktet Bundle Hjelp,
Time Sheet List,Timeregistrering List,
Time Sheets,timelister,
Total Billing Amount,Total Billing Beløp,
Sales Taxes and Charges Template,Salgs skatter og avgifter Mal,
Sales Taxes and Charges,Salgs Skatter og avgifter,
Loyalty Points Redemption,Lojalitetspoeng Innløsning,
Redeem Loyalty Points,Løs inn lojalitetspoeng,
Redemption Account,Innløsningskonto,
Redemption Cost Center,Innløsningskostsenter,
In Words will be visible once you save the Sales Invoice.,I Ord vil være synlig når du lagrer salgsfaktura.,
Allocate Advances Automatically (FIFO),Tilordne forhåndsfordeler automatisk (FIFO),
Get Advances Received,Få Fremskritt mottatt,
Base Change Amount (Company Currency),Base Endre Beløp (Selskap Valuta),
Write Off Outstanding Amount,Skriv Av utestående beløp,
Terms and Conditions Details,Vilkår og betingelser Detaljer,
Is Internal Customer,Er intern kunde,
Is Discounted,Er nedsatt,
Unpaid and Discounted,Ubetalt og rabattert,
Overdue and Discounted,Forfalte og rabatterte,
Accounting Details,Regnskap Detaljer,
Debit To,Debet Å,
Is Opening Entry,Åpner Entry,
C-Form Applicable,C-Form Gjelder,
Commission Rate (%),Kommisjonen Rate (%),
Sales Team1,Salg TEAM1,
Against Income Account,Mot Inntekt konto,
Sales Invoice Advance,Salg Faktura Advance,
Advance amount,Forskuddsbeløp,
Sales Invoice Item,Salg Faktura Element,
Customer's Item Code,Kundens Elementkode,
Brand Name,Merkenavn,
Qty as per Stock UOM,Antall pr Stock målenheter,
Discount and Margin,Rabatt og Margin,
Rate With Margin,Vurder med margin,
Discount (%) on Price List Rate with Margin,Rabatt (%) på prisliste med margin,
Rate With Margin (Company Currency),Vurder med margin (Bedriftsvaluta),
Delivered By Supplier,Levert av Leverandør,
Deferred Revenue,Utsatt inntekt,
Deferred Revenue Account,Utsatt inntektskonto,
Enable Deferred Revenue,Aktiver utsatt inntekt,
Stock Details,Stock Detaljer,
Customer Warehouse (Optional),Customer Warehouse (valgfritt),
Available Batch Qty at Warehouse,Tilgjengelig Batch Antall på Warehouse,
Available Qty at Warehouse,Tilgjengelig Antall på Warehouse,
Delivery Note Item,Levering Note Element,
Base Amount (Company Currency),Grunnbeløp (Selskap Valuta),
Sales Invoice Timesheet,Salg Faktura Timeregistrering,
Time Sheet,Tids skjema,
Billing Hours,fakturerings~~POS=TRUNC Timer,
Timesheet Detail,Timeregistrering Detalj,
Tax Amount After Discount Amount (Company Currency),Skattebeløp Etter Rabattbeløp (Company Valuta),
Item Wise Tax Detail,Sak Wise Skatt Detalj,
Parenttype,Parenttype,
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Standard skatt mal som kan brukes på alle salgstransaksjoner. Denne malen kan inneholde liste over skatte hoder og også andre utgifter / inntekter hoder som &quot;Shipping&quot;, &quot;Forsikring&quot;, &quot;Håndtering&quot; osv #### Note Skattesatsen du definerer her vil være standard skattesats for alle ** Elementer **. Hvis det er ** Elementer ** som har forskjellige priser, må de legges i ** Sak Skatt ** bord i ** Sak ** mester. #### Beskrivelse av kolonner 1. Beregning Type: - Dette kan være på ** Net Total ** (som er summen av grunnbeløpet). - ** På Forrige Row Total / Beløp ** (for kumulative skatter eller avgifter). Hvis du velger dette alternativet, vil skatten bli brukt som en prosentandel av forrige rad (i skattetabellen) eller en total. - ** Faktisk ** (som nevnt). 2. Account Head: Konto hovedbok der denne skatten vil bli bokført 3. Cost Center: Hvis skatt / avgift er en inntekt (som frakt) eller utgifter det må bestilles mot et kostnadssted. 4. Beskrivelse: Beskrivelse av skatt (som vil bli skrevet ut i fakturaer / sitater). 5. Ranger: skattesats. 6. Beløp: Skatt beløp. 7. Totalt: Akkumulert total til dette punktet. 8. Angi Row: Dersom basert på &quot;Forrige Row Total&quot; du kan velge radnummeret som vil bli tatt som en base for denne beregningen (standard er den forrige rad). 9. Er dette inklusiv i Basic Rate ?: Hvis du sjekke dette, betyr det at denne avgiften ikke vil bli vist under elementet bordet, men vil inngå i grunnbeløpet i din viktigste elementet tabellen. Dette er nyttig når du vil gi en flat pris (inklusive alle avgifter) pris til kundene.",
* Will be calculated in the transaction.,* Vil bli beregnet i transaksjonen.,
From No,Fra nr,
To No,Til nr,
Is Company,Er selskapet,
Current State,Nåværende situasjon,
Purchased,kjøpt,
From Shareholder,Fra Aksjonær,
From Folio No,Fra Folio nr,
To Shareholder,Til Aksjonær,
To Folio No,Til Folio nr,
Equity/Liability Account,Egenkapital / ansvarskonto,
Asset Account,Asset-konto,
(including),(gjelder også),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio nr.,
Address and Contacts,Adresse og kontakter,
Contact List,Kontaktliste,
Hidden list maintaining the list of contacts linked to Shareholder,Skjult liste opprettholder listen over kontakter knyttet til Aksjonær,
Specify conditions to calculate shipping amount,Spesifiser forhold til å beregne frakt beløp,
Shipping Rule Label,Shipping Rule Etikett,
example: Next Day Shipping,Eksempel: Neste Day Shipping,
Shipping Rule Type,Forsendelsestype,
Shipping Account,Shipping konto,
Calculate Based On,Beregn basert på,
Fixed,fast,
Net Weight,Netto Vekt,
Shipping Amount,Fraktbeløp,
Shipping Rule Conditions,Frakt Regel betingelser,
Restrict to Countries,Begrens til land,
Valid for Countries,Gyldig for Land,
Shipping Rule Condition,Shipping Rule Tilstand,
A condition for a Shipping Rule,En forutsetning for en Shipping Rule,
From Value,Fra Verdi,
To Value,I Value,
Shipping Rule Country,Shipping Rule Land,
Subscription Period,Abonnementsperiode,
Subscription Start Date,Abonnements startdato,
Cancelation Date,Avbestillingsdato,
Trial Period Start Date,Prøveperiode Startdato,
Trial Period End Date,Prøveperiode Sluttdato,
Current Invoice Start Date,Daglig faktura startdato,
Current Invoice End Date,Faktura for sluttfaktura,
Days Until Due,Dager til forfallsdato,
Number of days that the subscriber has to pay invoices generated by this subscription,Antall dager som abonnenten må betale fakturaer generert av dette abonnementet,
Cancel At End Of Period,Avbryt ved slutten av perioden,
Generate Invoice At Beginning Of Period,Generer faktura ved begynnelsen av perioden,
Plans,planer,
Discounts,rabatter,
Additional DIscount Percentage,Ekstra rabatt Prosent,
Additional DIscount Amount,Ekstra rabatt Beløp,
Subscription Invoice,Abonnementsfaktura,
Subscription Plan,Abonnementsplan,
Cost,Koste,
Billing Interval,Faktureringsintervall,
Billing Interval Count,Faktureringsintervalltelling,
"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Antall intervaller for intervallfeltet, for eksempel hvis Intervall er &#39;Dager&#39; og Faktureringsintervalltall er 3, vil fakturaene bli generert hver tredje dag",
Payment Plan,Betalingsplan,
Subscription Plan Detail,Abonnementsplandetaljer,
Plan,Plan,
Subscription Settings,Abonnementsinnstillinger,
Grace Period,Grace Period,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Antall dager etter fakturadato er gått før du kansellerer abonnement eller markeringsabonnement som ubetalt,
Prorate,prorate,
Tax Rule,Skatt Rule,
Tax Type,Skatt Type,
Use for Shopping Cart,Brukes til handlekurv,
Billing City,Fakturering By,
Billing County,Billings County,
Billing State,Billing State,
Billing Zipcode,Fakturering Postnummer,
Billing Country,Fakturering Land,
Shipping City,Shipping by,
Shipping County,Shipping fylke,
Shipping State,Shipping State,
Shipping Zipcode,Fraktkode,
Shipping Country,Shipping Land,
Tax Withholding Account,Skattebetalingskonto,
Tax Withholding Rates,Skattefradrag,
Rates,Priser,
Tax Withholding Rate,Skattefradrag,
Single Transaction Threshold,Enkelt transaksjonsgrense,
Cumulative Transaction Threshold,Kumulativ transaksjonsgrense,
Agriculture Analysis Criteria,Landbruk Analyse Kriterier,
Linked Doctype,Tilknyttet doktype,
Water Analysis,Vannanalyse,
Soil Analysis,Jordanalyse,
Plant Analysis,Plantanalyse,
Fertilizer,Gjødsel,
Soil Texture,Jordstruktur,
Weather,Vær,
Agriculture Manager,Landbruksansvarlig,
Agriculture User,Landbruker Bruker,
Agriculture Task,Landbruk Oppgave,
Task Name,Task Name,
Start Day,Start dag,
End Day,Endedag,
Holiday Management,Holiday Management,
Ignore holidays,Ignorer ferier,
Previous Business Day,Tidligere arbeidsdag,
Next Business Day,Neste arbeidsdag,
Urgent,Haster,
Crop,Avling,
Crop Name,Beskjære navn,
Scientific Name,Vitenskapelig navn,
"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Du kan definere alle oppgavene som må utføres for denne avlingen her. Dagfeltet brukes til å nevne hvilken dag oppgaven må utføres, 1 er 1. dag, osv.",
Crop Spacing,Beskjæringsavstand,
Crop Spacing UOM,Beskjære plassering UOM,
Row Spacing,Row Spacing,
Row Spacing UOM,Row Spacing UOM,
Perennial,Flerårig,
Biennial,Biennial,
Planting UOM,Planting UOM,
Planting Area,Planteområde,
Yield UOM,Utbytte UOM,
Materials Required,Materialer som kreves,
Produced Items,Produserte varer,
Produce,Produsere,
Byproducts,biprodukter,
Linked Location,Tilknyttet plassering,
A link to all the Locations in which the Crop is growing,En kobling til alle stedene hvor beskjæringen vokser,
This will be day 1 of the crop cycle,Dette blir dag 1 i avlingen syklus,
ISO 8601 standard,ISO 8601 standard,
Cycle Type,Syklus type,
Less than a year,Mindre enn et år,
The minimum length between each plant in the field for optimum growth,Minimale lengde mellom hver plante i feltet for optimal vekst,
The minimum distance between rows of plants for optimum growth,Minimumsavstanden mellom rader av planter for optimal vekst,
Detected Diseases,Detekterte sykdommer,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Liste over sykdommer oppdaget på feltet. Når den er valgt, vil den automatisk legge til en liste over oppgaver for å håndtere sykdommen",
Detected Disease,Oppdaget sykdom,
LInked Analysis,Analyse,
Disease,Sykdom,
Tasks Created,Oppgaver opprettet,
Common Name,Vanlig navn,
Treatment Task,Behandlingsoppgave,
Treatment Period,Behandlingsperiode,
Fertilizer Name,Navn på gjødsel,
Density (if liquid),Tetthet (hvis flytende),
Fertilizer Contents,Innhold av gjødsel,
Fertilizer Content,Gjødselinnhold,
Linked Plant Analysis,Linked Plant Analysis,
Linked Soil Analysis,Koblet jordanalyse,
Linked Soil Texture,Koblet jordstruktur,
Collection Datetime,Samling Datetime,
Laboratory Testing Datetime,Laboratorietesting Datetime,
Result Datetime,Resultat Datetime,
Plant Analysis Criterias,Plant Analyse Kriterier,
Plant Analysis Criteria,Plantanalyse Kriterier,
Minimum Permissible Value,Minste tillatte verdi,
Maximum Permissible Value,Maksimal tillatelig verdi,
Ca/K,Ca / K,
Ca/Mg,Ca / Mg,
Mg/K,Mg / K,
(Ca+Mg)/K,(Ca + Mg) / K,
Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
Soil Analysis Criterias,Jordanalysekriterier,
Soil Analysis Criteria,Jordanalyse Kriterier,
Soil Type,Jordtype,
Loamy Sand,Loamy Sand,
Sandy Loam,Sandy Loam,
Loam,leirjord,
Silt Loam,Silt Loam,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Silty Clay Loam,
Sandy Clay,Sandy Clay,
Silty Clay,Silty Clay,
Clay Composition (%),Leirekomposisjon (%),
Sand Composition (%),Sandkomposisjon (%),
Silt Composition (%),Siltkomposisjon (%),
Ternary Plot,Ternary Plot,
Soil Texture Criteria,Kriterier for jordstruktur,
Type of Sample,Type prøve,
Container,Container,
Origin,Opprinnelse,
Collection Temperature ,Samlingstemperatur,
Storage Temperature,Lager temperatur,
Appearance,Utseende,
Person Responsible,Ansvarlig person,
Water Analysis Criteria,Vannanalysekriterier,
Weather Parameter,Værparameter,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Asset Eier,
Asset Owner Company,Asset Owner Company,
Custodian,Depotmottaker,
Disposal Date,Deponering Dato,
Journal Entry for Scrap,Bilagsregistrering for Scrap,
Available-for-use Date,Tilgjengelig dato for bruk,
Calculate Depreciation,Beregn Avskrivninger,
Allow Monthly Depreciation,Tillat månedlig avskrivning,
Number of Depreciations Booked,Antall Avskrivninger bestilt,
Finance Books,Finansbøker,
Straight Line,Rett linje,
Double Declining Balance,Dobbel degressiv,
Manual,Håndbok,
Value After Depreciation,Verdi etter avskrivninger,
Total Number of Depreciations,Totalt antall Avskrivninger,
Frequency of Depreciation (Months),Frekvens av Avskrivninger (måneder),
Next Depreciation Date,Neste Avskrivninger Dato,
Depreciation Schedule,avskrivninger Schedule,
Depreciation Schedules,avskrivninger tidsplaner,
Insurance details,Forsikringsdetaljer,
Policy number,Politikk nummer,
Insurer,assurandør,
Insured value,Forsikret verdi,
Insurance Start Date,Forsikring Startdato,
Insurance End Date,Forsikrings sluttdato,
Comprehensive Insurance,Omfattende forsikring,
Maintenance Required,Vedlikehold kreves,
Check if Asset requires Preventive Maintenance or Calibration,Sjekk om Asset krever forebyggende vedlikehold eller kalibrering,
Booked Fixed Asset,Bokført anleggsmiddel,
Purchase Receipt Amount,Kjøpsbevisbeløp,
Default Finance Book,Standard finans bok,
Quality Manager,Quality Manager,
Asset Category Name,Asset Category Name,
Depreciation Options,Avskrivningsalternativer,
Enable Capital Work in Progress Accounting,Aktiver regnskap for pågående kapitalarbeid,
Finance Book Detail,Finansbokdetaljer,
Asset Category Account,Asset Kategori konto,
Fixed Asset Account,Fast Asset konto,
Accumulated Depreciation Account,Akkumulerte avskrivninger konto,
Depreciation Expense Account,Avskrivninger konto,
Capital Work In Progress Account,Kapitalarbeid i fremgangskonto,
Asset Finance Book,Asset Finance Book,
Written Down Value,Skrevet nedverdi,
Expected Value After Useful Life,Forventet verdi Etter Levetid,
Rate of Depreciation,Avskrivningsgrad,
In Percentage,I prosent,
Maintenance Team,Vedlikeholdsteam,
Maintenance Manager Name,Vedlikeholdsansvarlig navn,
Maintenance Tasks,Vedlikeholdsoppgaver,
Manufacturing User,Manufacturing User,
Asset Maintenance Log,Asset Maintenance Log,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Vedlikehold Type,
Maintenance Status,Vedlikehold Status,
Planned,planlagt,
Has Certificate ,Har sertifikat,
Certificate,Sertifikat,
Actions performed,Handlinger utført,
Asset Maintenance Task,Asset Maintenance Task,
Maintenance Task,Vedlikeholdsoppgave,
Preventive Maintenance,Forebyggende vedlikehold,
Calibration,kalibrering,
2 Yearly,2 årlig,
Certificate Required,Sertifikat kreves,
Assign to Name,Tildel til navn,
Next Due Date,neste frist,
Last Completion Date,Siste sluttdato,
Asset Maintenance Team,Asset Maintenance Team,
Maintenance Team Name,Vedlikehold Lagnavn,
Maintenance Team Members,Vedlikeholdsteammedlemmer,
Purpose,Formålet,
Stock Manager,Stock manager,
Asset Movement Item,Varebevegelseselement,
Source Location,Kildeplassering,
From Employee,Fra Employee,
Target Location,Målplassering,
To Employee,Til ansatt,
Asset Repair,Asset Repair,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Feil dato,
Assign To Name,Tilordne til navn,
Repair Status,Reparasjonsstatus,
Error Description,Feilbeskrivelse,
Downtime,nedetid,
Repair Cost,Reparasjonskostnad,
Manufacturing Manager,Produksjonssjef,
Current Asset Value,Nåværende eiendelverdi,
New Asset Value,Ny aktiv verdi,
Make Depreciation Entry,Gjør Avskrivninger Entry,
Finance Book Id,Finans bok ID,
Location Name,Stedsnavn,
Parent Location,Parent Location,
Is Container,Er Container,
Check if it is a hydroponic unit,Sjekk om det er en hydroponisk enhet,
Location Details,Plasseringsdetaljer,
Latitude,Breddegrad,
Longitude,lengde~~POS=TRUNC,
Area,Område,
Area UOM,Område UOM,
Tree Details,Tree Informasjon,
Maintenance Team Member,Vedlikeholdsteammedlem,
Team Member,Teammedlem,
Maintenance Role,Vedlikeholdsrolle,
Buying Settings,Kjøpe Innstillinger,
Settings for Buying Module,Innstillinger for kjøp Module,
Supplier Naming By,Leverandør Naming Av,
Default Supplier Group,Standard leverandørgruppe,
Default Buying Price List,Standard Kjøpe Prisliste,
Maintain same rate throughout purchase cycle,Opprettholde samme tempo gjennom hele kjøpssyklusen,
Allow Item to be added multiple times in a transaction,Tillat Element som skal legges flere ganger i en transaksjon,
Backflush Raw Materials of Subcontract Based On,Backflush råmaterialer av underleverandør basert på,
Material Transferred for Subcontract,Materialet overført for underleverandør,
Over Transfer Allowance (%),Overføringsgodtgjørelse (%),
Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Prosentandel du har lov til å overføre mer mot bestilt mengde. For eksempel: Hvis du har bestilt 100 enheter. og godtgjørelsen din er 10%, har du lov til å overføre 110 enheter.",
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Få Elementer fra Åpen Material Forespørsler,
Fetch items based on Default Supplier.,Hent varer basert på standardleverandør.,
Required By,Kreves av,
Order Confirmation No,Bekreftelsesbekreftelse nr,
Order Confirmation Date,Ordrebekreftelsesdato,
Customer Mobile No,Kunden Mobile No,
Customer Contact Email,Kundekontakt E-post,
Set Target Warehouse,Angi mållager,
Sets 'Warehouse' in each row of the Items table.,Angir &#39;Lager&#39; i hver rad i Artikeltabellen.,
Supply Raw Materials,Leverer råvare,
Purchase Order Pricing Rule,Regler for innkjøpsordrer,
Set Reserve Warehouse,Sett Reserve Warehouse,
In Words will be visible once you save the Purchase Order.,I Ord vil være synlig når du lagrer innkjøpsordre.,
Advance Paid,Advance Betalt,
Tracking,Sporing,
% Billed,% Fakturert,
% Received,% Mottatt,
Ref SQ,Ref SQ,
Inter Company Order Reference,Inter Company Order Reference,
Supplier Part Number,Leverandør delenummer,
Billed Amt,Billed Amt,
Warehouse and Reference,Warehouse og Reference,
To be delivered to customer,Som skal leveres til kunde,
Material Request Item,Materialet Request Element,
Supplier Quotation Item,Leverandør sitat Element,
Against Blanket Order,Mot teppeordre,
Blanket Order,Teppe ordre,
Blanket Order Rate,Blanket Bestillingsfrekvens,
Returned Qty,Returnerte Stk,
Purchase Order Item Supplied,Innkjøpsordre Sak Leveres,
BOM Detail No,BOM Detail Nei,
Stock Uom,Stock målenheter,
Raw Material Item Code,Raw Material Elementkode,
Supplied Qty,Medfølgende Antall,
Purchase Receipt Item Supplied,Kvitteringen Sak Leveres,
Current Stock,Nåværende Stock,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,For enkelte leverandør,
Supplier Detail,Leverandør Detalj,
Link to Material Requests,Lenke til materialforespørsler,
Message for Supplier,Beskjed til Leverandør,
Request for Quotation Item,Forespørsel om prisanslag Element,
Required Date,Nødvendig Dato,
Request for Quotation Supplier,Forespørsel om prisanslag Leverandør,
Send Email,Send E-Post,
Quote Status,Sitatstatus,
Download PDF,Last ned PDF,
Supplier of Goods or Services.,Leverandør av varer eller tjenester.,
Name and Type,Navn og Type,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Standard Bank Account,
Is Transporter,Er Transporter,
Represents Company,Representerer selskapet,
Supplier Type,Leverandør Type,
Allow Purchase Invoice Creation Without Purchase Order,Tillat oppretting av faktura uten innkjøpsordre,
Allow Purchase Invoice Creation Without Purchase Receipt,Tillat oppretting av faktura uten kjøpskvittering,
Warn RFQs,Advarsel RFQs,
Warn POs,Advarsel POs,
Prevent RFQs,Forhindre RFQs,
Prevent POs,Forhindre PO&#39;er,
Billing Currency,Faktureringsvaluta,
Default Payment Terms Template,Standard betalingsbetingelser mal,
Block Supplier,Blokker leverandør,
Hold Type,Hold Type,
Leave blank if the Supplier is blocked indefinitely,La være tom hvis leverandøren er blokkert på ubestemt tid,
Default Payable Accounts,Standard Leverandørgjeld,
Mention if non-standard payable account,Nevn hvis ikke-standard betalingskonto,
Default Tax Withholding Config,Standard Skatteavdrag Konfig,
Supplier Details,Leverandør Detaljer,
Statutory info and other general information about your Supplier,Lovfestet info og annen generell informasjon om din Leverandør,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Leverandør Adresse,
Link to material requests,Lenke til materiale forespørsler,
Rounding Adjustment (Company Currency,Avrundingsjustering (Bedriftsvaluta,
Auto Repeat Section,Auto Repeat Section,
Is Subcontracted,Er underleverandør,
Lead Time in days,Lead Tid i dager,
Supplier Score,Leverandørpoeng,
Indicator Color,Indikatorfarge,
Evaluation Period,Evalueringsperiode,
Per Week,Per uke,
Per Month,Per måned,
Per Year,Per år,
Scoring Setup,Scoring Setup,
Weighting Function,Vekting Funksjon,
"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Scorecard-variabler kan brukes, så vel som: {total_score} (totalpoengsummen fra den perioden), {period_number} (antall perioder i dag)",
Scoring Standings,Scoring Steder,
Criteria Setup,Kriterieoppsett,
Load All Criteria,Last inn alle kriterier,
Scoring Criteria,Scoringskriterier,
Scorecard Actions,Scorecard Actions,
Warn for new Request for Quotations,Varsle om ny forespørsel om tilbud,
Warn for new Purchase Orders,Varsle om nye innkjøpsordrer,
Notify Supplier,Informer Leverandør,
Notify Employee,Informer medarbeider,
Supplier Scorecard Criteria,Leverandør Scorecard Kriterier,
Criteria Name,Kriterium Navn,
Max Score,Max score,
Criteria Formula,Kriterier Formel,
Criteria Weight,Kriterier Vekt,
Supplier Scorecard Period,Leverandør Scorecard Periode,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Periodepoeng,
Calculations,beregninger,
Criteria,kriterier,
Variables,variabler,
Supplier Scorecard Setup,Leverandør Scorecard Setup,
Supplier Scorecard Scoring Criteria,Leverandør Scorecard Scoring Criteria,
Score,Score,
Supplier Scorecard Scoring Standing,Leverandør Scorecard Scoring Standing,
Standing Name,Stående navn,
Purple,Lilla,
Yellow,Gul,
Orange,oransje,
Min Grade,Min karakter,
Max Grade,Maksimal karakter,
Warn Purchase Orders,Varsle innkjøpsordrer,
Prevent Purchase Orders,Forhindre innkjøpsordrer,
Employee ,Ansatt,
Supplier Scorecard Scoring Variable,Leverandør Scorecard Scoring Variable,
Variable Name,Variabelt navn,
Parameter Name,Parameternavn,
Supplier Scorecard Standing,Leverandør Scorecard Standing,
Notify Other,Varsle Andre,
Supplier Scorecard Variable,Leverandør Scorecard Variable,
Call Log,Ring logg,
Received By,Mottatt av,
Caller Information,Anropsinformasjon,
Contact Name,Kontakt Navn,
Lead ,Lede,
Lead Name,Lead Name,
Ringing,ringing,
Missed,Savnet,
Call Duration in seconds,Samtalevarighet i sekunder,
Recording URL,Innspillings-URL,
Communication Medium,Kommunikasjon Medium,
Communication Medium Type,Kommunikasjon Medium Type,
Voice,Stemme,
Catch All,Fang alle,
"If there is no assigned timeslot, then communication will be handled by this group","Hvis det ikke er tildelt tidsluke, vil kommunikasjonen bli håndtert av denne gruppen",
Timeslots,Tidsluker,
Communication Medium Timeslot,Kommunikasjon Medium Timeslot,
Employee Group,Ansattegruppe,
Appointment,Avtale,
Scheduled Time,Planlagt tid,
Unverified,ubekreftet,
Customer Details,Kunde Detaljer,
Phone Number,Telefonnummer,
Skype ID,Skype ID,
Linked Documents,Koblede dokumenter,
Appointment With,Avtale med,
Calendar Event,Kalenderarrangement,
Appointment Booking Settings,Innstillinger for avbestilling av avtale,
Enable Appointment Scheduling,Aktiver avtaleplanlegging,
Agent Details,Agentdetaljer,
Availability Of Slots,Tilgjengelighet av spor,
Number of Concurrent Appointments,Antall samtidige avtaler,
Agents,agenter,
Appointment Details,Avtaledetaljer,
Appointment Duration (In Minutes),Avtaletid (i løpet av minutter),
Notify Via Email,Gi beskjed via e-post,
Notify customer and agent via email on the day of the appointment.,Gi beskjed til kunde og agent via e-post dagen for avtalen.,
Number of days appointments can be booked in advance,Antall dager avtaler kan bestilles på forhånd,
Success Settings,Innstillinger for suksess,
Success Redirect URL,URL-adresse for suksessomdirigering,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","La være tomt for hjemmet. Dette er i forhold til nettadressen, for eksempel vil &quot;om&quot; omdirigere til &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Avtalingsbestilling spor,
Day Of Week,Ukedag,
From Time ,Fra Time,
Campaign Email Schedule,E-postplan for kampanje,
Send After (days),Send etter (dager),
Signed,signert,
Party User,Festbruker,
Unsigned,usignert,
Fulfilment Status,Oppfyllelsesstatus,
N/A,N / A,
Unfulfilled,oppfylt,
Partially Fulfilled,Delvis oppfylt,
Fulfilled,Oppfylt,
Lapsed,bortfalt,
Contract Period,Kontrakt periode,
Signee Details,Signee Detaljer,
Signee,signee,
Signed On,Signert på,
Contract Details,Kontraktsdetaljer,
Contract Template,Kontraktsmal,
Contract Terms,Kontraktsbetingelser,
Fulfilment Details,Oppfyllelsesdetaljer,
Requires Fulfilment,Krever oppfyllelse,
Fulfilment Deadline,Oppfyllingsfrist,
Fulfilment Terms,Oppfyllelsesbetingelser,
Contract Fulfilment Checklist,Kontrakt oppfyllelse sjekkliste,
Requirement,Krav,
Contract Terms and Conditions,Kontraktsbetingelser,
Fulfilment Terms and Conditions,Oppfyllingsvilkår,
Contract Template Fulfilment Terms,Kontraktsmall Fulfillment Vilkår,
Email Campaign,E-postkampanje,
Email Campaign For ,E-postkampanje for,
Lead is an Organization,Bly er en organisasjon,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Person Name,
Lost Quotation,mistet sitat,
Interested,Interessert,
Converted,Omregnet,
Do Not Contact,Ikke kontakt,
From Customer,Fra Customer,
Campaign Name,Kampanjenavn,
Follow Up,Følge opp,
Next Contact By,Neste Kontakt Av,
Next Contact Date,Neste Kontakt Dato,
Ends On,Ender på,
Address & Contact,Adresse og kontakt,
Mobile No.,Mobile No.,
Lead Type,Lead Type,
Channel Partner,Channel Partner,
Consultant,Konsulent,
Market Segment,Markedssegment,
Industry,Industry,
Request Type,Forespørsel Type,
Product Enquiry,Produkt Forespørsel,
Request for Information,Spør etter informasjon,
Suggestions,Forslag,
Blog Subscriber,Blogg Subscriber,
LinkedIn Settings,LinkedIn-innstillinger,
Company ID,Bedrifts-ID,
OAuth Credentials,OAuth-legitimasjon,
Consumer Key,Forbrukernøkkel,
Consumer Secret,Forbrukerhemmelighet,
User Details,Brukerdetaljer,
Person URN,Person URN,
Session Status,Øktestatus,
Lost Reason Detail,Lost Reason Detail,
Opportunity Lost Reason,Mulighet tapt grunn,
Potential Sales Deal,Potensielle Sales Deal,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Opportunity Fra,
Customer / Lead Name,Kunde / Lead navn,
Opportunity Type,Opportunity Type,
Converted By,Konvertert av,
Sales Stage,Salgstrinn,
Lost Reason,Mistet Reason,
Expected Closing Date,Forventet sluttdato,
To Discuss,Å Diskutere,
With Items,Med Items,
Probability (%),Sannsynlighet (%),
Contact Info,Kontaktinfo,
Customer / Lead Address,Kunde / Lead Adresse,
Contact Mobile No,Kontakt Mobile No,
Enter name of campaign if source of enquiry is campaign,Skriv inn navnet på kampanjen hvis kilden til henvendelsen er kampanje,
Opportunity Date,Opportunity Dato,
Opportunity Item,Opportunity Element,
Basic Rate,Basic Rate,
Stage Name,Artistnavnet,
Social Media Post,Sosiale medier innlegg,
Post Status,Innleggsstatus,
Posted,Postet,
Share On,Dele på,
Twitter,Twitter,
LinkedIn,LinkedIn,
Twitter Post Id,Twitter innlegg ID,
LinkedIn Post Id,LinkedIn innlegg ID,
Tweet,kvitring,
Twitter Settings,Twitter-innstillinger,
API Secret Key,API hemmelig nøkkel,
Term Name,Term Navn,
Term Start Date,Term Startdato,
Term End Date,Term Sluttdato,
Academics User,akademikere Bruker,
Academic Year Name,Akademisk År Navn,
Article,Artikkel,
LMS User,LMS-bruker,
Assessment Criteria Group,Vurderingskriterier Gruppe,
Assessment Group Name,Assessment Gruppenavn,
Parent Assessment Group,Parent Assessment Group,
Assessment Name,Assessment Name,
Grading Scale,Grading Scale,
Examiner,Examiner,
Examiner Name,Examiner Name,
Supervisor,Supervisor,
Supervisor Name,Supervisor Name,
Evaluate,Evaluere,
Maximum Assessment Score,Maksimal Assessment Score,
Assessment Plan Criteria,Assessment Plan Kriterier,
Maximum Score,maksimal score,
Result,Resultat,
Total Score,Total poengsum,
Grade,grade,
Assessment Result Detail,Assessment Resultat Detalj,
Assessment Result Tool,Assessment Resultat Tool,
Result HTML,resultat HTML,
Content Activity,Innholdsaktivitet,
Last Activity ,Siste aktivitet,
Content Question,Innholdsspørsmål,
Question Link,Spørsmålslink,
Course Name,Course Name,
Topics,emner,
Hero Image,Heltebilde,
Default Grading Scale,Standard Grading Scale,
Education Manager,Utdannelsesleder,
Course Activity,Kursaktivitet,
Course Enrollment,Kursregistrering,
Activity Date,Aktivitetsdato,
Course Assessment Criteria,Kursvurderingskriteriene,
Weightage,Weightage,
Course Content,Kursinnhold,
Quiz,quiz,
Program Enrollment,program Påmelding,
Enrollment Date,påmelding Dato,
Instructor Name,instruktør Name,
EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
Course Scheduling Tool,Kurs Planlegging Tool,
Course Start Date,Kursstart,
To TIme,Til Time,
Course End Date,Kurs Sluttdato,
Course Topic,Kursemne,
Topic,Emne,
Topic Name,emne Name,
Education Settings,Utdanning Innstillinger,
Current Academic Year,Nåværende akademisk år,
Current Academic Term,Nåværende faglig term,
Attendance Freeze Date,Deltagelsesfrysedato,
Validate Batch for Students in Student Group,Valider batch for studenter i studentgruppen,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","For Batch-baserte Studentgruppen, vil studentenes batch bli validert for hver student fra programopptaket.",
Validate Enrolled Course for Students in Student Group,Bekreft innmeldt kurs for studenter i studentgruppen,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.",For kursbasert studentgruppe vil kurset bli validert for hver student fra de innmeldte kursene i programopptaket.,
Make Academic Term Mandatory,Gjør faglig semester obligatorisk,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Hvis aktivert, vil feltet faglig semester være obligatorisk i programopptakingsverktøyet.",
Skip User creation for new Student,Hopp over brukeropprettelse for ny student,
"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Som standard opprettes en ny bruker for hver nye student. Hvis aktivert, vil ingen nye brukere opprettes når en ny student opprettes.",
Instructor Records to be created by,Instruktørposter som skal opprettes av,
Employee Number,Ansatt Number,
Fee Category,Fee Kategori,
Fee Component,Fee Component,
Fees Category,avgifter Kategori,
Fee Schedule,Prisliste,
Fee Structure,Avgiftsstruktur struktur~~POS=HEADCOMP,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Fee Creation Status,
In Process,Igang,
Send Payment Request Email,Send betalingsanmodning e-post,
Student Category,student Kategori,
Fee Breakup for each student,Fee Breakup for hver student,
Total Amount per Student,Totalt beløp per student,
Institution,institusjon,
Fee Schedule Program,Avgift Schedule Program,
Student Batch,student Batch,
Total Students,Totalt studenter,
Fee Schedule Student Group,Avgift Schedule Student Group,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Inkluder betaling,
Send Payment Request,Send betalingsforespørsel,
Student Details,Studentdetaljer,
Student Email,Student e-post,
Grading Scale Name,Grading Scale Name,
Grading Scale Intervals,Karakterskalaen Intervaller,
Intervals,intervaller,
Grading Scale Interval,Grading Scale Intervall,
Grade Code,grade Kode,
Threshold,Terskel,
Grade Description,grade Beskrivelse,
Guardian,Guardian,
Guardian Name,Guardian navn,
Alternate Number,Alternativ nummer,
Occupation,Okkupasjon,
Work Address,arbeid Adresse,
Guardian Of ,Guardian Av,
Students,studenter,
Guardian Interests,Guardian Interesser,
Guardian Interest,Guardian Rente,
Interest,Renter,
Guardian Student,Guardian Student,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Instruktørlogg,
Other details,Andre detaljer,
Option,Alternativ,
Is Correct,Er korrekt,
Program Name,Programnavn,
Program Abbreviation,program forkortelse,
Courses,kurs,
Is Published,Publiseres,
Allow Self Enroll,Tillat selvregistrering,
Is Featured,Er omtalt,
Intro Video,Introduksjonsvideo,
Program Course,program Course,
School House,school House,
Boarding Student,Studerende Student,
Check this if the Student is residing at the Institute's Hostel.,Sjekk dette hvis studenten er bosatt ved instituttets Hostel.,
Walking,walking,
Institute's Bus,Instituttets buss,
Public Transport,Offentlig transport,
Self-Driving Vehicle,Selvkjørende kjøretøy,
Pick/Drop by Guardian,Pick / Drop av Guardian,
Enrolled courses,Påmeldte kurs,
Program Enrollment Course,Programopptakskurs,
Program Enrollment Fee,Program innmeldingsavgift,
Program Enrollment Tool,Program Påmelding Tool,
Get Students From,Få studenter fra,
Student Applicant,student Søker,
Get Students,Få Studenter,
Enrollment Details,Registreringsdetaljer,
New Program,nytt program,
New Student Batch,Ny studentbatch,
Enroll Students,Meld Studenter,
New Academic Year,Nytt studieår,
New Academic Term,Ny faglig term,
Program Enrollment Tool Student,Program Påmelding Tool Student,
Student Batch Name,Student Batch Name,
Program Fee,program Fee,
Question,Spørsmål,
Single Correct Answer,Enkelt riktig svar,
Multiple Correct Answer,Flere riktig svar,
Quiz Configuration,Quiz-konfigurasjon,
Passing Score,Bestått karakter,
Score out of 100,Resultat av 100,
Max Attempts,Maks forsøk,
Enter 0 to waive limit,Skriv inn 0 for å frafalle grense,
Grading Basis,Karakterbasis,
Latest Highest Score,Siste høyeste poengsum,
Latest Attempt,Siste forsøk,
Quiz Activity,Quiz-aktivitet,
Enrollment,Registrering,
Pass,Passere,
Quiz Question,Quiz Spørsmål,
Quiz Result,Quiz Resultat,
Selected Option,Valgt alternativ,
Correct,Riktig,
Wrong,Feil,
Room Name,Room Name,
Room Number,Romnummer,
Seating Capacity,Antall seter,
House Name,Husnavn,
EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
Student Mobile Number,Student Mobilnummer,
Joining Date,Bli med dato,
Blood Group,Blodgruppe,
A+,A +,
A-,EN-,
B+,B +,
B-,B-,
O+,O +,
O-,O-,
AB+,AB +,
AB-,AB-,
Nationality,Nasjonalitet,
Home Address,Hjemmeadresse,
Guardian Details,Guardian Detaljer,
Guardians,Voktere,
Sibling Details,søsken Detaljer,
Siblings,søsken,
Exit,Utgang,
Date of Leaving,Dato Leaving,
Leaving Certificate Number,Leaving Certificate Number,
Reason For Leaving,Grunn til å forlate,
Student Admission,student Entre,
Admission Start Date,Opptak Startdato,
Admission End Date,Opptak Sluttdato,
Publish on website,Publiser på nettstedet,
Eligibility and Details,Kvalifisering og detaljer,
Student Admission Program,Studentopptaksprogram,
Minimum Age,Minimumsalder,
Maximum Age,Maksimal alder,
Application Fee,Påmeldingsavgift,
Naming Series (for Student Applicant),Naming Series (Student søkeren),
LMS Only,LMS Bare,
EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
Application Status,søknad Status,
Application Date,Søknadsdato,
Student Attendance Tool,Student Oppmøte Tool,
Group Based On,Gruppebasert på,
Students HTML,studenter HTML,
Group Based on,Gruppe basert på,
Student Group Name,Student Gruppenavn,
Max Strength,Max Strength,
Set 0 for no limit,Sett 0 for ingen begrensning,
Instructors,instruktører,
Student Group Creation Tool,Student Gruppe Creation Tool,
Leave blank if you make students groups per year,La være tom hvis du lager studentgrupper hvert år,
Get Courses,Få Kurs,
Separate course based Group for every Batch,Separat kursbasert gruppe for hver batch,
Leave unchecked if you don't want to consider batch while making course based groups. ,La være ukontrollert hvis du ikke vil vurdere batch mens du lager kursbaserte grupper.,
Student Group Creation Tool Course,Student Gruppe Creation Tool Course,
Course Code,Kurskode,
Student Group Instructor,Studentgruppeinstruktør,
Student Group Student,Student Gruppe Student,
Group Roll Number,Gruppe-nummer,
Student Guardian,student Guardian,
Relation,Relasjon,
Mother,Mor,
Father,Far,
Student Language,student Språk,
Student Leave Application,Student La Application,
Mark as Present,Merk som Present,
Student Log,student Log,
Academic,akademisk,
Achievement,Oppnåelse,
Student Report Generation Tool,Generasjonsverktøy for Student Report,
Include All Assessment Group,Inkluder alle vurderingsgrupper,
Show Marks,Vis karakterer,
Add letterhead,Legg til brevpapir,
Print Section,Utskriftseksjon,
Total Parents Teacher Meeting,Totalt foreldres lærermøte,
Attended by Parents,Deltatt av foreldre,
Assessment Terms,Vurderingsbetingelser,
Student Sibling,student Søsken,
Studying in Same Institute,Å studere i samme institutt,
NO,NEI,
YES,JA,
Student Siblings,student Søsken,
Topic Content,Emneinnhold,
Amazon MWS Settings,Amazon MWS Innstillinger,
ERPNext Integrations,ERPNext Integrasjoner,
Enable Amazon,Aktiver Amazon,
MWS Credentials,MWS legitimasjon,
Seller ID,Selger ID,
AWS Access Key ID,AWS Access Key ID,
MWS Auth Token,MWS Auth Token,
Market Place ID,Markedsplass ID,
AE,AE,
AU,AU,
BR,BR,
CA,CA,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
IN,I,
JP,JP,
IT,DEN,
MX,MX,
UK,Storbritannia,
US,OSS,
Customer Type,Kundetype,
Market Place Account Group,Markedsplass Konto Gruppe,
After Date,Etter dato,
Amazon will synch data updated after this date,Amazon vil synkronisere data oppdatert etter denne datoen,
Sync Taxes and Charges,Synkroniser skatter og avgifter,
Get financial breakup of Taxes and charges data by Amazon ,Få økonomisk oppdeling av skatter og avgifter data av Amazon,
Sync Products,Synkroniser produkter,
Always sync your products from Amazon MWS before synching the Orders details,Synkroniser alltid produktene dine fra Amazon MWS før du synkroniserer bestillingsdetaljene,
Sync Orders,Synkroniser bestillinger,
Click this button to pull your Sales Order data from Amazon MWS.,Klikk denne knappen for å trekke dine salgsordre data fra Amazon MWS.,
Enable Scheduled Sync,Aktiver planlagt synkronisering,
Check this to enable a scheduled Daily synchronization routine via scheduler,Kontroller dette for å aktivere en planlagt daglig synkroniseringsrutine via planleggeren,
Max Retry Limit,Maks. Retry Limit,
Exotel Settings,Innstillinger for Exotel,
Account SID,Konto SID,
API Token,API-token,
GoCardless Mandate,GoCardless Mandat,
Mandate,mandat,
GoCardless Customer,GoCardless kunde,
GoCardless Settings,GoCardless Innstillinger,
Webhooks Secret,Webhooks Secret,
Plaid Settings,Plaid Innstillinger,
Synchronize all accounts every hour,Synkroniser alle kontoer hver time,
Plaid Client ID,Plaid Client ID,
Plaid Secret,Plaid Secret,
Plaid Environment,Pleddmiljø,
sandbox,Sandkasse,
development,utvikling,
production,produksjon,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Applikasjon innstillinger,
Token Endpoint,Token Endpoint,
Scope,omfang,
Authorization Settings,Autorisasjonsinnstillinger,
Authorization Endpoint,Autorisasjonsendepunkt,
Authorization URL,Autorisasjonsadresse,
Quickbooks Company ID,Quickbook Company ID,
Company Settings,Firmainnstillinger,
Default Shipping Account,Standard fraktkonto,
Default Warehouse,Standard Warehouse,
Default Cost Center,Standard kostnadssted,
Undeposited Funds Account,Ubestemt fondskonto,
Shopify Log,Shopify Log,
Request Data,Forespørseldata,
Shopify Settings,Shopify Innstillinger,
status html,status html,
Enable Shopify,Aktiver Shopify,
App Type,App Type,
Last Sync Datetime,Siste synkroniseringstid,
Shop URL,Butikkadresse,
eg: frappe.myshopify.com,f.eks .: frappe.myshopify.com,
Shared secret,Delt hemmelighet,
Webhooks Details,Webhooks Detaljer,
Webhooks,Webhooks,
Customer Settings,Kundeinnstillinger,
Default Customer,Standardkund,
Customer Group will set to selected group while syncing customers from Shopify,Kundegruppe vil sette til valgt gruppe mens du synkroniserer kunder fra Shopify,
For Company,For selskapet,
Cash Account will used for Sales Invoice creation,Kontantkonto brukes til opprettelse av salgsfaktura,
Update Price from Shopify To ERPNext Price List,Oppdater pris fra Shopify til ERPNeste prisliste,
Default Warehouse to to create Sales Order and Delivery Note,Standard lager for å opprette salgsordre og leveringsnotat,
Sales Order Series,Salgsordre Serie,
Import Delivery Notes from Shopify on Shipment,Importer leveringsnotater fra Shopify på forsendelse,
Delivery Note Series,Leveringsnotaserien,
Import Sales Invoice from Shopify if Payment is marked,Import salgsfaktura fra Shopify hvis Betaling er merket,
Sales Invoice Series,Salgsfaktura-serien,
Shopify Tax Account,Shopify Skattekonto,
Shopify Tax/Shipping Title,Shopify Skatt / Shipping Tittel,
ERPNext Account,ERPNeste Konto,
Shopify Webhook Detail,Shopify Webhook Detail,
Webhook ID,Webhook ID,
Tally Migration,Tally Migration,
Master Data,Stamdata,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Data eksportert fra Tally som består av kontoplan, kunder, leverandører, adresser, varer og UOM-er",
Is Master Data Processed,Behandles stamdata,
Is Master Data Imported,Er importert stamdata,
Tally Creditors Account,Tally Kredittkonto,
Creditors Account set in Tally,Kredittkonto satt i Tally,
Tally Debtors Account,Tally Debtors Account,
Debtors Account set in Tally,Debitors konto satt i Tally,
Tally Company,Tally Company,
Company Name as per Imported Tally Data,Firmanavn i henhold til importerte tallydata,
Default UOM,Standard UOM,
UOM in case unspecified in imported data,UOM i tilfelle uspesifisert i importerte data,
ERPNext Company,ERPNext Company,
Your Company set in ERPNext,Firmaet ditt er satt i ERPNext,
Processed Files,Behandlede filer,
Parties,Partene,
UOMs,UOMs,
Vouchers,kuponger,
Round Off Account,Rund av konto,
Day Book Data,Dagsbokdata,
Day Book Data exported from Tally that consists of all historic transactions,Dagbokdata eksportert fra Tally som består av alle historiske transaksjoner,
Is Day Book Data Processed,Behandles dagbokdata,
Is Day Book Data Imported,Er dagbokdata importert,
Woocommerce Settings,Innstillinger for WoCommerce,
Enable Sync,Aktiver synkronisering,
Woocommerce Server URL,Woocommerce Server URL,
Secret,Hemmelig,
API consumer key,API forbrukernøkkel,
API consumer secret,API forbruker hemmelig,
Tax Account,Skattkonto,
Freight and Forwarding Account,Frakt- og videresendingskonto,
Creation User,Opprettelsesbruker,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Brukeren som skal brukes til å opprette kunder, varer og salgsordrer. Denne brukeren skal ha relevante tillatelser.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Dette lageret vil bli brukt til å opprette salgsordrer. Fallback-lageret er &quot;Butikker&quot;.,
"The fallback series is ""SO-WOO-"".",Fallback-serien er &quot;SO-WOO-&quot;.,
This company will be used to create Sales Orders.,Dette selskapet vil bli brukt til å opprette salgsordrer.,
Delivery After (Days),Levering etter (dager),
This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Dette er standard forskyvningen (dager) for leveringsdatoen i salgsordrer. Tilbakeførsel er 7 dager fra bestillingsdato.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Dette er standard UOM som brukes til varer og salgsordrer. Fallback UOM er &quot;Nos&quot;.,
Endpoints,endepunkter,
Endpoint,Endpoint,
Antibiotic Name,Antibiotisk navn,
Healthcare Administrator,Helseadministrator,
Laboratory User,Laboratoriebruker,
Is Inpatient,Er pasient,
Default Duration (In Minutes),Standard varighet (i minutter),
Body Part,Kroppsdel,
Body Part Link,Kroppsdel lenke,
HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
Procedure Template,Prosedyre Mal,
Procedure Prescription,Prosedyre Forskrift,
Service Unit,Servicenhet,
Consumables,forbruks~~POS=TRUNC,
Consume Stock,Konsumere lager,
Invoice Consumables Separately,Faktura forbruksvarer separat,
Consumption Invoiced,Forbruk fakturert,
Consumable Total Amount,Forbrukbart totalbeløp,
Consumption Details,Forbruksdetaljer,
Nursing User,Sykepleier Bruker,
Clinical Procedure Item,Klinisk prosedyre,
Invoice Separately as Consumables,Faktura Separat som forbruksvarer,
Transfer Qty,Overføringsnummer,
Actual Qty (at source/target),Faktiske antall (ved kilden / target),
Is Billable,Er fakturerbart,
Allow Stock Consumption,Tillat lagerforbruk,
Sample UOM,Eksempel på UOM,
Collection Details,Samlingsdetaljer,
Change In Item,Endring i vare,
Codification Table,Kodifiseringstabell,
Complaints,klager,
Dosage Strength,Doseringsstyrke,
Strength,Styrke,
Drug Prescription,Drug Prescription,
Drug Name / Description,Legemiddelnavn / beskrivelse,
Dosage,Dosering,
Dosage by Time Interval,Dosering etter tidsintervall,
Interval,intervall,
Interval UOM,Intervall UOM,
Hour,Time,
Update Schedule,Oppdater plan,
Exercise,Trening,
Difficulty Level,Vanskelighetsnivå,
Counts Target,Teller mål,
Counts Completed,Teller fullført,
Assistance Level,Assistance Level,
Active Assist,Aktiv assistent,
Exercise Name,Treningsnavn,
Body Parts,Kroppsdeler,
Exercise Instructions,Treningsinstruksjoner,
Exercise Video,Treningsvideo,
Exercise Steps,Treningstrinn,
Steps,Fremgangsmåte,
Steps Table,Trinnstabell,
Exercise Type Step,Treningstype trinn,
Max number of visit,Maks antall besøk,
Visited yet,Besøkt ennå,
Reference Appointments,Referanseavtaler,
Valid till,Gyldig til,
Fee Validity Reference,Gebyrgyldighetsreferanse,
Basic Details,Grunnleggende detaljer,
HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
Mobile,Mobil,
Phone (R),Telefon (R),
Phone (Office),Telefon (kontor),
Employee and User Details,Medarbeider- og brukerdetaljer,
Hospital,Sykehus,
Appointments,avtaler,
Practitioner Schedules,Utøverplaner,
Charges,kostnader,
Out Patient Consulting Charge,Kostnad for pasientkonsulenter,
Default Currency,Standard Valuta,
Healthcare Schedule Time Slot,Helseplanleggings tidspaus,
Parent Service Unit,Foreldre Service Unit,
Service Unit Type,Tjenestenhetstype,
Allow Appointments,Tillat avtaler,
Allow Overlap,Tillat overlapping,
Inpatient Occupancy,Inpatient Occupancy,
Occupancy Status,Beholdningsstatus,
Vacant,Ledig,
Occupied,opptatt,
Item Details,Elementdetaljer,
UOM Conversion in Hours,UOM Konvertering i timer,
Rate / UOM,Rate / UOM,
Change in Item,Endre i element,
Out Patient Settings,Ut pasientinnstillinger,
Patient Name By,Pasientnavn Av,
Patient Name,Pasientnavn,
Link Customer to Patient,Koble kunde til pasient,
"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Hvis det er merket, vil en kunde bli opprettet, kartlagt til Pasient. Pasientfakturaer vil bli opprettet mot denne kunden. Du kan også velge eksisterende kunde mens du oppretter pasient.",
Default Medical Code Standard,Standard medisinsk kode Standard,
Collect Fee for Patient Registration,Samle avgift for pasientregistrering,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,"Hvis du sjekker dette, opprettes det nye pasienter med deaktivert status som standard og vil først bli aktivert etter fakturering av registreringsavgiften.",
Registration Fee,Registreringsavgift,
Automate Appointment Invoicing,Automatiser avtalefakturering,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Administrer avtalefaktura send inn og avbryt automatisk for pasientmøte,
Enable Free Follow-ups,Aktiver gratis oppfølging,
Number of Patient Encounters in Valid Days,Antall pasientmøter i gyldige dager,
The number of free follow ups (Patient Encounters in valid days) allowed,Antall gratis oppfølginger (pasientmøter i gyldige dager) tillatt,
Valid Number of Days,Gyldig antall dager,
Time period (Valid number of days) for free consultations,Tidsperiode (gyldig antall dager) for gratis konsultasjoner,
Default Healthcare Service Items,Standard Healthcare Service Items,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Du kan konfigurere standardelementer for faktureringskonsultasjonsavgifter, prosedyreforbruksartikler og innlagte besøk",
Clinical Procedure Consumable Item,Klinisk prosedyre forbruksvarer,
Default Accounts,Standardkontoer,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Standardinntektsregnskap som skal brukes dersom det ikke er satt i Healthcare Practitioner for å bestille Avtalekostnader.,
Default receivable accounts to be used to book Appointment charges.,Standard fordringskontoer som skal brukes til å bestille avtalsgebyr.,
Out Patient SMS Alerts,Ut Patient SMS Alerts,
Patient Registration,Pasientregistrering,
Registration Message,Registreringsmelding,
Confirmation Message,Bekreftelsesmelding,
Avoid Confirmation,Unngå bekreftelse,
Do not confirm if appointment is created for the same day,Bekreft ikke om avtalen er opprettet for samme dag,
Appointment Reminder,Avtale påminnelse,
Reminder Message,Påminnelsesmelding,
Remind Before,Påminn før,
Laboratory Settings,Laboratorieinnstillinger,
Create Lab Test(s) on Sales Invoice Submission,Opprett laboratorietest (er) på salgsfakturainnlevering,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,"Hvis du sjekker dette, opprettes Lab Test (er) spesifisert i Salgsfakturaen ved innsending.",
Create Sample Collection document for Lab Test,Lag prøveinnsamlingsdokument for laboratorietest,
Checking this will create a Sample Collection document  every time you create a Lab Test,"Hvis du sjekker dette, opprettes et eksempelsamlingsdokument hver gang du oppretter en laboratorietest",
Employee name and designation in print,Ansattes navn og betegnelse på trykk,
Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,Sjekk dette hvis du vil at navnet og betegnelsen til den ansatte som er tilknyttet brukeren som sender dokumentet skal skrives ut i laboratorietestrapporten.,
Do not print or email Lab Tests without Approval,Ikke skriv ut eller send laboratorietester uten godkjenning,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,Å sjekke dette vil begrense utskrift og e-post av laboratorietestdokumenter med mindre de har statusen som godkjent.,
Custom Signature in Print,Tilpasset signatur i utskrift,
Laboratory SMS Alerts,Laboratory SMS Alerts,
Result Printed Message,Resultat utskrevet melding,
Result Emailed Message,Resultat sendt via e-post,
Check In,Sjekk inn,
Check Out,Sjekk ut,
HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
A Positive,En positiv,
A Negative,En negativ,
AB Positive,AB Positiv,
AB Negative,AB Negativ,
B Positive,B Positiv,
B Negative,B Negativ,
O Positive,O Positiv,
O Negative,O Negativ,
Date of birth,Fødselsdato,
Admission Scheduled,Opptak planlagt,
Discharge Scheduled,Utslipp planlagt,
Discharged,utskrevet,
Admission Schedule Date,Opptak Planleggingsdato,
Admitted Datetime,Admitted Datetime,
Expected Discharge,Forventet utladning,
Discharge Date,Utladningsdato,
Lab Prescription,Lab Prescription,
Lab Test Name,Navn på laboratorietest,
Test Created,Test laget,
Submitted Date,Innleveringsdato,
Approved Date,Godkjent dato,
Sample ID,Eksempel ID,
Lab Technician,Lab tekniker,
Report Preference,Rapportpreferanse,
Test Name,Testnavn,
Test Template,Testmal,
Test Group,Testgruppe,
Custom Result,Tilpasset resultat,
LabTest Approver,LabTest Approver,
Add Test,Legg til test,
Normal Range,Normal rekkevidde,
Result Format,Resultatformat,
Single,Enslig,
Compound,forbindelse,
Descriptive,beskrivende,
Grouped,gruppert,
No Result,Ingen resultater,
This value is updated in the Default Sales Price List.,Denne verdien er oppdatert i standard salgsprislisten.,
Lab Routine,Lab Rutine,
Result Value,Resultat Verdi,
Require Result Value,Krever resultatverdi,
Normal Test Template,Normal testmal,
Patient Demographics,Pasientdemografi,
HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
Middle Name (optional),Mellomnavn (valgfritt),
Inpatient Status,Inpatientstatus,
"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Hvis &quot;Koble kunde til pasient&quot; er krysset av i Healthcare Settings og en eksisterende kunde ikke er valgt, blir det opprettet en kunde for denne pasienten for å registrere transaksjoner i kontomodulen.",
Personal and Social History,Personlig og sosial historie,
Marital Status,Sivilstatus,
Married,Gift,
Divorced,Skilt,
Widow,Enke,
Patient Relation,Pasientrelasjon,
"Allergies, Medical and Surgical History","Allergier, medisinsk og kirurgisk historie",
Allergies,allergi,
Medication,medisinering,
Medical History,Medisinsk historie,
Surgical History,Kirurgisk historie,
Risk Factors,Risikofaktorer,
Occupational Hazards and Environmental Factors,Arbeidsfare og miljøfaktorer,
Other Risk Factors,Andre risikofaktorer,
Patient Details,Pasientdetaljer,
Additional information regarding the patient,Ytterligere informasjon om pasienten,
HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
Patient Age,Pasientalder,
Get Prescribed Clinical Procedures,Få reseptbelagte kliniske prosedyrer,
Therapy,Terapi,
Get Prescribed Therapies,Få reseptbelagte terapier,
Appointment Datetime,Avtale Datetime,
Duration (In Minutes),Varighet (i minutter),
Reference Sales Invoice,Referansesalgfaktura,
More Info,Mer Info,
Referring Practitioner,Refererende utøver,
Reminded,minnet,
HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
Assessment Template,Vurderingsmal,
Assessment Datetime,Vurdering Datetime,
Assessment Description,Vurderingsbeskrivelse,
Assessment Sheet,Vurderingsark,
Total Score Obtained,Total score oppnådd,
Scale Min,Skala Min,
Scale Max,Skala Maks,
Patient Assessment Detail,Pasientvurderingsdetalj,
Assessment Parameter,Vurderingsparameter,
Patient Assessment Parameter,Pasientvurderingsparameter,
Patient Assessment Sheet,Pasientvurderingsark,
Patient Assessment Template,Mal for pasientvurdering,
Assessment Parameters,Vurderingsparametere,
Parameters,parametere,
Assessment Scale,Vurderingsskala,
Scale Minimum,Skala Minimum,
Scale Maximum,Skala maksimalt,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Encounter Date,
Encounter Time,Møtetid,
Encounter Impression,Encounter Impression,
Symptoms,Symptomer,
In print,I papirutgave,
Medical Coding,Medisinsk koding,
Procedures,prosedyrer,
Therapies,Terapier,
Review Details,Gjennomgå detaljer,
Patient Encounter Diagnosis,Patient Encounter Diagnosis,
Patient Encounter Symptom,Pasientmøte Symptom,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Attach Medical Record,Legg ved journal,
Reference DocType,Referanse DocType,
Spouse,Ektefelle,
Family,Familie,
Schedule Details,Planlegg detaljer,
Schedule Name,Planleggingsnavn,
Time Slots,Tidsluker,
Practitioner Service Unit Schedule,Utøvere Service Unit Schedule,
Procedure Name,Prosedyre Navn,
Appointment Booked,Avtale booket,
Procedure Created,Prosedyre opprettet,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Samlet inn,
Particulars,opplysninger,
Result Component,Resultat Komponent,
HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
Therapy Plan Details,Terapiplanopplysninger,
Total Sessions,Totalt antall økter,
Total Sessions Completed,Totalt antall økter fullført,
Therapy Plan Detail,Behandlingsplan detalj,
No of Sessions,Ingen av økter,
Sessions Completed,Økter fullført,
Tele,Tele,
Exercises,Øvelser,
Therapy For,Terapi for,
Add Exercises,Legg til øvelser,
Body Temperature,Kroppstemperatur,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Tilstedeværelse av feber (temp&gt; 38,5 ° C eller vedvarende temp&gt; 38 ° C / 100,4 ° F)",
Heart Rate / Pulse,Hjertefrekvens / puls,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Voksnes pulsrate er hvor som helst mellom 50 og 80 slag per minutt.,
Respiratory rate,Respirasjonsfrekvens,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Normalt referanseområde for en voksen er 16-20 puste / minutt (RCP 2012),
Tongue,Tunge,
Coated,Coated,
Very Coated,Veldig belagt,
Normal,Normal,
Furry,furry,
Cuts,cuts,
Abdomen,Mage,
Bloated,oppblåst,
Fluid,Væske,
Constipated,forstoppelse,
Reflexes,reflekser,
Hyper,Hyper,
Very Hyper,Veldig Hyper,
One Sided,Ensidig,
Blood Pressure (systolic),Blodtrykk (systolisk),
Blood Pressure (diastolic),Blodtrykk (diastolisk),
Blood Pressure,Blodtrykk,
"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Normal hvilende blodtrykk hos en voksen er ca. 120 mmHg systolisk og 80 mmHg diastolisk, forkortet &quot;120/80 mmHg&quot;",
Nutrition Values,Ernæringsverdier,
Height (In Meter),Høyde (i meter),
Weight (In Kilogram),Vekt (i kilogram),
BMI,BMI,
Hotel Room,Hotellrom,
Hotel Room Type,Hotellromtype,
Capacity,Kapasitet,
Extra Bed Capacity,Ekstra seng kapasitet,
Hotel Manager,Hotell sjef,
Hotel Room Amenity,Hotel Romfasiliteter,
Billable,Fakturerbare,
Hotel Room Package,Hotellromspakke,
Amenities,fasiliteter,
Hotel Room Pricing,Hotellrompriser,
Hotel Room Pricing Item,Hotellromprisepris,
Hotel Room Pricing Package,Hotellrom Prispakke,
Hotel Room Reservation,Hotellrombestilling,
Guest Name,Gjestenavn,
Late Checkin,Sen innsjekk,
Booked,bestilt,
Hotel Reservation User,Hotel Reservation Bruker,
Hotel Room Reservation Item,Hotel Room Reservation Item,
Hotel Settings,Hotellinnstillinger,
Default Taxes and Charges,Standard Skatter og avgifter,
Default Invoice Naming Series,Standard Faktura Naming Series,
Additional Salary,Ekstra lønn,
HR,HR,
HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
Salary Component,Lønnstype,
Overwrite Salary Structure Amount,Overskrive lønnsstrukturbeløp,
Deduct Full Tax on Selected Payroll Date,Trekk fra for full skatt på valgt lønningsdato,
Payroll Date,Lønnsdato,
Date on which this component is applied,Datoen som denne komponenten brukes,
Salary Slip,Lønn Slip,
Salary Component Type,Lønn Komponenttype,
HR User,HR User,
Appointment Letter,Avtalebrev,
Job Applicant,Jobbsøker,
Applicant Name,Søkerens navn,
Appointment Date,Avtaledato,
Appointment Letter Template,Avtalebrevmal,
Body,Kropp,
Closing Notes,Avslutningsnotater,
Appointment Letter content,Avtalebrev innhold,
Appraisal,Appraisal,
HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
Appraisal Template,Appraisal Mal,
For Employee Name,For Employee Name,
Goals,Mål,
Total Score (Out of 5),Total poengsum (av 5),
"Any other remarks, noteworthy effort that should go in the records.","Eventuelle andre bemerkninger, bemerkelsesverdig innsats som bør gå i postene.",
Appraisal Goal,Appraisal Goal,
Key Responsibility Area,Key Ansvar Område,
Weightage (%),Weightage (%),
Score (0-5),Score (0-5),
Score Earned,Resultat tjent,
Appraisal Template Title,Appraisal Mal Tittel,
Appraisal Template Goal,Appraisal Mal Goal,
KRA,KRA,
Key Performance Area,Key Performance-området,
HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
On Leave,På ferie,
Work From Home,Jobbe hjemmefra,
Leave Application,La Application,
Attendance Date,Oppmøte Dato,
Attendance Request,Deltakelsesforespørsel,
Late Entry,Sen inngang,
Early Exit,Tidlig avkjørsel,
Half Day Date,Half Day Date,
On Duty,I tjeneste,
Explanation,Forklaring,
Compensatory Leave Request,Kompenserende permisjon,
Leave Allocation,La Allocation,
Worked On Holiday,Jobbet på ferie,
Work From Date,Arbeid fra dato,
Work End Date,Arbeid sluttdato,
Email Sent To,E-post sendt til,
Select Users,Velg Brukere,
Send Emails At,Send e-post til,
Reminder,påminnelse,
Daily Work Summary Group User,Daglig arbeidsoppsummeringsgruppebruker,
email,E-post,
Parent Department,Foreldreavdeling,
Leave Block List,La Block List,
Days for which Holidays are blocked for this department.,Dager som Holidays er blokkert for denne avdelingen.,
Leave Approver,La Godkjenner,
Expense Approver,Expense Godkjenner,
Department Approver,Avdeling Godkjenning,
Approver,Godkjenner,
Required Skills,Nødvendige ferdigheter,
Skills,ferdigheter,
Designation Skill,Betegnelse ferdighet,
Skill,Ferdighet,
Driver,Sjåfør,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,suspendert,
Transporter,Transporter,
Applicable for external driver,Gjelder for ekstern driver,
Cellphone Number,Mobiltelefonnummer,
License Details,Lisensdetaljer,
License Number,Lisensnummer,
Issuing Date,Utstedelsesdato,
Driving License Categories,Kjørelisenskategorier,
Driving License Category,Kjørelisens kategori,
Fleet Manager,Flåtesjef,
Driver licence class,Førerkortklasse,
HR-EMP-,HR-EMP-,
Employment Type,Type stilling,
Emergency Contact,Nødtelefon,
Emergency Contact Name,Nødkontaktnavn,
Emergency Phone,Emergency Phone,
ERPNext User,ERPNext Bruker,
"System User (login) ID. If set, it will become default for all HR forms.","Systemet bruker (innlogging) ID. Hvis satt, vil det bli standard for alle HR-skjemaer.",
Create User Permission,Opprett brukertillatelse,
This will restrict user access to other employee records,Dette vil begrense brukerens tilgang til andre ansattes poster,
Joining Details,Bli med på detaljer,
Offer Date,Tilbudet Dato,
Confirmation Date,Bekreftelse Dato,
Contract End Date,Kontraktssluttdato,
Notice (days),Varsel (dager),
Date Of Retirement,Pensjoneringstidspunktet,
Department and Grade,Avdeling og karakter,
Reports to,Rapporter til,
Attendance and Leave Details,Oppmøte og permisjon detaljer,
Leave Policy,Permisjon,
Attendance Device ID (Biometric/RF tag ID),Oppmøte enhets-ID (biometrisk / RF-tag-ID),
Applicable Holiday List,Gjelder Holiday List,
Default Shift,Standard skift,
Salary Details,Lønnsdetaljer,
Salary Mode,Lønn Mode,
Bank A/C No.,Bank A / C No.,
Health Insurance,Helseforsikring,
Health Insurance Provider,Helseforsikringsselskap,
Health Insurance No,Helseforsikring nr,
Prefered Email,foretrukne e-post,
Personal Email,Personlig e-post,
Permanent Address Is,Permanent Adresse Er,
Rented,Leide,
Owned,Eies,
Permanent Address,Permanent Adresse,
Prefered Contact Email,Foretrukket Kontakt E-post,
Company Email,Selskapet E-post,
Provide Email Address registered in company,Gi e-postadresse som er registrert i selskapets,
Current Address Is,Gjeldende adresse Er,
Current Address,Nåværende Adresse,
Personal Bio,Personlig Bio,
Bio / Cover Letter,Bio / Cover Letter,
Short biography for website and other publications.,Kort biografi for hjemmeside og andre publikasjoner.,
Passport Number,Passnummer,
Date of Issue,Utstedelsesdato,
Place of Issue,Utstedelsessted,
Widowed,Enke,
Family Background,Familiebakgrunn,
"Here you can maintain family details like name and occupation of parent, spouse and children","Her kan du opprettholde familie informasjon som navn og okkupasjon av foreldre, ektefelle og barn",
Health Details,Helse Detaljer,
"Here you can maintain height, weight, allergies, medical concerns etc","Her kan du opprettholde høyde, vekt, allergier, medisinske bekymringer etc",
Educational Qualification,Pedagogiske Kvalifikasjoner,
Previous Work Experience,Tidligere arbeidserfaring,
External Work History,Ekstern Work History,
History In Company,Historie I selskapet,
Internal Work History,Intern Work History,
Resignation Letter Date,Resignasjon Letter Dato,
Relieving Date,Lindrende Dato,
Reason for Leaving,Grunn til å forlate,
Leave Encashed?,Permisjon encashed?,
Encashment Date,Encashment Dato,
New Workplace,Nye arbeidsplassen,
HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
Returned Amount,Returnert beløp,
Claimed,hevdet,
Advance Account,Forhåndskonto,
Employee Attendance Tool,Employee Oppmøte Tool,
Unmarked Attendance,Umerket Oppmøte,
Employees HTML,ansatte HTML,
Marked Attendance,merket Oppmøte,
Marked Attendance HTML,Merket Oppmøte HTML,
Employee Benefit Application,Ansattes fordel søknad,
Max Benefits (Yearly),Maksimal fordel (årlig),
Remaining Benefits (Yearly),Resterende fordeler (årlig),
Payroll Period,Lønn Periode,
Benefits Applied,Fordeler anvendt,
Dispensed Amount (Pro-rated),Dispensed Amount (Pro-vurdert),
Employee Benefit Application Detail,Ansatte fordel søknad detalj,
Earning Component,Spare komponent,
Pay Against Benefit Claim,Betal mot fordelskrav,
Max Benefit Amount,Maksimal fordelbeløp,
Employee Benefit Claim,Ansattefordelskrav,
Claim Date,Krav på dato,
Benefit Type and Amount,Fordeltype og beløp,
Claim Benefit For,Krav til fordel for,
Max Amount Eligible,Maks beløp berettiget,
Expense Proof,Utgiftsbevis,
Employee Boarding Activity,Ansatte ombordstigningsaktivitet,
Activity Name,Aktivitetsnavn,
Task Weight,Task Vekt,
Required for Employee Creation,Kreves for ansettelsesskaping,
Applicable in the case of Employee Onboarding,Gjelder i tilfelle Ansatt ombordstigning,
Employee Checkin,Ansattes checkin,
Log Type,Logg Type,
OUT,UTE,
Location / Device ID,Plassering / enhets-ID,
Skip Auto Attendance,Hopp over autodeltakelse,
Shift Start,Skift Start,
Shift End,Skiftende slutt,
Shift Actual Start,Skift faktisk start,
Shift Actual End,Skift faktisk slutt,
Employee Education,Ansatt Utdanning,
School/University,Skole / universitet,
Graduate,Utdannet,
Post Graduate,Post Graduate,
Under Graduate,Under Graduate,
Year of Passing,Year of Passing,
Class / Percentage,Klasse / Prosent,
Major/Optional Subjects,Store / valgfrie emner,
Employee External Work History,Ansatt Ekstern Work History,
Total Experience,Total Experience,
Default Leave Policy,Standard permisjon,
Default Salary Structure,Standard Lønnsstruktur,
Employee Group Table,Tabell over ansatte grupper,
ERPNext User ID,ERPNeste Bruker-ID,
Employee Health Insurance,Ansattes helseforsikring,
Health Insurance Name,Helseforsikringsnavn,
Employee Incentive,Ansattes incitament,
Incentive Amount,Incentivbeløp,
Employee Internal Work History,Ansatt Intern Work History,
Employee Onboarding,Medarbeider Onboarding,
Notify users by email,Varsle brukere via e-post,
Employee Onboarding Template,Medarbeider på bordet,
Activities,aktiviteter,
Employee Onboarding Activity,Ansatte ombord på aktiviteten,
Employee Other Income,Ansattes andre inntekter,
Employee Promotion,Medarbeideropplæring,
Promotion Date,Kampanjedato,
Employee Promotion Details,Oppdragsgivere,
Employee Promotion Detail,Medarbeideropplysning detaljer,
Employee Property History,Ansattes eiendomshistorie,
Employee Separation,Ansattes separasjon,
Employee Separation Template,Medarbeider separasjonsmal,
Exit Interview Summary,Avslutt Intervju Sammendrag,
Employee Skill,Ansattes ferdighet,
Proficiency,ferdighet,
Evaluation Date,Evalueringsdato,
Employee Skill Map,Kart over ansatte ferdigheter,
Employee Skills,Ansattes ferdigheter,
Trainings,opplæring,
Employee Tax Exemption Category,Skattefritakskategori for ansatte,
Max Exemption Amount,Maksimalt unntaksbeløp,
Employee Tax Exemption Declaration,Ansvarserklæring om ansattes skattefradrag,
Declarations,erklæringer,
Total Declared Amount,Totalt erklært beløp,
Total Exemption Amount,Totalt dispensasjonsbeløp,
Employee Tax Exemption Declaration Category,Deklarasjonskategori for ansatt skattefritak,
Exemption Sub Category,Fritak underkategori,
Exemption Category,Fritakskategori,
Maximum Exempted Amount,Maksimalt unntatt beløp,
Declared Amount,Oppgitt beløp,
Employee Tax Exemption Proof Submission,Skattefrihetsbevis for arbeidstakere,
Submission Date,Innleveringsdato,
Tax Exemption Proofs,Skattefritakelsesbevis,
Total Actual Amount,Totalt faktisk beløp,
Employee Tax Exemption Proof Submission Detail,Beskjed om innlevering av ansatt skattefritak,
Maximum Exemption Amount,Maksimalt unntaksbeløp,
Type of Proof,Type bevis,
Actual Amount,Faktisk beløp,
Employee Tax Exemption Sub Category,Deltakelsesavgift for arbeidstakere,
Tax Exemption Category,Skattefritakskategori,
Employee Training,Ansattes opplæring,
Training Date,Treningsdato,
Employee Transfer,Medarbeideroverføring,
Transfer Date,Overføringsdato,
Employee Transfer Details,Overføringsdetaljer for ansatte,
Employee Transfer Detail,Ansatteoverføringsdetaljer,
Re-allocate Leaves,Tildel bladene igjen,
Create New Employee Id,Opprett nyansatt ID,
New Employee ID,Ny ansatt-ID,
Employee Transfer Property,Medarbeideroverføringseiendom,
HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
Expense Taxes and Charges,Utgiftsskatter og avgifter,
Total Sanctioned Amount,Total vedtatte beløp,
Total Advance Amount,Total forhåndsbeløp,
Total Claimed Amount,Total Hevdet Beløp,
Total Amount Reimbursed,Totalbeløp Refusjon,
Vehicle Log,Vehicle Log,
Employees Email Id,Ansatte Email Id,
More Details,Mer informasjon,
Expense Claim Account,Expense krav konto,
Expense Claim Advance,Kostnadskrav Advance,
Unclaimed amount,Uoppfordret beløp,
Expense Claim Detail,Expense krav Detalj,
Expense Date,Expense Dato,
Expense Claim Type,Expense krav Type,
Holiday List Name,Holiday Listenavn,
Total Holidays,Totalt helligdager,
Add Weekly Holidays,Legg til ukesferier,
Weekly Off,Ukentlig Off,
Add to Holidays,Legg til helligdager,
Holidays,Ferier,
Clear Table,Clear Table,
HR Settings,HR-innstillinger,
Employee Settings,Medarbeider Innstillinger,
Retirement Age,Pensjonsalder,
Enter retirement age in years,Skriv inn pensjonsalder i år,
Employee Records to be created by,Medarbeider Records å være skapt av,
Employee record is created using selected field. ,Ansatt posten er opprettet ved hjelp av valgte feltet.,
Stop Birthday Reminders,Stop bursdagspåminnelser,
Don't send Employee Birthday Reminders,Ikke send Employee bursdagspåminnelser,
Expense Approver Mandatory In Expense Claim,Kostnadsgodkjenning Obligatorisk Utgiftskrav,
Payroll Settings,Lønn Innstillinger,
Leave,Permisjon,
Max working hours against Timesheet,Max arbeidstid mot Timeregistrering,
Include holidays in Total no. of Working Days,Inkluder ferier i Total no. arbeidsdager,
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Hvis det er merket, Total nei. arbeidsdager vil omfatte helligdager, og dette vil redusere verdien av Lønn per dag",
"If checked, hides and disables Rounded Total field in Salary Slips","Hvis det er merket, skjuler og deaktiverer du avrundet totalfelt i lønnsslipper",
The fraction of daily wages to be paid for half-day attendance,Brøkdelen av dagslønnen som skal betales for halvdagsoppmøte,
Email Salary Slip to Employee,E-post Lønn Slip til Employee,
Emails salary slip to employee based on preferred email selected in Employee,E-poster lønn slip til ansatte basert på foretrukne e-post valgt i Employee,
Encrypt Salary Slips in Emails,Krypter lønnsslipper i e-post,
"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Lønnsslippen som sendes til den ansatte vil være passordbeskyttet, passordet vil bli generert basert på passordpolitikken.",
Password Policy,Passordpolicy,
<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Eksempel:</b> SAL- {first_name} - {date_of_birth.year} <br> Dette vil generere et passord som SAL-Jane-1972,
Leave Settings,Forlat innstillinger,
Leave Approval Notification Template,Legg igjen godkjenningsmeldingskjemaet,
Leave Status Notification Template,Meldingsmal for permisjon,
Role Allowed to Create Backdated Leave Application,Roll tillatt for å opprette backdated permisjon søknad,
Leave Approver Mandatory In Leave Application,La godkjenning være obligatorisk i permisjon,
Show Leaves Of All Department Members In Calendar,Vis blader av alle avdelingsmedlemmer i kalender,
Auto Leave Encashment,Automatisk forlate omgivelser,
Restrict Backdated Leave Application,Begrens søknad om utdatert permisjon,
Hiring Settings,Ansette innstillinger,
Check Vacancies On Job Offer Creation,Sjekk ledige stillinger ved etablering av tilbud,
Identification Document Type,Identifikasjonsdokumenttype,
Effective from,Effektiv fra,
Allow Tax Exemption,Tillat skattefritak,
"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Hvis aktivert, vil skattefritakelseserklæringen vurderes for beregning av inntektsskatt.",
Standard Tax Exemption Amount,Standard skattefritak beløp,
Taxable Salary Slabs,Skattepliktig lønnsplater,
Taxes and Charges on Income Tax,Skatter og avgifter på inntektsskatt,
Other Taxes and Charges,Andre skatter og avgifter,
Income Tax Slab Other Charges,Inntektsskattplate Andre avgifter,
Min Taxable Income,Min skattepliktig inntekt,
Max Taxable Income,Maks skattepliktig inntekt,
Applicant for a Job,Kandidat til en jobb,
Accepted,Akseptert,
Job Opening,Job Opening,
Cover Letter,Cover Letter,
Resume Attachment,Fortsett Vedlegg,
Job Applicant Source,Jobbsøkerkilde,
Applicant Email Address,Søkers e-postadresse,
Awaiting Response,Venter på svar,
Job Offer Terms,Jobbtilbudsbetingelser,
Select Terms and Conditions,Velg Vilkår,
Printing Details,Utskrift Detaljer,
Job Offer Term,Jobbtilbudsperiode,
Offer Term,Tilbudet Term,
Value / Description,Verdi / beskrivelse,
Description of a Job Opening,Beskrivelse av en ledig jobb,
Job Title,Jobbtittel,
Staffing Plan,Bemanning Plan,
Planned number of Positions,Planlagt antall posisjoner,
"Job profile, qualifications required etc.","Jobb profil, kvalifikasjoner som kreves etc.",
HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
Allocation,Tildeling,
New Leaves Allocated,Nye Leaves Avsatt,
Add unused leaves from previous allocations,Legg ubrukte blader fra tidligere bevilgninger,
Unused leaves,Ubrukte blader,
Total Leaves Allocated,Totalt Leaves Avsatt,
Total Leaves Encashed,Samlede blader innhyllet,
Leave Period,Permisjonstid,
Carry Forwarded Leaves,Carry Videresendte Løv,
Apply / Approve Leaves,Påfør / Godkjenn Løv,
HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
Leave Balance Before Application,La Balance Før Application,
Total Leave Days,Totalt La Days,
Leave Approver Name,La Godkjenner Name,
Follow via Email,Følg via e-post,
Block Holidays on important days.,Block Ferie på viktige dager.,
Leave Block List Name,La Block List Name,
Applies to Company,Gjelder Selskapet,
"If not checked, the list will have to be added to each Department where it has to be applied.","Hvis ikke sjekket, vil listen må legges til hver avdeling hvor det må brukes.",
Block Days,Block Days,
Stop users from making Leave Applications on following days.,Stoppe brukere fra å gjøre La Applications på følgende dager.,
Leave Block List Dates,La Block List Datoer,
Allow Users,Gi brukere,
Allow the following users to approve Leave Applications for block days.,Tillat følgende brukere å godkjenne La Applications for blokk dager.,
Leave Block List Allowed,La Block List tillatt,
Leave Block List Allow,La Block List Tillat,
Allow User,Tillat User,
Leave Block List Date,La Block List Dato,
Block Date,Block Dato,
Leave Control Panel,La Kontrollpanel,
Select Employees,Velg Medarbeidere,
Employment Type (optional),Sysselsettingstype (valgfritt),
Branch (optional),Gren (valgfritt),
Department (optional),Avdeling (valgfritt),
Designation (optional),Betegnelse (valgfritt),
Employee Grade (optional),Ansattkarakter (valgfritt),
Employee (optional),Ansatt (valgfritt),
Allocate Leaves,Tildel blader,
Carry Forward,Fremføring,
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Vennligst velg bære frem hvis du også vil ha med forrige regnskapsår balanse later til dette regnskapsåret,
New Leaves Allocated (In Days),Nye Løv Tildelte (i dager),
Allocate,Bevilge,
Leave Balance,Forlat balanse,
Encashable days,Klembare dager,
Encashment Amount,Encashment Amount,
Leave Ledger Entry,La Ledger Entry,
Transaction Name,Transaksjonsnavn,
Is Carry Forward,Er fremføring,
Is Expired,Er utgått,
Is Leave Without Pay,Er permisjon uten Pay,
Holiday List for Optional Leave,Ferieliste for valgfritt permisjon,
Leave Allocations,Forlate allokeringer,
Leave Policy Details,Legg til policyinformasjon,
Leave Policy Detail,Forlat politikkdetaljer,
Annual Allocation,Årlig allokering,
Leave Type Name,La Type Navn,
Max Leaves Allowed,Maks. Blader tillatt,
Applicable After (Working Days),Gjelder etter (arbeidsdager),
Maximum Continuous Days Applicable,Maksimum kontinuerlige dager gjelder,
Is Optional Leave,Er valgfritt permisjon,
Allow Negative Balance,Tillat negativ saldo,
Include holidays within leaves as leaves,Inkluder hellig innen blader som løv,
Is Compensatory,Er kompenserende,
Maximum Carry Forwarded Leaves,Maksimum bære fremoverblader,
Expire Carry Forwarded Leaves (Days),Utløp bære videresend blad (dager),
Calculated in days,Beregnet i dager,
Encashment,encashment,
Allow Encashment,Tillat Encashment,
Encashment Threshold Days,Encashment Threshold Days,
Earned Leave,Opptjent permisjon,
Is Earned Leave,Er opptjent permisjon,
Earned Leave Frequency,Opptjent permisjon,
Rounding,avrunding,
Payroll Employee Detail,Lønnspersonelldetaljer,
Payroll Frequency,lønn Frequency,
Fortnightly,hver fjortende dag,
Bimonthly,annenhver måned,
Employees,medarbeidere,
Number Of Employees,Antall ansatte,
Employee Details,Ansattes detaljer,
Validate Attendance,Bekreft tilstedeværelse,
Salary Slip Based on Timesheet,Lønn Slip Basert på Timeregistrering,
Select Payroll Period,Velg Lønn Periode,
Deduct Tax For Unclaimed Employee Benefits,Fradragsskatt for uopptjente ansattes fordeler,
Deduct Tax For Unsubmitted Tax Exemption Proof,Fradragsskatt for ikke-innvilget skattefrihetsbevis,
Select Payment Account to make Bank Entry,Velg betalingskonto å lage Bank Entry,
Salary Slips Created,Lønnslister opprettet,
Salary Slips Submitted,Lønnsslipp legges inn,
Payroll Periods,Lønn Perioder,
Payroll Period Date,Lønn Periode Dato,
Purpose of Travel,Hensikt med reisen,
Retention Bonus,Retensjonsbonus,
Bonus Payment Date,Bonus Betalingsdato,
Bonus Amount,Bonusbeløp,
Abbr,Abbr,
Depends on Payment Days,Avhenger av betalingsdager,
Is Tax Applicable,Er skatt gjeldende,
Variable Based On Taxable Salary,Variabel basert på skattepliktig lønn,
Exempted from Income Tax,Unntatt fra inntektsskatt,
Round to the Nearest Integer,Rund til nærmeste heltall,
Statistical Component,Statistisk komponent,
"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Hvis valgt, vil verdien som er spesifisert eller beregnet i denne komponenten, ikke bidra til inntektene eller fradragene. Men det er verdien som kan refereres av andre komponenter som kan legges til eller trekkes fra.",
Do Not Include in Total,Ikke inkluder totalt,
Flexible Benefits,Fleksible fordeler,
Is Flexible Benefit,Er fleksibel fordel,
Max Benefit Amount (Yearly),Maksimal fordelbeløp (Årlig),
Only Tax Impact (Cannot Claim But Part of Taxable Income),Kun skattepåvirkning (kan ikke kreve men en del av skattepliktig inntekt),
Create Separate Payment Entry Against Benefit Claim,Opprett separat betalingsoppføring mot fordringsfordring,
Condition and Formula,Tilstand og formel,
Amount based on formula,Beløp basert på formelen,
Formula,Formel,
Salary Detail,lønn Detalj,
Component,Komponent,
Do not include in total,Ikke inkluder i alt,
Default Amount,Standard Beløp,
Additional Amount,Tilleggsbeløp,
Tax on flexible benefit,Skatt på fleksibel fordel,
Tax on additional salary,Skatt på ekstra lønn,
Salary Structure,Lønn Struktur,
Working Days,Arbeidsdager,
Salary Slip Timesheet,Lønn Slip Timeregistrering,
Total Working Hours,Samlet arbeidstid,
Hour Rate,Time Rate,
Bank Account No.,Bank Account No.,
Earning & Deduction,Tjene &amp; Fradrag,
Earnings,Inntjeningen,
Deductions,Fradrag,
Loan repayment,Refusjon av lån,
Employee Loan,Medarbeider Loan,
Total Principal Amount,Sum hovedbeløp,
Total Interest Amount,Totalt rentebeløp,
Total Loan Repayment,Total Loan Nedbetaling,
net pay info,nettolønn info,
Gross Pay - Total Deduction - Loan Repayment,Brutto lønn - Totalt Fradrag - Loan Nedbetaling,
Total in words,Totalt i ord,
Net Pay (in words) will be visible once you save the Salary Slip.,Nettolønn (i ord) vil være synlig når du lagrer Lønn Slip.,
Salary Component for timesheet based payroll.,Lønn Component for timebasert lønn.,
Leave Encashment Amount Per Day,Forlat innkjøpsbeløp per dag,
Max Benefits (Amount),Maksimal fordel (beløp),
Salary breakup based on Earning and Deduction.,Lønn breakup basert på opptjening og fradrag.,
Total Earning,Total Tjene,
Salary Structure Assignment,Lønnsstrukturoppgave,
Shift Assignment,Shift-oppgave,
Shift Type,Shift Type,
Shift Request,Skiftforespørsel,
Enable Auto Attendance,Aktiver automatisk deltakelse,
Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Merk oppmøte basert på &#39;Ansattes checkin&#39; for ansatte som er tildelt dette skiftet.,
Auto Attendance Settings,Innstillinger for automatisk deltagelse,
Determine Check-in and Check-out,Bestem innsjekking og utsjekking,
Alternating entries as IN and OUT during the same shift,Vekslende oppføringer som IN og UT under samme skift,
Strictly based on Log Type in Employee Checkin,Strengt tatt basert på Logg inn ansattes checkin,
Working Hours Calculation Based On,Beregning av arbeidstider basert på,
First Check-in and Last Check-out,Første innsjekking og siste utsjekking,
Every Valid Check-in and Check-out,Hver gyldig innsjekking og utsjekking,
Begin check-in before shift start time (in minutes),Begynn innsjekking før skiftets starttid (i minutter),
The time before the shift start time during which Employee Check-in is considered for attendance.,Tiden før skiftets starttidspunkt hvor ansattes innsjekking vurderes for oppmøte.,
Allow check-out after shift end time (in minutes),Tillat utsjekking etter endt skift (i minutter),
Time after the end of shift during which check-out is considered for attendance.,Tid etter endt skifte hvor utsjekking vurderes for oppmøte.,
Working Hours Threshold for Half Day,Arbeidstidsgrense for halv dag,
Working hours below which Half Day is marked. (Zero to disable),Arbeidstid under som Half Day er markert. (Null å deaktivere),
Working Hours Threshold for Absent,Arbeidstidsgrense for fraværende,
Working hours below which Absent is marked. (Zero to disable),Arbeidstid under som Fravær er merket. (Null å deaktivere),
Process Attendance After,Prosessoppmøte etter,
Attendance will be marked automatically only after this date.,Oppmøte markeres automatisk først etter denne datoen.,
Last Sync of Checkin,Siste synkronisering av Checkin,
Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,Sist kjent vellykket synkronisering av ansattes checkin. Tilbakestill dette bare hvis du er sikker på at alle loggene er synkronisert fra alle stedene. Ikke endre dette hvis du er usikker.,
Grace Period Settings For Auto Attendance,Nådeperiodeinnstillinger for automatisk oppmøte,
Enable Entry Grace Period,Aktiver inngangsperiode,
Late Entry Grace Period,Sen inngangsperiode,
The time after the shift start time when check-in is considered as late (in minutes).,Tiden etter skiftets starttidspunkt når innsjekking anses som sent (i minutter).,
Enable Exit Grace Period,Aktiver avsluttingsperiode,
Early Exit Grace Period,Tidlig utgangsperiode,
The time before the shift end time when check-out is considered as early (in minutes).,Tiden før skiftets sluttid når utsjekking anses som tidlig (i minutter).,
Skill Name,Ferdighetsnavn,
Staffing Plan Details,Bemanning Plandetaljer,
Staffing Plan Detail,Bemanning Plan detalj,
Total Estimated Budget,Totalt estimert budsjett,
Vacancies,Ledige stillinger,
Estimated Cost Per Position,Anslått kostnad per posisjon,
Total Estimated Cost,Totalt estimert kostnad,
Current Count,Nåværende tall,
Current Openings,Nåværende åpninger,
Number Of Positions,Antall posisjoner,
Taxable Salary Slab,Skattepliktig lønnslab,
From Amount,Fra beløp,
To Amount,Til beløp,
Percent Deduction,Prosent avdrag,
Training Program,Treningsprogram,
Event Status,Hendelses Status,
Has Certificate,Har sertifikat,
Seminar,Seminar,
Theory,Teori,
Workshop,Verksted,
Conference,Konferanse,
Exam,Eksamen,
Internet,Internett,
Self-Study,Selvstudium,
Advance,Avansere,
Trainer Name,trener Name,
Trainer Email,trener E-post,
Attendees,Deltakere,
Employee Emails,Medarbeider e-post,
Training Event Employee,Trening Hendelses Employee,
Invited,invitert,
Feedback Submitted,Tilbakemelding Sendt inn,
Optional,Valgfri,
Training Result Employee,Trening Resultat Medarbeider,
Travel Itinerary,Reiseplan,
Travel From,Reise fra,
Travel To,Reise til,
Mode of Travel,Reisemåte,
Flight,Flygning,
Train,Tog,
Taxi,Taxi,
Rented Car,Lei bil,
Meal Preference,Måltidsperspektiv,
Vegetarian,Vegetarisk,
Non-Vegetarian,Ikke-Vegetarisk,
Gluten Free,Glutenfri,
Non Diary,Ikke-dagbok,
Travel Advance Required,Krav på reisefordeling,
Departure Datetime,Avreise Datetime,
Arrival Datetime,Ankomst Datetime,
Lodging Required,Overnatting påkrevd,
Preferred Area for Lodging,Foretrukket område for innkvartering,
Check-in Date,Ankomstdato,
Check-out Date,Utsjekkingsdato,
Travel Request,Reiseforespørsel,
Travel Type,Reisetype,
Domestic,Innenlands,
International,Internasjonal,
Travel Funding,Reisefinansiering,
Require Full Funding,Krev full finansiering,
Fully Sponsored,Fullt sponset,
"Partially Sponsored, Require Partial Funding","Delvis sponset, krever delvis finansiering",
Copy of Invitation/Announcement,Kopi av invitasjon / kunngjøring,
"Details of Sponsor (Name, Location)","Detaljer om Sponsor (Navn, Sted)",
Identification Document Number,Identifikasjonsdokumentnummer,
Any other details,Eventuelle andre detaljer,
Costing Details,Kostnadsdetaljer,
Costing,Costing,
Event Details,Eventdetaljer,
Name of Organizer,Navn på arrangør,
Address of Organizer,Adresse til arrangør,
Travel Request Costing,Reiseforespørsel Kostnad,
Expense Type,Utgiftstype,
Sponsored Amount,Sponset beløp,
Funded Amount,Finansiert beløp,
Upload Attendance,Last opp Oppmøte,
Attendance From Date,Oppmøte Fra dato,
Attendance To Date,Oppmøte To Date,
Get Template,Få Mal,
Import Attendance,Import Oppmøte,
Upload HTML,Last opp HTML,
Vehicle,Kjøretøy,
License Plate,Bilskilt,
Odometer Value (Last),Kilometerstand (Siste),
Acquisition Date,Innkjøpsdato,
Chassis No,chassis Nei,
Vehicle Value,Vehicle Verdi,
Insurance Details,forsikring Detaljer,
Insurance Company,Forsikringsselskap,
Policy No,Regler Nei,
Additional Details,ekstra detaljer,
Fuel Type,drivstoff,
Petrol,Bensin,
Diesel,diesel,
Natural Gas,Naturgass,
Electric,Elektrisk,
Fuel UOM,drivstoff målenheter,
Last Carbon Check,Siste Carbon Sjekk,
Wheels,hjul,
Doors,dører,
HR-VLOG-.YYYY.-,HR-vlog-.YYYY.-,
Odometer Reading,Kilometerteller Reading,
Current Odometer value ,Gjeldende kilometertellerverdi,
last Odometer Value ,siste kilometertellerverdi,
Refuelling Details,Fylle drivstoff Detaljer,
Invoice Ref,faktura~~POS=TRUNC Ref,
Service Details,Servicedetaljer,
Service Detail,tjenesten Detalj,
Vehicle Service,Vehicle service,
Service Item,tjenesten Element,
Brake Oil,bremse~~POS=TRUNC Oil,
Brake Pad,Bremsekloss,
Clutch Plate,clutch Plate,
Engine Oil,Motorolje,
Oil Change,Oljeskift,
Inspection,Undersøkelse,
Mileage,Kilometer,
Hub Tracked Item,Hub sporet element,
Hub Node,Hub Node,
Image List,Bildeliste,
Item Manager,Sak manager,
Hub User,Hub Bruker,
Hub Password,Hub Passord,
Hub Users,Hub-brukere,
Marketplace Settings,Markedsplassinnstillinger,
Disable Marketplace,Deaktiver Marketplace,
Marketplace URL (to hide and update label),Markedsplass-URL (for å skjule og oppdatere etikett),
Registered,registrert,
Sync in Progress,Synkronisering i fremgang,
Hub Seller Name,Hub Selger Navn,
Custom Data,Tilpassede data,
Member,Medlem,
Partially Disbursed,delvis Utbetalt,
Loan Closure Requested,Låneavslutning bedt om,
Repay From Salary,Smelle fra Lønn,
Loan Details,lån Detaljer,
Loan Type,låne~~POS=TRUNC,
Loan Amount,Lånebeløp,
Is Secured Loan,Er sikret lån,
Rate of Interest (%) / Year,Rente (%) / År,
Disbursement Date,Innbetalingsdato,
Disbursed Amount,Utbetalt beløp,
Is Term Loan,Er terminlån,
Repayment Method,tilbakebetaling Method,
Repay Fixed Amount per Period,Smelle fast beløp per periode,
Repay Over Number of Periods,Betale tilbake over antall perioder,
Repayment Period in Months,Nedbetalingstid i måneder,
Monthly Repayment Amount,Månedlig nedbetaling beløpet,
Repayment Start Date,Tilbakebetaling Startdato,
Loan Security Details,Lånesikkerhetsdetaljer,
Maximum Loan Value,Maksimal utlånsverdi,
Account Info,Kontoinformasjon,
Loan Account,Lånekonto,
Interest Income Account,Renteinntekter konto,
Penalty Income Account,Straffinntektsregnskap,
Repayment Schedule,tilbakebetaling Schedule,
Total Payable Amount,Totalt betales beløpet,
Total Principal Paid,Totalt hovedstol betalt,
Total Interest Payable,Total rentekostnader,
Total Amount Paid,Totalt beløp betalt,
Loan Manager,Låneansvarlig,
Loan Info,lån info,
Rate of Interest,Rente,
Proposed Pledges,Forslag til pantsettelser,
Maximum Loan Amount,Maksimal Lånebeløp,
Repayment Info,tilbakebetaling info,
Total Payable Interest,Total skyldige renter,
Against Loan ,Mot lån,
Loan Interest Accrual,Lånerenteopptjening,
Amounts,beløp,
Pending Principal Amount,Venter på hovedbeløp,
Payable Principal Amount,Betalbart hovedbeløp,
Paid Principal Amount,Betalt hovedbeløp,
Paid Interest Amount,Betalt rentebeløp,
Process Loan Interest Accrual,Prosess Lån Renteopptjening,
Repayment Schedule Name,Navn på tilbakebetalingsplan,
Regular Payment,Vanlig betaling,
Loan Closure,Lånet stenging,
Payment Details,Betalingsinformasjon,
Interest Payable,Betalbar rente,
Amount Paid,Beløpet Betalt,
Principal Amount Paid,Hovedbeløp betalt,
Repayment Details,Detaljer om tilbakebetaling,
Loan Repayment Detail,Detalj om tilbakebetaling av lån,
Loan Security Name,Lånesikkerhetsnavn,
Unit Of Measure,Måleenhet,
Loan Security Code,Lånesikkerhetskode,
Loan Security Type,Lånesikkerhetstype,
Haircut %,Hårklipp%,
Loan  Details,Lånedetaljer,
Unpledged,Unpledged,
Pledged,lovet,
Partially Pledged,Delvis pantsatt,
Securities,verdipapirer,
Total Security Value,Total sikkerhetsverdi,
Loan Security Shortfall,Lånesikkerhetsmangel,
Loan ,Låne,
Shortfall Time,Mangel på tid,
America/New_York,Amerika / New_York,
Shortfall Amount,Mangelbeløp,
Security Value ,Sikkerhetsverdi,
Process Loan Security Shortfall,Prosess Lånsikkerhetsmangel,
Loan To Value Ratio,Utlån til verdi,
Unpledge Time,Unpedge Time,
Loan Name,lån Name,
Rate of Interest (%) Yearly,Rente (%) Årlig,
Penalty Interest Rate (%) Per Day,Straffrente (%) per dag,
Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Straffrente pålegges daglig det pågående rentebeløpet i tilfelle forsinket tilbakebetaling,
Grace Period in Days,Nådeperiode i dager,
No. of days from due date until which penalty won't be charged in case of delay in loan repayment,Antall dager fra forfallsdato og til hvilket gebyr ikke vil bli belastet i tilfelle forsinkelse i tilbakebetaling av lån,
Pledge,Løfte,
Post Haircut Amount,Legg inn hårklippsbeløp,
Process Type,Prosess Type,
Update Time,Oppdateringstid,
Proposed Pledge,Foreslått pant,
Total Payment,totalt betaling,
Balance Loan Amount,Balanse Lånebeløp,
Is Accrued,Er påløpt,
Salary Slip Loan,Lønnsslipplån,
Loan Repayment Entry,Innbetaling av lånebetaling,
Sanctioned Loan Amount,Sanksjonert lånebeløp,
Sanctioned Amount Limit,Sanksjonert beløpsgrense,
Unpledge,Unpledge,
Haircut,Hårklipp,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Generere Schedule,
Schedules,Rutetider,
Maintenance Schedule Detail,Vedlikeholdsplan Detalj,
Scheduled Date,Planlagt dato,
Actual Date,Selve Dato,
Maintenance Schedule Item,Vedlikeholdsplan Sak,
Random,Tilfeldig,
No of Visits,Ingen av besøk,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Vedlikehold Dato,
Maintenance Time,Vedlikehold Tid,
Completion Status,Completion Status,
Partially Completed,Delvis Fullført,
Fully Completed,Fullt Fullført,
Unscheduled,Ikke planlagt,
Breakdown,Sammenbrudd,
Purposes,Formål,
Customer Feedback,Customer Feedback,
Maintenance Visit Purpose,Vedlikehold Besøk Formål,
Work Done,Arbeidet Som Er Gjort,
Against Document No,Mot Dokument nr,
Against Document Detail No,Mot Document Detail Nei,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Ordretype,
Blanket Order Item,Blanket Bestillingsvare,
Ordered Quantity,Bestilte Antall,
Item to be manufactured or repacked,Elementet som skal produseres eller pakkes,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Antall element oppnådd etter produksjon / nedpakking fra gitte mengder råvarer,
Set rate of sub-assembly item based on BOM,Angi hastighet på underenhetens element basert på BOM,
Allow Alternative Item,Tillat alternativ gjenstand,
Item UOM,Sak målenheter,
Conversion Rate,konverterings~~POS=TRUNC,
Rate Of Materials Based On,Valuta materialer basert på,
With Operations,Med Operations,
Manage cost of operations,Administrer driftskostnader,
Transfer Material Against,Overfør materiale mot,
Routing,Routing,
Materials,Materialer,
Quality Inspection Required,Kvalitetskontroll kreves,
Quality Inspection Template,Kvalitetskontrollmaler,
Scrap,skrap,
Scrap Items,skrap Items,
Operating Cost,Driftskostnader,
Raw Material Cost,Raw Material Cost,
Scrap Material Cost,Skrap Material Cost,
Operating Cost (Company Currency),Driftskostnader (Selskap Valuta),
Raw Material Cost (Company Currency),Råvarekostnad (selskapets valuta),
Scrap Material Cost(Company Currency),Skrap Material Cost (Selskap Valuta),
Total Cost,Totalkostnad,
Total Cost (Company Currency),Total kostnad (selskapets valuta),
Materials Required (Exploded),Materialer som er nødvendige (Exploded),
Exploded Items,Eksploderte elementer,
Show in Website,Vis på nettstedet,
Item Image (if not slideshow),Sak Image (hvis ikke show),
Thumbnail,Thumbnail,
Website Specifications,Nettstedet Spesifikasjoner,
Show Items,Vis Items,
Show Operations,Vis Operations,
Website Description,Website Beskrivelse,
BOM Explosion Item,BOM Explosion Element,
Qty Consumed Per Unit,Antall som forbrukes per enhet,
Include Item In Manufacturing,Inkluder varen i produksjonen,
BOM Item,BOM Element,
Item operation,Vareoperasjon,
Rate & Amount,Pris og beløp,
Basic Rate (Company Currency),Basic Rate (Company Valuta),
Scrap %,Skrap%,
Original Item,Originalelement,
BOM Operation,BOM Operation,
Operation Time ,Driftstid,
In minutes,På få minutter,
Batch Size,"Partistørrelse, Gruppestørrelse",
Base Hour Rate(Company Currency),Base Hour Rate (Selskap Valuta),
Operating Cost(Company Currency),Driftskostnader (Selskap Valuta),
BOM Scrap Item,BOM Scrap Element,
Basic Amount (Company Currency),Grunnbeløpet (Selskap Valuta),
BOM Update Tool,BOM Update Tool,
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Bytt ut en bestemt BOM i alle andre BOM-er der den brukes. Det vil erstatte den gamle BOM-lenken, oppdatere kostnadene og regenerere &quot;BOM Explosion Item&quot; -tabellen som per ny BOM. Det oppdaterer også siste pris i alle BOMene.",
Replace BOM,Erstatt BOM,
Current BOM,Nåværende BOM,
The BOM which will be replaced,BOM som vil bli erstattet,
The new BOM after replacement,Den nye BOM etter utskiftning,
Replace,Erstatt,
Update latest price in all BOMs,Oppdater siste pris i alle BOMs,
BOM Website Item,BOM Nettstedet Element,
BOM Website Operation,BOM Nettstedet Operasjon,
Operation Time,Operation Tid,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Timing Detail,
Time Logs,Tid Logger,
Total Time in Mins,Total tid i minutter,
Operation ID,Operasjons-ID,
Transferred Qty,Overført Antall,
Job Started,Jobben startet,
Started Time,Startet tid,
Current Time,Nåværende tid,
Job Card Item,Jobbkort-element,
Job Card Time Log,Jobbkort tidslogg,
Time In Mins,Tid i min,
Completed Qty,Fullført Antall,
Manufacturing Settings,Produksjons Innstillinger,
Raw Materials Consumption,Forbruk av råvarer,
Allow Multiple Material Consumption,Tillat flere materialforbruk,
Allow multiple Material Consumption against a Work Order,Tillat flere materialforbruk mot en arbeidsordre,
Backflush Raw Materials Based On,Spylings Råvare basert på,
Material Transferred for Manufacture,Materialet Overført for Produksjon,
Capacity Planning,Kapasitetsplanlegging,
Disable Capacity Planning,Deaktiver kapasitetsplanlegging,
Allow Overtime,Tillat Overtid,
Plan time logs outside Workstation Working Hours.,Planlegg tids logger utenfor arbeidsstasjon arbeidstid.,
Allow Production on Holidays,Tillat Produksjonen på helligdager,
Capacity Planning For (Days),Kapasitetsplanlegging For (dager),
Try planning operations for X days in advance.,Prøv å planlegge operasjoner for X dager i forveien.,
Time Between Operations (in mins),Time Between Operations (i minutter),
Default 10 mins,Standard 10 minutter,
Default Warehouses for Production,Standard lager for produksjon,
Default Work In Progress Warehouse,Standard Work In Progress Warehouse,
Default Finished Goods Warehouse,Standardferdigvarelageret,
Default Scrap Warehouse,Standard skrapelager,
Over Production for Sales and Work Order,Overproduksjon for salgs- og arbeidsordre,
Overproduction Percentage For Sales Order,Overproduksjonsprosent for salgsordre,
Overproduction Percentage For Work Order,Overproduksjonsprosent for arbeidsordre,
Other Settings,andre innstillinger,
Update BOM Cost Automatically,Oppdater BOM Kostnad automatisk,
"Update BOM cost automatically via Scheduler, based on latest valuation rate / price list rate / last purchase rate of raw materials.","Oppdater BOM kostnad automatisk via Scheduler, basert på siste verdivurdering / prisliste rate / siste kjøpshastighet av råvarer.",
Material Request Plan Item,Materialforespørselsplan,
Material Request Type,Materialet Request Type,
Material Issue,Material Issue,
Customer Provided,Kunden leveres,
Minimum Order Quantity,Minimum antall,
Default Workstation,Standard arbeidsstasjon,
Production Plan,Produksjonsplan,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Få elementer fra,
Get Sales Orders,Få salgsordrer,
Material Request Detail,Material Request Detail,
Get Material Request,Få Material Request,
Material Requests,material~~POS=TRUNC Forespørsler,
Get Items For Work Order,Få varer for arbeidsordre,
Material Request Planning,Material Request Planning,
Include Non Stock Items,Inkluder ikke-varelager,
Include Subcontracted Items,Inkluder underleverte varer,
Ignore Existing Projected Quantity,Ignorer eksisterende anslått mengde,
"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","For å vite mer om anslått mengde, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">klikk her</a> .",
Download Required Materials,Last ned påkrevde materialer,
Get Raw Materials For Production,Få råmaterialer til produksjon,
Total Planned Qty,Totalt planlagt antall,
Total Produced Qty,Totalt produsert antall,
Material Requested,Materiale som kreves,
Production Plan Item,Produksjonsplan Sak,
Make Work Order for Sub Assembly Items,Gjør arbeidsordre for undermonteringselementer,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Hvis det er aktivert, vil systemet opprette arbeidsordren for de eksploderte elementene som BOM er tilgjengelig mot.",
Planned Start Date,Planlagt startdato,
Quantity and Description,Mengde og beskrivelse,
material_request_item,material_request_item,
Product Bundle Item,Produktet Bundle Element,
Production Plan Material Request,Produksjonsplan Material Request,
Production Plan Sales Order,Produksjonsplan Salgsordre,
Sales Order Date,Salgsordre Dato,
Routing Name,Rutingsnavn,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Element for å produsere,
Material Transferred for Manufacturing,Materialet Overført for Manufacturing,
Manufactured Qty,Produsert Antall,
Use Multi-Level BOM,Bruk Multi-Level BOM,
Plan material for sub-assemblies,Plan materiale for sub-assemblies,
Skip Material Transfer to WIP Warehouse,Hopp over materialoverføring til WIP Warehouse,
Check if material transfer entry is not required,Sjekk om materialoverføring ikke er nødvendig,
Backflush Raw Materials From Work-in-Progress Warehouse,Backflush råmaterialer fra lager i gang,
Update Consumed Material Cost In Project,Oppdater forbruksmaterialekostnader i prosjektet,
Warehouses,Næringslokaler,
This is a location where raw materials are available.,Dette er et sted hvor råvarer er tilgjengelige.,
Work-in-Progress Warehouse,Work-in-progress Warehouse,
This is a location where operations are executed.,Dette er et sted der operasjoner utføres.,
This is a location where final product stored.,Dette er et sted der sluttproduktet er lagret.,
Scrap Warehouse,skrap Warehouse,
This is a location where scraped materials are stored.,Dette er et sted der skrapte materialer er lagret.,
Required Items,nødvendige elementer,
Actual Start Date,Faktisk startdato,
Planned End Date,Planlagt sluttdato,
Actual End Date,Selve sluttdato,
Operation Cost,Operation Cost,
Planned Operating Cost,Planlagt driftskostnader,
Actual Operating Cost,Faktiske driftskostnader,
Additional Operating Cost,Ekstra driftskostnader,
Total Operating Cost,Total driftskostnader,
Manufacture against Material Request,Produksjon mot Material Request,
Work Order Item,Arbeid Bestillingselement,
Available Qty at Source Warehouse,Tilgjengelig antall på Source Warehouse,
Available Qty at WIP Warehouse,Tilgjengelig antall på WIP Warehouse,
Work Order Operation,Arbeidsordreoperasjon,
Operation Description,Operasjon Beskrivelse,
Operation completed for how many finished goods?,Operasjonen gjennomført for hvor mange ferdigvarer?,
Work in Progress,Arbeid På Går,
Estimated Time and Cost,Estimert leveringstid og pris,
Planned Start Time,Planlagt Starttid,
Planned End Time,Planlagt Sluttid,
in Minutes,I løpet av minutter,
Actual Time and Cost,Faktisk leveringstid og pris,
Actual Start Time,Faktisk Starttid,
Actual End Time,Faktisk Sluttid,
Updated via 'Time Log',Oppdatert via &#39;Time Logg&#39;,
Actual Operation Time,Selve Operasjon Tid,
in Minutes\nUpdated via 'Time Log',Minutter Oppdatert via &#39;Time Logg&#39;,
(Hour Rate / 60) * Actual Operation Time,(Timepris / 60) * Faktisk Operation Tid,
Workstation Name,Arbeidsstasjon Name,
Production Capacity,Produksjonskapasitet,
Operating Costs,Driftskostnader,
Electricity Cost,Elektrisitet Cost,
per hour,per time,
Consumable Cost,Forbrukskostnads,
Rent Cost,Rent Cost,
Wages,Lønn,
Wages per hour,Lønn per time,
Net Hour Rate,Netto timepris,
Workstation Working Hour,Arbeidsstasjon Working Hour,
Certification Application,Sertifiseringsprogram,
Name of Applicant,Navn på søkeren,
Certification Status,Sertifiseringsstatus,
Yet to appear,Likevel å vises,
Certified,sertifisert,
Not Certified,Ikke sertifisert,
USD,USD,
INR,INR,
Certified Consultant,Sertifisert konsulent,
Name of Consultant,Navn på konsulent,
Certification Validity,Sertifiserings gyldighet,
Discuss ID,Diskuter ID,
GitHub ID,GitHub ID,
Non Profit Manager,Non Profit Manager,
Chapter Head,Kapittelhode,
Meetup Embed HTML,Meetup Embed HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,kapitler / kapittelnavn la blankt sett automatisk etter lagring av kapittel.,
Chapter Members,Kapittelmedlemmer,
Members,medlemmer,
Chapter Member,Kapittelmedlem,
Website URL,Website URL,
Leave Reason,Legg igjen grunn,
Donor Name,Donornavn,
Donor Type,Donor Type,
Withdrawn,Tilbaketrukket,
Grant Application Details ,Gi søknadsdetaljer,
Grant Description,Grant Beskrivelse,
Requested Amount,Ønsket beløp,
Has any past Grant Record,Har noen tidligere Grant Record,
Show on Website,Vis på nettstedet,
Assessment  Mark (Out of 10),Vurderingsmerke (ut av 10),
Assessment  Manager,Vurderingsleder,
Email Notification Sent,E-postvarsling sendt,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Medlemskapets utløpsdato,
Razorpay Details,Razorpay Detaljer,
Subscription ID,Abonnements-ID,
Customer ID,Kunde ID,
Subscription Activated,Abonnement aktivert,
Subscription Start ,Abonnementsstart,
Subscription End,Abonnementets slutt,
Non Profit Member,Ikke-profittmedlem,
Membership Status,Medlemskapsstatus,
Member Since,Medlem siden,
Payment ID,Betalings-ID,
Membership Settings,Medlemskapsinnstillinger,
Enable RazorPay For Memberships,Aktiver RazorPay for medlemskap,
RazorPay Settings,RazorPay-innstillinger,
Billing Cycle,Faktureringssyklus,
Billing Frequency,Faktureringsfrekvens,
"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Antall faktureringssykluser som kunden skal belastes for. For eksempel, hvis en kunde kjøper et års medlemskap som skal faktureres månedlig, bør denne verdien være 12.",
Razorpay Plan ID,Razorpay plan-ID,
Volunteer Name,Frivillig navn,
Volunteer Type,Frivillig Type,
Availability and Skills,Tilgjengelighet og ferdigheter,
Availability,Tilgjengelighet,
Weekends,helger,
Availability Timeslot,Tilgjengelighet Timeslot,
Morning,Morgen,
Afternoon,Ettermiddag,
Evening,Kveld,
Anytime,Når som helst,
Volunteer Skills,Frivillig Ferdigheter,
Volunteer Skill,Frivillig ferdighet,
Homepage,hjemmeside,
Hero Section Based On,Helteseksjon basert på,
Homepage Section,Hjemmeseksjonen,
Hero Section,Helteseksjonen,
Tag Line,tag Linje,
Company Tagline for website homepage,Selskapet Undertittel for nettstedet hjemmeside,
Company Description for website homepage,Selskapet beskrivelse for nettstedet hjemmeside,
Homepage Slideshow,Hjemmeside lysbildefremvisning,
"URL for ""All Products""",URL for &quot;Alle produkter&quot;,
Products to be shown on website homepage,Produkter som skal vises på nettstedet hjemmeside,
Homepage Featured Product,Hjemmeside Aktuelle produkter,
route,rute,
Section Based On,Seksjon basert på,
Section Cards,Seksjonskort,
Number of Columns,Antall kolonner,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Antall kolonner for denne delen. 3 kort vises per rad hvis du velger 3 kolonner.,
Section HTML,Seksjon HTML,
Use this field to render any custom HTML in the section.,Bruk dette feltet til å gjengi tilpasset HTML i seksjonen.,
Section Order,Seksjonsrekkefølge,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Ordre i hvilke seksjoner som skal vises. 0 er først, 1 er andre og så videre.",
Homepage Section Card,Startside seksjonskort,
Subtitle,Subtitle,
Products Settings,Produkter Innstillinger,
Home Page is Products,Hjemme side er produkter,
"If checked, the Home page will be the default Item Group for the website","Hvis det er merket, vil hjemmesiden være standard Varegruppe for nettstedet",
Show Availability Status,Vis tilgjengelighet Status,
Product Page,Produktside,
Products per Page,Produkter per side,
Enable Field Filters,Aktiver feltfiltre,
Item Fields,Varefelt,
Enable Attribute Filters,Aktiver attributtfiltre,
Attributes,Egenskaper,
Hide Variants,Skjul varianter,
Website Attribute,Nettstedets attributt,
Attribute,Attributt,
Website Filter Field,Nettstedets filterfelt,
Activity Cost,Aktivitet Kostnad,
Billing Rate,Billing Rate,
Costing Rate,Costing Rate,
title,tittel,
Projects User,Prosjekter User,
Default Costing Rate,Standard Koster Rate,
Default Billing Rate,Standard Billing pris,
Dependent Task,Avhengig Task,
Project Type,Prosjekttype,
% Complete Method,% Komplett Method,
Task Completion,Task Fullføring,
Task Progress,Task Progress,
% Completed,% Fullført,
From Template,Fra mal,
Project will be accessible on the website to these users,Prosjektet vil være tilgjengelig på nettstedet til disse brukerne,
Copied From,Kopiert fra,
Start and End Dates,Start- og sluttdato,
Actual Time (in Hours),Faktisk tid (i timer),
Costing and Billing,Kalkulasjon og fakturering,
Total Costing Amount (via Timesheets),Totalt kostende beløp (via tidsskrifter),
Total Expense Claim (via Expense Claims),Total Expense krav (via Utgifts Krav),
Total Purchase Cost (via Purchase Invoice),Total anskaffelseskost (via fakturaen),
Total Sales Amount (via Sales Order),Total salgsbeløp (via salgsordre),
Total Billable Amount (via Timesheets),Totalt fakturerbart beløp (via tidsskrifter),
Total Billed Amount (via Sales Invoices),Sum fakturert beløp (via salgsfakturaer),
Total Consumed Material Cost  (via Stock Entry),Total forbruket materialkostnad (via lagerinngang),
Gross Margin,Bruttomargin,
Gross Margin %,Bruttomargin%,
Monitor Progress,Monitor Progress,
Collect Progress,Samle fremgang,
Frequency To Collect Progress,Frekvens for å samle fremgang,
Twice Daily,To ganger daglig,
First Email,Første e-post,
Second Email,Andre e-post,
Time to send,Tid til å sende,
Day to Send,Dag å sende,
Message will be sent to the users to get their status on the Project,Melding vil bli sendt til brukerne for å få status på prosjektet,
Projects Manager,Prosjekter manager,
Project Template,Prosjektmal,
Project Template Task,Prosjektmaloppgave,
Begin On (Days),Begynn på (dager),
Duration (Days),Varighet (dager),
Project Update,Prosjektoppdatering,
Project User,prosjekt Bruker,
View attachments,Se vedlegg,
Projects Settings,Prosjekter Innstillinger,
Ignore Workstation Time Overlap,Ignorer arbeidsstasjonstidoverlapping,
Ignore User Time Overlap,Ignorer brukstidens overlapping,
Ignore Employee Time Overlap,Ignorer arbeidstakertidoverlapping,
Weight,Vekt,
Parent Task,Foreldreoppgave,
Timeline,Tidslinje,
Expected Time (in hours),Forventet tid (i timer),
% Progress,% Progress,
Is Milestone,Er Milestone,
Task Description,Oppgavebeskrivelse,
Dependencies,avhengig,
Dependent Tasks,Avhengige oppgaver,
Depends on Tasks,Avhenger Oppgaver,
Actual Start Date (via Time Sheet),Faktisk startdato (via Timeregistrering),
Actual Time (in hours),Virkelig tid (i timer),
Actual End Date (via Time Sheet),Faktisk Sluttdato (via Timeregistrering),
Total Costing Amount (via Time Sheet),Total Costing Beløp (via Timeregistrering),
Total Expense Claim (via Expense Claim),Total Expense krav (via Expense krav),
Total Billing Amount (via Time Sheet),Total Billing Beløp (via Timeregistrering),
Review Date,Omtale Dato,
Closing Date,Avslutningsdato,
Task Depends On,Task Avhenger,
Task Type,Oppgavetype,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Medarbeider Detalj,
Billing Details,Fakturadetaljer,
Total Billable Hours,Totalt fakturerbare timer,
Total Billed Hours,Totalt fakturert timer,
Total Costing Amount,Total koster Beløp,
Total Billable Amount,Total Fakturerbart Beløp,
Total Billed Amount,Total Fakturert beløp,
% Amount Billed,% Mengde Fakturert,
Hrs,timer,
Costing Amount,Costing Beløp,
Corrective/Preventive,Korrigerende / forebyggende,
Corrective,korrigerende,
Preventive,Forebyggende,
Resolution,Oppløsning,
Resolutions,resolusjoner,
Quality Action Resolution,Kvalitetshandlingsoppløsning,
Quality Feedback Parameter,Parameter for tilbakemelding av kvalitet,
Quality Feedback Template Parameter,Parameter for tilbakemelding av kvalitet,
Quality Goal,Kvalitetsmål,
Monitoring Frequency,Overvåkingsfrekvens,
Weekday,Weekday,
January-April-July-October,Januar-april-juli-oktober,
Revision and Revised On,Revisjon og revidert på,
Revision,Revisjon,
Revised On,Revidert på,
Objectives,Mål,
Quality Goal Objective,Kvalitetsmål,
Objective,Objektiv,
Agenda,Dagsorden,
Minutes,Minutter,
Quality Meeting Agenda,Kvalitetsmøte agenda,
Quality Meeting Minutes,Møtereferater for kvalitet,
Minute,Minutt,
Parent Procedure,Foreldreprosedyre,
Processes,prosesser,
Quality Procedure Process,Kvalitetsprosedyre,
Process Description,Prosess beskrivelse,
Child Procedure,Barneprosedyre,
Link existing Quality Procedure.,Koble eksisterende kvalitetsprosedyre.,
Additional Information,Tilleggsinformasjon,
Quality Review Objective,Mål for kvalitetsgjennomgang,
DATEV Settings,DATEV-innstillinger,
Regional,Regional,
Consultant ID,Konsulent ID,
GST HSN Code,GST HSN-kode,
HSN Code,HSN kode,
GST Settings,GST-innstillinger,
GST Summary,GST Sammendrag,
GSTIN Email Sent On,GSTIN Email Sent On,
GST Accounts,GST-kontoer,
B2C Limit,B2C Limit,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Angi fakturaverdi for B2C. B2CL og B2CS beregnet ut fra denne fakturaverdien.,
GSTR 3B Report,GSTR 3B-rapport,
January,januar,
February,februar,
March,mars,
April,april,
May,Kan,
June,juni,
July,juli,
August,august,
September,september,
October,oktober,
November,november,
December,desember,
JSON Output,JSON Output,
Invoices with no Place Of Supply,Fakturaer uten leveringssted,
Import Supplier Invoice,Importer leverandørfaktura,
Invoice Series,Fakturaserie,
Upload XML Invoices,Last opp XML-fakturaer,
Zip File,Zip-fil,
Import Invoices,Importer fakturaer,
Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Klikk på Importer faktura-knappen når zip-filen er festet til dokumentet. Eventuelle feil relatert til behandling vil bli vist i feilloggen.,
Lower Deduction Certificate,Lavere fradragsbevis,
Certificate Details,Sertifikatdetaljer,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194I,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,Sertifikat nr,
Deductee Details,Deductee Detaljer,
PAN No,PAN-nr,
Validity Details,Gyldighetsdetaljer,
Rate Of TDS As Per Certificate,TDS-frekvens per sertifikat,
Certificate Limit,Sertifikatgrense,
Invoice Series Prefix,Faktura Serie Prefiks,
Active Menu,Aktiv meny,
Restaurant Menu,Restaurantmeny,
Price List (Auto created),Prisliste (automatisk opprettet),
Restaurant Manager,Restaurantsjef,
Restaurant Menu Item,Restaurant menyelement,
Restaurant Order Entry,Restaurant Bestillingsinngang,
Restaurant Table,Restaurantbord,
Click Enter To Add,Klikk på Enter for å legge til,
Last Sales Invoice,Siste salgsfaktura,
Current Order,Nåværende ordre,
Restaurant Order Entry Item,Restaurant Bestillingsinngang,
Served,serveres,
Restaurant Reservation,Restaurantreservasjon,
Waitlisted,ventelisten,
No Show,Uteblivelse,
No of People,Ingen av mennesker,
Reservation Time,Reservasjonstid,
Reservation End Time,Reservasjons sluttid,
No of Seats,Antall plasser,
Minimum Seating,Minimum sitteplasser,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Hold orden på salgskampanjer. Hold styr på Leads, Sitater, Salgsordre etc fra kampanjer for å måle avkastning på investeringen.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Kampanjeplaner,
Buyer of Goods and Services.,Kjøper av varer og tjenester.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Standard firmaets bankkonto,
From Lead,Fra Lead,
Account Manager,Kontosjef,
Allow Sales Invoice Creation Without Sales Order,Tillat oppretting av salgsfaktura uten salgsordre,
Allow Sales Invoice Creation Without Delivery Note,Tillat oppretting av salgsfaktura uten leveringsnota,
Default Price List,Standard Prisliste,
Primary Address and Contact Detail,Primæradresse og kontaktdetaljer,
"Select, to make the customer searchable with these fields","Velg, for å gjøre kunden søkbar med disse feltene",
Customer Primary Contact,Kundens primære kontakt,
"Reselect, if the chosen contact is edited after save",Velg hvis den valgte kontakten redigeres etter lagre,
Customer Primary Address,Kunde hovedadresse,
"Reselect, if the chosen address is edited after save",Velg hvis den valgte adressen redigeres etter lagre,
Primary Address,hoved adresse,
Mention if non-standard receivable account,Nevn hvis ikke-standard fordring konto,
Credit Limit and Payment Terms,Kredittgrense og betalingsbetingelser,
Additional information regarding the customer.,Ytterligere informasjon om kunden.,
Sales Partner and Commission,Sales Partner og Kommisjonen,
Commission Rate,Kommisjon,
Sales Team Details,Salgsteam Detaljer,
Customer POS id,Kundens POS-ID,
Customer Credit Limit,Kredittkredittgrense,
Bypass Credit Limit Check at Sales Order,Bypass kredittgrense sjekke på salgsordre,
Industry Type,Industry Type,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Installasjonsdato,
Installation Time,Installasjon Tid,
Installation Note Item,Installasjon Merk Element,
Installed Qty,Installert antall,
Lead Source,Lead Source,
Period Start Date,Periode Startdato,
Period End Date,Periodens sluttdato,
Cashier,Kasserer,
Difference,Forskjell,
Modes of Payment,Betalingsmåter,
Linked Invoices,Koblede fakturaer,
POS Closing Voucher Details,POS Closing Voucher Detaljer,
Collected Amount,Samlet beløp,
Expected Amount,Forventet beløp,
POS Closing Voucher Invoices,POS Closing Voucher Fakturaer,
Quantity of Items,Antall gjenstander,
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Samlet gruppe ** Elementer ** i en annen ** Sak **. Dette er nyttig hvis du er bunting en viss ** Elementer ** inn i en pakke, og du opprettholde bestanden av de pakkede ** Elementer ** og ikke samlet ** Sak **. Pakken ** Sak ** vil ha &quot;Er Stock Item&quot; som &quot;Nei&quot; og &quot;Er Sales Item&quot; som &quot;Ja&quot;. For eksempel: Hvis du selger bærbare datamaskiner og ryggsekker separat og har en spesiell pris hvis kunden kjøper begge, så Laptop + Backpack vil være et nytt produkt Bundle varen. Merk: BOM = Bill of Materials",
Parent Item,Parent Element,
List items that form the package.,Listeelementer som danner pakken.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Sitat Å,
Rate at which customer's currency is converted to company's base currency,Hastigheten som kundens valuta er konvertert til selskapets hovedvaluta,
Rate at which Price list currency is converted to company's base currency,Hastigheten som Prisliste valuta er konvertert til selskapets hovedvaluta,
Additional Discount and Coupon Code,Ekstra rabatt- og kupongkode,
Referral Sales Partner,Henvisning Salgspartner,
In Words will be visible once you save the Quotation.,I Ord vil være synlig når du lagrer Tilbud.,
Term Details,Term Detaljer,
Quotation Item,Sitat Element,
Against Doctype,Mot Doctype,
Against Docname,Mot Docname,
Additional Notes,Ytterligere merknader,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Hopp over leveringsmerknad,
In Words will be visible once you save the Sales Order.,I Ord vil være synlig når du lagrer kundeordre.,
Track this Sales Order against any Project,Spor dette Salgsordre mot ethvert prosjekt,
Billing and Delivery Status,Fakturering og levering Status,
Not Delivered,Ikke levert,
Fully Delivered,Fullt Leveres,
Partly Delivered,Delvis Leveres,
Not Applicable,Gjelder ikke,
%  Delivered,% Leveres,
% of materials delivered against this Sales Order,% Av materialer leveres mot denne kundeordre,
% of materials billed against this Sales Order,% Av materialer fakturert mot denne kundeordre,
Not Billed,Ikke Fakturert,
Fully Billed,Fullt Fakturert,
Partly Billed,Delvis Fakturert,
Ensure Delivery Based on Produced Serial No,Sørg for levering basert på produsert serienummer,
Supplier delivers to Customer,Leverandør leverer til kunden,
Delivery Warehouse,Levering Warehouse,
Planned Quantity,Planlagt Antall,
For Production,For Production,
Work Order Qty,Arbeidsordre Antall,
Produced Quantity,Produsert Antall,
Used for Production Plan,Brukes for Produksjonsplan,
Sales Partner Type,Salgspartner Type,
Contact No.,Kontaktnummer.,
Contribution (%),Bidrag (%),
Contribution to Net Total,Bidrag til Net Total,
Selling Settings,Selge Innstillinger,
Settings for Selling Module,Innstillinger for å selge Module,
Customer Naming By,Kunden Naming Av,
Campaign Naming By,Kampanje Naming Av,
Default Customer Group,Standard Kundegruppe,
Default Territory,Standard Territory,
Close Opportunity After Days,Lukk mulighet da Days,
Auto close Opportunity after 15 days,Auto nær mulighet etter 15 dager,
Default Quotation Validity Days,Standard Quotation Gyldighetsdager,
Sales Update Frequency,Salgsoppdateringsfrekvens,
How often should project and company be updated based on Sales Transactions.,Hvor ofte skal prosjektet og selskapet oppdateres basert på salgstransaksjoner.,
Each Transaction,Hver transaksjon,
Allow user to edit Price List Rate in transactions,Tillater brukeren å redigere Prisliste Rate i transaksjoner,
Allow multiple Sales Orders against a Customer's Purchase Order,Tillat flere salgsordrer mot kundens innkjøpsordre,
Validate Selling Price for Item against Purchase Rate or Valuation Rate,Validere salgspris for varen mot Purchase Rate Verdivurdering Ranger,
Hide Customer's Tax Id from Sales Transactions,Skjule Kundens Tax ID fra salgstransaksjoner,
SMS Center,SMS-senter,
Send To,Send Til,
All Contact,All kontakt,
All Customer Contact,All Kundekontakt,
All Supplier Contact,All Leverandør Kontakt,
All Sales Partner Contact,All Sales Partner Kontakt,
All Lead (Open),All Lead (Open),
All Employee (Active),All Employee (Active),
All Sales Person,All Sales Person,
Create Receiver List,Lag Receiver List,
Receiver List,Mottaker List,
Messages greater than 160 characters will be split into multiple messages,Meldinger som er større enn 160 tegn vil bli delt inn i flere meldinger,
Total Characters,Totalt tegn,
Total Message(s),Total melding (er),
Authorization Control,Autorisasjon kontroll,
Authorization Rule,Autorisasjon Rule,
Average Discount,Gjennomsnittlig Rabatt,
Customerwise Discount,Customerwise Rabatt,
Itemwise Discount,Itemwise Rabatt,
Customer or Item,Kunden eller Element,
Customer / Item Name,Kunde / Navn,
Authorized Value,Autorisert Verdi,
Applicable To (Role),Gjelder til (Role),
Applicable To (Employee),Gjelder til (Employee),
Applicable To (User),Gjelder til (User),
Applicable To (Designation),Gjelder til (Betegnelse),
Approving Role (above authorized value),Godkjenne Role (ovenfor autorisert verdi),
Approving User  (above authorized value),Godkjenne Bruker (ovenfor autorisert verdi),
Brand Defaults,Standard for merkevare,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Legal Entity / Datterselskap med en egen konto tilhørighet til organisasjonen.,
Change Abbreviation,Endre Forkortelse,
Parent Company,Moderselskap,
Default Values,Standardverdier,
Default Holiday List,Standard Holiday List,
Default Selling Terms,Standard salgsbetingelser,
Default Buying Terms,Standard kjøpsbetingelser,
Create Chart Of Accounts Based On,Opprett kontoplan basert på,
Standard Template,standard Template,
Existing Company,Eksisterende selskap,
Chart Of Accounts Template,Konto Mal,
Existing Company ,eksisterende selskapet,
Date of Establishment,Dato for etablering,
Sales Settings,Salgsinnstillinger,
Monthly Sales Target,Månedlig salgsmål,
Sales Monthly History,Salg Månedlig historie,
Transactions Annual History,Transaksjoner Årlig Historie,
Total Monthly Sales,Totalt månedlig salg,
Default Cash Account,Standard Cash konto,
Default Receivable Account,Standard fordringer konto,
Round Off Cost Center,Rund av kostnadssted,
Discount Allowed Account,Tillatt rabattkonto,
Discount Received Account,Mottatt konto,
Exchange Gain / Loss Account,Valutagevinst / tap-konto,
Unrealized Exchange Gain/Loss Account,Urealisert Exchange Gain / Loss-konto,
Allow Account Creation Against Child Company,Tillat kontooppretting mot barneselskap,
Default Payable Account,Standard Betales konto,
Default Employee Advance Account,Standard ansattskonto,
Default Cost of Goods Sold Account,Standard varekostnader konto,
Default Income Account,Standard Inntekt konto,
Default Deferred Revenue Account,Standard Utsatt Inntektskonto,
Default Deferred Expense Account,Standard utsatt utgiftskonto,
Default Payroll Payable Account,Standard Lønn betales konto,
Default Expense Claim Payable Account,Standardkostnadskrav Betalbar konto,
Stock Settings,Aksje Innstillinger,
Enable Perpetual Inventory,Aktiver evigvarende beholdning,
Default Inventory Account,Standard lagerkonto,
Stock Adjustment Account,Stock Adjustment konto,
Fixed Asset Depreciation Settings,Fast Asset Avskrivninger Innstillinger,
Series for Asset Depreciation Entry (Journal Entry),Serie for Asset Depreciation Entry (Journal Entry),
Gain/Loss Account on Asset Disposal,Gevinst / tap-konto på Asset Avhending,
Asset Depreciation Cost Center,Asset Avskrivninger kostnadssted,
Budget Detail,Budsjett Detalj,
Exception Budget Approver Role,Unntak Budget Approver Rolle,
Company Info,Selskap Info,
For reference only.,For referanse.,
Company Logo,Firmalogo,
Date of Incorporation,Stiftelsesdato,
Date of Commencement,Dato for oppstart,
Phone No,Telefonnr,
Company Description,foretaksbeskrivelse,
Registration Details,Registrering Detaljer,
Company registration numbers for your reference. Tax numbers etc.,Firmaregistreringsnumre som referanse. Skatte tall osv,
Delete Company Transactions,Slett transaksjoner,
Currency Exchange,Valutaveksling,
Specify Exchange Rate to convert one currency into another,Spesifiser Exchange Rate å konvertere en valuta til en annen,
From Currency,Fra Valuta,
To Currency,Å Valuta,
For Buying,For kjøp,
For Selling,For Selg,
Customer Group Name,Kundegruppenavn,
Parent Customer Group,Parent Kundegruppe,
Only leaf nodes are allowed in transaction,Bare bladnoder er tillatt i transaksjonen,
Mention if non-standard receivable account applicable,Nevn hvis ikke-standard fordring konto aktuelt,
Credit Limits,Kredittgrenser,
Email Digest,E-post Digest,
Send regular summary reports via Email.,Send vanlige oppsummeringsrapporter via e-post.,
Email Digest Settings,E-post Digest Innstillinger,
How frequently?,Hvor ofte?,
Next email will be sent on:,Neste post vil bli sendt på:,
Note: Email will not be sent to disabled users,Merk: E-post vil ikke bli sendt til funksjonshemmede brukere,
Profit & Loss,Profitt tap,
New Income,New Inntekt,
New Expenses,nye Utgifter,
Annual Income,Årsinntekt,
Annual Expenses,årlige utgifter,
Bank Balance,Bank Balanse,
Bank Credit Balance,Bankens saldo,
Receivables,Fordringer,
Payables,Gjeld,
Sales Orders to Bill,Salgsordre til regning,
Purchase Orders to Bill,Innkjøpsordrer til Bill,
New Sales Orders,Nye salgsordrer,
New Purchase Orders,Nye innkjøpsordrer,
Sales Orders to Deliver,Salgsordre for levering,
Purchase Orders to Receive,Innkjøpsordre for å motta,
New Purchase Invoice,Ny innkjøpsfaktura,
New Quotations,Nye Sitater,
Open Quotations,Åpne tilbud,
Open Issues,Åpne problemer,
Open Projects,Åpne prosjekter,
Purchase Orders Items Overdue,Innkjøpsordreelementer Forfalt,
Upcoming Calendar Events,Kommende kalenderhendelser,
Open To Do,Åpen for å gjøre,
Add Quote,Legg Sitat,
Global Defaults,Global Defaults,
Default Company,Standard selskapet,
Current Fiscal Year,Værende regnskapsår,
Default Distance Unit,Standard avstandsenhet,
Hide Currency Symbol,Skjule Valutasymbol,
Do not show any symbol like $ etc next to currencies.,Ikke viser noen symbol som $ etc ved siden av valutaer.,
"If disable, 'Rounded Total' field will not be visible in any transaction","Hvis deaktivere, &#39;Rounded Total-feltet ikke vil være synlig i enhver transaksjon",
Disable In Words,Deaktiver I Ord,
"If disable, 'In Words' field will not be visible in any transaction","Hvis deaktivere, &#39;I Ord-feltet ikke vil være synlig i enhver transaksjon",
Item Classification,Sak Klassifisering,
General Settings,Generelle Innstillinger,
Item Group Name,Sak Gruppenavn,
Parent Item Group,Parent varegruppe,
Item Group Defaults,Vare Gruppe Standard,
Item Tax,Sak Skatte,
Check this if you want to show in website,Sjekk dette hvis du vil vise på nettstedet,
Show this slideshow at the top of the page,Vis lysbildefremvisning på toppen av siden,
HTML / Banner that will show on the top of product list.,HTML / Banner som vil vises på toppen av listen over produkter.,
Set prefix for numbering series on your transactions,Still prefiks for nummerering serien på dine transaksjoner,
Setup Series,Oppsett Series,
Select Transaction,Velg Transaksjons,
Help HTML,Hjelp HTML,
Series List for this Transaction,Serien Liste for denne transaksjonen,
User must always select,Brukeren må alltid velge,
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Sjekk dette hvis du vil tvinge brukeren til å velge en serie før du lagrer. Det blir ingen standard hvis du sjekke dette.,
Update Series,Update-serien,
Change the starting / current sequence number of an existing series.,Endre start / strøm sekvensnummer av en eksisterende serie.,
Prefix,Prefix,
Current Value,Nåværende Verdi,
This is the number of the last created transaction with this prefix,Dette er nummeret på den siste laget transaksjonen med dette prefikset,
Update Series Number,Update-serien Nummer,
Quotation Lost Reason,Sitat av Lost Reason,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,En tredjepart distributør / forhandler / kommisjonær / agent / forhandler som selger selskaper produkter for en kommisjon.,
Sales Partner Name,Sales Partner Name,
Partner Type,Partner Type,
Address & Contacts,Adresse og Kontakt,
Address Desc,Adresse Desc,
Contact Desc,Kontakt Desc,
Sales Partner Target,Sales Partner Target,
Targets,Targets,
Show In Website,Show I Website,
Referral Code,Henvisningskode,
To Track inbound purchase,For å spore inngående kjøp,
Logo,Logo,
Partner website,partner nettstedet,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Alle salgstransaksjoner kan være merket mot flere ** Salgs Personer ** slik at du kan stille inn og overvåke mål.,
Name and Employee ID,Navn og Employee ID,
Sales Person Name,Sales Person Name,
Parent Sales Person,Parent Sales Person,
Select company name first.,Velg firmanavn først.,
Sales Person Targets,Sales Person Targets,
Set targets Item Group-wise for this Sales Person.,Sette mål varegruppe-messig for Sales Person.,
Supplier Group Name,Leverandørgruppens navn,
Parent Supplier Group,Foreldre Leverandørgruppe,
Target Detail,Target Detalj,
Target Qty,Target Antall,
Target  Amount,Target Beløp,
Target Distribution,Target Distribution,
"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Standardvilkårene som kan legges til salg og kjøp. Eksempler: 1. Gyldighet av tilbudet. 1. Betalingsvilkår (på forhånd, på kreditt, del forhånd etc). 1. Hva er ekstra (eller skal betales av kunden). 1. Sikkerhet / bruk advarsel. 1. Garanti om noen. 1. Returrett. 1. Vilkår for frakt, hvis aktuelt. 1. Måter adressering tvister, erstatning, ansvar, etc. 1. Adresse og kontakt med din bedrift.",
Applicable Modules,Gjeldende moduler,
Terms and Conditions Help,Betingelser Hjelp,
Classification of Customers by region,Klassifisering av kunder etter region,
Territory Name,Territorium Name,
Parent Territory,Parent Territory,
Territory Manager,Distriktssjef,
For reference,For referanse,
Territory Targets,Terri Targets,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Set varegruppe-messig budsjetter på dette territoriet. Du kan også inkludere sesongvariasjoner ved å sette Distribution.,
UOM Name,Målenheter Name,
Check this to disallow fractions. (for Nos),Sjekk dette for å forby fraksjoner. (For Nos),
Website Item Group,Website varegruppe,
Cross Listing of Item in multiple groups,Cross Notering av varen i flere grupper,
Default settings for Shopping Cart,Standardinnstillingene for handlekurv,
Enable Shopping Cart,Aktiver Handlevogn,
Display Settings,Skjerminnstillinger,
Show Public Attachments,Vis offentlige vedlegg,
Show Price,Vis pris,
Show Stock Availability,Vis lager tilgjengelighet,
Show Contact Us Button,Vis Kontakt oss-knappen,
Show Stock Quantity,Vis lager Antall,
Show Apply Coupon Code,Vis Bruk kupongkode,
Allow items not in stock to be added to cart,La varer som ikke er på lager legges i handlekurven,
Prices will not be shown if Price List is not set,Prisene vil ikke bli vist hvis prislisten er ikke satt,
Quotation Series,Sitat Series,
Checkout Settings,Kasse Innstillinger,
Enable Checkout,aktiver kassen,
Payment Success Url,Betaling Suksess URL,
After payment completion redirect user to selected page.,Etter betaling ferdigstillelse omdirigere brukeren til valgt side.,
Batch Details,Batchdetaljer,
Batch ID,Batch ID,
image,bilde,
Parent Batch,Parent Batch,
Manufacturing Date,Produksjonsdato,
Batch Quantity,Batchantall,
Batch UOM,Batch UOM,
Source Document Type,Kilde dokumenttype,
Source Document Name,Kilde dokumentnavn,
Batch Description,Batch Beskrivelse,
Bin,Bin,
Reserved Quantity,Reservert Antall,
Actual Quantity,Selve Antall,
Requested Quantity,Requested Antall,
Reserved Qty for sub contract,Reservert antall for kontrakt,
Moving Average Rate,Moving Gjennomsnittlig pris,
FCFS Rate,FCFS Rate,
Customs Tariff Number,Tolltariffen nummer,
Tariff Number,tariff Antall,
Delivery To,Levering Å,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,Er Return,
Issue Credit Note,Utstedelseskreditnotat,
Return Against Delivery Note,Tilbake mot følgeseddel,
Customer's Purchase Order No,Kundens innkjøpsordre Nei,
Billing Address Name,Billing Address Navn,
Required only for sample item.,Kreves bare for prøve element.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Hvis du har opprettet en standard mal i salgs skatter og avgifter mal, velger du ett og klikk på knappen under.",
In Words will be visible once you save the Delivery Note.,I Ord vil være synlig når du lagrer følgeseddel.,
In Words (Export) will be visible once you save the Delivery Note.,I Words (eksport) vil være synlig når du lagrer følgeseddel.,
Transporter Info,Transporter Info,
Driver Name,Drivernavn,
Track this Delivery Note against any Project,Spor dette følgeseddel mot ethvert prosjekt,
Inter Company Reference,Inter Company Reference,
Print Without Amount,Skriv ut Uten Beløp,
% Installed,% Installert,
% of materials delivered against this Delivery Note,% Av materialer leveres mot denne følgeseddel,
Installation Status,Installasjon Status,
Excise Page Number,Vesenet Page Number,
Instructions,Bruksanvisning,
From Warehouse,Fra Warehouse,
Against Sales Order,Mot Salgsordre,
Against Sales Order Item,Mot kundeordreposisjon,
Against Sales Invoice,Mot Salg Faktura,
Against Sales Invoice Item,Mot Salg Faktura Element,
Available Batch Qty at From Warehouse,Tilgjengelig Batch Antall på From Warehouse,
Available Qty at From Warehouse,Tilgjengelig Antall på From Warehouse,
Delivery Settings,Leveringsinnstillinger,
Dispatch Settings,Dispatch Settings,
Dispatch Notification Template,Forsendelsesvarslingsmal,
Dispatch Notification Attachment,Dispatch Notification Attachment,
Leave blank to use the standard Delivery Note format,La stå tomt for å bruke standardleveringsformat,
Send with Attachment,Send med vedlegg,
Delay between Delivery Stops,Forsinkelse mellom Leveringsstopp,
Delivery Stop,Leveringsstopp,
Lock,Låse,
Visited,Besøkte,
Order Information,BESTILLINGSINFORMASJON,
Contact Information,Kontaktinformasjon,
Email sent to,E-post sendt Å,
Dispatch Information,Leveringsinformasjon,
Estimated Arrival,forventet ankomst,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Innledende e-postvarsling sendt,
Delivery Details,Levering Detaljer,
Driver Email,Driver-e-post,
Driver Address,Driveradresse,
Total Estimated Distance,Totalt estimert avstand,
Distance UOM,Avstand UOM,
Departure Time,Avgangstid,
Delivery Stops,Levering stopper,
Calculate Estimated Arrival Times,Beregn anslåtte ankomsttider,
Use Google Maps Direction API to calculate estimated arrival times,Bruk Google Maps Direction API for å beregne estimerte ankomsttider,
Optimize Route,Optimaliser rute,
Use Google Maps Direction API to optimize route,Bruk Google Maps Direction API for å optimalisere ruten,
In Transit,I transitt,
Fulfillment User,Fulfillment User,
"A Product or a Service that is bought, sold or kept in stock.","Et produkt eller en tjeneste som er kjøpt, solgt eller holdes på lager.",
STO-ITEM-.YYYY.-,STO-SAK-.YYYY.-,
Variant Of,Variant av,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Hvis elementet er en variant av et annet element da beskrivelse, image, priser, avgifter osv vil bli satt fra malen uten eksplisitt spesifisert",
Is Item from Hub,Er element fra nav,
Default Unit of Measure,Standard måleenhet,
Maintain Stock,Oppretthold Stock,
Standard Selling Rate,Standard salgskurs,
Auto Create Assets on Purchase,Lag automatisk eiendeler ved kjøp,
Asset Naming Series,Asset Naming Series,
Over Delivery/Receipt Allowance (%),Overlevering / kvitteringsgodtgjørelse (%),
Barcodes,strek~~POS=TRUNC,
Shelf Life In Days,Holdbarhet i dager,
End of Life,Slutten av livet,
Default Material Request Type,Standard Material Request Type,
Valuation Method,Verdsettelsesmetode,
FIFO,FIFO,
Moving Average,Glidende gjennomsnitt,
Warranty Period (in days),Garantiperioden (i dager),
Auto re-order,Auto re-order,
Reorder level based on Warehouse,Omgjøre nivå basert på Warehouse,
Will also apply for variants unless overrridden,Vil også gjelde for varianter med mindre overrridden,
Units of Measure,Måleenheter,
Will also apply for variants,Vil også gjelde for varianter,
Serial Nos and Batches,Serienummer og partier,
Has Batch No,Har Batch No,
Automatically Create New Batch,Opprett automatisk ny batch automatisk,
Batch Number Series,Batchnummer Serie,
"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Eksempel: ABCD. #####. Hvis serier er satt og Batch nr ikke er nevnt i transaksjoner, vil automatisk batchnummer bli opprettet basert på denne serien. Hvis du alltid vil uttrykkelig nevne Batch nr for dette elementet, la dette være tomt. Merk: Denne innstillingen vil ha prioritet i forhold til Naming Series Prefix i lagerinnstillinger.",
Has Expiry Date,Har utløpsdato,
Retain Sample,Behold prøve,
Max Sample Quantity,Maks antall prøver,
Maximum sample quantity that can be retained,Maksimal prøvemengde som kan beholdes,
Has Serial No,Har Serial No,
Serial Number Series,Serienummer Series,
"Example: ABCD.#####\nIf 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.","Eksempel:. ABCD ##### Hvis serien er satt og serienummer er ikke nevnt i transaksjoner, og deretter automatisk serienummer vil bli opprettet basert på denne serien. Hvis du alltid vil eksplisitt nevne Serial Nos for dette elementet. la dette stå tomt.",
Variants,Varianter,
Has Variants,Har Varianter,
"If this item has variants, then it cannot be selected in sales orders etc.","Hvis dette elementet har varianter, så det kan ikke velges i salgsordrer etc.",
Variant Based On,Variant basert på,
Item Attribute,Sak Egenskap,
"Sales, Purchase, Accounting Defaults","Salg, kjøp, regnskapsstandarder",
Item Defaults,Elementinnstillinger,
"Purchase, Replenishment Details","Informasjon om kjøp, påfyll",
Is Purchase Item,Er Purchase Element,
Default Purchase Unit of Measure,Standard innkjøpsenhet for mål,
Minimum Order Qty,Minimum Antall,
Minimum quantity should be as per Stock UOM,Minimumsmengde bør være som per lager UOM,
Average time taken by the supplier to deliver,Gjennomsnittlig tid tatt av leverandøren til å levere,
Is Customer Provided Item,Er kunden gitt varen,
Delivered by Supplier (Drop Ship),Levert av Leverandør (Drop Ship),
Supplier Items,Leverandør Items,
Foreign Trade Details,Foreign Trade Detaljer,
Country of Origin,Opprinnelsesland,
Sales Details,Salgs Detaljer,
Default Sales Unit of Measure,Standard salgsmengde av mål,
Is Sales Item,Er Sales Element,
Max Discount (%),Max Rabatt (%),
No of Months,Antall måneder,
Customer Items,Kunde Items,
Inspection Criteria,Inspeksjon Kriterier,
Inspection Required before Purchase,Inspeksjon Påkrevd før kjøp,
Inspection Required before Delivery,Inspeksjon Påkrevd før Levering,
Default BOM,Standard BOM,
Supply Raw Materials for Purchase,Leverer råvare til Purchase,
If subcontracted to a vendor,Dersom underleverandør til en leverandør,
Customer Code,Kunden Kode,
Default Item Manufacturer,Standardprodusent,
Default Manufacturer Part No,Standard produsentens varenummer,
Show in Website (Variant),Vis i Website (Variant),
Items with higher weightage will be shown higher,Elementer med høyere weightage vil bli vist høyere,
Show a slideshow at the top of the page,Vis en lysbildeserie på toppen av siden,
Website Image,Nettstedets bilde,
Website Warehouse,Nettsted Warehouse,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Vis &quot;på lager&quot; eller &quot;Not in Stock&quot; basert på lager tilgjengelig i dette lageret.,
Website Item Groups,Website varegrupper,
List this Item in multiple groups on the website.,Liste denne vare i flere grupper på nettstedet.,
Copy From Item Group,Kopier fra varegruppe,
Website Content,Innhold på nettstedet,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Du kan bruke hvilken som helst gyldig Bootstrap 4-markering i dette feltet. Det vil vises på varesiden din.,
Total Projected Qty,Samlet forventet Antall,
Hub Publishing Details,Hub Publishing Detaljer,
Publish in Hub,Publisere i Hub,
Publish Item to hub.erpnext.com,Publiser varen til hub.erpnext.com,
Hub Category to Publish,Hub kategori for publisering,
Hub Warehouse,Hub lager,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Publiser &quot;På lager&quot; eller &quot;Ikke på lager&quot; på Hub basert på lager tilgjengelig i dette varehuset.,
Synced With Hub,Synkronisert Med Hub,
Item Alternative,Element Alternativt,
Alternative Item Code,Alternativ produktkode,
Two-way,Toveis,
Alternative Item Name,Alternativt varenavn,
Attribute Name,Attributt navn,
Numeric Values,Numeriske verdier,
From Range,Fra Range,
Increment,Tilvekst,
To Range,Range,
Item Attribute Values,Sak attributtverdier,
Item Attribute Value,Sak data Verdi,
Attribute Value,Attributtverdi,
Abbreviation,Forkortelse,
"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Dette vil bli lagt til Element Code of varianten. For eksempel, hvis din forkortelsen er &quot;SM&quot;, og elementet kode er &quot;T-SHIRT&quot;, elementet koden til variant vil være &quot;T-SHIRT-SM&quot;",
Item Barcode,Sak Barcode,
Barcode Type,Strekkode Type,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Sak Customer Detalj,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","For det lettere for kunder, kan disse kodene brukes i trykte formater som regningene og leveringssedlene",
Ref Code,Ref Kode,
Item Default,Element Standard,
Purchase Defaults,Kjøpsstandarder,
Default Buying Cost Center,Standard Kjøpe kostnadssted,
Default Supplier,Standard Leverandør,
Default Expense Account,Standard kostnadskonto,
Sales Defaults,Salgsstandard,
Default Selling Cost Center,Standard Selling kostnadssted,
Item Manufacturer,varen Produsent,
Item Price,Sak Pris,
Packing Unit,Pakkeenhet,
Quantity  that must be bought or sold per UOM,Mengde som må kjøpes eller selges per UOM,
Item Quality Inspection Parameter,Sak Quality Inspection Parameter,
Acceptance Criteria,Akseptkriterier,
Item Reorder,Sak Omgjøre,
Check in (group),Sjekk inn (gruppe),
Request for,Forespørsel etter,
Re-order Level,Re-Order nivå,
Re-order Qty,Re-Order Antall,
Item Supplier,Sak Leverandør,
Item Variant,Sak Variant,
Item Variant Attribute,Sak Variant Egenskap,
Do not update variants on save,Ikke oppdater varianter på lagre,
Fields will be copied over only at time of creation.,Feltene vil bli kopiert bare på tidspunktet for opprettelsen.,
Allow Rename Attribute Value,Tillat omdøpe attributtverdi,
Rename Attribute Value in Item Attribute.,Endre navn på Attribute Value i Item Attribute.,
Copy Fields to Variant,Kopier felt til variant,
Item Website Specification,Sak Nettsted Spesifikasjon,
Table for Item that will be shown in Web Site,Tabell for element som vil bli vist på nettsiden,
Landed Cost Item,Landed Cost Element,
Receipt Document Type,Kvittering dokumenttype,
Receipt Document,kvittering Document,
Applicable Charges,Gjeldende avgifter,
Purchase Receipt Item,Kvitteringen Element,
Landed Cost Purchase Receipt,Landed Cost Kjøpskvittering,
Landed Cost Taxes and Charges,Landed Cost skatter og avgifter,
Landed Cost Voucher,Landed Cost Voucher,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Kjøps Kvitteringer,
Purchase Receipt Items,Kvitteringen Items,
Get Items From Purchase Receipts,Få elementer fra innkjøps Receipts,
Distribute Charges Based On,Distribuere Kostnader Based On,
Landed Cost Help,Landed Cost Hjelp,
Manufacturers used in Items,Produsenter som brukes i Items,
Limited to 12 characters,Begrenset til 12 tegn,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Partially Ordered,Delvis bestilt,
Transferred,overført,
% Ordered,% Bestilt,
Terms and Conditions Content,Betingelser innhold,
Quantity and Warehouse,Kvantitet og Warehouse,
Lead Time Date,Lead Tid Dato,
Min Order Qty,Min Bestill Antall,
Packed Item,Pakket Element,
To Warehouse (Optional),Til Warehouse (valgfritt),
Actual Batch Quantity,Faktisk batchmengde,
Prevdoc DocType,Prevdoc DOCTYPE,
Parent Detail docname,Parent Detail docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generere pakksedler for pakker som skal leveres. Brukes til å varsle pakke nummer, innholdet i pakken og vekten.",
Indicates that the package is a part of this delivery (Only Draft),Indikerer at pakken er en del av denne leveransen (Kun Draft),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Fra Package No.,
Identification of the package for the delivery (for print),Identifikasjon av pakken for levering (for print),
To Package No.,Å pakke No.,
If more than one package of the same type (for print),Hvis mer enn en pakke av samme type (for print),
Package Weight Details,Pakken vektdetaljer,
The net weight of this package. (calculated automatically as sum of net weight of items),Nettovekten av denne pakken. (Automatisk beregnet som summen av nettovekt elementer),
Net Weight UOM,Vekt målenheter,
Gross Weight,Bruttovekt,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Totalvekten av pakken. Vanligvis nettovekt + emballasjematerialet vekt. (For utskrift),
Gross Weight UOM,Bruttovekt målenheter,
Packing Slip Item,Pakking Slip Element,
DN Detail,DN Detalj,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Material Transfer for Produksjon,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Antall råvarer blir bestemt ut fra mengden av ferdige varer,
Parent Warehouse,Parent Warehouse,
Items under this warehouse will be suggested,Varer under dette lageret vil bli foreslått,
Get Item Locations,Få vareposisjoner,
Item Locations,Vareposisjoner,
Pick List Item,Velg listevare,
Picked Qty,Valgt antall,
Price List Master,Prisliste Master,
Price List Name,Prisliste Name,
Price Not UOM Dependent,Pris ikke UOM-avhengig,
Applicable for Countries,Gjelder for Land,
Price List Country,Prisliste Land,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Leverandørleverans Note,
Time at which materials were received,Tidspunktet for når materialene ble mottatt,
Return Against Purchase Receipt,Tilbake Against Kjøpskvittering,
Rate at which supplier's currency is converted to company's base currency,Hastigheten som leverandørens valuta er konvertert til selskapets hovedvaluta,
Sets 'Accepted Warehouse' in each row of the items table.,Angir &#39;Godkjent lager&#39; i hver rad i varetabellen.,
Sets 'Rejected Warehouse' in each row of the items table.,Angir &#39;Avvist lager&#39; i hver rad i varetabellen.,
Raw Materials Consumed,Råvarer forbrukes,
Get Current Stock,Få Current Stock,
Consumed Items,Forbrukte varer,
Add / Edit Taxes and Charges,Legg til / Rediger skatter og avgifter,
Auto Repeat Detail,Auto Repeat Detail,
Transporter Details,Transporter Detaljer,
Vehicle Number,Vehicle Number,
Vehicle Date,Vehicle Dato,
Received and Accepted,Mottatt og akseptert,
Accepted Quantity,Akseptert Antall,
Rejected Quantity,Avvist Antall,
Accepted Qty as per Stock UOM,Akseptert antall per lager UOM,
Sample Quantity,Prøvekvantitet,
Rate and Amount,Rate og Beløp,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Rapporter Date,
Inspection Type,Inspeksjon Type,
Item Serial No,Sak Serial No,
Sample Size,Sample Size,
Inspected By,Inspisert av,
Readings,Readings,
Quality Inspection Reading,Quality Inspection Reading,
Reading 1,Lesing 1,
Reading 2,Reading 2,
Reading 3,Reading 3,
Reading 4,Reading 4,
Reading 5,Reading 5,
Reading 6,Reading 6,
Reading 7,Reading 7,
Reading 8,Reading 8,
Reading 9,Lese 9,
Reading 10,Lese 10,
Quality Inspection Template Name,Kvalitetsinspeksjonsmalnavn,
Quick Stock Balance,Rask aksjebalanse,
Available Quantity,Tilgjengelig mengde,
Distinct unit of an Item,Distinkt enhet av et element,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Lageret kan bare endres via Stock Entry / følgeseddel / Kjøpskvittering,
Purchase / Manufacture Details,Kjøp / Produksjon Detaljer,
Creation Document Type,Creation dokumenttype,
Creation Document No,Creation Dokument nr,
Creation Date,Dato opprettet,
Creation Time,Creation Tid,
Asset Details,Eiendomsdetaljer,
Asset Status,Asset Status,
Delivery Document Type,Levering dokumenttype,
Delivery Document No,Levering Dokument nr,
Delivery Time,Leveringstid,
Invoice Details,Fakturadetaljer,
Warranty / AMC Details,Garanti / AMC Detaljer,
Warranty Expiry Date,Garantiutløpsdato,
AMC Expiry Date,AMC Utløpsdato,
Under Warranty,Under Garanti,
Out of Warranty,Ut av Garanti,
Under AMC,Under AMC,
Out of AMC,Ut av AMC,
Warranty Period (Days),Garantiperioden (dager),
Serial No Details,Serie ingen opplysninger,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Lagerinngangstype,
Stock Entry (Outward GIT),Lagerinngang (utad GIT),
Material Consumption for Manufacture,Materialforbruk for produksjon,
Repack,Pakk,
Send to Subcontractor,Send til underleverandør,
Delivery Note No,Levering Note Nei,
Sales Invoice No,Salg Faktura Nei,
Purchase Receipt No,Kvitteringen Nei,
Inspection Required,Inspeksjon påkrevd,
From BOM,Fra BOM,
For Quantity,For Antall,
As per Stock UOM,Pr Stock målenheter,
Including items for sub assemblies,Inkludert elementer for sub samlinger,
Default Source Warehouse,Standardkilde Warehouse,
Source Warehouse Address,Source Warehouse Adresse,
Default Target Warehouse,Standard Target Warehouse,
Target Warehouse Address,Mållageradresse,
Update Rate and Availability,Oppdateringsfrekvens og tilgjengelighet,
Total Incoming Value,Total Innkommende Verdi,
Total Outgoing Value,Total Utgående verdi,
Total Value Difference (Out - In),Total verdi Difference (ut -),
Additional Costs,Tilleggskostnader,
Total Additional Costs,Samlede merkostnader,
Customer or Supplier Details,Kunde eller leverandør Detaljer,
Per Transferred,Per overført,
Stock Entry Detail,Stock Entry Detail,
Basic Rate (as per Stock UOM),Basic Rate (som per Stock målenheter),
Basic Amount,Grunnbeløp,
Additional Cost,Tilleggs Cost,
Serial No / Batch,Serial No / Batch,
BOM No. for a Finished Good Item,BOM No. for et ferdig God Sak,
Material Request used to make this Stock Entry,Materialet Request brukes til å gjøre dette lager Entry,
Subcontracted Item,Underleverandør,
Against Stock Entry,Mot aksjeoppføring,
Stock Entry Child,Lagerinngangsbarn,
PO Supplied Item,PO levert vare,
Reference Purchase Receipt,Referansekjøpskvittering,
Stock Ledger Entry,Stock Ledger Entry,
Outgoing Rate,Utgående Rate,
Actual Qty After Transaction,Selve Antall Etter Transaksjons,
Stock Value Difference,Stock Verdi Difference,
Stock Queue (FIFO),Stock Queue (FIFO),
Is Cancelled,Er Avlyst,
Stock Reconciliation,Stock Avstemming,
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Dette verktøyet hjelper deg til å oppdatere eller fikse mengde og verdsetting av aksjer i systemet. Det er vanligvis brukes til å synkronisere systemverdier og hva som faktisk eksisterer i ditt varehus.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Avstemming JSON,
Stock Reconciliation Item,Stock Avstemming Element,
Before reconciliation,Før avstemming,
Current Serial No,Gjeldende serienr,
Current Valuation Rate,Nåværende Verdivurdering Rate,
Current Amount,Gjeldende Beløp,
Quantity Difference,Antall Difference,
Amount Difference,beløp Difference,
Item Naming By,Sak Naming Av,
Default Item Group,Standard varegruppe,
Default Stock UOM,Standard Stock målenheter,
Sample Retention Warehouse,Prøvebehandlingslager,
Default Valuation Method,Standard verdsettelsesmetode,
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.,Prosentvis du har lov til å motta eller levere mer mot antall bestilte produkter. For eksempel: Hvis du har bestilt 100 enheter. og din Fradrag er 10% så du har lov til å motta 110 enheter.,
Action if Quality inspection is not submitted,Tiltak hvis kvalitetskontroll ikke er sendt inn,
Show Barcode Field,Vis strekkodefelt,
Convert Item Description to Clean HTML,Konverter elementbeskrivelse for å rydde HTML,
Auto insert Price List rate if missing,Auto innsats Prisliste rente hvis mangler,
Allow Negative Stock,Tillat Negative Stock,
Automatically Set Serial Nos based on FIFO,Automatisk Sett Serial Nos basert på FIFO,
Set Qty in Transactions based on Serial No Input,Angi antall i transaksjoner basert på serienummerinngang,
Auto Material Request,Auto Materiell Request,
Raise Material Request when stock reaches re-order level,Hev Material Request når aksjen når re-order nivå,
Notify by Email on creation of automatic Material Request,Varsle på e-post om opprettelse av automatisk Material Request,
Inter Warehouse Transfer Settings,Innstillinger for interlageroverføring,
Allow Material Transfer From Delivery Note and Sales Invoice,Tillat materielloverføring fra leveringsbrev og salgsfaktura,
Allow Material Transfer From Purchase Receipt and Purchase Invoice,Tillat materiell overføring fra kjøpskvittering og kjøpsfaktura,
Freeze Stock Entries,Freeze Stock Entries,
Stock Frozen Upto,Stock Frozen Opp,
Freeze Stocks Older Than [Days],Freeze Aksjer Eldre enn [dager],
Role Allowed to edit frozen stock,Rolle tillatt å redigere frossen lager,
Batch Identification,Batchidentifikasjon,
Use Naming Series,Bruk Naming Series,
Naming Series Prefix,Naming Series Prefix,
UOM Category,UOM kategori,
UOM Conversion Detail,Målenheter Conversion Detalj,
Variant Field,Variantfelt,
A logical Warehouse against which stock entries are made.,En logisk Warehouse mot som lager oppføringer er gjort.,
Warehouse Detail,Warehouse Detalj,
Warehouse Name,Warehouse Name,
Warehouse Contact Info,Warehouse Kontaktinfo,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Raised By (e-post),
Issue Type,Utgave type,
Issue Split From,Utgave delt fra,
Service Level,Service nivå,
Response By,Svar av,
Response By Variance,Svar av variant,
Ongoing,Pågående,
Resolution By,Oppløsning av,
Resolution By Variance,Oppløsning etter variant,
Service Level Agreement Creation,Oppretting av servicenivå,
First Responded On,Først Svarte På,
Resolution Details,Oppløsning Detaljer,
Opening Date,Åpningsdato,
Opening Time,Åpning Tid,
Resolution Date,Oppløsning Dato,
Via Customer Portal,Via kundeportalen,
Support Team,Support Team,
Issue Priority,Utgaveprioritet,
Service Day,Servicedag,
Workday,Arbeidsdag,
Default Priority,Standard prioritet,
Priorities,prioriteringer,
Support Hours,Støtte timer,
Support and Resolution,Støtte og oppløsning,
Default Service Level Agreement,Standard servicenivåavtale,
Entity,Entity,
Agreement Details,Avtaledetaljer,
Response and Resolution Time,Svar og oppløsningstid,
Service Level Priority,Servicenivåprioritet,
Resolution Time,Oppløsningstid,
Support Search Source,Støtte søkekilde,
Source Type,Kildetype,
Query Route String,Forespørsel Rute String,
Search Term Param Name,Søk term Param Navn,
Response Options,Svaralternativer,
Response Result Key Path,Response Result Key Path,
Post Route String,Legg inn rutestreng,
Post Route Key List,Legg inn rutenøkkelliste,
Post Title Key,Posttittelnøkkel,
Post Description Key,Innlegg Beskrivelse Nøkkel,
Link Options,Linkalternativer,
Source DocType,Kilde DocType,
Result Title Field,Resultattittelfelt,
Result Preview Field,Resultatforhåndsvisningsfelt,
Result Route Field,Resultatrutefelt,
Service Level Agreements,Avtaler om servicenivå,
Track Service Level Agreement,Spor servicenivåavtale,
Allow Resetting Service Level Agreement,Tillat tilbakestilling av servicenivåavtale,
Close Issue After Days,Lukk Issue Etter dager,
Auto close Issue after 7 days,Auto nær Issue etter 7 dager,
Support Portal,Støtteportal,
Get Started Sections,Komme i gang Seksjoner,
Show Latest Forum Posts,Vis siste foruminnlegg,
Forum Posts,Foruminnlegg,
Forum URL,Forum-URL,
Get Latest Query,Få siste søk,
Response Key List,Response Key List,
Post Route Key,Legg inn rute nøkkel,
Search APIs,Søk APIer,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Utgivelsesdato,
Item and Warranty Details,Element og Garanti Detaljer,
Warranty / AMC Status,Garanti / AMC Status,
Resolved By,Løst Av,
Service Address,Tjenesten Adresse,
If different than customer address,Hvis annerledes enn kunden adresse,
Raised By,Raised By,
From Company,Fra Company,
Rename Tool,Rename Tool,
Utilities,Verktøy,
Type of document to rename.,Type dokument for å endre navn.,
File to Rename,Filen til Rename,
"Attach .csv file with two columns, one for the old name and one for the new name","Fest CSV-fil med to kolonner, en for det gamle navnet og en for det nye navnet",
Rename Log,Rename Logg,
SMS Log,SMS Log,
Sender Name,Avsender Navn,
Sent On,Sendte På,
No of Requested SMS,Ingen av Spurt SMS,
Requested Numbers,Etterspør Numbers,
No of Sent SMS,Ingen av Sendte SMS,
Sent To,Sendt til,
Absent Student Report,Fraværende Student Rapporter,
Assessment Plan Status,Evalueringsplan Status,
Asset Depreciation Ledger,Asset Avskrivninger Ledger,
Asset Depreciations and Balances,Asset Avskrivninger og Balanserer,
Available Stock for Packing Items,Tilgjengelig på lager for pakk gjenstander,
Bank Clearance Summary,Bank Lagersalg Summary,
Bank Remittance,Bankoverføring,
Batch Item Expiry Status,Batch Element Utløps Status,
Batch-Wise Balance History,Batch-Wise Balance Historie,
BOM Explorer,BOM Explorer,
BOM Search,BOM Søk,
BOM Stock Calculated,BOM Stock Beregnet,
BOM Variance Report,BOM Variansrapport,
Campaign Efficiency,Kampanjeeffektivitet,
Cash Flow,Cash Flow,
Completed Work Orders,Fullførte arbeidsordrer,
To Produce,Å Produsere,
Produced,Produsert,
Consolidated Financial Statement,Konsernregnskap,
Course wise Assessment Report,Kursbasert vurderingsrapport,
Customer Acquisition and Loyalty,Kunden Oppkjøp og Loyalty,
Customer Credit Balance,Customer Credit Balance,
Customer Ledger Summary,Sammendrag av kundehovedbok,
Customer-wise Item Price,Kundemessig varepris,
Customers Without Any Sales Transactions,Kunder uten salgstransaksjoner,
Daily Timesheet Summary,Daglig Timeregistrering Oppsummering,
Daily Work Summary Replies,Daglig arbeidssammendrag Svar,
DATEV,DATEV,
Delayed Item Report,Forsinket varerapport,
Delayed Order Report,Forsinket ordrerapport,
Delivered Items To Be Billed,Leverte varer til å bli fakturert,
Delivery Note Trends,Levering Note Trender,
Electronic Invoice Register,Elektronisk fakturaregister,
Employee Advance Summary,Ansattsperspektiv,
Employee Billing Summary,Ansattes faktureringssammendrag,
Employee Birthday,Ansatt Bursdag,
Employee Information,Informasjon ansatt,
Employee Leave Balance,Ansatt La Balance,
Employee Leave Balance Summary,Ansattes permisjonsbalanse Sammendrag,
Employees working on a holiday,Arbeidstakere som arbeider på ferie,
Eway Bill,Eway Bill,
Expiring Memberships,Utløpende medlemsskap,
Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
Final Assessment Grades,Final Assessment Grades,
Fixed Asset Register,Fast eiendeleregister,
Gross and Net Profit Report,Brutto og netto resultatrapport,
GST Itemised Purchase Register,GST Artized Purchase Register,
GST Itemised Sales Register,GST Artized Sales Register,
GST Purchase Register,GST Innkjøpsregister,
GST Sales Register,GST salgsregistrering,
GSTR-1,GSTR-en,
GSTR-2,GSTR-2,
Hotel Room Occupancy,Hotellrom Occupancy,
HSN-wise-summary of outward supplies,HSN-vis-oppsummering av utadvendte forsyninger,
Inactive Customers,inaktive kunder,
Inactive Sales Items,Inaktive salgsvarer,
IRS 1099,IRS 1099,
Issued Items Against Work Order,Utstedte varer mot arbeidsordre,
Projected Quantity as Source,Anslått Antall som kilde,
Item Balance (Simple),Varebalanse (Enkel),
Item Price Stock,Varen Pris Lager,
Item Prices,Varepriser,
Item Shortage Report,Sak Mangel Rapporter,
Item Variant Details,Varevarianter Detaljer,
Item-wise Price List Rate,Element-messig Prisliste Ranger,
Item-wise Purchase History,Element-messig Purchase History,
Item-wise Purchase Register,Element-messig Purchase Register,
Item-wise Sales History,Element-messig Sales History,
Item-wise Sales Register,Element-messig Sales Register,
Items To Be Requested,Elementer å bli forespurt,
Reserved,Reservert,
Itemwise Recommended Reorder Level,Itemwise Anbefalt Omgjøre nivå,
Lead Details,Lead Detaljer,
Lead Owner Efficiency,Leder Eier Effektivitet,
Loan Repayment and Closure,Lånebetaling og lukking,
Loan Security Status,Lånesikkerhetsstatus,
Lost Opportunity,Mistet mulighet,
Maintenance Schedules,Vedlikeholdsplaner,
Material Requests for which Supplier Quotations are not created,Materielle Forespørsler som Leverandør Sitater ikke er opprettet,
Monthly Attendance Sheet,Månedlig Oppmøte Sheet,
Open Work Orders,Åpne arbeidsordre,
Qty to Deliver,Antall å levere,
Patient Appointment Analytics,Pasientavtale Analytics,
Payment Period Based On Invoice Date,Betaling perioden basert på Fakturadato,
Pending SO Items For Purchase Request,Avventer SO varer for kjøp Request,
Procurement Tracker,Anskaffelsesspor,
Product Bundle Balance,Produktbuntbalanse,
Production Analytics,produksjons~~POS=TRUNC Analytics,
Profit and Loss Statement,Resultatregnskap,
Profitability Analysis,lønnsomhets~~POS=TRUNC,
Project Billing Summary,Prosjekt faktureringssammendrag,
Project wise Stock Tracking,Prosjektvis aksjesporing,
Project wise Stock Tracking ,Prosjektet klok Stock Tracking,
Prospects Engaged But Not Converted,"Utsikter engasjert, men ikke konvertert",
Purchase Analytics,Kjøps Analytics,
Purchase Invoice Trends,Fakturaen Trender,
Qty to Receive,Antall å motta,
Received Qty Amount,Mottatt antall,
Billed Qty,Fakturert antall,
Purchase Order Trends,Innkjøpsordre Trender,
Purchase Receipt Trends,Kvitteringen Trender,
Purchase Register,Kjøp Register,
Quotation Trends,Anførsels Trender,
Quoted Item Comparison,Sitert Element Sammenligning,
Received Items To Be Billed,Mottatte elementer å bli fakturert,
Qty to Order,Antall å bestille,
Requested Items To Be Transferred,Etterspør elementene som skal overføres,
Qty to Transfer,Antall overføre,
Salary Register,lønn Register,
Sales Analytics,Salgs Analytics,
Sales Invoice Trends,Salgsfaktura Trender,
Sales Order Trends,Salgsordre Trender,
Sales Partner Commission Summary,Sammendrag av salgspartnerkommisjonen,
Sales Partner Target Variance based on Item Group,Salgspartner Målvarians basert på varegruppe,
Sales Partner Transaction Summary,Salgspartnertransaksjonssammendrag,
Sales Partners Commission,Sales Partners Commission,
Invoiced Amount (Exclusive Tax),Fakturert beløp (eksklusiv skatt),
Average Commission Rate,Gjennomsnittlig kommisjon,
Sales Payment Summary,Salgsbetalingssammendrag,
Sales Person Commission Summary,Salgs personkommisjon Sammendrag,
Sales Person Target Variance Based On Item Group,Salgsmål Målvarians basert på varegruppe,
Sales Person-wise Transaction Summary,Transaksjons Oppsummering Sales Person-messig,
Sales Register,Salg Register,
Serial No Service Contract Expiry,Serial No Service kontraktsutløp,
Serial No Status,Serial No Status,
Serial No Warranty Expiry,Ingen garanti Utløpsserie,
Stock Ageing,Stock Ageing,
Stock and Account Value Comparison,Sammenligning av aksje og konto,
Stock Projected Qty,Lager Antall projiserte,
Student and Guardian Contact Details,Student og Guardian Kontaktdetaljer,
Student Batch-Wise Attendance,Student Batch-Wise Oppmøte,
Student Fee Collection,Student Fee Collection,
Student Monthly Attendance Sheet,Student Månedlig Oppmøte Sheet,
Subcontracted Item To Be Received,Underleverandør Vare som skal mottas,
Subcontracted Raw Materials To Be Transferred,Underleveranser råvarer som skal overføres,
Supplier Ledger Summary,Leverandør Ledger Sammendrag,
Supplier-Wise Sales Analytics,Leverandør-Wise Salgs Analytics,
Support Hour Distribution,Support Time Distribution,
TDS Computation Summary,TDS-beregningsoppsummering,
TDS Payable Monthly,TDS betales månedlig,
Territory Target Variance Based On Item Group,Territorisk målvarians basert på varegruppe,
Territory-wise Sales,Territorisk vis salg,
Total Stock Summary,Totalt lageroppsummering,
Trial Balance,Balanse Trial,
Trial Balance (Simple),Prøvebalanse (enkel),
Trial Balance for Party,Trial Balance for partiet,
Unpaid Expense Claim,Ubetalte Expense krav,
Warehouse wise Item Balance Age and Value,Lagerbetraktet Varebalanse Alder og verdi,
Work Order Stock Report,Arbeide ordre lagerrapport,
Work Orders in Progress,Arbeidsordrer pågår,
Validation Error,Valideringsfeil,
Automatically Process Deferred Accounting Entry,Behandle utsatt regnskapsføring automatisk,
Bank Clearance,Bankklarering,
Bank Clearance Detail,Bankklaringsdetaljer,
Update Cost Center Name / Number,Oppdater navn / nummer på kostnadssted,
Journal Entry Template,Mal for journaloppføring,
Template Title,Maltittel,
Journal Entry Type,Type journaloppføring,
Journal Entry Template Account,Meldkonto for journaloppføring,
Process Deferred Accounting,Behandle utsatt regnskap,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,"Manuell oppføring kan ikke opprettes! Deaktiver automatisk oppføring for utsatt regnskap i kontoinnstillingene, og prøv på nytt",
End date cannot be before start date,Sluttdato kan ikke være før startdato,
Total Counts Targeted,Totale målrettede teller,
Total Counts Completed,Totalt antall fullførte teller,
Counts Targeted: {0},Målrettet antall: {0},
Payment Account is mandatory,Betalingskonto er obligatorisk,
"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Hvis det er merket av, vil hele beløpet bli trukket fra skattepliktig inntekt før beregning av inntektsskatt uten erklæring eller bevis.",
Disbursement Details,Utbetalingsdetaljer,
Material Request Warehouse,Materialforespørsel Lager,
Select warehouse for material requests,Velg lager for materialforespørsler,
Transfer Materials For Warehouse {0},Overfør materiale til lager {0},
Production Plan Material Request Warehouse,Produksjonsplan Materialforespørsel Lager,
Sets 'Source Warehouse' in each row of the items table.,Angir &#39;Source Warehouse&#39; i hver rad i varetabellen.,
Sets 'Target Warehouse' in each row of the items table.,Angir &#39;Target Warehouse&#39; i hver rad i varetabellen.,
Show Cancelled Entries,Vis kansellerte oppføringer,
Backdated Stock Entry,Tilbake datert lageroppføring,
Row #{}: Currency of {} - {} doesn't matches company currency.,Rad nr. {}: Valuta på {} - {} samsvarer ikke med selskapets valuta.,
{} Assets created for {},{} Eiendeler opprettet for {},
{0} Number {1} is already used in {2} {3},{0} Nummer {1} er allerede brukt i {2} {3},
Update Bank Clearance Dates,Oppdater bankavslutningsdatoer,
Healthcare Practitioner: ,Helsepersonell:,
Lab Test Conducted: ,Lab Test gjennomført:,
Lab Test Event: ,Lab Test hendelse:,
Lab Test Result: ,Lab Test Resultat:,
Clinical Procedure conducted: ,Klinisk prosedyre utført:,
Therapy Session Charges: {0},Gebyrer for behandlingsøkter: {0},
Therapy: ,Terapi:,
Therapy Plan: ,Terapiplan:,
Total Counts Targeted: ,Totalt antall mål:,
Total Counts Completed: ,Totalt antall teller fullført:,
Andaman and Nicobar Islands,Andaman- og Nicobarøyene,
Andhra Pradesh,Andhra Pradesh,
Arunachal Pradesh,Arunachal Pradesh,
Assam,Assam,
Bihar,Bihar,
Chandigarh,Chandigarh,
Chhattisgarh,Chhattisgarh,
Dadra and Nagar Haveli,Dadra og Nagar Haveli,
Daman and Diu,Daman og Diu,
Delhi,Delhi,
Goa,Goa,
Gujarat,Gujarat,
Haryana,Haryana,
Himachal Pradesh,Himachal Pradesh,
Jammu and Kashmir,Jammu og Kashmir,
Jharkhand,Jharkhand,
Karnataka,Karnataka,
Kerala,Kerala,
Lakshadweep Islands,Lakshadweep Islands,
Madhya Pradesh,Madhya Pradesh,
Maharashtra,Maharashtra,
Manipur,Manipur,
Meghalaya,Meghalaya,
Mizoram,Mizoram,
Nagaland,Nagaland,
Odisha,Odisha,
Other Territory,Annet territorium,
Pondicherry,Pondicherry,
Punjab,Punjab,
Rajasthan,Rajasthan,
Sikkim,Sikkim,
Tamil Nadu,Tamil Nadu,
Telangana,Telangana,
Tripura,Tripura,
Uttar Pradesh,Uttar Pradesh,
Uttarakhand,Uttarakhand,
West Bengal,Vest-Bengal,
Is Mandatory,Er obligatorisk,
Published on,Publisert den,
Service Received But Not Billed,"Tjeneste mottatt, men ikke fakturert",
Deferred Accounting Settings,Utsatt regnskapsinnstillinger,
Book Deferred Entries Based On,Book utsatte oppføringer basert på,
"If ""Months"" is selected then fixed amount will be booked as deferred revenue or expense for each month irrespective of number of days in a month. Will be prorated if deferred revenue or expense is not booked for an entire month.","Hvis du velger &quot;Måneder&quot;, vil det faste beløpet bli booket som utsatt inntekt eller kostnad for hver måned, uavhengig av antall dager i en måned. Vil være forholdsmessig hvis utsatt inntekt eller kostnad ikke er bokført i en hel måned.",
Days,Dager,
Months,Måneder,
Book Deferred Entries Via Journal Entry,Book utsatte poster via journaloppføring,
If this is unchecked direct GL Entries will be created to book Deferred Revenue/Expense,"Hvis dette ikke er merket av, blir GL-oppføringer opprettet for å reservere utsatt inntekt / utgift",
Submit Journal Entries,Send inn journalinnlegg,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Hvis dette ikke er merket av, lagres journaloppføringer i utkaststilstand og må sendes inn manuelt",
Enable Distributed Cost Center,Aktiver distribuert kostnadssenter,
Distributed Cost Center,Distribuert kostnadssenter,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Forfalte dager,
Dunning Type,Dunning Type,
Dunning Fee,Dunning Fee,
Dunning Amount,Dunning Beløp,
Resolved,Løst,
Unresolved,Uløst,
Printing Setting,Utskriftsinnstilling,
Body Text,Brødtekst,
Closing Text,Avslutningstekst,
Resolve,Løse,
Dunning Letter Text,Dunning Letter Text,
Is Default Language,Er standardspråk,
Letter or Email Body Text,Tekst for brev eller e-post,
Letter or Email Closing Text,Avslutningstekst for brev eller e-post,
Body and Closing Text Help,Hjelp for kropp og avsluttende tekst,
Overdue Interval,Forfalt intervall,
Dunning Letter,Dunning Letter,
"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","Denne delen tillater brukeren å angi hovedtekst og lukkingstekst for Dunning Letter for Dunning Type basert på språk, som kan brukes i utskrift.",
Reference Detail No,Referanse detalj nr,
Custom Remarks,Egendefinerte merknader,
Please select a Company first.,Velg et selskap først.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Rad nr. {0}: Referansedokumenttypen må være en av salgsordre, salgsfaktura, journaloppføring eller dunning",
POS Closing Entry,POS-avslutningspost,
POS Opening Entry,POS åpningsoppføring,
POS Transactions,POS-transaksjoner,
POS Closing Entry Detail,POS-avslutningsdetalj,
Opening Amount,Åpningsbeløp,
Closing Amount,Utløpsbeløp,
POS Closing Entry Taxes,POS avslutning av inngående avgifter,
POS Invoice,POS-faktura,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Konsoliderte salgsfaktura,
Return Against POS Invoice,Returner mot POS-faktura,
Consolidated,Konsolidert,
POS Invoice Item,POS-fakturapost,
POS Invoice Merge Log,POS-fakturasammenslåingslogg,
POS Invoices,POS-fakturaer,
Consolidated Credit Note,Konsoliderte kreditnotaer,
POS Invoice Reference,POS faktura referanse,
Set Posting Date,Angi konteringsdato,
Opening Balance Details,Åpningsbalansedetaljer,
POS Opening Entry Detail,POS Detalj for åpningsinngang,
POS Payment Method,POS-betalingsmåte,
Payment Methods,betalingsmetoder,
Process Statement Of Accounts,Behandle kontoutskrift,
General Ledger Filters,Hovedboksfiltre,
Customers,Kunder,
Select Customers By,Velg Kunder etter,
Fetch Customers,Hent kunder,
Send To Primary Contact,Send til primærkontakt,
Print Preferences,Utskriftsinnstillinger,
Include Ageing Summary,Inkluder aldringssammendrag,
Enable Auto Email,Aktiver automatisk e-post,
Filter Duration (Months),Filtervarighet (måneder),
CC To,CC til,
Help Text,Hjelpetekst,
Emails Queued,E-post i kø,
Process Statement Of Accounts Customer,Behandle kontoutskrift av kunde,
Billing Email,Fakturerings-e-post,
Primary Contact Email,Primær kontakt-e-post,
PSOA Cost Center,PSOA kostnadssenter,
PSOA Project,PSOA-prosjekt,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Leverandør GSTIN,
Place of Supply,Leveringssted,
Select Billing Address,Velg Faktureringsadresse,
GST Details,GST-detaljer,
GST Category,GST-kategori,
Registered Regular,Registrert regelmessig,
Registered Composition,Registrert sammensetning,
Unregistered,Uregistrert,
SEZ,SEZ,
Overseas,Utenlands,
UIN Holders,UIN-holdere,
With Payment of Tax,Med betaling av skatt,
Without Payment of Tax,Uten betaling av skatt,
Invoice Copy,Fakturakopi,
Original for Recipient,Original for mottaker,
Duplicate for Transporter,Duplikat for Transporter,
Duplicate for Supplier,Kopi for leverandør,
Triplicate for Supplier,Triplikat for leverandør,
Reverse Charge,Omvendt lading,
Y,Y,
N,N,
E-commerce GSTIN,E-handel GSTIN,
Reason For Issuing document,Årsak til utstedelse av dokument,
01-Sales Return,01-Salgsretur,
02-Post Sale Discount,02-post salg rabatt,
03-Deficiency in services,03-Mangel på tjenester,
04-Correction in Invoice,04-Korreksjon i faktura,
05-Change in POS,05-Endring i POS,
06-Finalization of Provisional assessment,06-Finalisering av foreløpig vurdering,
07-Others,07-Andre,
Eligibility For ITC,Kvalifisering for ITC,
Input Service Distributor,Input Service Distributør,
Import Of Service,Import av tjeneste,
Import Of Capital Goods,Import av kapitalvarer,
Ineligible,Ikke kvalifisert,
All Other ITC,Alt annet ITC,
Availed ITC Integrated Tax,Availed ITC Integrated Tax,
Availed ITC Central Tax,Availed ITC Central Tax,
Availed ITC State/UT Tax,Availed ITC State / UT Tax,
Availed ITC Cess,Availed ITC Cess,
Is Nil Rated or Exempted,Er null vurdert eller unntatt,
Is Non GST,Er ikke GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,E-Way Bill No.,
Is Consolidated,Er konsolidert,
Billing Address GSTIN,Faktureringsadresse GSTIN,
Customer GSTIN,Kunde GSTIN,
GST Transporter ID,GST-transportør-ID,
Distance (in km),Avstand (i km),
Road,Vei,
Air,Luft,
Rail,Skinne,
Ship,Skip,
GST Vehicle Type,GST kjøretøytype,
Over Dimensional Cargo (ODC),Overdimensjonal last (ODC),
Consumer,Forbruker,
Deemed Export,Anses eksport,
Port Code,Portkode,
 Shipping Bill Number,Fraktregningsnummer,
Shipping Bill Date,Fraktregningsdato,
Subscription End Date,Sluttdato for abonnement,
Follow Calendar Months,Følg kalendermånedene,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,Hvis dette er merket av vil nye fakturaer opprettes på kalendermåned og kvartals startdato uavhengig av gjeldende fakturastartdato,
Generate New Invoices Past Due Date,Generer nye fakturaer forfallsdato,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,Nye fakturaer blir generert i henhold til tidsplanen selv om gjeldende fakturaer er ubetalt eller forfalt,
Document Type ,dokumenttype,
Subscription Price Based On,Abonnementspris Basert på,
Fixed Rate,Fast rente,
Based On Price List,Basert på prisliste,
Monthly Rate,Månedlig pris,
Cancel Subscription After Grace Period,Avbryt abonnement etter nådeperioden,
Source State,Kildestatus,
Is Inter State,Er interstat,
Purchase Details,Kjøpsdetaljer,
Depreciation Posting Date,Avskrivningsdato,
Purchase Order Required for Purchase Invoice & Receipt Creation,Innkjøpsordre kreves for innkjøp av faktura og mottak,
Purchase Receipt Required for Purchase Invoice Creation,Kjøpskvittering kreves for opprettelse av kjøpsfaktura,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ",Som standard er leverandørnavnet angitt i henhold til det angitte leverandørnavnet. Hvis du vil at leverandører skal navngis av en,
 choose the 'Naming Series' option.,velg alternativet &#39;Naming Series&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Konfigurer standard prisliste når du oppretter en ny kjøpstransaksjon. Varepriser blir hentet fra denne prislisten.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Hvis dette alternativet er konfigurert &#39;Ja&#39;, vil ERPNext forhindre deg i å opprette en kjøpsfaktura eller kvittering uten å opprette en innkjøpsordre først. Denne konfigurasjonen kan overstyres for en bestemt leverandør ved å aktivere avmerkingsboksen &#39;Tillat opprettelse av faktura uten innkjøpsordre&#39; i leverandørmasteren.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Hvis dette alternativet er konfigurert &#39;Ja&#39;, vil ERPNext forhindre deg i å opprette en kjøpsfaktura uten å opprette en kjøpskvittering først. Denne konfigurasjonen kan overstyres for en bestemt leverandør ved å aktivere avkrysningsruten &#39;Tillat oppretting av faktura uten kjøpskvittering&#39; i leverandørmasteren.",
Quantity & Stock,Antall og lager,
Call Details,Ring detaljer,
Authorised By,Autorisert av,
Signee (Company),Signee (selskap),
Signed By (Company),Signert av (selskap),
First Response Time,Første responstid,
Request For Quotation,Forespørsel om kostnadsoverslag,
Opportunity Lost Reason Detail,Opportunity Lost Reason Detail,
Access Token Secret,Tilgang Token Secret,
Add to Topics,Legg til emner,
...Adding Article to Topics,... Legge til artikkel i emner,
Add Article to Topics,Legg artikkel til emner,
This article is already added to the existing topics,Denne artikkelen er allerede lagt til de eksisterende emnene,
Add to Programs,Legg til i programmer,
Programs,Programmer,
...Adding Course to Programs,... Legge til kurs i programmer,
Add Course to Programs,Legg til kurs i programmer,
This course is already added to the existing programs,Dette kurset er allerede lagt til de eksisterende programmene,
Learning Management System Settings,Innstillinger for læringsstyringssystem,
Enable Learning Management System,Aktiver læringsstyringssystem,
Learning Management System Title,Learning Management System Tittel,
...Adding Quiz to Topics,... Legge til quiz til emner,
Add Quiz to Topics,Legg Quiz til emner,
This quiz is already added to the existing topics,Denne quizen er allerede lagt til de eksisterende emnene,
Enable Admission Application,Aktiver opptakssøknad,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Markerer oppmøte,
Add Guardians to Email Group,Legg foresatte til e-postgruppen,
Attendance Based On,Oppmøte basert på,
Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Merk av for å markere studenten som til stede i tilfelle studenten ikke deltar på instituttet for å delta eller representere instituttet under alle omstendigheter.,
Add to Courses,Legg til kurs,
...Adding Topic to Courses,... Legge til emne i kurs,
Add Topic to Courses,Legg emne til kurs,
This topic is already added to the existing courses,Dette emnet er allerede lagt til de eksisterende kursene,
"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Hvis Shopify ikke har en kunde i ordren, vil systemet mens systemet synkroniserer ordene vurdere standardkunden for bestillingen",
The accounts are set by the system automatically but do confirm these defaults,"Regnskapet blir satt av systemet automatisk, men bekrefter disse standardinnstillingene",
Default Round Off Account,Standard rundekonto,
Failed Import Log,Mislykket importlogg,
Fixed Error Log,Fast feillogg,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Firmaet {0} eksisterer allerede. Fortsatt vil overskrive selskapet og kontoplanen,
Meta Data,Metadata,
Unresolve,Uoppløselig,
Create Document,Lag dokument,
Mark as unresolved,Merk som uløst,
TaxJar Settings,TaxJar-innstillinger,
Sandbox Mode,sandkasse modus,
Enable Tax Calculation,Aktiver skatteberegning,
Create TaxJar Transaction,Opprett TaxJar-transaksjon,
Credentials,Legitimasjonserklæring,
Live API Key,Live API-nøkkel,
Sandbox API Key,Sandbox API-nøkkel,
Configuration,Konfigurasjon,
Tax Account Head,Skattekontohode,
Shipping Account Head,Fraktkontohode,
Practitioner Name,Utøverens navn,
Enter a name for the Clinical Procedure Template,Skriv inn et navn på malen for klinisk prosedyre,
Set the Item Code which will be used for billing the Clinical Procedure.,Angi varekoden som skal brukes til fakturering av den kliniske prosedyren.,
Select an Item Group for the Clinical Procedure Item.,Velg en varegruppe for den kliniske prosedyren.,
Clinical Procedure Rate,Klinisk prosedyrerate,
Check this if the Clinical Procedure is billable and also set the rate.,"Sjekk dette hvis den kliniske prosedyren er fakturerbar, og angi også satsen.",
Check this if the Clinical Procedure utilises consumables. Click ,Sjekk dette hvis den kliniske prosedyren bruker forbruksvarer. Klikk,
 to know more,å vite mer,
"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","Du kan også angi medisinsk avdeling for malen. Etter at dokumentet er lagret, opprettes det automatisk en vare for fakturering av denne kliniske prosedyren. Du kan deretter bruke denne malen mens du lager kliniske prosedyrer for pasienter. Maler sparer deg for å fylle ut overflødige data hver eneste gang. Du kan også lage maler for andre operasjoner som laboratorietester, behandlingsøkter, etc.",
Descriptive Test Result,Beskrivende testresultat,
Allow Blank,Tillat tomt,
Descriptive Test Template,Beskrivende testmal,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Hvis du vil spore lønn og andre HRMS-operasjoner for en Practitoner, kan du opprette en ansatt og koble den her.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Sett utøverplanen du nettopp opprettet. Dette vil bli brukt når du bestiller avtaler.,
Create a service item for Out Patient Consulting.,Lag et serviceelement for Out Patient Consulting.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Hvis denne helsepersonell jobber for avdelingen, må du opprette et serviceelement for innleggelse.",
Set the Out Patient Consulting Charge for this Practitioner.,Sett ut pasientkonsulentkostnaden for denne utøveren.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Hvis denne helsepersonell også jobber for pasienten, må du angi innleggsavgiften for denne utøveren.",
"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Hvis det er merket av, opprettes en kunde for hver pasient. Pasientfakturaer vil bli opprettet mot denne kunden. Du kan også velge eksisterende kunde mens du oppretter en pasient. Dette feltet er merket av som standard.",
Collect Registration Fee,Samle registreringsgebyr,
"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Hvis helsestasjonen din fakturerer registreringer av pasienter, kan du sjekke dette og angi registreringsavgiften i feltet nedenfor. Hvis du sjekker dette, opprettes det nye pasienter med deaktivert status som standard og vil først bli aktivert etter fakturering av registreringsavgiften.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Hvis du sjekker dette, opprettes det automatisk en salgsfaktura hver gang det bestilles en avtale for en pasient.",
Healthcare Service Items,Helsetjenesteartikler,
"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ",Du kan opprette et serviceelement for Inpatient Visit Charge og angi det her. På samme måte kan du sette opp andre helsevesenstjenester for fakturering i denne delen. Klikk,
Set up default Accounts for the Healthcare Facility,Sett opp standardkontoer for helsevesenet,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Hvis du vil overstyre standard kontoinnstillinger og konfigurere inntekts- og fordringskontoer for Healthcare, kan du gjøre det her.",
Out Patient SMS alerts,Ut pasientens SMS-varsler,
"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Hvis du vil sende SMS-varsel om pasientregistrering, kan du aktivere dette alternativet. På samme måte kan du konfigurere SMS-varsler for pasienter for andre funksjoner i denne delen. Klikk",
Admission Order Details,Opptaksbestillingsdetaljer,
Admission Ordered For,Opptak bestilt for,
Expected Length of Stay,Forventet lengde på oppholdet,
Admission Service Unit Type,Opptakstjenesteenhetstype,
Healthcare Practitioner (Primary),Helsepersonell (primær),
Healthcare Practitioner (Secondary),Helsepersonell (sekundær),
Admission Instruction,Opptaksinstruksjon,
Chief Complaint,Sjefsklager,
Medications,Medisiner,
Investigations,Undersøkelser,
Discharge Detials,Utslippsavkjenninger,
Discharge Ordered Date,Utslipp Bestilt dato,
Discharge Instructions,Utskriftsinstruksjoner,
Follow Up Date,Oppfølgingsdato,
Discharge Notes,Merknader om utslipp,
Processing Inpatient Discharge,Behandler innlagt utskrivning,
Processing Patient Admission,Behandler pasientinnleggelse,
Check-in time cannot be greater than the current time,Innsjekkingstid kan ikke være større enn gjeldende tid,
Process Transfer,Prosessoverføring,
HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
Expected Result Date,Forventet resultatdato,
Expected Result Time,Forventet resultattid,
Printed on,Trykt på,
Requesting Practitioner,Ber om utøver,
Requesting Department,Ber om avdeling,
Employee (Lab Technician),Ansatt (laboratorietekniker),
Lab Technician Name,Navn på laboratorietekniker,
Lab Technician Designation,Lab Technician Betegnelse,
Compound Test Result,Sammensatt testresultat,
Organism Test Result,Organism Test Resultat,
Sensitivity Test Result,Sensitivitetstestresultat,
Worksheet Print,Arbeidsarkutskrift,
Worksheet Instructions,Arbeidsarkinstruksjoner,
Result Legend Print,Resultat Legend Print,
Print Position,Utskriftsposisjon,
Bottom,Bunn,
Top,Topp,
Both,Både,
Result Legend,Resultatforklaring,
Lab Tests,Lab-tester,
No Lab Tests found for the Patient {0},Ingen laboratorietester funnet for pasienten {0},
"Did not send SMS, missing patient mobile number or message content.","Har ikke sendt SMS, mangler pasientens mobilnummer eller meldingsinnhold.",
No Lab Tests created,Ingen laboratorietester opprettet,
Creating Lab Tests...,Opprette laboratorietester ...,
Lab Test Group Template,Lab Test Group Mal,
Add New Line,Legg til ny linje,
Secondary UOM,Sekundær UOM,
"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Enkelt</b> : Resultater som bare krever en enkelt inngang.<br> <b>Sammensetning</b> : Resultater som krever flere hendelsesinnganger.<br> <b>Beskrivende</b> : Tester som har flere resultatkomponenter med manuell resultatoppføring.<br> <b>Gruppert</b> : Testmaler som er en gruppe andre testmaler.<br> <b>Intet resultat</b> : Tester uten resultater, kan bestilles og faktureres, men ingen labtest blir opprettet. f.eks. Deltester for grupperte resultater",
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Hvis det ikke er merket av, vil ikke varen være tilgjengelig i fakturaer for fakturering, men kan brukes i oppretting av gruppetester.",
Description ,Beskrivelse,
Descriptive Test,Beskrivende test,
Group Tests,Gruppetester,
Instructions to be printed on the worksheet,Instruksjoner som skal skrives ut på regnearket,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.","Informasjon som enkelt kan tolke testrapporten, blir skrevet ut som en del av Lab Test-resultatet.",
Normal Test Result,Normalt testresultat,
Secondary UOM Result,Sekundært UOM-resultat,
Italic,Kursiv,
Underline,Understreke,
Organism,Organisme,
Organism Test Item,Organisme Test Element,
Colony Population,Kolonibefolkning,
Colony UOM,Colony UOM,
Tobacco Consumption (Past),Tobakkforbruk (tidligere),
Tobacco Consumption (Present),Tobakkforbruk (nåværende),
Alcohol Consumption (Past),Alkoholforbruk (tidligere),
Alcohol Consumption (Present),Alkoholforbruk (nåværende),
Billing Item,Faktureringsvare,
Medical Codes,Medisinske koder,
Clinical Procedures,Kliniske prosedyrer,
Order Admission,Bestill opptak,
Scheduling Patient Admission,Planlegge pasientinnleggelse,
Order Discharge,Bestill utslipp,
Sample Details,Eksempeldetaljer,
Collected On,Samlet på,
No. of prints,Antall utskrifter,
Number of prints required for labelling the samples,Antall utskrifter som kreves for merking av prøvene,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
In Time,I tide,
Out Time,Utetid,
Payroll Cost Center,Lønns kostnadssenter,
Approvers,Tilstridende,
The first Approver in the list will be set as the default Approver.,Den første godkjenneren i listen blir angitt som standard godkjenner.,
Shift Request Approver,Godkjenning av skiftforespørsel,
PAN Number,PAN-nummer,
Provident Fund Account,Forsikringskonto,
MICR Code,MICR-kode,
Repay unclaimed amount from salary,Tilbakebetalt uavhentet beløp fra lønn,
Deduction from salary,Trekk fra lønn,
Expired Leaves,Utløpte blader,
Reference No,referanse Nei,
Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,Hårklippsprosent er den prosentvise forskjellen mellom markedsverdien av lånesikkerheten og verdien som tilskrives lånets sikkerhet når den brukes som sikkerhet for lånet.,
Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,Loan To Value Ratio uttrykker forholdet mellom lånebeløpet og verdien av pantet. Et lånesikkerhetsmangel vil utløses hvis dette faller under den angitte verdien for et lån,
If this is not checked the loan by default will be considered as a Demand Loan,"Hvis dette ikke er sjekket, vil lånet som standard bli betraktet som et etterspørsel",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Denne kontoen brukes til å bestille tilbakebetaling av lån fra låntaker og også utbetale lån til låner,
This account is capital account which is used to allocate capital for loan disbursal account ,Denne kontoen er en kapitalkonto som brukes til å fordele kapital til utbetaling av lån,
This account will be used for booking loan interest accruals,Denne kontoen vil bli brukt til å reservere lånerenter,
This account will be used for booking penalties levied due to delayed repayments,Denne kontoen vil bli brukt til å betale bøter pålagt på grunn av forsinket tilbakebetaling,
Variant BOM,Variant BOM,
Template Item,Malelement,
Select template item,Velg malelement,
Select variant item code for the template item {0},Velg variantvarekode for malelementet {0},
Downtime Entry,Nedetid oppføring,
DT-,DT-,
Workstation / Machine,Arbeidsstasjon / maskin,
Operator,Operatør,
In Mins,In Mins,
Downtime Reason,Grunnen til nedetid,
Stop Reason,Stopp fornuften,
Excessive machine set up time,For høy maskininnstillingstid,
Unplanned machine maintenance,Uplanlagt vedlikehold av maskinen,
On-machine press checks,Trykk sjekker på maskinen,
Machine operator errors,Maskinoperatørfeil,
Machine malfunction,Maskinfunksjon,
Electricity down,Strøm ned,
Operation Row Number,Operasjon Radnummer,
Operation {0} added multiple times in the work order {1},Operasjon {0} lagt til flere ganger i arbeidsordren {1},
"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Hvis det er merket av, kan flere materialer brukes til en enkelt arbeidsordre. Dette er nyttig hvis det produseres ett eller flere tidkrevende produkter.",
Backflush Raw Materials,Bakspyling av råvarer,
"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","Lageroppføringen av typen &#39;Fremstilling&#39; er kjent som tilbakespyling. Råvarer som forbrukes for å produsere ferdige varer er kjent som tilbakespyling.<br><br> Når du oppretter produksjonsoppføring, tilbakespyles råmaterialer basert på BOM for produksjonsartikelen. Hvis du vil at råvarevarer skal tilbakespyles basert på oppføring av materialoverføring mot den arbeidsordren i stedet, kan du angi det under dette feltet.",
Work In Progress Warehouse,Work In Progress Warehouse,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Dette lageret oppdateres automatisk i feltet Arbeid på lager-lageret med arbeidsordrer.,
Finished Goods Warehouse,Ferdige varehus,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Dette lageret oppdateres automatisk i feltet Mållager i arbeidsordren.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Hvis det er merket av, oppdateres BOM-kostnaden automatisk basert på verdsettelsesgrad / prislistehastighet / siste kjøpsrate på råvarer.",
Source Warehouses (Optional),Kildelager (valgfritt),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Systemet henter materialene fra de valgte lagrene. Hvis ikke spesifisert, vil systemet opprette materialforespørsel om kjøp.",
Lead Time,Ledetid,
PAN Details,PAN-detaljer,
Create Customer,Opprett kunde,
Invoicing,Fakturering,
Enable Auto Invoicing,Aktiver automatisk fakturering,
Send Membership Acknowledgement,Send medlemskvittering,
Send Invoice with Email,Send faktura med e-post,
Membership Print Format,Format for medlemskap,
Invoice Print Format,Fakturautskriftsformat,
Revoke <Key></Key>,Opphev&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,Du kan lære mer om medlemskap i håndboken.,
ERPNext Docs,ERPNext Docs,
Regenerate Webhook Secret,Regenerer Webhook Secret,
Generate Webhook Secret,Generer Webhook Secret,
Copy Webhook URL,Kopier Webhook URL,
Linked Item,Koblet vare,
Is Recurring,Er tilbakevendende,
HRA Exemption,HRA Unntak,
Monthly House Rent,Månedlig husleie,
Rented in Metro City,Leies i Metro City,
HRA as per Salary Structure,HRA i henhold til lønnsstruktur,
Annual HRA Exemption,Årlig HRA-fritak,
Monthly HRA Exemption,Månedlig HRA-fritak,
House Rent Payment Amount,Husleie Betalingsbeløp,
Rented From Date,Leid fra dato,
Rented To Date,Leid til dags dato,
Monthly Eligible Amount,Månedlig kvalifisert beløp,
Total Eligible HRA Exemption,Totalt kvalifisert HRA-fritak,
Validating Employee Attendance...,Validere medarbeidermøte ...,
Submitting Salary Slips and creating Journal Entry...,Sende lønnsslipp og opprette journaloppføring ...,
Calculate Payroll Working Days Based On,Beregn lønnsarbeidsdager basert på,
Consider Unmarked Attendance As,Vurder umerket oppmøte som,
Fraction of Daily Salary for Half Day,Brøkdel av daglig lønn for en halv dag,
Component Type,Komponenttype,
Provident Fund,Forsikringsfond,
Additional Provident Fund,Tilleggsforsikringsfond,
Provident Fund Loan,Forsikringsfondslån,
Professional Tax,Profesjonell skatt,
Is Income Tax Component,Er inntektsskattkomponent,
Component properties and references ,Komponentegenskaper og referanser,
Additional Salary ,Tilleggslønn,
Unmarked days,Umerkede dager,
Absent Days,Fraværende dager,
Conditions and Formula variable and example,Betingelser og formelvariabel og eksempel,
Feedback By,Tilbakemelding fra,
MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
Manufacturing Section,Produksjonsseksjon,
Sales Order Required for Sales Invoice & Delivery Note Creation,Salgsordre kreves for opprettelse av salgsfaktura og leveringsnota,
Delivery Note Required for Sales Invoice Creation,Leveringsmerknad kreves for å opprette salgsfaktura,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",Som standard er kundenavnet angitt i henhold til det oppgitte fullstendige navnet. Hvis du vil at kunder skal navngis av en,
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurer standard prisliste når du oppretter en ny salgstransaksjon. Varepriser blir hentet fra denne prislisten.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Hvis dette alternativet er konfigurert &#39;Ja&#39;, vil ERPNext forhindre deg i å opprette en salgsfaktura eller leveringsbrev uten å opprette en salgsordre først. Denne konfigurasjonen kan overstyres for en bestemt kunde ved å aktivere avkrysningsboksen &quot;Tillat oppretting av salgsfaktura uten salgsordre&quot; i kundemasteren.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Hvis dette alternativet er konfigurert &#39;Ja&#39;, vil ERPNext forhindre deg i å opprette en salgsfaktura uten å opprette en leveringsbrev først. Denne konfigurasjonen kan overstyres for en bestemt kunde ved å aktivere avkrysningsruten &#39;Tillat oppretting av salgsfaktura uten leveringsnota&#39; i kundemasteren.",
Default Warehouse for Sales Return,Standardlager for salgsretur,
Default In Transit Warehouse,Standard i transittlager,
Enable Perpetual Inventory For Non Stock Items,Aktiver evigvarende beholdning for varer som ikke er på lager,
HRA Settings,HRA-innstillinger,
Basic Component,Grunnleggende komponent,
HRA Component,HRA-komponent,
Arrear Component,Arranger komponent,
Please enter the company name to confirm,Vennligst skriv inn firmanavnet for å bekrefte,
Quotation Lost Reason Detail,Tilbud tapt årsak detalj,
Enable Variants,Aktiver varianter,
Save Quotations as Draft,Lagre tilbud som kladd,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Velg en kunde,
Against Delivery Note Item,Mot leveringsnotat,
Is Non GST ,Er ikke GST,
Image Description,Bildebeskrivelse,
Transfer Status,Overføringsstatus,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Spor denne kjøpskvitteringen mot ethvert prosjekt,
Please Select a Supplier,Velg en leverandør,
Add to Transit,Legg til i kollektivtransport,
Set Basic Rate Manually,Angi grunnfrekvens manuelt,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ",Som standard er varenavnet angitt i henhold til den oppgitte varekoden. Hvis du vil at elementene skal bli navngitt av en,
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Angi et standardlager for varetransaksjoner. Dette blir hentet til standardlageret i varemasteren.,
"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Dette vil tillate lagervarer å vises i negative verdier. Bruk av dette alternativet avhenger av brukssaken din. Når dette alternativet ikke er merket av, advarer systemet før det hindrer en transaksjon som forårsaker negativ lager.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Velg mellom FIFO og Moving Average Valuation Methods. Klikk,
 to know more about them.,å vite mer om dem.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Vis feltet &quot;Skann strekkode&quot; over hvert underordnet bord for å sette inn elementer enkelt.,
"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Serienumre for lager vil bli angitt automatisk basert på varene som er angitt basert på først inn først ut i transaksjoner som kjøps- / salgsfakturaer, leveringsbrev, etc.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Hvis det er tomt, vil moderlagerkonto eller selskapets mislighold bli vurdert i transaksjoner",
Service Level Agreement Details,Detaljer om serviceniveavtale,
Service Level Agreement Status,Statusnivå for servicenivåavtale,
On Hold Since,På vent siden,
Total Hold Time,Total holdetid,
Response Details,Svardetaljer,
Average Response Time,Gjennomsnittlig svartid,
User Resolution Time,Brukeroppløsningstid,
SLA is on hold since {0},SLA er på vent siden {0},
Pause SLA On Status,Sett SLA på pause,
Pause SLA On,Sett SLA på pause,
Greetings Section,Hilsen-seksjonen,
Greeting Title,Hilsen Tittel,
Greeting Subtitle,Hilsen undertekst,
Youtube ID,Youtube ID,
Youtube Statistics,Youtube-statistikk,
Views,Visninger,
Dislikes,Misliker,
Video Settings,Videoinnstillinger,
Enable YouTube Tracking,Aktiver YouTube-sporing,
30 mins,30 minutter,
1 hr,1 time,
6 hrs,6 timer,
Patient Progress,Pasientens fremgang,
Targetted,Målrettet,
Score Obtained,Resultat oppnådd,
Sessions,Økter,
Average Score,Gjennomsnittlig score,
Select Assessment Template,Velg vurderingsmal,
 out of ,ut av,
Select Assessment Parameter,Velg vurderingsparameter,
Gender: ,Kjønn:,
Contact: ,Ta kontakt med:,
Total Therapy Sessions: ,Totalt antall behandlingsøkter:,
Monthly Therapy Sessions: ,Månedlige behandlingsøkter:,
Patient Profile,Pasientprofil,
Point Of Sale,Utsalgssted,
Email sent successfully.,E-post sendt.,
Search by invoice id or customer name,Søk etter faktura-ID eller kundenavn,
Invoice Status,Fakturastatus,
Filter by invoice status,Filtrer etter fakturastatus,
Select item group,Velg varegruppe,
No items found. Scan barcode again.,Ingen objekter funnet. Skann strekkode igjen.,
"Search by customer name, phone, email.","Søk etter kundenavn, telefon, e-post.",
Enter discount percentage.,Angi rabattprosent.,
Discount cannot be greater than 100%,Rabatten kan ikke være større enn 100%,
Enter customer's email,Skriv inn kundens e-post,
Enter customer's phone number,Skriv inn kundens telefonnummer,
Customer contact updated successfully.,Kundekontakt oppdatert.,
Item will be removed since no serial / batch no selected.,Varen vil bli fjernet siden ingen serie / batch-nr er valgt.,
Discount (%),Rabatt (%),
You cannot submit the order without payment.,Du kan ikke sende inn bestillingen uten betaling.,
You cannot submit empty order.,Du kan ikke sende tom ordre.,
To Be Paid,Å bli betalt,
Create POS Opening Entry,Opprett POS-åpningspost,
Please add Mode of payments and opening balance details.,Vennligst legg til betalingsmåte og åpningsbalansedetaljer.,
Toggle Recent Orders,Bytt nylige bestillinger,
Save as Draft,Lagre som kladd,
You must add atleast one item to save it as draft.,Du må legge til minst ett element for å lagre det som kladd.,
There was an error saving the document.,Det oppsto en feil under lagring av dokumentet.,
You must select a customer before adding an item.,Du må velge en kunde før du legger til en vare.,
Please Select a Company,Velg et selskap,
Active Leads,Aktive potensielle kunder,
Please Select a Company.,Velg et selskap.,
BOM Operations Time,BOM-driftstid,
BOM ID,BOM-ID,
BOM Item Code,BOM-varekode,
Time (In Mins),Tid (i minutter),
Sub-assembly BOM Count,Delmontering BOM Antall,
View Type,Visningstype,
Total Delivered Amount,Totalt levert beløp,
Downtime Analysis,Nedetid Analyse,
Machine,Maskin,
Downtime (In Hours),Nedetid (i timer),
Employee Analytics,Ansattes analyse,
"""From date"" can not be greater than or equal to ""To date""",&quot;Fra dato&quot; kan ikke være større enn eller lik &quot;Til dags dato&quot;,
Exponential Smoothing Forecasting,Eksponentiell utjevningsprognoser,
First Response Time for Issues,Første svartid for problemer,
First Response Time for Opportunity,Første svartid for mulighet,
Depreciatied Amount,Avskrevet beløp,
Period Based On,Periode basert på,
Date Based On,Dato basert på,
{0} and {1} are mandatory,{0} og {1} er obligatoriske,
Consider Accounting Dimensions,Vurder regnskapsdimensjoner,
Income Tax Deductions,Inntektsskatt fradrag,
Income Tax Component,Inntektsskattkomponent,
Income Tax Amount,Inntektsskatt beløp,
Reserved Quantity for Production,Reservert antall for produksjon,
Projected Quantity,Projisert mengde,
 Total Sales Amount,Totalt salgsbeløp,
Job Card Summary,Sammendrag av jobbkort,
Id,Id,
Time Required (In Mins),Tid som kreves (i minutter),
From Posting Date,Fra bokføringsdato,
To Posting Date,Til bokføringsdato,
No records found,Ingen opptak funnet,
Customer/Lead Name,Navn på kunde / kunde,
Unmarked Days,Umerkede dager,
Jan,Jan.,
Feb,Feb,
Mar,Mar,
Apr,Apr,
Aug,Aug,
Sep,Sep,
Oct,Okt,
Nov,Nov,
Dec,Des,
Summarized View,Oppsummert utsikt,
Production Planning Report,Produksjonsplanleggingsrapport,
Order Qty,bestillingskvantum,
Raw Material Code,Råvarekode,
Raw Material Name,Råvarenavn,
Allotted Qty,Tildelt antall,
Expected Arrival Date,Forventet ankomstdato,
Arrival Quantity,Ankomstmengde,
Raw Material Warehouse,Råvarelager,
Order By,Rekkefølge etter,
Include Sub-assembly Raw Materials,Inkluder undermontering av råvarer,
Professional Tax Deductions,Profesjonelle skattefradrag,
Program wise Fee Collection,Program klok avgiftsinnsamling,
Fees Collected,Avgifter samlet inn,
Project Summary,Prosjektoppsummering,
Total Tasks,Totalt antall oppgaver,
Tasks Completed,Oppgaver fullført,
Tasks Overdue,Oppgaver forsinket,
Completion,Fullføring,
Provident Fund Deductions,Forsikringsfondets fradrag,
Purchase Order Analysis,Innkjøpsordreanalyse,
From and To Dates are required.,Fra og til datoer kreves.,
To Date cannot be before From Date.,Til dato kan ikke være før fra dato.,
Qty to Bill,Antall til Bill,
Group by Purchase Order,Gruppere etter innkjøpsordre,
 Purchase Value,Kjøpsverdi,
Total Received Amount,Totalt mottatt beløp,
Quality Inspection Summary,Sammendrag av kvalitetskontroll,
 Quoted Amount,Sitert beløp,
Lead Time (Days),Ledetid (dager),
Include Expired,Inkluder utløpt,
Recruitment Analytics,Rekrutteringsanalyse,
Applicant name,Søkerens navn,
Job Offer status,Jobbtilbudsstatus,
On Date,På date,
Requested Items to Order and Receive,Forespurte varer å bestille og motta,
Salary Payments Based On Payment Mode,Lønnsbetalinger basert på betalingsmodus,
Salary Payments via ECS,Lønnsbetalinger via ECS,
Account No,Kontonr,
IFSC,IFSC,
MICR,MICR,
Sales Order Analysis,Salgsordreanalyse,
Amount Delivered,Beløp levert,
Delay (in Days),Forsinkelse (i dager),
Group by Sales Order,Gruppere etter salgsordre,
 Sales Value,Salgsverdi,
Stock Qty vs Serial No Count,Antall på lager mot serie nr,
Serial No Count,Serienummer,
Work Order Summary,Arbeidsordresammendrag,
Produce Qty,Produser antall,
Lead Time (in mins),Ledetid (i minutter),
Charts Based On,Kart basert på,
YouTube Interactions,YouTube-interaksjoner,
Published Date,Publiseringsdato,
Barnch,Barnch,
Select a Company,Velg et selskap,
Opportunity {0} created,Mulighet {0} opprettet,
Kindly select the company first,Vennligst velg selskapet først,
Please enter From Date and To Date to generate JSON,Vennligst skriv inn Fra dato og til dato for å generere JSON,
PF Account,PF-konto,
PF Amount,PF-beløp,
Additional PF,Ytterligere PF,
PF Loan,PF-lån,
Download DATEV File,Last ned DATEV-fil,
Numero has not set in the XML file,Numero har ikke angitt i XML-filen,
Inward Supplies(liable to reverse charge),Innvendige forsyninger (kan tilbakeføres),
This is based on the course schedules of this Instructor,Dette er basert på kursplanene til denne instruktøren,
Course and Assessment,Kurs og vurdering,
Course {0} has been added to all the selected programs successfully.,Kurs {0} er lagt til i alle de valgte programmene.,
Programs updated,Programmer oppdatert,
Program and Course,Program og kurs,
{0} or {1} is mandatory,{0} eller {1} er obligatorisk,
Mandatory Fields,Obligatoriske felt,
Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} tilhører ikke studentgruppen {2},
Student Attendance record {0} already exists against the Student {1},Studentoppmøteposten {0} eksisterer allerede mot studenten {1},
Duplicate Entry,Dupliser oppføring,
Course and Fee,Kurs og avgift,
Not eligible for the admission in this program as per Date Of Birth,Ikke kvalifisert for opptak i dette programmet i henhold til fødselsdato,
Topic {0} has been added to all the selected courses successfully.,Emnet {0} er lagt til i alle de valgte kursene.,
Courses updated,Kurs oppdatert,
{0} {1} has been added to all the selected topics successfully.,{0} {1} er lagt til i alle de valgte emnene.,
Topics updated,Emner oppdatert,
Academic Term and Program,Faglig termin og program,
Last Stock Transaction for item {0} was on {1}.,Siste varetransaksjon for varen {0} var den {1}.,
Stock Transactions for Item {0} cannot be posted before this time.,Aksjetransaksjoner for vare {0} kan ikke legges ut før dette tidspunktet.,
Please remove this item and try to submit again or update the posting time.,"Fjern dette elementet, og prøv å sende det inn igjen eller oppdater innleggstiden.",
Failed to Authenticate the API key.,Kunne ikke godkjenne API-nøkkelen.,
Invalid Credentials,Ugyldige legitimasjon,
URL can only be a string,URL kan bare være en streng,
"Here is your webhook secret, this will be shown to you only once.","Her er webhook-hemmeligheten din, dette vil bare vises en gang for deg.",
The payment for this membership is not paid. To generate invoice fill the payment details,Betalingen for dette medlemskapet blir ikke betalt. For å generere faktura fyll ut betalingsinformasjonen,
An invoice is already linked to this document,En faktura er allerede knyttet til dette dokumentet,
No customer linked to member {},Ingen kunde knyttet til medlem {},
You need to set <b>Debit Account</b> in Membership Settings,Du må angi <b>debetkonto</b> i medlemsinnstillinger,
You need to set <b>Default Company</b> for invoicing in Membership Settings,Du må angi <b>standardfirma</b> for fakturering i medlemsinnstillinger,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Du må aktivere <b>Send bekreftelses-e-post</b> i medlemsinnstillinger,
Error creating membership entry for {0},Feil ved oppretting av medlemskapsoppføring for {0},
A customer is already linked to this Member,En kunde er allerede knyttet til dette medlemmet,
End Date must not be lesser than Start Date,Sluttdatoen må ikke være mindre enn startdatoen,
Employee {0} already has Active Shift {1}: {2},Ansatte {0} har allerede Active Shift {1}: {2},
 from {0},fra {0},
 to {0},til {0},
Please select Employee first.,Velg medarbeider først.,
Please set {0} for the Employee or for Department: {1},Angi {0} for den ansatte eller avdelingen: {1},
To Date should be greater than From Date,Til dato bør være større enn fra dato,
Employee Onboarding: {0} is already for Job Applicant: {1},Onboarding av ansatte: {0} er allerede for jobbsøker: {1},
Job Offer: {0} is already for Job Applicant: {1},Jobbtilbud: {0} er allerede for jobbsøker: {1},
Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Bare skiftforespørsel med status &#39;Godkjent&#39; og &#39;Avvist&#39; kan sendes inn,
Shift Assignment: {0} created for Employee: {1},Skiftoppgave: {0} opprettet for ansatt: {1},
You can not request for your Default Shift: {0},Du kan ikke be om standardskiftet: {0},
Only Approvers can Approve this Request.,Bare godkjente kan godkjenne denne forespørselen.,
Asset Value Analytics,Analyse av aktivaverdier,
Category-wise Asset Value,Kategorimessig aktivaverdi,
Total Assets,Totale eiendeler,
New Assets (This Year),Nye eiendeler (i år),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Rad nr.}: Avskrivningsdato for avskrivning skal ikke være lik Tilgjengelig for bruksdato.,
Incorrect Date,Feil dato,
Invalid Gross Purchase Amount,Ugyldig brutto kjøpesum,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Det er aktivt vedlikehold eller reparasjoner av eiendelen. Du må fullføre dem alle før du avbestiller eiendelen.,
% Complete,% Fullført,
Back to Course,Tilbake til kurset,
Finish Topic,Fullfør emnet,
Mins,Min,
by,av,
Back to,Tilbake til,
Enrolling...,Påmelding ...,
You have successfully enrolled for the program ,Du har registrert deg for programmet,
Enrolled,Påmeldt,
Watch Intro,Se Intro,
We're here to help!,Vi er her for å hjelpe!,
Frequently Read Articles,Les artikler ofte,
Please set a default company address,Angi en standard firmaadresse,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} er ikke en gyldig tilstand! Se etter skrivefeil eller skriv inn ISO-koden for staten din.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Det oppstod en feil under analysering av kontoplan: Kontroller at ikke to kontoer har samme navn,
Plaid invalid request error,Rett ugyldig forespørselsfeil,
Please check your Plaid client ID and secret values,Kontroller Plaid-klient-ID og hemmelige verdier,
Bank transaction creation error,Feil ved oppretting av banktransaksjoner,
Unit of Measurement,Måleenhet,
Fiscal Year {0} Does Not Exist,Regnskapsåret {0} eksisterer ikke,
Row # {0}: Returned Item {1} does not exist in {2} {3},Rad nr. {0}: Returnert vare {1} finnes ikke i {2} {3},
Valuation type charges can not be marked as Inclusive,Kostnader for verdsettelse kan ikke merkes som inkluderende,
You do not have permissions to {} items in a {}.,Du har ikke tillatelse til {} varer i en {}.,
Insufficient Permissions,Utilstrekkelige tillatelser,
You are not allowed to update as per the conditions set in {} Workflow.,Du har ikke lov til å oppdatere i henhold til vilkårene som er angitt i {} Arbeidsflyt.,
Expense Account Missing,Utgiftskonto mangler,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} er ikke en gyldig verdi for attributt {1} for varen {2}.,
Invalid Value,Ugyldig verdi,
The value {0} is already assigned to an existing Item {1}.,Verdien {0} er allerede tilordnet en eksisterende vare {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","For å fortsatt fortsette med redigering av denne attributtverdien, aktiver {0} i Innstillinger for varianter.",
Edit Not Allowed,Rediger ikke tillatt,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Rad nr. {0}: Vare {1} er allerede mottatt i bestillingen {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Du kan ikke opprette eller kansellere noen regnskapsoppføringer med i den lukkede regnskapsperioden {0},
POS Invoice should have {} field checked.,POS-faktura skal ha {} felt sjekket.,
Invalid Item,Ugyldig vare,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Rad nr.}} Du kan ikke legge til postive mengder i en returfaktura. Fjern varen {} for å fullføre returen.,
The selected change account {} doesn't belongs to Company {}.,Den valgte endringskontoen {} tilhører ikke selskapet {}.,
Atleast one invoice has to be selected.,I det minste må én faktura velges.,
Payment methods are mandatory. Please add at least one payment method.,Betalingsmåter er obligatoriske. Legg til minst én betalingsmåte.,
Please select a default mode of payment,Velg en standard betalingsmåte,
You can only select one mode of payment as default,Du kan bare velge en betalingsmåte som standard,
Missing Account,Mangler konto,
Customers not selected.,Kunder ikke valgt.,
Statement of Accounts,Regnskap,
Ageing Report Based On ,Aldringsrapport basert på,
Please enter distributed cost center,Vennligst skriv inn distribuert kostnadssted,
Total percentage allocation for distributed cost center should be equal to 100,Den totale prosentvise tildelingen for distribuert kostnadssted skal være lik 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Kan ikke aktivere distribuert kostnadssenter for et kostnadssted som allerede er tildelt i et annet distribuert kostnadssenter,
Parent Cost Center cannot be added in Distributed Cost Center,Foreldrekostnad kan ikke legges til i distribuert kostnadssenter,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Et distribuert kostnadssenter kan ikke legges til i tildelingstabellen for distribuert kostnadssenter.,
Cost Center with enabled distributed cost center can not be converted to group,Kostnadssenter med aktivert distribuert kostnadssted kan ikke konverteres til gruppe,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Kostnadssenter som allerede er tildelt i et distribuert kostnadssenter kan ikke konverteres til gruppe,
Trial Period Start date cannot be after Subscription Start Date,Testperiode Startdato kan ikke være etter abonnementsstartdato,
Subscription End Date must be after {0} as per the subscription plan,Sluttdatoen for abonnementet må være etter {0} i henhold til abonnementsplanen,
Subscription End Date is mandatory to follow calendar months,Sluttdato for abonnement er obligatorisk for å følge kalendermånedene,
Row #{}: POS Invoice {} is not against customer {},Rad # {}: POS-faktura {} er ikke imot kunde {},
Row #{}: POS Invoice {} is not submitted yet,Rad nr. {}: POS-faktura {} er ikke sendt inn ennå,
Row #{}: POS Invoice {} has been {},Rad nr. {}: POS-faktura {} har vært {},
No Supplier found for Inter Company Transactions which represents company {0},Ingen leverandører funnet for Inter Company Transactions som representerer selskapet {0},
No Customer found for Inter Company Transactions which represents company {0},Ingen kunder funnet for Inter Company Transactions som representerer selskapet {0},
Invalid Period,Ugyldig periode,
Selected POS Opening Entry should be open.,Valgt POS åpningsoppføring skal være åpen.,
Invalid Opening Entry,Ugyldig åpningsoppføring,
Please set a Company,Sett et selskap,
"Sorry, this coupon code's validity has not started","Beklager, denne kupongkodens gyldighet har ikke startet",
"Sorry, this coupon code's validity has expired","Beklager, denne kupongkodens gyldighet har utløpt",
"Sorry, this coupon code is no longer valid","Beklager, denne kupongkoden er ikke lenger gyldig",
For the 'Apply Rule On Other' condition the field {0} is mandatory,For tilstanden &quot;Bruk regel på andre&quot; er feltet {0} obligatorisk,
{1} Not in Stock,{1} Ikke på lager,
Only {0} in Stock for item {1},Bare {0} på lager for vare {1},
Please enter a coupon code,Vennligst skriv inn en kupongkode,
Please enter a valid coupon code,Vennligst skriv inn en gyldig kupongkode,
Invalid Child Procedure,Ugyldig barneprosedyre,
Import Italian Supplier Invoice.,Importer italiensk leverandørfaktura.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Verdsettelsesgrad for varen {0} kreves for å gjøre regnskapsoppføringer for {1} {2}.,
 Here are the options to proceed:,Her er alternativene for å fortsette:,
"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Hvis varen handler som en null verdsettelsesgrad i denne oppføringen, må du aktivere «Tillat null verdsettelsesgrad» i {0} varetabellen.",
"If not, you can Cancel / Submit this entry ","Hvis ikke, kan du avbryte / sende inn denne oppføringen",
 performing either one below:,utfører en av dem nedenfor:,
Create an incoming stock transaction for the Item.,Opprett en innkommende aksjetransaksjon for varen.,
Mention Valuation Rate in the Item master.,Nevn verdsettelsesgrad i varemasteren.,
Valuation Rate Missing,Verdsettelsesgrad mangler,
Serial Nos Required,Serienummer påkrevd,
Quantity Mismatch,Antall feil,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Vennligst fyll på gjenstander og oppdater plukklisten for å fortsette. For å avslutte, avbryt plukklisten.",
Out of Stock,Utsolgt,
{0} units of Item {1} is not available.,{0} enheter av varen {1} er ikke tilgjengelig.,
Item for row {0} does not match Material Request,Vare for rad {0} samsvarer ikke med materialforespørsel,
Warehouse for row {0} does not match Material Request,Lager for rad {0} samsvarer ikke med materialforespørsel,
Accounting Entry for Service,Regnskapspost for service,
All items have already been Invoiced/Returned,Alle varene er allerede fakturert / returnert,
All these items have already been Invoiced/Returned,Alle disse varene er allerede fakturert / returnert,
Stock Reconciliations,Aksjeavstemming,
Merge not allowed,Fusjon ikke tillatt,
The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,"Følgende slettede attributter finnes i varianter, men ikke i malen. Du kan enten slette variantene eller beholde attributtene i malen.",
Variant Items,Variantelementer,
Variant Attribute Error,Variantattributtfeil,
The serial no {0} does not belong to item {1},Serienummeret {0} tilhører ikke varen {1},
There is no batch found against the {0}: {1},Det er ingen batch funnet mot {0}: {1},
Completed Operation,Fullført operasjon,
Work Order Analysis,Arbeidsordreanalyse,
Quality Inspection Analysis,Kvalitetsinspeksjonsanalyse,
Pending Work Order,Venter på arbeidsordre,
Last Month Downtime Analysis,Siste måned nedetidanalyse,
Work Order Qty Analysis,Antall analyser av arbeidsordre,
Job Card Analysis,Jobbkortanalyse,
Monthly Total Work Orders,Månedlige totale arbeidsordrer,
Monthly Completed Work Orders,Månedlige fullførte arbeidsordrer,
Ongoing Job Cards,Pågående jobbkort,
Monthly Quality Inspections,Månedlige kvalitetsinspeksjoner,
(Forecast),(Prognose),
Total Demand (Past Data),Total etterspørsel (tidligere data),
Total Forecast (Past Data),Total prognose (tidligere data),
Total Forecast (Future Data),Total prognose (fremtidige data),
Based On Document,Basert på dokument,
Based On Data ( in years ),Basert på data (i år),
Smoothing Constant,Glattende konstant,
Please fill the Sales Orders table,Fyll ut salgsordretabellen,
Sales Orders Required,Salgsordrer kreves,
Please fill the Material Requests table,Fyll ut materialforespørselstabellen,
Material Requests Required,Materialforespørsler kreves,
Items to Manufacture are required to pull the Raw Materials associated with it.,Varer som skal produseres kreves for å trekke råmaterialene som er tilknyttet det.,
Items Required,Elementer som kreves,
Operation {0} does not belong to the work order {1},Operasjon {0} tilhører ikke arbeidsordren {1},
Print UOM after Quantity,Skriv ut UOM etter antall,
Set default {0} account for perpetual inventory for non stock items,Angi standard {0} -konto for evigvarende beholdning for varer som ikke er på lager,
Loan Security {0} added multiple times,Lånesikkerhet {0} er lagt til flere ganger,
Loan Securities with different LTV ratio cannot be pledged against one loan,Lånepapirer med forskjellig LTV-forhold kan ikke pantsettes mot ett lån,
Qty or Amount is mandatory for loan security!,Antall eller beløp er obligatorisk for lånesikkerhet!,
Only submittted unpledge requests can be approved,Bare innsendte uforpliktede forespørsler kan godkjennes,
Interest Amount or Principal Amount is mandatory,Rentebeløp eller hovedbeløp er obligatorisk,
Disbursed Amount cannot be greater than {0},Utbetalt beløp kan ikke være større enn {0},
Row {0}: Loan Security {1} added multiple times,Rad {0}: Lånesikkerhet {1} lagt til flere ganger,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Rad nr. {0}: Underordnet vare skal ikke være en produktpakke. Fjern element {1} og lagre,
Credit limit reached for customer {0},Kredittgrensen er nådd for kunden {0},
Could not auto create Customer due to the following missing mandatory field(s):,Kunne ikke opprette kunde automatisk på grunn av følgende manglende obligatoriske felt:,
Please create Customer from Lead {0}.,Opprett kunde fra kundeemne {0}.,
Mandatory Missing,Obligatorisk mangler,
Please set Payroll based on in Payroll settings,Angi lønn basert på i lønnsinnstillinger,
Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Tilleggslønn: {0} eksisterer allerede for lønnskomponent: {1} for perioden {2} og {3},
From Date can not be greater than To Date.,Fra dato kan ikke være større enn til dato.,
Payroll date can not be less than employee's joining date.,Lønnsdato kan ikke være mindre enn ansattes tilmeldingsdato.,
From date can not be less than employee's joining date.,Fra dato kan ikke være mindre enn ansattes tilmeldingsdato.,
To date can not be greater than employee's relieving date.,Til dags dato kan ikke være større enn ansattes avlastningsdato.,
Payroll date can not be greater than employee's relieving date.,Lønningsdato kan ikke være større enn ansattes avlastningsdato.,
Row #{0}: Please enter the result value for {1},Rad nr. {0}: Angi resultatverdien for {1},
Mandatory Results,Obligatoriske resultater,
Sales Invoice or Patient Encounter is required to create Lab Tests,Salgsfaktura eller pasientmøte kreves for å opprette laboratorietester,
Insufficient Data,Utilstrekkelig data,
Lab Test(s) {0} created successfully,Lab Test (er) {0} ble opprettet,
Test :,Test:,
Sample Collection {0} has been created,Eksempelsamling {0} er opprettet,
Normal Range: ,Normal rekkevidde:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Rad nr. {0}: Utsjekkingstidspunkt kan ikke være mindre enn innsjekkingstidspunkt,
"Missing required details, did not create Inpatient Record","Mangler påkrevde detaljer, opprettet ikke Inpatient Record",
Unbilled Invoices,Ubelagte fakturaer,
Standard Selling Rate should be greater than zero.,Standard salgsrate bør være større enn null.,
Conversion Factor is mandatory,Conversion Factor er obligatorisk,
Row #{0}: Conversion Factor is mandatory,Rad nr. {0}: Konverteringsfaktor er obligatorisk,
Sample Quantity cannot be negative or 0,Eksempelantall kan ikke være negativ eller 0,
Invalid Quantity,Ugyldig mengde,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Angi standardverdier for kundegruppe, territorium og salgsprisliste i salgsinnstillinger",
{0} on {1},{0} på {1},
{0} with {1},{0} med {1},
Appointment Confirmation Message Not Sent,Avtalebekreftelsesmelding ikke sendt,
"SMS not sent, please check SMS Settings","SMS ikke sendt, vennligst sjekk SMS-innstillinger",
Healthcare Service Unit Type cannot have both {0} and {1},Type helsetjenesteenhet kan ikke ha både {0} og {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Enhetstypen for helsetjenester må tillate minst én blant {0} og {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Angi responstid og oppløsningstid for prioritet {0} i rad {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Svartiden for {0} prioritet i rad {1} kan ikke være lengre enn oppløsningstid.,
{0} is not enabled in {1},{0} er ikke aktivert i {1},
Group by Material Request,Gruppere etter materialforespørsel,
Email Sent to Supplier {0},E-post sendt til leverandør {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Tilgangen til forespørsel om tilbud fra portalen er deaktivert. For å tillate tilgang, aktiver det i Portal Settings.",
Supplier Quotation {0} Created,Tilbud fra leverandør {0} Opprettet,
Valid till Date cannot be before Transaction Date,Gyldig till-dato kan ikke være før transaksjonsdato,
Unlink Advance Payment on Cancellation of Order,Fjern tilknytningen av forskuddsbetaling ved kansellering av ordren,
"Simple Python Expression, Example: territory != 'All Territories'","Enkelt Python-uttrykk, Eksempel: territorium! = &#39;Alle territorier&#39;",
Sales Contributions and Incentives,Salgsbidrag og insentiver,
Sourced by Supplier,Henter fra leverandør,
Total weightage assigned should be 100%.<br>It is {0},Total tildelt vekt skal være 100%.<br> Det er {0},
Account {0} exists in parent company {1}.,Kontoen {0} finnes i morselskapet {1}.,
"To overrule this, enable '{0}' in company {1}","For å overstyre dette, aktiver &quot;{0}&quot; i firmaet {1}",
Invalid condition expression,Ugyldig tilstandsuttrykk,
Please Select a Company First,Velg et selskap først,
Please Select Both Company and Party Type First,Velg både selskap og festtype først,
Provide the invoice portion in percent,Oppgi fakturadelen i prosent,
Give number of days according to prior selection,Oppgi antall dager i henhold til forhåndsvalg,
Email Details,E-postdetaljer,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Velg en hilsen til mottakeren. F.eks Mr., Ms., etc.",
Preview Email,Forhåndsvisning av e-post,
Please select a Supplier,Velg en leverandør,
Supplier Lead Time (days),Leveringstid (dager),
"Home, Work, etc.","Hjem, arbeid osv.",
Exit Interview Held On,Avslutt intervju holdt,
Condition and formula,Tilstand og formel,
Sets 'Target Warehouse' in each row of the Items table.,Angir &#39;Target Warehouse&#39; i hver rad i Artikeltabellen.,
Sets 'Source Warehouse' in each row of the Items table.,Angir &#39;Source Warehouse&#39; i hver rad i Items-tabellen.,
POS Register,POS-register,
"Can not filter based on POS Profile, if grouped by POS Profile","Kan ikke filtrere basert på POS-profil, hvis gruppert etter POS-profil",
"Can not filter based on Customer, if grouped by Customer","Kan ikke filtrere basert på kunde, hvis gruppert etter kunde",
"Can not filter based on Cashier, if grouped by Cashier","Kan ikke filtrere basert på kassereren, hvis gruppert etter kassereren",
Payment Method,Betalingsmetode,
"Can not filter based on Payment Method, if grouped by Payment Method","Kan ikke filtrere basert på betalingsmåte, hvis gruppert etter betalingsmåte",
Supplier Quotation Comparison,Sammenligning av tilbud på leverandører,
Price per Unit (Stock UOM),Pris per enhet (lager UOM),
Group by Supplier,Grupper etter leverandør,
Group by Item,Gruppere etter vare,
Remember to set {field_label}. It is required by {regulation}.,Husk å angi {field_label}. Det kreves av {regulering}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},Påmeldingsdato kan ikke være før startdatoen for det akademiske året {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},Påmeldingsdato kan ikke være etter sluttdatoen for den akademiske perioden {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},Påmeldingsdato kan ikke være før startdatoen for fagperioden {0},
Posting future transactions are not allowed due to Immutable Ledger,Det er ikke tillatt å legge ut fremtidige transaksjoner på grunn av Immutable Ledger,
Future Posting Not Allowed,Fremtidig innleggelse er ikke tillatt,
"To enable Capital Work in Progress Accounting, ","For å aktivere Capital Work in Progress Accounting,",
you must select Capital Work in Progress Account in accounts table,du må velge Capital Work in Progress-konto i kontotabellen,
You can also set default CWIP account in Company {},Du kan også angi standard CWIP-konto i selskapet {},
The Request for Quotation can be accessed by clicking on the following button,Forespørsel om tilbud kan nås ved å klikke på følgende knapp,
Regards,Hilsen,
Please click on the following button to set your new password,Klikk på følgende knapp for å angi ditt nye passord,
Update Password,Oppdater passord,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Rad nr. {}: Salgsfrekvensen for varen {} er lavere enn {}. Selge {} skal være minst {},
You can alternatively disable selling price validation in {} to bypass this validation.,Du kan alternativt deaktivere validering av salgspris i {} for å omgå denne valideringen.,
Invalid Selling Price,Ugyldig salgspris,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adressen må være knyttet til et selskap. Legg til en rad for selskapet i koblingstabellen.,
Company Not Linked,Firma ikke tilknyttet,
Import Chart of Accounts from CSV / Excel files,Importer kontoplan fra CSV / Excel-filer,
Completed Qty cannot be greater than 'Qty to Manufacture',Fullført antall kan ikke være større enn &#39;Antall å produsere&#39;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email",Rad {0}: For leverandør {1} kreves e-postadresse for å sende en e-post,
