"""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,
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,
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,
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.,
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 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 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/Remove Recipients,Legg til / fjern Mottakere,
Added,Lagt,
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 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,
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,
Annual Billing: {0},Årlig Billing: {0},
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,
Application of Funds (Assets),Anvendelse av midler (aktiva),
Applied,Tatt i bruk,
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,
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),
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 To,Tildele Å,
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 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 has been marked successfully.,Oppmøte er merket med hell.,
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,
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 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 URL,Basisadresse,
Based On,Basert På,
Based On Payment Terms,Basert på betalingsbetingelser,
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,
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 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,
Black,Svart,
Blanket Orders from Costumers.,Teppe bestillinger fra kunder.,
Block Invoice,Blokker faktura,
Boms,Boms,
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,
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 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 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,
Category,Kategori,
Category Name,Category Name,
Caution,Forsiktighet,
Central Tax,Sentralskatt,
Certification,sertifisering,
Cess,Cess,
Change Amount,endring Beløp,
Change Item Code,Endre varenummer,
Change Release Date,Endre utgivelsesdato,
Change Template Code,Endre malkode,
Changing Customer Group for the selected Customer is not allowed.,Endring av kundegruppe for den valgte kunden er ikke tillatt.,
Chapter,Kapittel,
Chapter information.,Kapittelinformasjon.,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Charge of type &#39;Actual&#39; i rad {0} kan ikke inkluderes i Element Ranger,
Chargeble,chargeble,
Charges are updated in Purchase Receipt against each item,Kostnader er oppdatert i Purchase Mottak mot hvert element,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Kostnader vil bli fordelt forholdsmessig basert på element stk eller beløp, som per ditt valg",
Chart of Cost Centers,Plan Kostnadssteder,
Check all,Sjekk alt,
Checkout,Sjekk ut,
Chemical,Kjemisk,
Cheque,Cheque,
Cheque/Reference No,Sjekk / referansenummer,
Cheques Required,Sjekker påkrevd,
Cheques and Deposits incorrectly cleared,Sjekker og Innskudd feil ryddet,
Child Task exists for this Task. You can not delete this Task.,Barneoppgave eksisterer for denne oppgaven. Du kan ikke slette denne oppgaven.,
Child nodes can be only created under 'Group' type nodes,Ordnede noder kan bare opprettes under &#39;Gruppe&#39; type noder,
Child warehouse exists for this warehouse. You can not delete this warehouse.,Barn lager finnes for dette lageret. Du kan ikke slette dette lageret.,
Circular Reference Error,Rundskriv Reference Error,
City,By,
City/Town,Sted / by,
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 leave request days not in valid holidays,Kompensasjonsorlov forespørselsdager ikke i gyldige helligdager,
Complaint,Klage,
Completion Date,Ferdigstillelse Dato,
Computer,Datamaskin,
Condition,Tilstand,
Configure,Konfigurer,
Configure {0},Konfigurer {0},
Confirmed orders from Customers.,Bekreftede bestillinger fra kunder.,
Connect Amazon with ERPNext,Koble Amazon med ERPNext,
Connect Shopify with ERPNext,Koble Shopify med ERPNext,
Connect to Quickbooks,Koble til Quickbooks,
Connected to QuickBooks,Koblet til QuickBooks,
Connecting to QuickBooks,Koble til QuickBooks,
Consultation,Konsultasjon,
Consultations,konsultasjoner,
Consulting,Consulting,
Consumable,Konsum,
Consumed,forbrukes,
Consumed Amount,Forbrukes Beløp,
Consumed Qty,Forbrukes Antall,
Consumer Products,Forbrukerprodukter,
Contact,Kontakt,
Contact 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 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 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 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 {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 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 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 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,
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 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,
Day,Dag,
Debit,debet,
Debit ({0}),Debet ({0}),
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,
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 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,
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 Advances,Ansattes fremskritt,
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 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 {0} has already applied for {1} between {2} and {3} : ,Ansatt {0} har allerede søkt om {1} mellom {2} og {3}:,
Employee {0} of grade {1} have no default leave policy,Medarbeider {0} av klasse {1} har ingen standard permisjon,
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å,
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,
"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:",
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 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,
"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,
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, 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 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,
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 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 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},
Fulfillment,Oppfyllelse,
Full Name,Fullt Navn,
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,
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 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 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,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Yearly,Halvårlig,
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,
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,
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,
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,
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 card {0} created,Jobbkort {0} opprettet,
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,
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 Management,La Ledelse,
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},
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",
Ledger,Ledger,
Legal,Juridisk,
Legal Expenses,Rettshjelp,
Letter Head,Brevhode,
Letter Heads for print templates.,Brevark for utskriftsmaler.,
Level,Nivå,
Liability,Ansvar,
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 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,
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 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 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 discount for Item {0} is {1}%,Maksimum rabatt for element {0} er {1}%,
Medical Code,Medisinsk kode,
Medical Code Standard,Medisinskode Standard,
Medical Department,Medisinsk avdeling,
Medical Record,Pasientjournal,
Medium,Medium,
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,
Model,Modell,
Moderate Sensitivity,Moderat følsomhet,
Monday,Mandag,
Monthly,Månedlig,
Monthly Distribution,Månedlig Distribution,
More,Mer,
More Information,Mer informasjon,
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,
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 Profit,Netto fortjeneste,
Net Total,Net Total,
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,
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 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 Remarks,Nei Anmerkninger,
No Result to submit,Ingen resultat å sende inn,
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 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 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 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.,
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 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. 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,
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,
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,
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,
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 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 request {0} created,Betalingsforespørsel {0} opprettet,
Payments,Betalinger,
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,
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 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 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 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 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 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 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 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 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 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 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 {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 Customer Address,Angi kundeadresse,
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 {0} for address {1},Angi {0} for adresse {1},
Please setup Students under Student Groups,Vennligst oppsett Studentene under Student Grupper,
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 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,
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,
Prev,prev,
Preview,Forhåndsvisning,
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,
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,
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,
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 Type,Referanse Type,
"Reference: {0}, Item Code: {1} and Customer: {2}","Henvisning: {0}, Varenummer: {1} og kunde: {2}",
References,referanser,
Refresh Token,Refresh Token,
Register,Registrere,
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,
Report,Rapporter,
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.,
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,
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}# 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}: 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} 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 submitted for period from {0} to {1},Lønnsslipp legges inn for perioden fra {0} til {1},
Salary Structure must be submitted before submission of Tax Ememption Declaration,Lønnsstruktur må leveres før innsendelse av skattefrihetserklæring,
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 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,
Sand,Sand,
Saturday,Lørdag,
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,
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 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 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 mass SMS to your contacts,Sende masse SMS til kontaktene dine,
Sensitivity,Følsomhet,
Sent,Sendte,
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,
Service,Tjeneste,
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 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 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 Open,Vis åpen,
Show Opening Entries,Vis åpningsoppføringer,
Show Payment Details,Vis betalingsdetaljer,
Show Return Entries,Vis returinnlegg,
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,
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}",
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,
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 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 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,
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 this Work Order for further processing.,Send inn denne arbeidsordren for videre behandling.,
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,
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,
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 field From Shareholder cannot be blank,Feltet fra Aksjonær kan ikke være tomt,
The field To Shareholder cannot be blank,Feltet Til Aksjonær kan ikke være tomt,
The fields From Shareholder and To Shareholder cannot be blank,Feltene fra Aksjonær og Til Aksjonær kan ikke være tomme,
The folio numbers are not matching,Folio tallene stemmer ikke overens,
The holiday on {0} is not between From Date and To Date,Ferien på {0} er ikke mellom Fra dato og til dato,
The name of the institute for which you are setting up this system.,Navnet på institutt for som du setter opp dette systemet.,
The name of your company for which you are setting up this system.,Navnet på firmaet som du setter opp dette systemet.,
The number of shares and the share numbers are inconsistent,Antall aksjer og aksjenumrene er inkonsekvente,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Betalingsgatewaykontoen i plan {0} er forskjellig fra betalingsgatewaykontoen i denne betalingsanmodningen,
The selected BOMs are not for the same item,De valgte stykklister er ikke for den samme varen,
The selected item cannot have Batch,Den valgte elementet kan ikke ha Batch,
The seller and the buyer cannot be the same,Selgeren og kjøperen kan ikke være det samme,
The shareholder does not belong to this company,Aksjonæren tilhører ikke dette firmaet,
The shares already exist,Aksjene eksisterer allerede,
The shares don't exist with the {0},Aksjene eksisterer ikke med {0},
"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","Oppgaven er blitt pålagt som bakgrunnsjobb. I tilfelle det er noe problem med behandlingen i bakgrunnen, vil systemet legge til en kommentar om feilen på denne aksjeavstemmingen og gå tilbake til utkaststrinnet",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Da reglene for prissetting filtreres ut basert på Kunden, Kundens Group, Territory, leverandør, leverandør Type, Kampanje, Sales Partner etc.",
"There are inconsistencies between the rate, no of shares and the amount calculated","Det er uoverensstemmelser mellom rente, antall aksjer og beregnet beløp",
There 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 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 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 {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 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 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 Invoiced Amount,Total Fakturert beløp,
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 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 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 hours: {0},Antall timer: {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,
Track Leads by Lead Source.,Sporledninger av blykilde.,
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 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 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 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 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",
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,
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: 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 Manager,Website manager,
Website Settings,Nettstedinnstillinger,
Wednesday,Onsdag,
Week,Uke,
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.,
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-in-Progress Warehouse is required before Submit,Work-in-progress Warehouse er nødvendig før Send,
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 set Frozen value,Du er ikke autorisert til å sette Frozen verdi,
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'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 enough 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 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} 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 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} 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} 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}: 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 {},
Assigned To,Tilordnet,
Chat,Chat,
Completed By,Fullført av,
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,
Import,Import,
Language,Språk,
Likes,Likes,
Merge with existing,Slå sammen med eksisterende,
Orientation,orientering,
Parent,Parent,
Payment Failed,Betalingen feilet,
Personal,Personlig,
Post,Post,
Postal Code,postnummer,
Provider,Forsørger,
Read Only,Read Only,
Recipient,Mottaker,
Reviews,anmeldelser,
Sender,Avsender,
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",
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,
Budgets,budsjetter,
Bundle Qty,Bundle Antall,
Company GSTIN,Firma GSTIN,
Company field is required,Firmafelt er påkrevd,
Creating Dimensions...,Oppretter dimensjoner ...,
Duplicate entry against the item code {0} and manufacturer {1},Dupliser oppføring mot varekoden {0} og produsenten {1},
Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,Ugyldig GSTIN! Inputene du har skrevet inn samsvarer ikke med GSTIN-formatet for UIN-innehavere eller ikke-bosatte OIDAR-tjenesteleverandører,
Invoice Grand Total,Faktura Grand Total,
Last carbon check date cannot be a future date,Siste dato for karbonkontroll kan ikke være en fremtidig dato,
Make Stock Entry,Gjør lageroppføring,
Quality Feedback,Tilbakemelding om kvalitet,
Quality Feedback Template,Kvalitet Tilbakemelding Mal,
Rules for applying different promotional schemes.,Regler for anvendelse av forskjellige kampanjer.,
Show {0},Vis {0},
Target Details,Måldetaljer,
{0} already has a Parent Procedure {1}.,{0} har allerede en foreldreprosedyre {1}.,
API,API,
Annual,Årlig,
Change,Endre,
Contact Email,Kontakt Epost,
From Date,Fra Dato,
Group By,Gruppe av,
Invalid URL,ugyldig URL,
Landscape,Landskap,
Naming Series,Navngi Series,
No data to export,Ingen data å eksportere,
Portrait,Portrett,
Print Heading,Print Overskrift,
Scheduler Inactive,Planlegger inaktiv,
Scheduler is inactive. Cannot import data.,Planlegger er inaktiv. Kan ikke importere data.,
Show Document,Vis dokument,
Show Traceback,Vis traceback,
Video,video,
% Of Grand Total,% Av Grand Total,
<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 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 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.,
All,Alle,
All bank transactions have been created,Alle banktransaksjoner er opprettet,
All the depreciations has been booked,Alle avskrivningene er booket,
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,
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.,
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 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 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 ...,
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,
Daily,Daglig,
Date,Dato,
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,
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,
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,
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,
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,
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,
Invalid Barcode. There is no Item attached to this barcode.,Ugyldig strekkode. Det er ingen ting knyttet til denne strekkoden.,
Invalid credentials,Ugyldige legitimasjon,
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,
Leaves Taken,Blader tatt,
Less Than Amount,Mindre enn beløpet,
Liabilities,gjeld,
Loading...,Laster inn ...,
Loan Applications from customers and employees.,Låneapplikasjoner fra kunder og ansatte.,
Loan Processes,Låneprosesser,
Loan Type for interest and penalty rates,Lånetype for renter og bøter,
Loans,lån,
Loans provided to customers and employees.,Lån gitt til kunder og ansatte.,
Location,Beliggenhet,
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,
No Account matched these filters: {},Ingen kontoer matchet disse filtrene: {},
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,
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,
Patient History,Pasienthistorie,
Pause,Pause,
Pay,Betale,
Payment Document Type,Betalingsdokumenttype,
Payment Name,Betalingsnavn,
Pending,Avventer,
Performance,Opptreden,
Period based On,Periode basert på,
Perpetual inventory required for the company {0} to view this report.,Evigvarende varebeholdning som er nødvendig for at {0} skal kunne se denne rapporten.,
Phone,Telefon,
Pick List,Plukkliste,
Plaid authentication error,Autentiseringsfeil i rutet,
Plaid public token error,Plaid public token error,
Plaid transactions sync error,Feil i synkronisering av rutete transaksjoner,
Please check the error log for details about the import errors,Kontroller feilloggen for detaljer om importfeilene,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Opprett <b>DATEV-innstillinger</b> for selskapet <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Opprett justeringsjournalregistrering for beløp {0},
Please do not create more than 500 items at a time,Ikke lag mer enn 500 elementer om gangen,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},"Vennligst skriv inn <b>Difference-konto,</b> eller angi standard <b>aksjejusteringskonto</b> for selskapet {0}",
Please enter GSTIN and state for the Company Address {0},Vennligst tast inn GSTIN og oppgi firmanavn {0},
Please enter Item Code to get item taxes,Vennligst tast inn varekoden for å få vareskatter,
Please enter Warehouse and Date,Vennligst skriv inn lager og dato,
Please 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 Customer first,Velg kunde først,
Please select Item Code first,Velg varekode først,
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
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,
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 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,
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,
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,
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},
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 Difference Account,Velg Differanse-konto,
Select a Default Priority.,Velg en standardprioritet.,
Select a company,Velg et selskap,
Select finance book for the item {0} at row {1},Velg økonomibok for varen {0} på rad {1},
Select only one Priority as Default.,Velg bare én prioritet som standard.,
Seller Information,Selgerinformasjon,
Send,Sende,
Send a message,Send en melding,
Sending,sende,
Sends Mails to lead or contact based on a Campaign schedule,Sender e-post for å lede eller kontakte basert på en kampanjeplan,
Serial Number Created,Serienummer opprettet,
Serial Numbers Created,Serienumre opprettet,
Serial no(s) required for serialized item {0},Serienummer (er) som kreves for serienummeret {0},
Series,Series,
Server Error,serverfeil,
Service Level Agreement has been changed to {0}.,Servicenivåavtale er endret til {0}.,
Service Level Agreement was reset.,Servicenivåavtale ble tilbakestilt.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Servicenivåavtale med enhetstype {0} og enhet {1} eksisterer allerede.,
Set Meta Tags,Angi metatagger,
Set {0} in company {1},Sett {0} i firma {1},
Setup,Setup,
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}).,
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 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,
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.",
Total,Total,
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,
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 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,
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 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,
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 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} 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 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,
Clear,Klar,
Comments,Kommentarer,
DocType,DOCTYPE,
Download,nedlasting,
Left,Venstre,
Link,link,
New,Ny,
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,
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,
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,
Yes,Ja,
Actual ,Faktiske,
Add to cart,Legg til i handlevogn,
Budget,Budsjett,
Chart of Accounts,Kontooversikt,
Customer database.,Kunde Database.,
Days Since Last order,Dager siden siste Bestill,
Download as JSON,Last ned som JSON,
End date can not be less than start date,Sluttdato kan ikke være mindre enn startdato,
For Default Supplier (Optional),For standardleverandør (valgfritt),
From date cannot be greater than To date,Fra dato ikke kan være større enn To Date,
Group by,Grupper etter,
In stock,På lager,
Item name,Navn,
Minimum Qty,Minimum antall,
More details,Mer informasjon,
Nature of Supplies,Naturens forsyninger,
No Items found.,Ingen objekter 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,
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}.",
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,
Leaves Expired,Bladene utløpt,
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,
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,
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,
Over Billing Allowance (%),Over faktureringsgodtgjørelse (%),
Credit Controller,Credit Controller,
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 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,
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,
Cash Flow Mapping,Cash Flow Mapping,
Select Maximum Of 1,Velg Maksimum 1,
Is Finance Cost,Er finansieringskostnad,
Is Working Capital,Er arbeidskapital,
Is Finance Cost Adjustment,Er finansieringskostnadsjustering,
Is Income Tax Liability,Er skatt på inntektsskatt,
Is Income Tax Expense,Er inntektsskatt utgift,
Cash Flow Mapping Accounts,Kontantstrømmappekontoer,
account,Konto,
Cash Flow Mapping Template,Cash Flow Mapping Template,
Cash Flow Mapping Template Details,Kontantstrøm kartlegging detaljer,
POS-CLO-,POS-lukningstider,
Custody,varetekt,
Net Amount,Nettobeløp,
Cashier Closing Payments,Kasseavslutninger,
Chart of Accounts Importer,Kontooversikt Importør,
Import Chart of Accounts from a csv file,Importer kontoplan fra en csv-fil,
Attach custom Chart of Accounts file,Legg ved tilpasset kontoplan,
Chart Preview,Forhåndsvisning av diagram,
Chart Tree,Chart Tree,
Cheque Print Template,Sjekk ut Mal,
Has Print Format,Har Print Format,
Primary Settings,primære Innstillinger,
Cheque Size,sjekk Size,
Regular,Regelmessig,
Starting position from top edge,Startposisjon fra øverste kant,
Cheque Width,sjekk Bredde,
Cheque Height,sjekk Høyde,
Scanned Cheque,skannede Cheque,
Is Account Payable,Er konto Betales,
Distance from top edge,Avstand fra øvre kant,
Distance from left edge,Avstand fra venstre kant,
Message to show,Melding for visning,
Date Settings,Dato Innstillinger,
Starting location from left edge,Starter plassering fra venstre kant,
Payer Settings,Payer Innstillinger,
Width of amount in word,Bredde på beløpet i ord,
Line spacing for amount in words,Linjeavstand for beløpet i ord,
Amount In Figure,Beløp I figur,
Signatory Position,Signataren plassering,
Closed Document,Lukket dokument,
Track separate Income and Expense for product verticals or divisions.,Spor separat inntekter og kostnader for produkt vertikaler eller divisjoner.,
Cost Center Name,Kostnadssteds Name,
Parent Cost Center,Parent kostnadssted,
lft,LFT,
rgt,RGT,
Coupon Code,Kupongkode,
Coupon Name,Kupongnavn,
"e.g. ""Summer Holiday 2019 Offer 20""",f.eks &quot;Sommerferie 2019 Tilbud 20&quot;,
Coupon Type,Kupongtype,
Promotional,Promotional,
Gift Card,Gavekort,
unique e.g. SAVE20  To be used to get discount,unik f.eks. SAVE20 Brukes for å få rabatt,
Validity and Usage,Gyldighet og bruk,
Valid From,Gyldig fra,
Valid Upto,Gyldig Upto,
Maximum Use,Maksimal bruk,
Used,brukes,
Coupon Description,Kupongbeskrivelse,
Discounted Invoice,Rabattert faktura,
Debit to,Debet til,
Exchange Rate Revaluation,Valutakursomskrivning,
Get Entries,Få oppføringer,
Exchange Rate Revaluation Account,Valutakursreguleringskonto,
Total Gain/Loss,Total gevinst / tap,
Balance In Account Currency,Balanse i Konto Valuta,
Current Exchange Rate,Gjeldende valutakurs,
Balance In Base Currency,Balanse i basisvaluta,
New Exchange Rate,Ny valutakurs,
New Balance In Base Currency,Ny balanse i basisvaluta,
Gain/Loss,Gevinst / tap,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Regnskapsår ** representerer et regnskapsår. Alle regnskapspostene og andre store transaksjoner spores mot ** regnskapsår **.,
Year Name,År Navn,
"For e.g. 2012, 2012-13","For eksempel 2012, 2012-13",
Year Start Date,År Startdato,
Year End Date,År Sluttdato,
Companies,Selskaper,
Auto Created,Automatisk opprettet,
Stock User,Stock User,
Fiscal Year Company,Regnskapsåret selskapet,
Debit Amount,Debet Beløp,
Credit Amount,Credit Beløp,
Debit Amount in Account Currency,Debet beløp på kontoen Valuta,
Credit Amount in Account Currency,Credit beløp på kontoen Valuta,
Voucher Detail No,Kupong Detail Ingen,
Is Opening,Er Åpnings,
Is Advance,Er Advance,
To Rename,Å gi nytt navn,
GST Account,GST-konto,
CGST Account,CGST-konto,
SGST Account,SGST-konto,
IGST Account,IGST-konto,
CESS Account,CESS-konto,
Loan Start Date,Startdato for lån,
Loan Period (Days),Låneperiode (dager),
Loan End Date,Sluttdato for lån,
Bank Charges,Bankgebyrer,
Short Term Loan Account,Kortsiktig lånekonto,
Bank Charges Account,Bankkontokonto,
Accounts Receivable Credit Account,Kundefordringer Kredittkonto,
Accounts Receivable Discounted Account,Kundefordringer Rabattert konto,
Accounts Receivable Unpaid Account,Kundefordringer Ubetalt konto,
Item Tax Template,Vare skatt mal,
Tax Rates,Skattesatser,
Item Tax Template Detail,Vare skatt mal detalj,
Entry Type,Entry Type,
Inter Company Journal Entry,Inter Company Journal Entry,
Bank Entry,Bank Entry,
Cash Entry,Cash Entry,
Credit Card Entry,Kredittkort Entry,
Contra Entry,Contra Entry,
Excise Entry,Vesenet Entry,
Write Off Entry,Skriv Off Entry,
Opening Entry,Åpning Entry,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Regnskaps Entries,
Total Debit,Total debet,
Total Credit,Total Credit,
Difference (Dr - Cr),Forskjellen (Dr - Cr),
Make Difference Entry,Gjør forskjell Entry,
Total Amount Currency,Totalbeløp Valuta,
Total Amount in Words,Totalbeløp i Words,
Remark,Bemerkning,
Paid Loan,Betalt lån,
Inter Company Journal Entry Reference,Inter Company Journal Entry Reference,
Write Off Based On,Skriv Off basert på,
Get Outstanding Invoices,Få utestående fakturaer,
Write Off Amount,Avskrive beløp,
Printing Settings,Utskriftsinnstillinger,
Pay To / Recd From,Betal Til / recd From,
Payment Order,Betalingsordre,
Subscription Section,Abonnementsseksjon,
Journal Entry Account,Journal Entry konto,
Account Balance,Saldo,
Party Balance,Fest Balance,
Accounting Dimensions,Regnskapsdimensjoner,
If Income or Expense,Dersom inntekt eller kostnad,
Exchange Rate,Vekslingskurs,
Debit in Company Currency,Debet i selskapet Valuta,
Credit in Company Currency,Kreditt i selskapet Valuta,
Payroll Entry,Lønninngang,
Employee Advance,Ansattes fremskritt,
Reference Due Date,Referansedato,
Loyalty Program Tier,Lojalitetsprogram Tier,
Redeem Against,Løs inn mot,
Expiry Date,Utløpsdato,
Loyalty Point Entry Redemption,Innløsning av lojalitetspoeng,
Redemption Date,Innløsningsdato,
Redeemed Points,Innløste poeng,
Loyalty Program Name,Lojalitetsprogramnavn,
Loyalty Program Type,Lojalitetsprogramtype,
Single Tier Program,Single Tier Program,
Multiple Tier Program,Flertallsprogram,
Customer Territory,Kundeområde,
Auto Opt In (For all customers),Auto Opt In (For alle kunder),
Collection Tier,Collection Tier,
Collection Rules,Innsamlingsregler,
Redemption,Forløsning,
Conversion Factor,Omregningsfaktor,
1 Loyalty Points = How much base currency?,1 Lojalitetspoeng = Hvor mye grunnvaluta?,
Expiry Duration (in days),Utløpsvarighet (i dager),
Help Section,Hjelpseksjon,
Loyalty Program Help,Lojalitetsprogram Hjelp,
Loyalty Program Collection,Lojalitetsprogram samling,
Tier Name,Tiernavn,
Minimum Total Spent,Minimum totalt brukt,
Collection Factor (=1 LP),Samlefaktor (= 1 LP),
For how much spent = 1 Loyalty Point,For hvor mye brukt = 1 Lojalitetspoeng,
Mode of Payment Account,Modus for betaling konto,
Default Account,Standard konto,
Default account will be automatically updated in POS Invoice when this mode is selected.,Standardkontoen oppdateres automatisk i POS-faktura når denne modusen er valgt.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Månedlig Distribusjon ** hjelper deg distribuere Budsjett / Target over måneder hvis du har sesongvariasjoner i din virksomhet.,
Distribution Name,Distribusjon Name,
Name of the Monthly Distribution,Navn på Monthly Distribution,
Monthly Distribution Percentages,Månedlig Distribusjonsprosent,
Monthly Distribution Percentage,Månedlig Distribution Prosent,
Percentage Allocation,Prosentvis Allocation,
Create Missing Party,Opprett manglende parti,
Create missing customer or supplier.,Opprett manglende kunde eller leverandør.,
Opening Invoice Creation Tool Item,Åpning av fakturaopprettingsverktøyet,
Temporary Opening Account,Midlertidig åpningskonto,
Party Account,Partiet konto,
Type of Payment,Type Betaling,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Motta,
Internal Transfer,Internal Transfer,
Payment Order Status,Betalingsordresstatus,
Payment Ordered,Betaling Bestilt,
Payment From / To,Betaling fra / til,
Company Bank Account,Firmaets bankkonto,
Party Bank Account,Party bankkonto,
Account Paid From,Konto betalt fra,
Account Paid To,Konto Betalt for å,
Paid Amount (Company Currency),Innbetalt beløp (Company Valuta),
Received Amount,mottatt beløp,
Received Amount (Company Currency),Mottatt beløp (Selskap Valuta),
Get Outstanding Invoice,Få utestående faktura,
Payment References,Betalings Referanser,
Writeoff,writeoff,
Total Allocated Amount,Totalt tildelte beløp,
Total Allocated Amount (Company Currency),Totalt tildelte beløp (Selskap Valuta),
Set Exchange Gain / Loss,Sett valutagevinst / tap,
Difference Amount (Company Currency),Forskjell Beløp (Selskap Valuta),
Write Off Difference Amount,Skriv Off differansebeløpet,
Deductions or Loss,Fradrag eller tap,
Payment Deductions or Loss,Betalings fradrag eller tap,
Cheque/Reference Date,Sjekk / Reference Date,
Payment Entry Deduction,Betaling Entry Fradrag,
Payment Entry Reference,Betaling Entry Reference,
Allocated,Avsatt,
Payment Gateway Account,Betaling Gateway konto,
Payment Account,Betaling konto,
Default Payment Request Message,Standard betalingsforespørsel Message,
PMO-,PMO-,
Payment Order Type,Type betalingsordre,
Payment Order Reference,Betalingsordrehenvisning,
Bank Account Details,Detaljer om bankkonto,
Payment Reconciliation,Betaling Avstemming,
Receivable / Payable Account,Fordringer / gjeld konto,
Bank / Cash Account,Bank / minibank konto,
From Invoice Date,Fra Fakturadato,
To Invoice Date,Å Fakturadato,
Minimum Invoice Amount,Minimum Fakturert beløp,
Maximum Invoice Amount,Maksimal Fakturert beløp,
System will fetch all the entries if limit value is zero.,Systemet henter alle oppføringene hvis grenseverdien er null.,
Get Unreconciled Entries,Få avstemte Entries,
Unreconciled Payment Details,Avstemte Betalingsopplysninger,
Invoice/Journal Entry Details,Faktura / Journal Entry Detaljer,
Payment Reconciliation Invoice,Betaling Avstemming Faktura,
Invoice Number,Fakturanummer,
Payment Reconciliation Payment,Betaling Avstemming Betaling,
Reference Row,Referanse Row,
Allocated amount,Bevilget beløp,
Payment Request Type,Betalingsforespørselstype,
Outward,Ytre,
Inward,innover,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,Transaksjonsdetaljer,
Amount in customer's currency,Beløp i kundens valuta,
Is a Subscription,Er en abonnement,
Transaction Currency,transaksjonsvaluta,
Subscription Plans,Abonnementsplaner,
SWIFT Number,Raskt nummer,
Recipient Message And Payment Details,Mottakers Message og betalingsinformasjon,
Make Sales Invoice,Gjør Sales Faktura,
Mute Email,Demp Email,
payment_url,payment_url,
Payment Gateway Details,Betaling Gateway Detaljer,
Payment Schedule,Nedbetalingsplan,
Invoice Portion,Fakturaandel,
Payment Amount,Betalings Beløp,
Payment Term Name,Betalingsnavn,
Due Date Based On,Forfallsdato basert på,
Day(s) after invoice date,Dag (er) etter faktura dato,
Day(s) after the end of the invoice month,Dag (er) etter slutten av faktura måneden,
Month(s) after the end of the invoice month,Måned (e) etter slutten av faktura måneden,
Credit Days,Kreditt Days,
Credit Months,Kredittmåneder,
Allocate Payment Based On Payment Terms,Tildel betaling basert på betalingsbetingelser,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Hvis denne avkrysningsruten er merket av, vil det betalte beløpet bli delt opp og fordeles i henhold til beløpene i betalingsplanen mot hver betalingsperiode",
Payment Terms Template Detail,Betalingsvilkår Maledetaljer,
Closing Fiscal Year,Lukke regnskapsår,
Closing Account Head,Lukke konto Leder,
"The account head under Liability or Equity, in which Profit/Loss will be booked","Kontoen hodet etter forpliktelse eller et egenkapital, der gevinst / tap vil bli bokført",
POS Customer Group,POS Kundegruppe,
POS Field,POS-felt,
POS Item Group,POS Varegruppe,
Company Address,Firma adresse,
Update Stock,Oppdater Stock,
Ignore Pricing Rule,Ignorer Pricing Rule,
Applicable for Users,Gjelder for brukere,
Sales Invoice Payment,Salg Faktura Betaling,
Item Groups,varegruppene,
Only show Items from these Item Groups,Vis bare varer fra disse varegruppene,
Customer Groups,kunde~~POS=TRUNC grupper~~POS=HEADCOMP,
Only show Customer of these Customer Groups,Vis kun kunde for disse kundegruppene,
Write Off Account,Skriv Off konto,
Write Off Cost Center,Skriv Av kostnadssted,
Account for Change Amount,Konto for Change Beløp,
Taxes and Charges,Skatter og avgifter,
Apply Discount On,Påfør rabatt på,
POS Profile User,POS Profil Bruker,
Apply On,Påfør på,
Price or Product Discount,Pris eller produktrabatt,
Apply Rule On Item Code,Bruk regel om varekode,
Apply Rule On Item Group,Bruk regel om varegrupper,
Apply Rule On Brand,Bruk regel på merke,
Mixed Conditions,Blandede forhold,
Conditions will be applied on all the selected items combined. ,Betingelsene vil bli brukt på alle valgte elementer kombinert.,
Is Cumulative,Er kumulativ,
Coupon Code Based,Basert på kupongkode,
Discount on Other Item,Rabatt på annen vare,
Apply Rule On Other,Bruk regel på andre,
Party Information,Partiinformasjon,
Quantity and Amount,Mengde og mengde,
Min Qty,Min Antall,
Max Qty,Max Antall,
Min Amt,Min Amt,
Max Amt,Max Amt,
Period Settings,Periodeinnstillinger,
Margin,Margin,
Margin Type,margin Type,
Margin Rate or Amount,Margin Rate Beløp,
Price Discount Scheme,Prisrabattordning,
Rate or Discount,Pris eller rabatt,
Discount Percentage,Rabatt Prosent,
Discount Amount,Rabattbeløp,
For Price List,For Prisliste,
Product Discount Scheme,Produktrabattordning,
Same Item,Samme vare,
Free Item,Gratis vare,
Threshold for Suggestion,Terskel for forslag,
System will notify to increase or decrease quantity or amount ,Systemet vil varsle om å øke eller redusere mengde eller mengde,
"Higher the number, higher the priority","Høyere tallet er, høyere prioritet",
Apply Multiple Pricing Rules,Bruk flere prisregler,
Apply Discount on Rate,Bruk rabatt på pris,
Validate Applied Rule,Valider gjeldende regel,
Rule Description,Regelbeskrivelse,
Pricing Rule Help,Prising Rule Hjelp,
Promotional Scheme Id,Kampanjeplan-id,
Promotional Scheme,Kampanjeplan,
Pricing Rule Brand,Prissett regelmerke,
Pricing Rule Detail,Prisregler detalj,
Child Docname,Dokumentnavn for barn,
Rule Applied,Regel anvendt,
Pricing Rule Item Code,Prisregel Varenummer,
Pricing Rule Item Group,Prissett regelgruppe,
Price Discount Slabs,Pris Rabattplater,
Promotional Scheme Price Discount,Kampanjepriser Rabatt,
Product Discount Slabs,Produktrabattplater,
Promotional Scheme Product Discount,Salgsfremmende produkt rabatt,
Min Amount,Min beløp,
Max Amount,Maks beløp,
Discount Type,Rabatttype,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Skattelettende kategori,
Edit Posting Date and Time,Rediger konteringsdato og klokkeslett,
Is Paid,er betalt,
Is Return (Debit Note),Er retur (Debit Note),
Apply Tax Withholding Amount,Påfør gjeldsbeløp,
Accounting Dimensions ,Regnskapsdimensjoner,
Supplier Invoice Details,Leverandør Fakturadetaljer,
Supplier Invoice Date,Leverandør Fakturadato,
Return Against Purchase Invoice,Tilbake mot fakturaen,
Select Supplier Address,Velg Leverandør Adresse,
Contact Person,Kontaktperson,
Select Shipping Address,Velg leveringsadresse,
Currency and Price List,Valuta og prisliste,
Price List Currency,Prisliste Valuta,
Price List Exchange Rate,Prisliste Exchange Rate,
Set Accepted Warehouse,Sett akseptert lager,
Rejected Warehouse,Avvist Warehouse,
Warehouse where you are maintaining stock of rejected items,Warehouse hvor du opprettholder lager avviste elementer,
Raw Materials Supplied,Råvare Leveres,
Supplier Warehouse,Leverandør Warehouse,
Pricing Rules,Prisregler,
Supplied Items,Leveringen,
Total (Company Currency),Total (Company Valuta),
Net Total (Company Currency),Net Total (Selskap Valuta),
Total Net Weight,Total nettovikt,
Shipping Rule,Shipping Rule,
Purchase Taxes and Charges Template,Kjøpe skatter og avgifter Mal,
Purchase Taxes and Charges,Kjøpe skatter og avgifter,
Tax Breakup,Skatteavbrudd,
Taxes and Charges Calculation,Skatter og avgifter Beregning,
Taxes and Charges Added (Company Currency),Skatter og avgifter legges (Company Valuta),
Taxes and Charges Deducted (Company Currency),Skatter og avgifter fratrukket (Company Valuta),
Total Taxes and Charges (Company Currency),Totale skatter og avgifter (Selskapet valuta),
Taxes and Charges Added,Skatter og avgifter legges,
Taxes and Charges Deducted,Skatter og avgifter fratrukket,
Total Taxes and Charges,Totale skatter og avgifter,
Additional Discount,Ekstra rabatt,
Apply Additional Discount On,Påfør Ytterligere rabatt på,
Additional Discount Amount (Company Currency),Ekstra rabatt Beløp (Selskap Valuta),
Additional Discount Percentage,Ekstra rabattprosent,
Additional Discount Amount,Ekstra rabattbeløp,
Grand Total (Company Currency),Grand Total (Selskap Valuta),
Rounding Adjustment (Company Currency),Avrundingsjustering (Bedriftsvaluta),
Rounded Total (Company Currency),Avrundet Total (Selskap Valuta),
In Words (Company Currency),I Words (Company Valuta),
Rounding Adjustment,Avrundingsjustering,
In Words,I Words,
Total Advance,Total Advance,
Disable Rounded Total,Deaktiver Avrundet Total,
Cash/Bank Account,Cash / Bank Account,
Write Off Amount (Company Currency),Skriv Off Beløp (Selskap Valuta),
Set Advances and Allocate (FIFO),Angi fremskritt og tilordne (FIFO),
Get Advances Paid,Få utbetalt forskudd,
Advances,Fremskritt,
Terms,Vilkår,
Terms and Conditions1,Vilkår og forhold 1,
Group same items,Gruppe samme elementene,
Print Language,Print Språk,
"Once set, this invoice will be on hold till the set date","Når denne er satt, vil denne fakturaen være på vent til den angitte datoen",
Credit To,Kreditt til,
Party Account Currency,Partiet konto Valuta,
Against Expense Account,Mot regning,
Inter Company Invoice Reference,Interfirma faktura referanse,
Is Internal Supplier,Er Intern Leverandør,
Start date of current invoice's period,Startdato for nåværende fakturaperiode,
End date of current invoice's period,Sluttdato for gjeldende faktura periode,
Update Auto Repeat Reference,Oppdater Auto Repeat Reference,
Purchase Invoice Advance,Fakturaen Advance,
Purchase Invoice Item,Fakturaen Element,
Quantity and Rate,Kvantitet og Rate,
Received Qty,Mottatt Antall,
Accepted Qty,Godkjent mengde,
Rejected Qty,avvist Antall,
UOM Conversion Factor,Målenheter Omregningsfaktor,
Discount on Price List Rate (%),Rabatt på Prisliste Rate (%),
Price List Rate (Company Currency),Prisliste Rate (Selskap Valuta),
Rate ,Rate,
Rate (Company Currency),Rate (Selskap Valuta),
Amount (Company Currency),Beløp (Selskap Valuta),
Is Free Item,Er gratis vare,
Net Rate,Net Rate,
Net Rate (Company Currency),Netto Rate (Selskap Valuta),
Net Amount (Company Currency),Nettobeløp (Company Valuta),
Item Tax Amount Included in Value,Vare skattebeløp inkludert i verdien,
Landed Cost Voucher Amount,Landed Cost Voucher Beløp,
Raw Materials Supplied Cost,Råvare Leveres Cost,
Accepted Warehouse,Akseptert Warehouse,
Serial No,Serial No,
Rejected Serial No,Avvist Serial No,
Expense Head,Expense Leder,
Is Fixed Asset,Er Fast Asset,
Asset Location,Asset Location,
Deferred Expense,Utsatt kostnad,
Deferred Expense Account,Utsatt kostnadskonto,
Service Stop Date,Service Stop Date,
Enable Deferred Expense,Aktiver utsatt utgift,
Service Start Date,Service Startdato,
Service End Date,Tjenestens sluttdato,
Allow Zero Valuation Rate,Tillat null verdivurdering,
Item Tax Rate,Sak Skattesats,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,"Tax detalj tabell hentet fra elementet Hoved som en streng, og som er lagret på dette feltet. Brukes for skatter og avgifter",
Purchase Order Item,Innkjøpsordre Element,
Purchase Receipt Detail,Kjøpskvitteringsdetalj,
Item Weight Details,Vektdetaljer,
Weight Per Unit,Vekt pr. Enhet,
Total Weight,Total vekt,
Weight UOM,Vekt målenheter,
Page Break,Page Break,
Consider Tax or Charge for,Tenk Skatte eller Charge for,
Valuation and Total,Verdivurdering og Total,
Valuation,Verdivurdering,
Add or Deduct,Legge til eller trekke fra,
Deduct,Trekke,
On Previous Row Amount,På Forrige Row Beløp,
On Previous Row Total,På Forrige Row Total,
On Item Quantity,På varemengde,
Reference Row #,Referanse Row #,
Is this Tax included in Basic Rate?,Er dette inklusiv i Basic Rate?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Hvis det er merket, vil skattebeløpet betraktes som allerede er inkludert i Print Rate / Print Beløp",
Account Head,Account Leder,
Tax Amount After Discount Amount,Skattebeløp Etter Rabattbeløp,
Item Wise Tax Detail ,Vare detalj for skattebeskatning,
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Standard skatt mal som kan brukes på alle kjøpstransaksjoner. Denne malen kan inneholde liste over skatte hoder og også andre utgifter hoder som &quot;Shipping&quot;, &quot;Forsikring&quot;, &quot;Håndtering&quot; osv #### Note Skattesatsen du definerer her vil være standard skattesats for alle ** Items * *. Hvis det er ** Elementer ** som har forskjellige priser, må de legges i ** Sak Skatt ** bord i ** Sak ** mester. #### Beskrivelse av kolonner 1. Beregning Type: - Dette kan være på ** Net Total ** (som er summen av grunnbeløpet). - ** På Forrige Row Total / Beløp ** (for kumulative skatter eller avgifter). Hvis du velger dette alternativet, vil skatten bli brukt som en prosentandel av forrige rad (i skattetabellen) eller en total. - ** Faktisk ** (som nevnt). 2. Account Head: Konto hovedbok der denne skatten vil bli bokført 3. Cost Center: Hvis skatt / avgift er en inntekt (som frakt) eller utgifter det må bestilles mot et kostnadssted. 4. Beskrivelse: Beskrivelse av skatt (som vil bli skrevet ut i fakturaer / sitater). 5. Ranger: skattesats. 6. Beløp: Skatt beløp. 7. Totalt: Akkumulert total til dette punktet. 8. Angi Row: Dersom basert på &quot;Forrige Row Total&quot; du kan velge radnummeret som vil bli tatt som en base for denne beregningen (standard er den forrige rad). 9. Vurdere Skatte eller Charge for: I denne delen kan du angi om skatt / avgift er kun for verdivurdering (ikke en del av total) eller bare for total (ikke tilføre verdi til elementet) eller for begge. 10. legge til eller trekke: Enten du ønsker å legge til eller trekke skatt.",
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 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,
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,
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,
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 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,
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,
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,
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 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,
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,
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 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,
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,
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,
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,
HR,HR,
Date on which this component is applied,Datoen som denne komponenten brukes,
Salary Slip,Lønn Slip,
HR User,HR User,
Job Applicant,Jobbsøker,
Body,Kropp,
Appraisal Template,Appraisal Mal,
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,
Required Skills,Nødvendige ferdigheter,
Skills,ferdigheter,
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,
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 Mode,Lønn Mode,
Bank A/C No.,Bank A / C No.,
Health Insurance,Helseforsikring,
Health Insurance Provider,Helseforsikringsselskap,
Health Insurance No,Helseforsikring nr,
Prefered Email,foretrukne e-post,
Personal Email,Personlig e-post,
Permanent Address Is,Permanent Adresse Er,
Rented,Leide,
Owned,Eies,
Permanent Address,Permanent Adresse,
Prefered Contact Email,Foretrukket Kontakt E-post,
Company Email,Selskapet E-post,
Provide Email Address registered in company,Gi e-postadresse som er registrert i selskapets,
Current Address Is,Gjeldende adresse Er,
Current Address,Nåværende Adresse,
Personal Bio,Personlig Bio,
Bio / Cover Letter,Bio / Cover Letter,
Short biography for website and other publications.,Kort biografi for hjemmeside og andre publikasjoner.,
Passport Number,Passnummer,
Date of Issue,Utstedelsesdato,
Place of Issue,Utstedelsessted,
Widowed,Enke,
Family Background,Familiebakgrunn,
"Here you can maintain family details like name and occupation of parent, spouse and children","Her kan du opprettholde familie informasjon som navn og okkupasjon av foreldre, ektefelle og barn",
Health Details,Helse Detaljer,
"Here you can maintain height, weight, allergies, medical concerns etc","Her kan du opprettholde høyde, vekt, allergier, medisinske bekymringer etc",
Educational Qualification,Pedagogiske Kvalifikasjoner,
Previous Work Experience,Tidligere arbeidserfaring,
External Work History,Ekstern Work History,
History In Company,Historie I selskapet,
Internal Work History,Intern Work History,
Resignation Letter Date,Resignasjon Letter Dato,
Relieving Date,Lindrende Dato,
Reason for Leaving,Grunn til å forlate,
Leave Encashed?,Permisjon encashed?,
Encashment Date,Encashment Dato,
New Workplace,Nye arbeidsplassen,
Returned Amount,Returnert beløp,
Advance Account,Forhåndskonto,
Benefits Applied,Fordeler anvendt,
Benefit Type and Amount,Fordeltype og beløp,
Task Weight,Task Vekt,
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,
Employee Group Table,Tabell over ansatte grupper,
ERPNext User ID,ERPNeste Bruker-ID,
Employee Internal Work History,Ansatt Intern Work History,
Activities,aktiviteter,
Employee Onboarding Activity,Ansatte ombord på aktiviteten,
Employee Promotion Detail,Medarbeideropplysning detaljer,
Employee Transfer Property,Medarbeideroverføringseiendom,
Unclaimed amount,Uoppfordret beløp,
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,
Retirement Age,Pensjonsalder,
Enter retirement age in years,Skriv inn pensjonsalder i år,
Stop Birthday Reminders,Stop bursdagspåminnelser,
Leave Settings,Forlat innstillinger,
Accepted,Akseptert,
Printing Details,Utskrift Detaljer,
Job Title,Jobbtittel,
Allocation,Tildeling,
Select Employees,Velg Medarbeidere,
Allocate,Bevilge,
Max Leaves Allowed,Maks. Blader tillatt,
Maximum Continuous Days Applicable,Maksimum kontinuerlige dager gjelder,
Select Payroll Period,Velg Lønn Periode,
Abbr,Abbr,
Condition and Formula,Tilstand og formel,
Total Working Hours,Samlet arbeidstid,
Hour Rate,Time Rate,
Bank Account No.,Bank Account No.,
Earning & Deduction,Tjene &amp; 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,
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.,
Staffing Plan Details,Bemanning Plandetaljer,
Optional,Valgfri,
Costing,Costing,
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,
last Odometer Value ,siste kilometertellerverdi,
Service Detail,tjenesten Detalj,
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,
Repay From Salary,Smelle fra Lønn,
Regular Payment,Vanlig betaling,
Loan Closure,Lånet stenging,
Rate of Interest (%) Yearly,Rente (%) Årlig,
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,
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,
Allow Production on Holidays,Tillat Produksjonen på helligdager,
Capacity Planning For (Days),Kapasitetsplanlegging For (dager),
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,
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,
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 (via Timesheet),Faktisk tid (i timer),
Costing and Billing,Kalkulasjon og fakturering,
Total Costing Amount (via Timesheet),Totalt kostende beløp (via tidsskrifter),
Total Expense Claim (via Expense Claim),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 Timesheet),Totalt fakturerbart beløp (via tidsskrifter),
Total Billed Amount (via Sales Invoice),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 Timesheet),Faktisk startdato (via Timeregistrering),
Actual Time in Hours (via Timesheet),Virkelig tid (i timer),
Actual End Date (via Timesheet),Faktisk Sluttdato (via Timeregistrering),
Total Expense Claim (via Expense Claim),Total Expense krav (via Expense krav),
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,
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,
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,
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,
Default Quotation Validity Days,Standard Quotation Gyldighetsdager,
Sales Update Frequency,Salgsoppdateringsfrekvens,
Each Transaction,Hver transaksjon,
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,
Update Series,Update-serien,
Change the starting / current sequence number of an existing series.,Endre start / strøm sekvensnummer av en eksisterende serie.,
Quotation Lost Reason,Sitat av Lost Reason,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,En tredjepart distributør / forhandler / kommisjonær / agent / forhandler som selger selskaper produkter for en kommisjon.,
Sales Partner Name,Sales Partner Name,
Partner Type,Partner Type,
Address & Contacts,Adresse og Kontakt,
Address Desc,Adresse Desc,
Contact Desc,Kontakt Desc,
Sales Partner Target,Sales Partner Target,
Targets,Targets,
Show In Website,Show I Website,
Referral Code,Henvisningskode,
To Track inbound purchase,For å spore inngående kjøp,
Logo,Logo,
Partner website,partner nettstedet,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Alle salgstransaksjoner kan være merket mot flere ** Salgs Personer ** slik at du kan stille inn og overvåke mål.,
Name and Employee ID,Navn og Employee ID,
Sales Person Name,Sales Person Name,
Parent Sales Person,Parent Sales Person,
Select company name first.,Velg firmanavn først.,
Sales Person Targets,Sales Person Targets,
Set targets Item Group-wise for this Sales Person.,Sette mål varegruppe-messig for Sales Person.,
Supplier Group Name,Leverandørgruppens navn,
Parent Supplier Group,Foreldre Leverandørgruppe,
Target Detail,Target Detalj,
Target Qty,Target Antall,
Target  Amount,Target Beløp,
Target Distribution,Target Distribution,
"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Standardvilkårene som kan legges til salg og kjøp. Eksempler: 1. Gyldighet av tilbudet. 1. Betalingsvilkår (på forhånd, på kreditt, del forhånd etc). 1. Hva er ekstra (eller skal betales av kunden). 1. Sikkerhet / bruk advarsel. 1. Garanti om noen. 1. Returrett. 1. Vilkår for frakt, hvis aktuelt. 1. Måter adressering tvister, erstatning, ansvar, etc. 1. Adresse og kontakt med din bedrift.",
Applicable Modules,Gjeldende moduler,
Terms and Conditions Help,Betingelser Hjelp,
Classification of Customers by region,Klassifisering av kunder etter region,
Territory Name,Territorium Name,
Parent Territory,Parent Territory,
Territory Manager,Distriktssjef,
For reference,For referanse,
Territory Targets,Terri Targets,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Set varegruppe-messig budsjetter på dette territoriet. Du kan også inkludere sesongvariasjoner ved å sette Distribution.,
UOM Name,Målenheter Name,
Check this to disallow fractions. (for Nos),Sjekk dette for å forby fraksjoner. (For Nos),
Website Item Group,Website varegruppe,
Cross Listing of Item in multiple groups,Cross Notering av varen i flere grupper,
Default settings for Shopping Cart,Standardinnstillingene for handlekurv,
Enable Shopping Cart,Aktiver Handlevogn,
Display Settings,Skjerminnstillinger,
Show Public Attachments,Vis offentlige vedlegg,
Show Price,Vis pris,
Show Stock Availability,Vis lager tilgjengelighet,
Show Contact Us Button,Vis Kontakt oss-knappen,
Show Stock Quantity,Vis lager Antall,
Show Apply Coupon Code,Vis Bruk kupongkode,
Allow items not in stock to be added to cart,La varer som ikke er på lager legges i handlekurven,
Prices will not be shown if Price List is not set,Prisene vil ikke bli vist hvis prislisten er ikke satt,
Quotation Series,Sitat Series,
Checkout Settings,Kasse Innstillinger,
Enable Checkout,aktiver kassen,
Payment Success Url,Betaling Suksess URL,
After payment completion redirect user to selected page.,Etter betaling ferdigstillelse omdirigere brukeren til valgt side.,
Batch Details,Batchdetaljer,
Batch ID,Batch ID,
image,bilde,
Parent Batch,Parent Batch,
Manufacturing Date,Produksjonsdato,
Batch Quantity,Batchantall,
Batch UOM,Batch UOM,
Source Document Type,Kilde dokumenttype,
Source Document Name,Kilde dokumentnavn,
Batch Description,Batch Beskrivelse,
Bin,Bin,
Reserved Quantity,Reservert Antall,
Actual Quantity,Selve Antall,
Requested Quantity,Requested Antall,
Reserved Qty for sub contract,Reservert antall for kontrakt,
Moving Average Rate,Moving Gjennomsnittlig pris,
FCFS Rate,FCFS Rate,
Customs Tariff Number,Tolltariffen nummer,
Tariff Number,tariff Antall,
Delivery To,Levering Å,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,Er Return,
Issue Credit Note,Utstedelseskreditnotat,
Return Against Delivery Note,Tilbake mot følgeseddel,
Customer's Purchase Order No,Kundens innkjøpsordre Nei,
Billing Address Name,Billing Address Navn,
Required only for sample item.,Kreves bare for prøve element.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Hvis du har opprettet en standard mal i salgs skatter og avgifter mal, velger du ett og klikk på knappen under.",
In Words will be visible once you save the Delivery Note.,I Ord vil være synlig når du lagrer følgeseddel.,
In Words (Export) will be visible once you save the Delivery Note.,I Words (eksport) vil være synlig når du lagrer følgeseddel.,
Transporter Info,Transporter Info,
Driver Name,Drivernavn,
Track this Delivery Note against any Project,Spor dette følgeseddel mot ethvert prosjekt,
Inter Company Reference,Inter Company Reference,
Print Without Amount,Skriv ut Uten Beløp,
% Installed,% Installert,
% of materials delivered against this Delivery Note,% Av materialer leveres mot denne følgeseddel,
Installation Status,Installasjon Status,
Excise Page Number,Vesenet Page Number,
Instructions,Bruksanvisning,
From Warehouse,Fra Warehouse,
Against Sales Order,Mot Salgsordre,
Against Sales Order Item,Mot kundeordreposisjon,
Against Sales Invoice,Mot Salg Faktura,
Against Sales Invoice Item,Mot Salg Faktura Element,
Available Batch Qty at From Warehouse,Tilgjengelig Batch Antall på From Warehouse,
Available Qty at From Warehouse,Tilgjengelig Antall på From Warehouse,
Delivery Settings,Leveringsinnstillinger,
Dispatch Settings,Dispatch Settings,
Dispatch Notification Template,Forsendelsesvarslingsmal,
Dispatch Notification Attachment,Dispatch Notification Attachment,
Leave blank to use the standard Delivery Note format,La stå tomt for å bruke standardleveringsformat,
Send with Attachment,Send med vedlegg,
Delay between Delivery Stops,Forsinkelse mellom Leveringsstopp,
Delivery Stop,Leveringsstopp,
Lock,Låse,
Visited,Besøkte,
Order Information,BESTILLINGSINFORMASJON,
Contact Information,Kontaktinformasjon,
Email sent to,E-post sendt Å,
Dispatch Information,Leveringsinformasjon,
Estimated Arrival,forventet ankomst,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Innledende e-postvarsling sendt,
Delivery Details,Levering Detaljer,
Driver Email,Driver-e-post,
Driver Address,Driveradresse,
Total Estimated Distance,Totalt estimert avstand,
Distance UOM,Avstand UOM,
Departure Time,Avgangstid,
Delivery Stops,Levering stopper,
Calculate Estimated Arrival Times,Beregn anslåtte ankomsttider,
Use Google Maps Direction API to calculate estimated arrival times,Bruk Google Maps Direction API for å beregne estimerte ankomsttider,
Optimize Route,Optimaliser rute,
Use Google Maps Direction API to optimize route,Bruk Google Maps Direction API for å optimalisere ruten,
In Transit,I transitt,
Fulfillment User,Fulfillment User,
"A Product or a Service that is bought, sold or kept in stock.","Et produkt eller en tjeneste som er kjøpt, solgt eller holdes på lager.",
STO-ITEM-.YYYY.-,STO-SAK-.YYYY.-,
Variant Of,Variant av,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Hvis elementet er en variant av et annet element da beskrivelse, image, priser, avgifter osv vil bli satt fra malen uten eksplisitt spesifisert",
Is Item from Hub,Er element fra nav,
Default Unit of Measure,Standard måleenhet,
Maintain Stock,Oppretthold Stock,
Standard Selling Rate,Standard salgskurs,
Auto Create Assets on Purchase,Lag automatisk eiendeler ved kjøp,
Asset Naming Series,Asset Naming Series,
Over Delivery/Receipt Allowance (%),Overlevering / kvitteringsgodtgjørelse (%),
Barcodes,strek~~POS=TRUNC,
Shelf Life In Days,Holdbarhet i dager,
End of Life,Slutten av livet,
Default Material Request Type,Standard Material Request Type,
Valuation Method,Verdsettelsesmetode,
FIFO,FIFO,
Moving Average,Glidende gjennomsnitt,
Warranty Period (in days),Garantiperioden (i dager),
Auto re-order,Auto re-order,
Reorder level based on Warehouse,Omgjøre nivå basert på Warehouse,
Will also apply for variants unless overrridden,Vil også gjelde for varianter med mindre overrridden,
Units of Measure,Måleenheter,
Will also apply for variants,Vil også gjelde for varianter,
Serial Nos and Batches,Serienummer og partier,
Has Batch No,Har Batch No,
Automatically Create New Batch,Opprett automatisk ny batch automatisk,
Batch Number Series,Batchnummer Serie,
"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Eksempel: ABCD. #####. Hvis serier er satt og Batch nr ikke er nevnt i transaksjoner, vil automatisk batchnummer bli opprettet basert på denne serien. Hvis du alltid vil uttrykkelig nevne Batch nr for dette elementet, la dette være tomt. Merk: Denne innstillingen vil ha prioritet i forhold til Naming Series Prefix i lagerinnstillinger.",
Has Expiry Date,Har utløpsdato,
Retain Sample,Behold prøve,
Max Sample Quantity,Maks antall prøver,
Maximum sample quantity that can be retained,Maksimal prøvemengde som kan beholdes,
Has Serial No,Har Serial No,
Serial Number Series,Serienummer Series,
"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Eksempel:. ABCD ##### Hvis serien er satt og serienummer er ikke nevnt i transaksjoner, og deretter automatisk serienummer vil bli opprettet basert på denne serien. Hvis du alltid vil eksplisitt nevne Serial Nos for dette elementet. la dette stå tomt.",
Variants,Varianter,
Has Variants,Har Varianter,
"If this item has variants, then it cannot be selected in sales orders etc.","Hvis dette elementet har varianter, så det kan ikke velges i salgsordrer etc.",
Variant Based On,Variant basert på,
Item Attribute,Sak Egenskap,
"Sales, Purchase, Accounting Defaults","Salg, kjøp, regnskapsstandarder",
Item Defaults,Elementinnstillinger,
"Purchase, Replenishment Details","Informasjon om kjøp, påfyll",
Is Purchase Item,Er Purchase Element,
Default Purchase Unit of Measure,Standard innkjøpsenhet for mål,
Minimum Order Qty,Minimum Antall,
Minimum quantity should be as per Stock UOM,Minimumsmengde bør være som per lager UOM,
Average time taken by the supplier to deliver,Gjennomsnittlig tid tatt av leverandøren til å levere,
Is Customer Provided Item,Er kunden gitt varen,
Delivered by Supplier (Drop Ship),Levert av Leverandør (Drop Ship),
Supplier Items,Leverandør Items,
Foreign Trade Details,Foreign Trade Detaljer,
Country of Origin,Opprinnelsesland,
Sales Details,Salgs Detaljer,
Default Sales Unit of Measure,Standard salgsmengde av mål,
Is Sales Item,Er Sales Element,
Max Discount (%),Max Rabatt (%),
No of Months,Antall måneder,
Customer Items,Kunde Items,
Inspection Criteria,Inspeksjon Kriterier,
Inspection Required before Purchase,Inspeksjon Påkrevd før kjøp,
Inspection Required before Delivery,Inspeksjon Påkrevd før Levering,
Default BOM,Standard BOM,
Supply Raw Materials for Purchase,Leverer råvare til Purchase,
If subcontracted to a vendor,Dersom underleverandør til en leverandør,
Customer Code,Kunden Kode,
Default Item Manufacturer,Standardprodusent,
Default Manufacturer Part No,Standard produsentens varenummer,
Show in Website (Variant),Vis i Website (Variant),
Items with higher weightage will be shown higher,Elementer med høyere weightage vil bli vist høyere,
Show a slideshow at the top of the page,Vis en lysbildeserie på toppen av siden,
Website Image,Nettstedets bilde,
Website Warehouse,Nettsted Warehouse,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Vis &quot;på lager&quot; eller &quot;Not in Stock&quot; basert på lager tilgjengelig i dette lageret.,
Website Item Groups,Website varegrupper,
List this Item in multiple groups on the website.,Liste denne vare i flere grupper på nettstedet.,
Copy From Item Group,Kopier fra varegruppe,
Website Content,Innhold på nettstedet,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Du kan bruke hvilken som helst gyldig Bootstrap 4-markering i dette feltet. Det vil vises på varesiden din.,
Total Projected Qty,Samlet forventet Antall,
Hub Publishing Details,Hub Publishing Detaljer,
Publish in Hub,Publisere i Hub,
Publish Item to hub.erpnext.com,Publiser varen til hub.erpnext.com,
Hub Category to Publish,Hub kategori for publisering,
Hub Warehouse,Hub lager,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Publiser &quot;På lager&quot; eller &quot;Ikke på lager&quot; på Hub basert på lager tilgjengelig i dette varehuset.,
Synced With Hub,Synkronisert Med Hub,
Item Alternative,Element Alternativt,
Alternative Item Code,Alternativ produktkode,
Two-way,Toveis,
Alternative Item Name,Alternativt varenavn,
Attribute Name,Attributt navn,
Numeric Values,Numeriske verdier,
From Range,Fra Range,
Increment,Tilvekst,
To Range,Range,
Item Attribute Values,Sak attributtverdier,
Item Attribute Value,Sak data Verdi,
Attribute Value,Attributtverdi,
Abbreviation,Forkortelse,
"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Dette vil bli lagt til Element Code of varianten. For eksempel, hvis din forkortelsen er &quot;SM&quot;, og elementet kode er &quot;T-SHIRT&quot;, elementet koden til variant vil være &quot;T-SHIRT-SM&quot;",
Item Barcode,Sak Barcode,
Barcode Type,Strekkode Type,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Sak Customer Detalj,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","For det lettere for kunder, kan disse kodene brukes i trykte formater som regningene og leveringssedlene",
Ref Code,Ref Kode,
Item Default,Element Standard,
Purchase Defaults,Kjøpsstandarder,
Default Buying Cost Center,Standard Kjøpe kostnadssted,
Default Supplier,Standard Leverandør,
Default Expense Account,Standard kostnadskonto,
Sales Defaults,Salgsstandard,
Default Selling Cost Center,Standard Selling kostnadssted,
Item Manufacturer,varen Produsent,
Item Price,Sak Pris,
Packing Unit,Pakkeenhet,
Quantity  that must be bought or sold per UOM,Mengde som må kjøpes eller selges per UOM,
Item Quality Inspection Parameter,Sak Quality Inspection Parameter,
Acceptance Criteria,Akseptkriterier,
Item Reorder,Sak Omgjøre,
Check in (group),Sjekk inn (gruppe),
Request for,Forespørsel etter,
Re-order Level,Re-Order nivå,
Re-order Qty,Re-Order Antall,
Item Supplier,Sak Leverandør,
Item Variant,Sak Variant,
Item Variant Attribute,Sak Variant Egenskap,
Do not update variants on save,Ikke oppdater varianter på lagre,
Fields will be copied over only at time of creation.,Feltene vil bli kopiert bare på tidspunktet for opprettelsen.,
Allow Rename Attribute Value,Tillat omdøpe attributtverdi,
Rename Attribute Value in Item Attribute.,Endre navn på Attribute Value i Item Attribute.,
Copy Fields to Variant,Kopier felt til variant,
Item Website Specification,Sak Nettsted Spesifikasjon,
Table for Item that will be shown in Web Site,Tabell for element som vil bli vist på nettsiden,
Landed Cost Item,Landed Cost Element,
Receipt Document Type,Kvittering dokumenttype,
Receipt Document,kvittering Document,
Applicable Charges,Gjeldende avgifter,
Purchase Receipt Item,Kvitteringen Element,
Landed Cost Purchase Receipt,Landed Cost Kjøpskvittering,
Landed Cost Taxes and Charges,Landed Cost skatter og avgifter,
Landed Cost Voucher,Landed Cost Voucher,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Kjøps Kvitteringer,
Purchase Receipt Items,Kvitteringen Items,
Get Items From Purchase Receipts,Få elementer fra innkjøps Receipts,
Distribute Charges Based On,Distribuere Kostnader Based On,
Landed Cost Help,Landed Cost Hjelp,
Manufacturers used in Items,Produsenter som brukes i Items,
Limited to 12 characters,Begrenset til 12 tegn,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Partially Ordered,Delvis bestilt,
Transferred,overført,
% Ordered,% Bestilt,
Terms and Conditions Content,Betingelser innhold,
Quantity and Warehouse,Kvantitet og Warehouse,
Lead Time Date,Lead Tid Dato,
Min Order Qty,Min Bestill Antall,
Packed Item,Pakket Element,
To Warehouse (Optional),Til Warehouse (valgfritt),
Actual Batch Quantity,Faktisk batchmengde,
Prevdoc DocType,Prevdoc DOCTYPE,
Parent Detail docname,Parent Detail docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generere pakksedler for pakker som skal leveres. Brukes til å varsle pakke nummer, innholdet i pakken og vekten.",
Indicates that the package is a part of this delivery (Only Draft),Indikerer at pakken er en del av denne leveransen (Kun Draft),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Fra Package No.,
Identification of the package for the delivery (for print),Identifikasjon av pakken for levering (for print),
To Package No.,Å pakke No.,
If more than one package of the same type (for print),Hvis mer enn en pakke av samme type (for print),
Package Weight Details,Pakken vektdetaljer,
The net weight of this package. (calculated automatically as sum of net weight of items),Nettovekten av denne pakken. (Automatisk beregnet som summen av nettovekt elementer),
Net Weight UOM,Vekt målenheter,
Gross Weight,Bruttovekt,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Totalvekten av pakken. Vanligvis nettovekt + emballasjematerialet vekt. (For utskrift),
Gross Weight UOM,Bruttovekt målenheter,
Packing Slip Item,Pakking Slip Element,
DN Detail,DN Detalj,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Material Transfer for Produksjon,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Antall råvarer blir bestemt ut fra mengden av ferdige varer,
Parent Warehouse,Parent Warehouse,
Items under this warehouse will be suggested,Varer under dette lageret vil bli foreslått,
Get Item Locations,Få vareposisjoner,
Item Locations,Vareposisjoner,
Pick List Item,Velg listevare,
Picked Qty,Valgt antall,
Price List Master,Prisliste Master,
Price List Name,Prisliste Name,
Price Not UOM Dependent,Pris ikke UOM-avhengig,
Applicable for Countries,Gjelder for Land,
Price List Country,Prisliste Land,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Leverandørleverans Note,
Time at which materials were received,Tidspunktet for når materialene ble mottatt,
Return Against Purchase Receipt,Tilbake Against Kjøpskvittering,
Rate at which supplier's currency is converted to company's base currency,Hastigheten som leverandørens valuta er konvertert til selskapets hovedvaluta,
Sets 'Accepted Warehouse' in each row of the items table.,Angir &#39;Godkjent lager&#39; i hver rad i varetabellen.,
Sets 'Rejected Warehouse' in each row of the items table.,Angir &#39;Avvist lager&#39; i hver rad i varetabellen.,
Raw Materials Consumed,Råvarer forbrukes,
Get Current Stock,Få Current Stock,
Consumed Items,Forbrukte varer,
Add / Edit Taxes and Charges,Legg til / Rediger skatter og avgifter,
Auto Repeat Detail,Auto Repeat Detail,
Transporter Details,Transporter Detaljer,
Vehicle Number,Vehicle Number,
Vehicle Date,Vehicle Dato,
Received and Accepted,Mottatt og akseptert,
Accepted Quantity,Akseptert Antall,
Rejected Quantity,Avvist Antall,
Accepted Qty as per Stock UOM,Akseptert antall per lager UOM,
Sample Quantity,Prøvekvantitet,
Rate and Amount,Rate og Beløp,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Rapporter Date,
Inspection Type,Inspeksjon Type,
Item Serial No,Sak Serial No,
Sample Size,Sample Size,
Inspected By,Inspisert av,
Readings,Readings,
Quality Inspection Reading,Quality Inspection Reading,
Reading 1,Lesing 1,
Reading 2,Reading 2,
Reading 3,Reading 3,
Reading 4,Reading 4,
Reading 5,Reading 5,
Reading 6,Reading 6,
Reading 7,Reading 7,
Reading 8,Reading 8,
Reading 9,Lese 9,
Reading 10,Lese 10,
Quality Inspection Template Name,Kvalitetsinspeksjonsmalnavn,
Quick Stock Balance,Rask aksjebalanse,
Available Quantity,Tilgjengelig mengde,
Distinct unit of an Item,Distinkt enhet av et element,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Lageret kan bare endres via Stock Entry / følgeseddel / Kjøpskvittering,
Purchase / Manufacture Details,Kjøp / Produksjon Detaljer,
Creation Document Type,Creation dokumenttype,
Creation Document No,Creation Dokument nr,
Creation Date,Dato opprettet,
Creation Time,Creation Tid,
Asset Details,Eiendomsdetaljer,
Asset Status,Asset Status,
Delivery Document Type,Levering dokumenttype,
Delivery Document No,Levering Dokument nr,
Delivery Time,Leveringstid,
Invoice Details,Fakturadetaljer,
Warranty / AMC Details,Garanti / AMC Detaljer,
Warranty Expiry Date,Garantiutløpsdato,
AMC Expiry Date,AMC Utløpsdato,
Under Warranty,Under Garanti,
Out of Warranty,Ut av Garanti,
Under AMC,Under AMC,
Out of AMC,Ut av AMC,
Warranty Period (Days),Garantiperioden (dager),
Serial No Details,Serie ingen opplysninger,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Lagerinngangstype,
Stock Entry (Outward GIT),Lagerinngang (utad GIT),
Material Consumption for Manufacture,Materialforbruk for produksjon,
Repack,Pakk,
Send to Subcontractor,Send til underleverandør,
Delivery Note No,Levering Note Nei,
Sales Invoice No,Salg Faktura Nei,
Purchase Receipt No,Kvitteringen Nei,
Inspection Required,Inspeksjon påkrevd,
From BOM,Fra BOM,
For Quantity,For Antall,
As per Stock UOM,Pr Stock målenheter,
Including items for sub assemblies,Inkludert elementer for sub samlinger,
Default Source Warehouse,Standardkilde Warehouse,
Source Warehouse Address,Source Warehouse Adresse,
Default Target Warehouse,Standard Target Warehouse,
Target Warehouse Address,Mållageradresse,
Update Rate and Availability,Oppdateringsfrekvens og tilgjengelighet,
Total Incoming Value,Total Innkommende Verdi,
Total Outgoing Value,Total Utgående verdi,
Total Value Difference (Out - In),Total verdi Difference (ut -),
Additional Costs,Tilleggskostnader,
Total Additional Costs,Samlede merkostnader,
Customer or Supplier Details,Kunde eller leverandør Detaljer,
Per Transferred,Per overført,
Stock Entry Detail,Stock Entry Detail,
Basic Rate (as per Stock UOM),Basic Rate (som per Stock målenheter),
Basic Amount,Grunnbeløp,
Additional Cost,Tilleggs Cost,
Serial No / Batch,Serial No / Batch,
BOM No. for a Finished Good Item,BOM No. for et ferdig God Sak,
Material Request used to make this Stock Entry,Materialet Request brukes til å gjøre dette lager Entry,
Subcontracted Item,Underleverandør,
Against Stock Entry,Mot aksjeoppføring,
Stock Entry Child,Lagerinngangsbarn,
PO Supplied Item,PO levert vare,
Reference Purchase Receipt,Referansekjøpskvittering,
Stock Ledger Entry,Stock Ledger Entry,
Outgoing Rate,Utgående Rate,
Actual Qty After Transaction,Selve Antall Etter Transaksjons,
Stock Value Difference,Stock Verdi Difference,
Stock Queue (FIFO),Stock Queue (FIFO),
Is Cancelled,Er Avlyst,
Stock Reconciliation,Stock Avstemming,
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Dette verktøyet hjelper deg til å oppdatere eller fikse mengde og verdsetting av aksjer i systemet. Det er vanligvis brukes til å synkronisere systemverdier og hva som faktisk eksisterer i ditt varehus.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Avstemming JSON,
Stock Reconciliation Item,Stock Avstemming Element,
Before reconciliation,Før avstemming,
Current Serial No,Gjeldende serienr,
Current Valuation Rate,Nåværende Verdivurdering Rate,
Current Amount,Gjeldende Beløp,
Quantity Difference,Antall Difference,
Amount Difference,beløp Difference,
Item Naming By,Sak Naming Av,
Default Item Group,Standard varegruppe,
Default Stock UOM,Standard Stock målenheter,
Sample Retention Warehouse,Prøvebehandlingslager,
Default Valuation Method,Standard verdsettelsesmetode,
Show Barcode Field,Vis strekkodefelt,
Convert Item Description to Clean HTML,Konverter elementbeskrivelse for å rydde HTML,
Allow Negative Stock,Tillat Negative Stock,
Automatically Set Serial Nos based on FIFO,Automatisk Sett Serial Nos basert på FIFO,
Auto Material Request,Auto Materiell Request,
Inter Warehouse Transfer Settings,Innstillinger for interlageroverføring,
Freeze Stock Entries,Freeze Stock Entries,
Stock Frozen Upto,Stock Frozen Opp,
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,
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,
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 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,
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,
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,
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,
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,
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,
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,
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},
Material Request Warehouse,Materialforespørsel Lager,
Select warehouse for material requests,Velg lager for materialforespørsler,
Transfer Materials For Warehouse {0},Overfør materiale til lager {0},
Production Plan Material Request Warehouse,Produksjonsplan Materialforespørsel Lager,
Sets 'Source Warehouse' in each row of the items table.,Angir &#39;Source Warehouse&#39; i hver rad i varetabellen.,
Sets 'Target Warehouse' in each row of the items table.,Angir &#39;Target Warehouse&#39; i hver rad i varetabellen.,
Show Cancelled Entries,Vis kansellerte oppføringer,
Backdated Stock Entry,Tilbake datert lageroppføring,
Row #{}: Currency of {} - {} doesn't matches company currency.,Rad nr. {}: Valuta på {} - {} samsvarer ikke med selskapets valuta.,
{} Assets created for {},{} Eiendeler opprettet for {},
{0} Number {1} is already used in {2} {3},{0} Nummer {1} er allerede brukt i {2} {3},
Update Bank Clearance Dates,Oppdater bankavslutningsdatoer,
Healthcare Practitioner: ,Helsepersonell:,
Lab Test Conducted: ,Lab Test gjennomført:,
Lab Test Event: ,Lab Test hendelse:,
Lab Test Result: ,Lab Test Resultat:,
Clinical Procedure conducted: ,Klinisk prosedyre utført:,
Therapy Session Charges: {0},Gebyrer for behandlingsøkter: {0},
Therapy: ,Terapi:,
Therapy Plan: ,Terapiplan:,
Total Counts Targeted: ,Totalt antall mål:,
Total Counts Completed: ,Totalt antall teller fullført:,
Is Mandatory,Er obligatorisk,
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å,
Days,Dager,
Months,Måneder,
Book Deferred Entries Via Journal Entry,Book utsatte poster via journaloppføring,
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,
"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,
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.-,
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,
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,
Feedback By,Tilbakemelding fra,
Manufacturing Section,Produksjonsseksjon,
"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,
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,
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,
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,
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,
Requested Items to Order and Receive,Forespurte varer å bestille og motta,
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,
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},
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,
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 set {0} for the Employee or for Department: {1},Angi {0} for den ansatte eller avdelingen: {1},
Employee Onboarding: {0} is already for Job Applicant: {1},Onboarding av ansatte: {0} er allerede for jobbsøker: {1},
Asset Value Analytics,Analyse av aktivaverdier,
Category-wise Asset Value,Kategorimessig aktivaverdi,
Total Assets,Totale eiendeler,
New Assets (This Year),Nye eiendeler (i år),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Rad nr.}: Avskrivningsdato for avskrivning skal ikke være lik Tilgjengelig for bruksdato.,
Incorrect Date,Feil dato,
Invalid Gross Purchase Amount,Ugyldig brutto kjøpesum,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Det er aktivt vedlikehold eller reparasjoner av eiendelen. Du må fullføre dem alle før du avbestiller eiendelen.,
% Complete,% Fullført,
Back to Course,Tilbake til kurset,
Finish Topic,Fullfør emnet,
Mins,Min,
by,av,
Back to,Tilbake til,
Enrolling...,Påmelding ...,
You have successfully enrolled for the program ,Du har registrert deg for programmet,
Enrolled,Påmeldt,
Watch Intro,Se Intro,
We're here to help!,Vi er her for å hjelpe!,
Frequently Read Articles,Les artikler ofte,
Please set a default company address,Angi en standard firmaadresse,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} er ikke en gyldig tilstand! Se etter skrivefeil eller skriv inn ISO-koden for staten din.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Det oppstod en feil under analysering av kontoplan: Kontroller at ikke to kontoer har samme navn,
Plaid invalid request error,Rett ugyldig forespørselsfeil,
Please check your Plaid client ID and secret values,Kontroller Plaid-klient-ID og hemmelige verdier,
Bank transaction creation error,Feil ved oppretting av banktransaksjoner,
Unit of Measurement,Måleenhet,
Fiscal Year {0} Does Not Exist,Regnskapsåret {0} eksisterer ikke,
Row # {0}: Returned Item {1} does not exist in {2} {3},Rad nr. {0}: Returnert vare {1} finnes ikke i {2} {3},
Valuation type charges can not be marked as Inclusive,Kostnader for verdsettelse kan ikke merkes som inkluderende,
You do not have permissions to {} items in a {}.,Du har ikke tillatelse til {} varer i en {}.,
Insufficient Permissions,Utilstrekkelige tillatelser,
You are not allowed to update as per the conditions set in {} Workflow.,Du har ikke lov til å oppdatere i henhold til vilkårene som er angitt i {} Arbeidsflyt.,
Expense Account Missing,Utgiftskonto mangler,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} er ikke en gyldig verdi for attributt {1} for varen {2}.,
Invalid Value,Ugyldig verdi,
The value {0} is already assigned to an existing Item {1}.,Verdien {0} er allerede tilordnet en eksisterende vare {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","For å fortsatt fortsette med redigering av denne attributtverdien, aktiver {0} i Innstillinger for varianter.",
Edit Not Allowed,Rediger ikke tillatt,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Rad nr. {0}: Vare {1} er allerede mottatt i bestillingen {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Du kan ikke opprette eller kansellere noen regnskapsoppføringer med i den lukkede regnskapsperioden {0},
POS Invoice should have {} field checked.,POS-faktura skal ha {} felt sjekket.,
Invalid Item,Ugyldig vare,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Rad nr.}} Du kan ikke legge til postive mengder i en returfaktura. Fjern varen {} for å fullføre returen.,
The selected change account {} doesn't belongs to Company {}.,Den valgte endringskontoen {} tilhører ikke selskapet {}.,
Atleast one invoice has to be selected.,I det minste må én faktura velges.,
Payment methods are mandatory. Please add at least one payment method.,Betalingsmåter er obligatoriske. Legg til minst én betalingsmåte.,
Please select a default mode of payment,Velg en standard betalingsmåte,
You can only select one mode of payment as default,Du kan bare velge en betalingsmåte som standard,
Missing Account,Mangler konto,
Customers not selected.,Kunder ikke valgt.,
Statement of Accounts,Regnskap,
Ageing Report Based On ,Aldringsrapport basert på,
Please enter distributed cost center,Vennligst skriv inn distribuert kostnadssted,
Total percentage allocation for distributed cost center should be equal to 100,Den totale prosentvise tildelingen for distribuert kostnadssted skal være lik 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Kan ikke aktivere distribuert kostnadssenter for et kostnadssted som allerede er tildelt i et annet distribuert kostnadssenter,
Parent Cost Center cannot be added in Distributed Cost Center,Foreldrekostnad kan ikke legges til i distribuert kostnadssenter,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Et distribuert kostnadssenter kan ikke legges til i tildelingstabellen for distribuert kostnadssenter.,
Cost Center with enabled distributed cost center can not be converted to group,Kostnadssenter med aktivert distribuert kostnadssted kan ikke konverteres til gruppe,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Kostnadssenter som allerede er tildelt i et distribuert kostnadssenter kan ikke konverteres til gruppe,
Trial Period Start date cannot be after Subscription Start Date,Testperiode Startdato kan ikke være etter abonnementsstartdato,
Subscription End Date must be after {0} as per the subscription plan,Sluttdatoen for abonnementet må være etter {0} i henhold til abonnementsplanen,
Subscription End Date is mandatory to follow calendar months,Sluttdato for abonnement er obligatorisk for å følge kalendermånedene,
Row #{}: POS Invoice {} is not against customer {},Rad # {}: POS-faktura {} er ikke imot kunde {},
Row #{}: POS Invoice {} is not submitted yet,Rad nr. {}: POS-faktura {} er ikke sendt inn ennå,
Row #{}: POS Invoice {} has been {},Rad nr. {}: POS-faktura {} har vært {},
No Supplier found for Inter Company Transactions which represents company {0},Ingen leverandører funnet for Inter Company Transactions som representerer selskapet {0},
No Customer found for Inter Company Transactions which represents company {0},Ingen kunder funnet for Inter Company Transactions som representerer selskapet {0},
Invalid Period,Ugyldig periode,
Selected POS Opening Entry should be open.,Valgt POS åpningsoppføring skal være åpen.,
Invalid Opening Entry,Ugyldig åpningsoppføring,
Please set a Company,Sett et selskap,
"Sorry, this coupon code's validity has not started","Beklager, denne kupongkodens gyldighet har ikke startet",
"Sorry, this coupon code's validity has expired","Beklager, denne kupongkodens gyldighet har utløpt",
"Sorry, this coupon code is no longer valid","Beklager, denne kupongkoden er ikke lenger gyldig",
For the 'Apply Rule On Other' condition the field {0} is mandatory,For tilstanden &quot;Bruk regel på andre&quot; er feltet {0} obligatorisk,
{1} Not in Stock,{1} Ikke på lager,
Only {0} in Stock for item {1},Bare {0} på lager for vare {1},
Please enter a coupon code,Vennligst skriv inn en kupongkode,
Please enter a valid coupon code,Vennligst skriv inn en gyldig kupongkode,
Invalid Child Procedure,Ugyldig barneprosedyre,
Import Italian Supplier Invoice.,Importer italiensk leverandørfaktura.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Verdsettelsesgrad for varen {0} kreves for å gjøre regnskapsoppføringer for {1} {2}.,
 Here are the options to proceed:,Her er alternativene for å fortsette:,
"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Hvis varen handler som en null verdsettelsesgrad i denne oppføringen, må du aktivere «Tillat null verdsettelsesgrad» i {0} varetabellen.",
"If not, you can Cancel / Submit this entry ","Hvis ikke, kan du avbryte / sende inn denne oppføringen",
 performing either one below:,utfører en av dem nedenfor:,
Create an incoming stock transaction for the Item.,Opprett en innkommende aksjetransaksjon for varen.,
Mention Valuation Rate in the Item master.,Nevn verdsettelsesgrad i varemasteren.,
Valuation Rate Missing,Verdsettelsesgrad mangler,
Serial Nos Required,Serienummer påkrevd,
Quantity Mismatch,Antall feil,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Vennligst fyll på gjenstander og oppdater plukklisten for å fortsette. For å avslutte, avbryt plukklisten.",
Out of Stock,Utsolgt,
{0} units of Item {1} is not available.,{0} enheter av varen {1} er ikke tilgjengelig.,
Item for row {0} does not match Material Request,Vare for rad {0} samsvarer ikke med materialforespørsel,
Warehouse for row {0} does not match Material Request,Lager for rad {0} samsvarer ikke med materialforespørsel,
Accounting Entry for Service,Regnskapspost for service,
All items have already been Invoiced/Returned,Alle varene er allerede fakturert / returnert,
All these items have already been Invoiced/Returned,Alle disse varene er allerede fakturert / returnert,
Stock Reconciliations,Aksjeavstemming,
Merge not allowed,Fusjon ikke tillatt,
The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,"Følgende slettede attributter finnes i varianter, men ikke i malen. Du kan enten slette variantene eller beholde attributtene i malen.",
Variant Items,Variantelementer,
Variant Attribute Error,Variantattributtfeil,
The serial no {0} does not belong to item {1},Serienummeret {0} tilhører ikke varen {1},
There is no batch found against the {0}: {1},Det er ingen batch funnet mot {0}: {1},
Completed Operation,Fullført operasjon,
Work Order Analysis,Arbeidsordreanalyse,
Quality Inspection Analysis,Kvalitetsinspeksjonsanalyse,
Pending Work Order,Venter på arbeidsordre,
Last Month Downtime Analysis,Siste måned nedetidanalyse,
Work Order Qty Analysis,Antall analyser av arbeidsordre,
Job Card Analysis,Jobbkortanalyse,
Monthly Total Work Orders,Månedlige totale arbeidsordrer,
Monthly Completed Work Orders,Månedlige fullførte arbeidsordrer,
Ongoing Job Cards,Pågående jobbkort,
Monthly Quality Inspections,Månedlige kvalitetsinspeksjoner,
(Forecast),(Prognose),
Total Demand (Past Data),Total etterspørsel (tidligere data),
Total Forecast (Past Data),Total prognose (tidligere data),
Total Forecast (Future Data),Total prognose (fremtidige data),
Based On Document,Basert på dokument,
Based On Data ( in years ),Basert på data (i år),
Smoothing Constant,Glattende konstant,
Please fill the Sales Orders table,Fyll ut salgsordretabellen,
Sales Orders Required,Salgsordrer kreves,
Please fill the Material Requests table,Fyll ut materialforespørselstabellen,
Material Requests Required,Materialforespørsler kreves,
Items to Manufacture are required to pull the Raw Materials associated with it.,Varer som skal produseres kreves for å trekke råmaterialene som er tilknyttet det.,
Items Required,Elementer som kreves,
Operation {0} does not belong to the work order {1},Operasjon {0} tilhører ikke arbeidsordren {1},
Print UOM after Quantity,Skriv ut UOM etter antall,
Set default {0} account for perpetual inventory for non stock items,Angi standard {0} -konto for evigvarende beholdning for varer som ikke er på lager,
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,
From Date can not be greater than To Date.,Fra dato kan ikke være større enn til dato.,
Row #{0}: Please enter the result value for {1},Rad nr. {0}: Angi resultatverdien for {1},
Mandatory Results,Obligatoriske resultater,
Sales Invoice or Patient Encounter is required to create Lab Tests,Salgsfaktura eller pasientmøte kreves for å opprette laboratorietester,
Insufficient Data,Utilstrekkelig data,
Lab Test(s) {0} created successfully,Lab Test (er) {0} ble opprettet,
Test :,Test:,
Sample Collection {0} has been created,Eksempelsamling {0} er opprettet,
Normal Range: ,Normal rekkevidde:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Rad nr. {0}: Utsjekkingstidspunkt kan ikke være mindre enn innsjekkingstidspunkt,
"Missing required details, did not create Inpatient Record","Mangler påkrevde detaljer, opprettet ikke Inpatient Record",
Unbilled Invoices,Ubelagte fakturaer,
Standard Selling Rate should be greater than zero.,Standard salgsrate bør være større enn null.,
Conversion Factor is mandatory,Conversion Factor er obligatorisk,
Row #{0}: Conversion Factor is mandatory,Rad nr. {0}: Konverteringsfaktor er obligatorisk,
Sample Quantity cannot be negative or 0,Eksempelantall kan ikke være negativ eller 0,
Invalid Quantity,Ugyldig mengde,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Angi standardverdier for kundegruppe, territorium og salgsprisliste i salgsinnstillinger",
{0} on {1},{0} på {1},
{0} with {1},{0} med {1},
Appointment Confirmation Message Not Sent,Avtalebekreftelsesmelding ikke sendt,
"SMS not sent, please check SMS Settings","SMS ikke sendt, vennligst sjekk SMS-innstillinger",
Healthcare Service Unit Type cannot have both {0} and {1},Type helsetjenesteenhet kan ikke ha både {0} og {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Enhetstypen for helsetjenester må tillate minst én blant {0} og {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Angi responstid og oppløsningstid for prioritet {0} i rad {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Svartiden for {0} prioritet i rad {1} kan ikke være lengre enn oppløsningstid.,
{0} is not enabled in {1},{0} er ikke aktivert i {1},
Group by Material Request,Gruppere etter materialforespørsel,
Email Sent to Supplier {0},E-post sendt til leverandør {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Tilgangen til forespørsel om tilbud fra portalen er deaktivert. For å tillate tilgang, aktiver det i Portal Settings.",
Supplier Quotation {0} Created,Tilbud fra leverandør {0} Opprettet,
Valid till Date cannot be before Transaction Date,Gyldig till-dato kan ikke være før transaksjonsdato,
Unlink Advance Payment on Cancellation of Order,Fjern tilknytningen av forskuddsbetaling ved kansellering av ordren,
"Simple Python Expression, Example: territory != 'All Territories'","Enkelt Python-uttrykk, Eksempel: territorium! = &#39;Alle territorier&#39;",
Sales Contributions and Incentives,Salgsbidrag og insentiver,
Sourced by Supplier,Henter fra leverandør,
Total weightage assigned should be 100%.<br>It is {0},Total tildelt vekt skal være 100%.<br> Det er {0},
Account {0} exists in parent company {1}.,Kontoen {0} finnes i morselskapet {1}.,
"To overrule this, enable '{0}' in company {1}","For å overstyre dette, aktiver &quot;{0}&quot; i firmaet {1}",
Invalid condition expression,Ugyldig tilstandsuttrykk,
Please Select a Company First,Velg et selskap først,
Please Select Both Company and Party Type First,Velg både selskap og festtype først,
Provide the invoice portion in percent,Oppgi fakturadelen i prosent,
Give number of days according to prior selection,Oppgi antall dager i henhold til forhåndsvalg,
Email Details,E-postdetaljer,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Velg en hilsen til mottakeren. F.eks Mr., Ms., etc.",
Preview Email,Forhåndsvisning av e-post,
Please select a Supplier,Velg en leverandør,
Supplier Lead Time (days),Leveringstid (dager),
"Home, Work, etc.","Hjem, arbeid osv.",
Exit Interview Held On,Avslutt intervju holdt,
Sets 'Target Warehouse' in each row of the Items table.,Angir &#39;Target Warehouse&#39; i hver rad i Artikeltabellen.,
Sets 'Source Warehouse' in each row of the Items table.,Angir &#39;Source Warehouse&#39; i hver rad i Items-tabellen.,
POS Register,POS-register,
"Can not filter based on POS Profile, if grouped by POS Profile","Kan ikke filtrere basert på POS-profil, hvis gruppert etter POS-profil",
"Can not filter based on Customer, if grouped by Customer","Kan ikke filtrere basert på kunde, hvis gruppert etter kunde",
"Can not filter based on Cashier, if grouped by Cashier","Kan ikke filtrere basert på kassereren, hvis gruppert etter kassereren",
Payment Method,Betalingsmetode,
"Can not filter based on Payment Method, if grouped by Payment Method","Kan ikke filtrere basert på betalingsmåte, hvis gruppert etter betalingsmåte",
Supplier Quotation Comparison,Sammenligning av tilbud på leverandører,
Price per Unit (Stock UOM),Pris per enhet (lager UOM),
Group by Supplier,Grupper etter leverandør,
Group by Item,Gruppere etter vare,
Remember to set {field_label}. It is required by {regulation}.,Husk å angi {field_label}. Det kreves av {regulering}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},Påmeldingsdato kan ikke være før startdatoen for det akademiske året {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},Påmeldingsdato kan ikke være etter sluttdatoen for den akademiske perioden {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},Påmeldingsdato kan ikke være før startdatoen for fagperioden {0},
Future Posting Not Allowed,Fremtidig innleggelse er ikke tillatt,
"To enable Capital Work in Progress Accounting, ","For å aktivere Capital Work in Progress Accounting,",
you must select Capital Work in Progress Account in accounts table,du må velge Capital Work in Progress-konto i kontotabellen,
You can also set default CWIP account in Company {},Du kan også angi standard CWIP-konto i selskapet {},
The Request for Quotation can be accessed by clicking on the following button,Forespørsel om tilbud kan nås ved å klikke på følgende knapp,
Regards,Hilsen,
Please click on the following button to set your new password,Klikk på følgende knapp for å angi ditt nye passord,
Update Password,Oppdater passord,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Rad nr. {}: Salgsfrekvensen for varen {} er lavere enn {}. Selge {} skal være minst {},
You can alternatively disable selling price validation in {} to bypass this validation.,Du kan alternativt deaktivere validering av salgspris i {} for å omgå denne valideringen.,
Invalid Selling Price,Ugyldig salgspris,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adressen må være knyttet til et selskap. Legg til en rad for selskapet i koblingstabellen.,
Company Not Linked,Firma ikke tilknyttet,
Import Chart of Accounts from CSV / Excel files,Importer kontoplan fra CSV / Excel-filer,
Completed Qty cannot be greater than 'Qty to Manufacture',Fullført antall kan ikke være større enn &#39;Antall å produsere&#39;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email",Rad {0}: For leverandør {1} kreves e-postadresse for å sende en e-post,
"If enabled, the system will post accounting entries for inventory automatically","Hvis aktivert, vil systemet bokføre regnskapsoppføringer for lager automatisk",
Accounts Frozen Till Date,Regner med frossen til dato,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Regnskapsoppføringer er frosset frem til denne datoen. Ingen kan opprette eller endre oppføringer unntatt brukere med rollen som er spesifisert nedenfor,
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Roll tillatt å angi frosne kontoer og redigere frosne poster,
Address used to determine Tax Category in transactions,Adresse som brukes til å bestemme skattekategori i transaksjoner,
"The 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 up to $110 ","Prosentandelen du har lov til å fakturere mer mot det bestilte beløpet. For eksempel, hvis bestillingsverdien er $ 100 for en vare og toleransen er satt til 10%, har du lov til å fakturere opp til $ 110",
This role is allowed to submit transactions that exceed credit limits,Denne rollen har lov til å sende inn transaksjoner som overskrider kredittgrenser,
"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Hvis du velger &quot;Måneder&quot;, vil et fast beløp bli bokført som utsatt inntekt eller kostnad for hver måned, uavhengig av antall dager i en måned. Det vil være forholdsmessig hvis utsatt inntekt eller kostnad ikke er bokført i en hel måned",
"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Hvis dette ikke er merket av, opprettes direkte GL-oppføringer for å bokføre utsatt inntekt eller kostnad",
Show Inclusive Tax in Print,Vis inklusiv skatt på trykk,
Only select this if you have set up the Cash Flow Mapper documents,Velg dette bare hvis du har konfigurert Cash Flow Mapper-dokumentene,
Payment Channel,Betalingskanal,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Er det nødvendig med innkjøpsordre for å opprette faktura og motta kvittering?,
Is Purchase Receipt Required for Purchase Invoice Creation?,Er kjøpskvittering påkrevd for oppretting av faktura?,
Maintain Same Rate Throughout the Purchase Cycle,Oppretthold samme hastighet gjennom hele kjøpesyklusen,
Allow Item To Be Added Multiple Times in a Transaction,Tillat at varen legges til flere ganger i en transaksjon,
Suppliers,Leverandører,
Send Emails to Suppliers,Send e-post til leverandører,
Select a Supplier,Velg leverandør,
Cannot mark attendance for future dates.,Kan ikke merke oppmøte for fremtidige datoer.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Vil du oppdatere oppmøtet?<br> Til stede: {0}<br> Fraværende: {1},
Mpesa Settings,Mpesa-innstillinger,
Initiator Name,Initiativtakernavn,
Till Number,Till Number,
Sandbox,Sandkasse,
 Online PassKey,Online PassKey,
Security Credential,Sikkerhetsinformasjon,
Get Account Balance,Få kontosaldo,
Please set the initiator name and the security credential,Angi initiatornavnet og sikkerhetsinformasjonen,
Inpatient Medication Entry,Innleggelse av legemiddelinnleggelse,
HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
Item Code (Drug),Varekode (narkotika),
Medication Orders,Legemiddelbestillinger,
Get Pending Medication Orders,Få ventende legemiddelbestillinger,
Inpatient Medication Orders,Innleggelsesmedisineringsordrer,
Medication Warehouse,Legemiddellager,
Warehouse from where medication stock should be consumed,Lager hvor medisinmateriale skal forbrukes,
Fetching Pending Medication Orders,Henter ventende medisineringsordrer,
Inpatient Medication Entry Detail,Innleggsdetaljer for innleggelse av legemidler,
Medication Details,Medisinering detaljer,
Drug Code,Legemiddelkode,
Drug Name,Legemiddelnavn,
Against Inpatient Medication Order,Mot innleggelsesmedisineringsordre,
Against Inpatient Medication Order Entry,Mot innleggelse av legemiddelbestilling,
Inpatient Medication Order,Innleggelsesmedisineringsordre,
HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
Total Orders,Totale bestillinger,
Completed Orders,Fullførte bestillinger,
Add Medication Orders,Legg til medisineringsordrer,
Adding Order Entries,Legge til ordreoppføringer,
{0} medication orders completed,{0} legemiddelbestillinger fullført,
{0} medication order completed,{0} medisineringsordren er fullført,
Inpatient Medication Order Entry,Innleggelse av legemiddelbestilling,
Is Order Completed,Er bestillingen fullført,
Employee Records to Be Created By,Medarbeiderjournaler som skal lages av,
Employee records are created using the selected field,Medarbeiderposter opprettes ved hjelp av det valgte feltet,
Don't send employee birthday reminders,Ikke send ansattes bursdagspåminnelser,
Restrict Backdated Leave Applications,Begrens søknader om tilbakeholdte permisjoner,
Sequence ID,Sekvens-ID,
Sequence Id,Sekvens Id,
Allow multiple material consumptions against a Work Order,Tillat flere materielle forbruk mot en arbeidsordre,
Plan time logs outside Workstation working hours,Planlegg tidslogger utenom arbeidstids arbeidstid,
Plan operations X days in advance,Planlegg operasjoner X dager i forveien,
Time Between Operations (Mins),Tid mellom operasjoner (minutter),
Default: 10 mins,Standard: 10 minutter,
Overproduction for Sales and Work Order,Overproduksjon for salgs- og arbeidsordre,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Oppdater styklistekostnad automatisk via planlegger, basert på den siste verdsettelsesgraden / prislistehastigheten / siste kjøpshastighet for råvarer",
Purchase Order already created for all Sales Order items,Innkjøpsordre allerede opprettet for alle salgsordrer,
Select Items,Velg elementer,
Against Default Supplier,Mot standardleverandør,
Auto close Opportunity after the no. of days mentioned above,Auto close Opportunity etter nei. av dagene nevnt ovenfor,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Kreves salgsordre for opprettelse av salgsfaktura og leveringsnota?,
Is Delivery Note Required for Sales Invoice Creation?,Kreves leveringsnota for opprettelse av salgsfaktura?,
How often should Project and Company be updated based on Sales Transactions?,Hvor ofte skal Project og Company oppdateres basert på salgstransaksjoner?,
Allow User to Edit Price List Rate in Transactions,Tillat brukeren å endre prisliste i transaksjoner,
Allow Item to Be Added Multiple Times in a Transaction,Tillat at varen legges til flere ganger i en transaksjon,
Allow Multiple Sales Orders Against a Customer's Purchase Order,Tillat flere salgsordrer mot en kundes innkjøpsordre,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Valider salgsprisen for varen mot kjøpesats eller verdsettelsesgrad,
Hide Customer's Tax ID from Sales Transactions,Skjul kundens skatte-ID fra salgstransaksjoner,
"The 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.","Prosentandelen du har lov til å motta eller levere mer mot bestilt antall. Hvis du for eksempel har bestilt 100 enheter, og kvoten din er 10%, har du lov til å motta 110 enheter.",
Action If Quality Inspection Is Not Submitted,Handling hvis kvalitetskontroll ikke er sendt inn,
Auto Insert Price List Rate If Missing,Sett inn prisliste automatisk hvis det mangler,
Automatically Set Serial Nos Based on FIFO,Sett automatisk serienumre basert på FIFO,
Set Qty in Transactions Based on Serial No Input,Angi antall i transaksjoner basert på serieinngang,
Raise Material Request When Stock Reaches Re-order Level,Hev materialeforespørsel når lager når ombestillingsnivå,
Notify by Email on Creation of Automatic Material Request,Varsle via e-post om oppretting av automatisk materialforespørsel,
Allow Material Transfer from Delivery Note to Sales Invoice,Tillat materialoverføring fra leveringsnota til salgsfaktura,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Tillat materiell overføring fra kjøpskvittering til kjøpsfaktura,
Freeze Stocks Older Than (Days),Frys aksjer eldre enn (dager),
Role Allowed to Edit Frozen Stock,Roll tillatt for å redigere frossent lager,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Det ikke-tildelte beløpet for betalingsoppføring {0} er større enn banktransaksjonens ikke-tildelte beløp,
Payment Received,Betaling mottatt,
Attendance cannot be marked outside of Academic Year {0},Fremmøte kan ikke merkes utenfor studieåret {0},
Student is already enrolled via Course Enrollment {0},Studenten er allerede påmeldt via kursregistrering {0},
Attendance cannot be marked for future dates.,Fremmøte kan ikke merkes for fremtidige datoer.,
Please add programs to enable admission application.,Vennligst legg til programmer for å aktivere opptakssøknad.,
The following employees are currently still reporting to {0}:,Følgende ansatte rapporterer foreløpig til {0}:,
Please make sure the employees above report to another Active employee.,Forsikre deg om at de ansatte ovenfor rapporterer til en annen aktiv medarbeider.,
Cannot Relieve Employee,Kan ikke avlaste ansatt,
Please enter {0},Skriv inn {0},
Please select another payment method. Mpesa does not support transactions in currency '{0}',Velg en annen betalingsmåte. Mpesa støtter ikke transaksjoner i valutaen {0},
Transaction Error,Transaksjonsfeil,
Mpesa Express Transaction Error,Mpesa Express-transaksjonsfeil,
"Issue detected with Mpesa configuration, check the error logs for more details","Problem oppdaget med Mpesa-konfigurasjon, sjekk feilloggene for mer informasjon",
Mpesa Express Error,Mpesa Express-feil,
Account Balance Processing Error,Feil ved behandling av kontosaldo,
Please check your configuration and try again,Kontroller konfigurasjonen og prøv igjen,
Mpesa Account Balance Processing Error,Feil ved behandling av Mpesa-kontosaldo,
Balance Details,Balansedetaljer,
Current Balance,Nåværende saldo,
Available Balance,Tilgjengelig balanse,
Reserved Balance,Reservert saldo,
Uncleared Balance,Uklart saldo,
Payment related to {0} is not completed,Betaling relatert til {0} er ikke fullført,
Row #{}: Item Code: {} is not available under warehouse {}.,Rad nr. {}: Varekode: {} er ikke tilgjengelig under lager {}.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rad nr. {}: Lagerbeholdning ikke nok for varekode: {} under lager {}. Tilgjengelig mengde {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rad nr. {}: Velg serienummer og batch mot varen: {} eller fjern det for å fullføre transaksjonen.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Rad nr. {}: Ingen serienummer valgt mot varen: {}. Velg en eller fjern den for å fullføre transaksjonen.,
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Rad nr. {}: Ingen gruppe valgt mot varen: {}. Velg et parti eller fjern det for å fullføre transaksjonen.,
Payment amount cannot be less than or equal to 0,Betalingsbeløpet kan ikke være mindre enn eller lik 0,
Please enter the phone number first,Vennligst skriv inn telefonnummeret først,
Row #{}: {} {} does not exist.,Rad nr. {}: {} {} Eksisterer ikke.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Rad nr. {0}: {1} kreves for å opprette åpningsfakturaene,
You had {} errors while creating opening invoices. Check {} for more details,Du hadde {} feil da du opprettet åpningsfakturaer. Se {} for mer informasjon,
Error Occured,Feil oppstod,
Opening Invoice Creation In Progress,Åpning av fakturaoppretting pågår,
Creating {} out of {} {},Oppretter {} av {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Serienr: {0}) kan ikke konsumeres ettersom den er forbeholdt fullstendig salgsordre {1}.,
Item {0} {1},Vare {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Siste varetransaksjon for varen {0} under lageret {1} var den {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Lagertransaksjoner for vare {0} under lager {1} kan ikke legges ut før dette tidspunktet.,
Posting future stock transactions are not allowed due to Immutable Ledger,Det er ikke tillatt å legge ut fremtidige aksjetransaksjoner på grunn av Immutable Ledger,
A BOM with name {0} already exists for item {1}.,En BOM med navnet {0} eksisterer allerede for varen {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Navnet du på varen? Kontakt administrator / teknisk support,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},På rad nr. {0}: sekvens-ID {1} kan ikke være mindre enn forrige radsekvens-ID {2},
The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) må være lik {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, fullfør operasjonen {1} før operasjonen {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Kan ikke sikre at levering med serienummer ettersom varen {0} er lagt til med og uten å sikre levering ved serienummer.,
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Vare {0} har ikke serienummer. Bare seriliserte varer kan leveres basert på serienummer,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Fant ingen aktiv BOM for varen {0}. Levering med serienr. Kan ikke garanteres,
No pending medication orders found for selected criteria,Ingen ventende medisineringsbestillinger funnet for utvalgte kriterier,
From Date cannot be after the current date.,Fra dato kan ikke være etter gjeldende dato.,
To Date cannot be after the current date.,Til dato kan ikke være etter gjeldende dato.,
From Time cannot be after the current time.,Fra tid kan ikke være etter gjeldende tid.,
To Time cannot be after the current time.,To Time kan ikke være etter gjeldende tid.,
Stock Entry {0} created and ,Lageroppføring {0} opprettet og,
Inpatient Medication Orders updated successfully,Innleggelsesmedisinsk ordre oppdatert,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Rad {0}: Kan ikke opprette innleggelse for innleggelse av medisiner mot kansellert bestilling av innlagt medisinering {1},
Row {0}: This Medication Order is already marked as completed,Rad {0}: Denne medisineringsordren er allerede merket som fullført,
Quantity not available for {0} in warehouse {1},Mengde som ikke er tilgjengelig for {0} på lager {1},
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Aktiver Tillat negativ lager i lagerinnstillinger, eller opprett lageroppføring for å fortsette.",
No Inpatient Record found against patient {0},Ingen pasientjournaler ble funnet mot pasienten {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Det foreligger allerede et legemiddelbestilling {0} mot pasientmøte {1}.,
Allow In Returns,Tillat retur,
Hide Unavailable Items,Skjul utilgjengelige elementer,
Apply Discount on Discounted Rate,Bruk rabatt på nedsatt pris,
Therapy Plan Template,Terapiplanmal,
Fetching Template Details,Henter maldetaljer,
Linked Item Details,Koblede varedetaljer,
Therapy Types,Terapityper,
Therapy Plan Template Detail,Maldetalj for terapiplan,
Non Conformance,Manglende samsvar,
Process Owner,Prosess eier,
Corrective Action,Korrigerende tiltak,
Preventive Action,Forebyggende tiltak,
Problem,Problem,
Responsible,Ansvarlig,
Completion By,Fullføring Av,
Process Owner Full Name,Behandle eierens fullstendige navn,
Right Index,Høyre indeks,
Left Index,Venstre indeks,
Sub Procedure,Underprosedyre,
Passed,Bestått,
Print Receipt,Skriv ut kvittering,
Edit Receipt,Rediger kvittering,
Focus on search input,Fokuser på søkeinngang,
Focus on Item Group filter,Fokuser på varegruppefilter,
Checkout Order / Submit Order / New Order,Kasseordre / send inn bestilling / ny ordre,
Add Order Discount,Legg til bestillingsrabatt,
Item Code: {0} is not available under warehouse {1}.,Varekode: {0} er ikke tilgjengelig under lageret {1}.,
Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serienumre er ikke tilgjengelig for varen {0} under lageret {1}. Prøv å bytte lager.,
Fetched only {0} available serial numbers.,Hentet bare {0} tilgjengelige serienumre.,
Switch Between Payment Modes,Bytt mellom betalingsmåter,
Enter {0} amount.,Angi {0} beløp.,
You don't have enough points to redeem.,Du har ikke nok poeng til å løse inn.,
You can redeem upto {0}.,Du kan løse inn opptil {0}.,
Enter amount to be redeemed.,Angi beløpet som skal innløses.,
You cannot redeem more than {0}.,Du kan ikke løse inn mer enn {0}.,
Open Form View,Åpne skjemavisning,
POS invoice {0} created succesfully,POS-faktura {0} ble opprettet,
Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Lagerbeholdning ikke nok for varekode: {0} under lager {1}. Tilgjengelig mengde {2}.,
Serial No: {0} has already been transacted into another POS Invoice.,Serienr: {0} er allerede overført til en annen POS-faktura.,
Balance Serial No,Balanse Serienr,
Warehouse: {0} does not belong to {1},Lager: {0} tilhører ikke {1},
Please select batches for batched item {0},Velg partier for vareparti {0},
Please select quantity on row {0},Velg antall på rad {0},
Please enter serial numbers for serialized item {0},Angi serienumre for serienummeret {0},
Batch {0} already selected.,Batch {0} allerede valgt.,
Please select a warehouse to get available quantities,Velg et lager for å få tilgjengelige mengder,
"For transfer from source, selected quantity cannot be greater than available quantity",For overføring fra kilde kan ikke valgt antall være større enn tilgjengelig mengde,
Cannot find Item with this Barcode,Finner ikke element med denne strekkoden,
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} er obligatorisk. Kanskje er det ikke opprettet valutautvekslingspost for {1} til {2},
{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} har sendt inn eiendeler knyttet til den. Du må kansellere eiendelene for å opprette kjøpsretur.,
Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Kan ikke kansellere dette dokumentet ettersom det er knyttet til innsendt aktivum {0}. Avbryt det for å fortsette.,
Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rad nr. {}: Serienr. {} Er allerede overført til en annen POS-faktura. Velg gyldig serienummer.,
Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rad nr. {}: Serienr. {} Er allerede overført til en annen POS-faktura. Velg gyldig serienummer.,
Item Unavailable,Varen utilgjengelig,
Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rad nr. {}: Serienr {} kan ikke returneres siden den ikke ble behandlet i original faktura {},
Please set default Cash or Bank account in Mode of Payment {},Angi standard kontanter eller bankkontoer i betalingsmåte {},
Please set default Cash or Bank account in Mode of Payments {},Angi standard kontanter eller bankkontoer i betalingsmåte {},
Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Forsikre deg om at {} kontoen er en balansekonto. Du kan endre foreldrekontoen til en balansekonto eller velge en annen konto.,
Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Forsikre deg om at {} kontoen er en betalbar konto. Endre kontotype til Betales eller velg en annen konto.,
Row {}: Expense Head changed to {} ,Rad {}: Utgiftshode endret til {},
because account {} is not linked to warehouse {} ,fordi kontoen {} ikke er knyttet til lageret {},
or it is not the default inventory account,eller det er ikke standardbeholdningskontoen,
Expense Head Changed,Utgiftshode endret,
because expense is booked against this account in Purchase Receipt {},fordi utgiftene er bokført mot denne kontoen i kjøpskvittering {},
as no Purchase Receipt is created against Item {}. ,ettersom ingen kjøpskvittering opprettes mot varen {}.,
This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Dette gjøres for å håndtere regnskap for saker når kjøpskvittering opprettes etter kjøpsfaktura,
Purchase Order Required for item {},Innkjøpsordre kreves for varen {},
To submit the invoice without purchase order please set {} ,"For å sende fakturaen uten innkjøpsordre, angi {}",
as {} in {},som i {},
Mandatory Purchase Order,Obligatorisk innkjøpsordre,
Purchase Receipt Required for item {},Kjøpskvittering kreves for varen {},
To submit the invoice without purchase receipt please set {} ,For å sende fakturaen uten kjøpskvittering må du angi {},
Mandatory Purchase Receipt,Obligatorisk kjøpskvittering,
POS Profile {} does not belongs to company {},POS-profil {} tilhører ikke selskapet {},
User {} is disabled. Please select valid user/cashier,Bruker {} er deaktivert. Velg gyldig bruker / kasserer,
Row #{}: Original Invoice {} of return invoice {} is {}. ,Rad nr. {}: Originalfaktura {} av returfaktura {} er {}.,
Original invoice should be consolidated before or along with the return invoice.,Originalfaktura bør konsolideres før eller sammen med returfakturaen.,
You can add original invoice {} manually to proceed.,Du kan legge til original faktura {} manuelt for å fortsette.,
Please ensure {} account is a Balance Sheet account. ,Forsikre deg om at {} kontoen er en balansekonto.,
You can change the parent account to a Balance Sheet account or select a different account.,Du kan endre foreldrekontoen til en balansekonto eller velge en annen konto.,
Please ensure {} account is a Receivable account. ,Forsikre deg om at {} kontoen er en mottakbar konto.,
Change the account type to Receivable or select a different account.,Endre kontotype til Mottatt eller velg en annen konto.,
{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} kan ikke kanselleres siden opptjente lojalitetspoeng er innløst. Avbryt først {} Nei {},
already exists,eksisterer allerede,
POS Closing Entry {} against {} between selected period,POS-avslutningspost {} mot {} mellom valgt periode,
POS Invoice is {},POS-faktura er {},
POS Profile doesn't matches {},POS-profilen samsvarer ikke med {},
POS Invoice is not {},POS-faktura er ikke {},
POS Invoice isn't created by user {},POS-faktura er ikke opprettet av brukeren {},
Row #{}: {},Rad # {}: {},
Invalid POS Invoices,Ugyldige POS-fakturaer,
Please add the account to root level Company - {},Legg til kontoen i rotnivåfirmaet - {},
"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 Child Company {0}, ble ikke foreldrekontoen {1} funnet. Opprett foreldrekontoen i tilsvarende COA",
Account Not Found,Konto ikke funnet,
"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Mens du opprettet konto for Child Company {0}, ble foreldrekontoen {1} funnet som en hovedkontokonto.",
Please convert the parent account in corresponding child company to a group account.,Konverter moderkontoen i tilsvarende barnefirma til en gruppekonto.,
Invalid Parent Account,Ugyldig foreldrekonto,
"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Endring av navn er bare tillatt via morselskapet {0} for å unngå uoverensstemmelse.,
"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Hvis du {0} {1} mengder av varen {2}, blir ordningen {3} brukt på varen.",
"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Hvis du {0} {1} verdt varen {2}, blir ordningen {3} brukt på varen.",
"As the field {0} is enabled, the field {1} is mandatory.","Siden feltet {0} er aktivert, er feltet {1} obligatorisk.",
"As the field {0} is enabled, the value of the field {1} should be more than 1.","Ettersom feltet {0} er aktivert, bør verdien av feltet {1} være mer enn 1.",
Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Kan ikke levere serienummer {0} av varen {1} ettersom den er reservert for fullstendig salgsordre {2},
"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Salgsordre {0} har reservasjon for varen {1}, du kan bare levere reservert {1} mot {0}.",
{0} Serial No {1} cannot be delivered,{0} Serienr {1} kan ikke leveres,
Row {0}: Subcontracted Item is mandatory for the raw material {1},Rad {0}: Vare for underleverandør er obligatorisk for råvaren {1},
"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Siden det er tilstrekkelig med råvarer, er ikke materialforespørsel nødvendig for lageret {0}.",
" If you still want to proceed, please enable {0}.","Hvis du fremdeles vil fortsette, aktiver {0}.",
The item referenced by {0} - {1} is already invoiced,Varen det refereres til av {0} - {1} er allerede fakturert,
Therapy Session overlaps with {0},Behandlingsøkten overlapper med {0},
Therapy Sessions Overlapping,Terapisessioner overlapper hverandre,
Therapy Plans,Terapiplaner,
"Item Code, warehouse, quantity are required on row {0}","Varekode, lager, antall kreves på rad {0}",
Get Items from Material Requests against this Supplier,Få varer fra materialforespørsler mot denne leverandøren,
Enable European Access,Aktiver europeisk tilgang,
Creating Purchase Order ...,Opprette innkjøpsordre ...,
"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.",Velg en leverandør fra standardleverandørene av artiklene nedenfor. Ved valg vil det kun gjøres en innkjøpsordre mot varer som tilhører den valgte leverandøren.,
Row #{}: You must select {} serial numbers for item {}.,Rad nr. {}: Du må velge {} serienumre for varen {}.,
Add Comment,Legg til en kommentar,
More...,Mer...,
Notes,Notater,
Payment Gateway,Betaling Gateway,
Payment Gateway Name,Betalings gateway navn,
Payments,Betalinger,
Plan Name,Plan navn,
Portal,Portal,
Scan Barcode,Skann strekkode,
Some information is missing,mangler litt informasjon,
Successful,Vellykket,
Tools,Verktøy,
Use Sandbox,bruk Sandbox,
Busy,Opptatt,
Completed By,Fullført av,
Payment Failed,Betalingen feilet,
Column {0},Kolonne {0},
Field Mapping,Feltkartlegging,
Not Specified,Ikke spesifisert,
Update Type,Oppdateringstype,
Dr,Dr,
End Time,Sluttid,
Fetching...,Henter...,
"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.,
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.,
Master,Master,
Pay,Betale,
You can also copy-paste this link in your browser,Du kan også kopiere og lime inn lenken i din nettleser,
Verified By,Verified by,
Invalid naming series (. missing) for {0},Ugyldig navneserie (. Mangler) for {0},
Phone Number,Telefonnummer,
Account SID,Konto SID,
Global Defaults,Global Defaults,
Is Mandatory,Er obligatorisk,
WhatsApp,Hva skjer,
Make a call,Ta en telefon,
