"""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 Accounts,Konto,
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,
Completed Qty can not be greater than 'Qty to Manufacture',Fullført Antall kan ikke være større enn &quot;Antall å Manufacture &#39;,
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 Party Type first,Vennligst velg først selskapet og Party Type,
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 request for quotation can be accessed by clicking on the following link,Anmodningen om sitatet kan nås ved å klikke på følgende link,
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},
Import Chart Of Accounts from CSV / Excel files,Importer oversikt over kontoer fra CSV / Excel-filer,
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 click on the following link to set your new password,Vennligst klikk på følgende link for å sette et nytt passord,
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 Supplier from the Default Supplier List of the items below.,Velg en leverandør fra standardleverandørlisten over elementene nedenfor.,
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 Importer,Kontoplan for importør,
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,
[Select],[Velg],
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,
Exit Interview Details,Exit Intervju Detaljer,
Held On,Avholdt,
Reason for Resignation,Grunnen til Resignasjon,
Better Prospects,Bedre utsikter,
Health Concerns,Helse Bekymringer,
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.-,
Set Warehouse,Sett lager,
Sets 'For Warehouse' in each row of the Items table.,Angir &quot;For lager&quot; i hver rad i varetabellen.,
Requested For,Spurt For,
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,
Set From Warehouse,Sett fra lager,
Source Warehouse (Material Transfer),Source Warehouse (Material Transfer),
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,
Condtion and formula,Kondisjon og formel,
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,
Row #{}: Selling rate for item {} is lower than its {}. Selling rate should be atleast {},Rad nr. {}: Salgsfrekvensen for varen {} er lavere enn {}. Salgsfrekvensen bør være minst {},
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,
"Row {0}: For Supplier {0}, Email Address is Required to Send Email",Rad {0}: For leverandør {0} kreves e-postadresse for å sende e-post,
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,
