"""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 Row,Legg til rad,
Add Sales Partners,Legg til salgspartnere,
Add Serial No,Legg Serial No,
Add Students,Legg Studenter,
Add Suppliers,Legg til leverandører,
Add Time Slots,Legg til tidsluker,
Add Timesheets,Legg Timelister,
Add Timeslots,Legg til Timeslots,
Add Users to Marketplace,Legg til brukere på markedsplassen,
Add a new address,Legg til en ny adresse,
Add cards or custom sections on homepage,Legg til kort eller tilpassede seksjoner på hjemmesiden,
Add more items or open full form,Legg til flere elementer eller åpne full form,
Add notes,Legg til notater,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Tilsett resten av organisasjonen som brukerne. Du kan også legge invitere kunder til portalen ved å legge dem fra Kontakter,
Add/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,
Analytics,Analytics,
Annual Billing: {0},Årlig Billing: {0},
Anonymous,Anonym,
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},En annen budsjettrekord &#39;{0}&#39; eksisterer allerede mot {1} &#39;{2}&#39; og konto &#39;{3}&#39; for regnskapsåret {4},
Another Period Closing Entry {0} has been made after {1},En annen periode Closing Entry {0} har blitt gjort etter {1},
Another Sales Person {0} exists with the same Employee id,En annen Sales Person {0} finnes med samme Employee id,
Antibiotic,Antibiotika,
Apparel & Accessories,Klær og tilbehør,
Applicable For,Aktuelt For,
"Applicable if the company is SpA, SApA or SRL","Gjelder hvis selskapet er SpA, SApA eller SRL",
Applicable if the company is a limited liability company,Gjelder hvis selskapet er et aksjeselskap,
Applicable if the company is an Individual or a Proprietorship,Gjelder hvis selskapet er et individ eller et eierskap,
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,
Author,Forfatter,
Authorized Signatory,Autorisert signatur,
Auto Material Requests Generated,Auto Materiell Forespørsler Generert,
Auto Repeat,Auto Repeat,
Auto repeat document updated,Automatisk gjentatt dokument oppdatert,
Automotive,Automotive,
Available,Tilgjengelig,
Available Leaves,Tilgjengelige blader,
Available Qty,Tilgjengelig antall,
Available Selling,Tilgjengelig salg,
Available for use date is required,Tilgjengelig for bruk er nødvendig,
Available slots,Tilgjengelige spor,
Available {0},Tilgjengelig {0},
Available-for-use Date should be after purchase date,Tilgjengelig for bruk Dato bør være etter kjøpsdato,
Average Age,Gjennomsnittsalder,
Average Rate,Gjennomsnittlig rente,
Avg Daily Outgoing,Gjennomsnittlig Daily Utgående,
Avg. Buying Price List Rate,Nr. Kjøpe prisliste rate,
Avg. Selling Price List Rate,Nr. Selge prisliste rate,
Avg. Selling Rate,Avg. Salgskurs,
BOM,BOM,
BOM Browser,BOM Nettleser,
BOM No,BOM Nei,
BOM Rate,BOM rate,
BOM Stock Report,BOM aksjerapport,
BOM and Manufacturing Quantity are required,BOM og Industri Antall kreves,
BOM does not contain any stock item,BOM inneholder ikke lagervare,
BOM {0} does not belong to Item {1},BOM {0} tilhører ikke Element {1},
BOM {0} must be active,BOM {0} må være aktiv,
BOM {0} must be submitted,BOM {0} må sendes,
Balance,Balanse,
Balance (Dr - Cr),Balanse (Dr - Cr),
Balance ({0}),Balanse ({0}),
Balance Qty,Balanse Antall,
Balance Sheet,Balanse,
Balance Value,Balanse Verdi,
Balance for Account {0} must always be {1},Balanse for konto {0} må alltid være {1},
Bank,Bank,
Bank Account,Bankkonto,
Bank Accounts,Bankkontoer,
Bank Draft,Bank Draft,
Bank 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,
Basic,Grunnleggende,
Batch,Parti,
Batch Entries,Batch-oppføringer,
Batch ID is mandatory,Batch-ID er obligatorisk,
Batch Inventory,Batch Lager,
Batch Name,batch Name,
Batch No,Batch No,
Batch number is mandatory for Item {0},Batchnummer er obligatorisk for element {0},
Batch {0} of Item {1} has expired.,Batch {0} av Element {1} er utløpt.,
Batch {0} of Item {1} is disabled.,Batch {0} i vare {1} er deaktivert.,
Batch: ,Parti:,
Batches,batcher,
Become a Seller,Bli en selger,
Bill,Regning,
Bill Date,Bill Dato,
Bill No,Bill Nei,
Bill of Materials,Bill of Materials,
Bill of Materials (BOM),Bill of Materials (BOM),
Billable Hours,Fakturerbare timer,
Billed,fakturert,
Billed Amount,Fakturert beløp,
Billing,Billing,
Billing Address,fakturaadresse,
Billing Address is same as Shipping Address,Faktureringsadresse er den samme som leveringsadresse,
Billing Amount,Faktureringsbeløp,
Billing Status,Billing Status,
Billing currency must be equal to either default company's currency or party account currency,Faktureringsvaluta må være lik enten selskapets valuta- eller partikonto-valuta,
Bills raised by Suppliers.,Regninger oppdratt av leverandører.,
Bills raised to Customers.,Regninger hevet til kundene.,
Biotechnology,bioteknologi,
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 Details,Kontaktinformasjon,
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,
Datetime,Datetime,
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,Aktiver,
Enable / disable currencies.,Aktivere / deaktivere valutaer.,
Enabled,Aktivert,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Aktivering av «Bruk for handlekurven&quot;, som Handlevogn er aktivert, og det bør være minst en skatteregel for Handlekurv",
End Date,Sluttdato,
End Date can not be less than Start Date,Sluttdato kan ikke være mindre enn startdato,
End Date cannot be before Start Date.,Sluttdato kan ikke være før startdato.,
End Year,slutt År,
End Year cannot be before Start Year,Slutt År kan ikke være før start År,
End on,Slutt på,
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:",
Event,Hendelses,
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,Full,
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,
Insert,Sett,
Installation Note,Installasjon Merk,
Installation Note {0} has already been submitted,Installasjon Merk {0} har allerede blitt sendt,
Installation date cannot be before delivery date for Item {0},Installasjonsdato kan ikke være før leveringsdato for element {0},
Installing presets,Installere forhåndsinnstillinger,
Institute Abbreviation,Institute forkortelse,
Institute Name,Institute Name,
Instructor,Instruktør,
Insufficient Stock,utilstrekkelig Stock,
Insurance Start date should be less than Insurance End date,Forsikring Startdatoen må være mindre enn Forsikring Sluttdato,
Integrated Tax,Integrert skatt,
Inter-State Supplies,Mellomstatlige forsyninger,
Interests,Interesser,
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,
Language Name,språk Name,
Large,Stor,
Last Communication,Siste kommunikasjon,
Last Communication Date,Siste kommunikasjonsdato,
Last Name,Etternavn,
Last Order Amount,Siste ordrebeløp,
Last Order Date,Siste Order Date,
Last Purchase Price,Siste innkjøpspris,
Last Purchase Rate,Siste Purchase Rate,
Latest,Siste,
Latest price updated in all BOMs,Siste pris oppdatert i alle BOMs,
Lead,Lead,
Lead Count,Lead Count,
Lead Owner,Lead Eier,
Lead Owner cannot be same as the Lead,Bly Eier kan ikke være det samme som Lead,
Lead Time Days,Ledetid Days,
Lead to Quotation,Føre til prisanslag,
"Leads help you get business, add all your contacts and more as your leads","Leads hjelpe deg å få virksomheten, legge til alle dine kontakter og mer som dine potensielle kunder",
Learn,Lære,
Leave 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,
License,Tillatelse,
Limit,Grense,
Limit Crossed,Limit Krysset,
Link to Material Request,Link til materialforespørsel,
List of all share transactions,Liste over alle aksje transaksjoner,
List of available Shareholders with folio numbers,Liste over tilgjengelige Aksjonærer med folio nummer,
Loading Payment System,Laster inn betalingssystem,
Loan,Låne,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Lånets startdato og låneperiode er obligatorisk for å lagre fakturabatten,
Loans (Liabilities),Lån (gjeld),
Loans and Advances (Assets),Utlån (Eiendeler),
Local,lokal,
Log,Logg,
Logs for maintaining sms delivery status,Logger for å opprettholde sms leveringsstatus,
Lost,Mistet,
Lost Reasons,Tapte grunner,
Low,Lav,
Low Sensitivity,Lav følsomhet,
Lower Income,Lavere inntekt,
Loyalty Amount,Lojalitetsbeløp,
Loyalty Point Entry,Lojalitetspoenginngang,
Loyalty Points,Lojalitetspoeng,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Lojalitetspoeng beregnes ut fra den brukte ferdige (via salgsfakturaen), basert på innsamlingsfaktor som er nevnt.",
Loyalty Points: {0},Lojalitetspoeng: {0},
Loyalty Program,Lojalitetsprogram,
Main,Hoved,
Maintenance,Vedlikehold,
Maintenance Log,Vedlikeholdslogg,
Maintenance Manager,Vedlikeholdsbehandling,
Maintenance Schedule,Vedlikeholdsplan,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Vedlikeholdsplan genereres ikke for alle elementene. Vennligst klikk på &quot;Generer Schedule &#39;,
Maintenance Schedule {0} exists against {1},Vedlikeholdsplan {0} eksisterer mot {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Vedlikeholdsplan {0} må avbestilles før den avbryter denne salgsordre,
Maintenance Status has to be Cancelled or Completed to Submit,Vedlikeholdsstatus må avbrytes eller fullføres for å sende inn,
Maintenance User,Vedlikehold Bruker,
Maintenance Visit,Vedlikehold Visit,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Vedlikehold Besøk {0} må avbestilles før den avbryter denne salgsordre,
Maintenance start date can not be before delivery date for Serial No {0},Vedlikehold startdato kan ikke være før leveringsdato for Serial No {0},
Make,Gjøre,
Make Payment,Utføre betaling,
Make project from a template.,Lag prosjekt fra en mal.,
Making Stock Entries,Making Stock Entries,
Male,Mann,
Manage Customer Group Tree.,Administrere kunde Gruppe treet.,
Manage Sales Partners.,Administrer Salgs Partners.,
Manage Sales Person Tree.,Administrer Sales Person treet.,
Manage Territory Tree.,Administrer Territory treet.,
Manage your orders,Administrere dine bestillinger,
Management,Ledelse,
Manager,Manager,
Managing Projects,Managing Projects,
Managing Subcontracting,Administrerende Underleverandører,
Mandatory,Obligatorisk,
Mandatory field - Academic Year,Obligatorisk felt - akademisk år,
Mandatory field - Get Students From,Obligatorisk felt - Få studenter fra,
Mandatory field - Program,Obligatorisk felt - Program,
Manufacture,Produksjon,
Manufacturer,Produsent,
Manufacturer Part Number,Produsentens varenummer,
Manufacturing,Manufacturing,
Manufacturing Quantity is mandatory,Manufacturing Antall er obligatorisk,
Mapping,Kartlegging,
Mapping Type,Mapping Type,
Mark Absent,Mark Fraværende,
Mark 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,
Meeting,Møte,
Member Activity,Medlemsaktivitet,
Member ID,Medlem ID,
Member Name,Medlemsnavn,
Member information.,Medlemsinformasjon.,
Membership,Medlemskap,
Membership Details,Medlemskapsdetaljer,
Membership ID,Medlemskaps-ID,
Membership Type,Medlemskapstype,
Memebership Details,Memebership Detaljer,
Memebership Type Details,Memebership Type Detaljer,
Merge,Slå sammen,
Merge Account,Slå sammen konto,
Merge with Existing Account,Slå sammen med eksisterende konto,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Sammenslåing er bare mulig hvis følgende egenskaper er samme i begge postene. Er Group, Root Type, Company",
Message Examples,Meldings Eksempler,
Message Sent,Melding sendt,
Method,Metode,
Middle Income,Middle Income,
Middle Name,Mellomnavn,
Middle Name (Optional),Middle Name (valgfritt),
Min Amt can not be greater than Max Amt,Min Amt kan ikke være større enn Max Amt,
Min Qty can not be greater than Max Qty,Min Antall kan ikke være større enn Max Antall,
Minimum Lead Age (Days),Minimum levealder (dager),
Miscellaneous Expenses,Diverse utgifter,
Missing Currency Exchange Rates for {0},Mangler valutakurser for {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Manglende e-postmal for sending. Vennligst sett inn en i Leveringsinnstillinger.,
"Missing value for Password, API Key or Shopify URL","Manglende verdi for Password, API Key eller Shopify URL",
Mode of Payment,Betalingsmåte,
Mode of Payments,Betalingsmåte,
Mode of Transport,Transportmiddel,
Mode of Transportation,Transportform,
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,
My Account,Min Konto,
Name error: {0},Navn feil: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Navn på ny konto. Merk: Vennligst ikke opprette kontoer for kunder og leverandører,
Name or Email is mandatory,Navn eller e-post er obligatorisk,
Nature Of Supplies,Forsyningstype,
Navigating,navigere,
Needs Analysis,Trenger analyse,
Negative Quantity is not allowed,Negative Antall er ikke tillatt,
Negative Valuation Rate is not allowed,Negative Verdivurdering Rate er ikke tillatt,
Negotiation/Review,Forhandling / omtale,
Net Asset value as on,Net Asset verdi som på,
Net Cash from Financing,Netto kontantstrøm fra finansierings,
Net Cash from Investing,Netto kontantstrøm fra investerings,
Net Cash from Operations,Netto kontantstrøm fra driften,
Net Change in Accounts Payable,Netto endring i leverandørgjeld,
Net Change in Accounts Receivable,Netto endring i kundefordringer,
Net Change in Cash,Netto endring i kontanter,
Net Change in Equity,Netto endring i egenkapital,
Net Change in Fixed Asset,Netto endring i Fixed Asset,
Net Change in Inventory,Netto endring i varelager,
Net ITC Available(A) - (B),Netto ITC tilgjengelig (A) - (B),
Net 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,
Newsletters,nyhetsbrev,
Newspaper Publishers,Avis Publishers,
Next,Neste,
Next Contact By cannot be same as the Lead Email Address,Neste Kontakt By kan ikke være samme som Lead e-postadresse,
Next Contact Date cannot be in the past,Neste Kontakt Datoen kan ikke være i fortiden,
Next Steps,Neste skritt,
No Action,Ingen handling,
No Customers yet!,Ingen kunder ennå!,
No Data,Ingen Data,
No Delivery Note selected for Customer {},Ingen leveringsnotering valgt for kunden {},
No 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,
Password,Passord,
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,
Pincode,Pinkode,
Place Of Supply (State/UT),Leveringssted (delstat / UT),
Place Order,Legg inn bestilling,
Plan Name,Plan navn,
Plan for maintenance visits.,Plan for vedlikeholdsbesøk.,
Planned Qty,Planlagt antall,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Planlagt antall: Mengde, hvor arbeidsordren er hevet, men avventer å bli produsert.",
Planning,Planlegging,
Plants and Machineries,Planter og Machineries,
Please Set Supplier Group in Buying Settings.,Vennligst sett leverandørgruppe i kjøpsinnstillinger.,
Please add a Temporary Opening account in Chart of Accounts,Vennligst legg til en midlertidig åpningskonto i kontoplan,
Please add the account to root level Company - ,Legg til kontoen til selskapets rotnivå -,
Please 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 prefix first,Vennligst velg først prefiks,
Please select the Company,Vennligst velg firmaet,
Please select the Multiple Tier Program type for more than one collection rules.,Vennligst velg flerverdierprogrammet for mer enn ett samlingsreglement.,
Please select the assessment group other than 'All Assessment Groups',Vennligst velg vurderingsgruppen annet enn &#39;Alle vurderingsgrupper&#39;,
Please select the document type first,Velg dokumenttypen først,
Please select weekly off day,Vennligst velg ukentlig off dag,
Please select {0},Vennligst velg {0},
Please select {0} first,Vennligst velg {0} først,
Please set 'Apply Additional Discount On',Vennligst sett &#39;Apply Ytterligere rabatt på&#39;,
Please set 'Asset Depreciation Cost Center' in Company {0},Vennligst sett &#39;Asset Avskrivninger kostnadssted &quot;i selskapet {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Vennligst sett &#39;Gevinst / tap-konto på Asset Deponering &quot;i selskapet {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Vennligst sett inn konto i lager {0} eller standardbeholdningskonto i firma {1},
Please set B2C Limit in GST Settings.,Vennligst sett inn B2C Limit i GST-innstillinger.,
Please set Company,Vennligst sett selskap,
Please set Company filter blank if Group By is 'Company',Vennligst sett Company filter blank hvis Group By er &#39;Company&#39;,
Please set Default Payroll Payable Account in Company {0},Vennligst sette Standard Lønn betales konto i selskapet {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Vennligst sett Avskrivninger relatert kontoer i Asset Kategori {0} eller selskapet {1},
Please set Email Address,Vennligst sett e-postadresse,
Please set GST Accounts in GST Settings,Vennligst sett GST-kontoer i GST-innstillinger,
Please set Hotel Room Rate on {},Vennligst sett inn hotellrenten på {},
Please set Number of Depreciations Booked,Vennligst sett Antall Avskrivninger bestilt,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Vennligst sett Urealisert Exchange Gain / Loss-konto i selskapet {0},
Please set User ID field in an Employee record to set Employee Role,Vennligst angi bruker-ID-feltet i en Employee rekord å sette Employee Rolle,
Please set a default Holiday List for Employee {0} or Company {1},Vennligst angi en standard Holiday Liste for Employee {0} eller selskapet {1},
Please set account in Warehouse {0},Vennligst sett inn konto i Lager {0},
Please set an active menu for Restaurant {0},Vennligst sett inn en aktiv meny for Restaurant {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Vennligst sett inn tilknyttet konto i Skatteholdskategori {0} mot firma {1},
Please set at least one row in the Taxes and Charges Table,Angi minst en rad i tabellen Skatter og avgifter,
Please set default Cash or Bank account in Mode of Payment {0},Vennligst angi standard kontanter eller bankkontoen i modus for betaling {0},
Please set default account in Salary Component {0},Vennligst angi standardkonto i Lønn Component {0},
Please set default customer in Restaurant Settings,Vennligst sett standardkunden i Restaurantinnstillinger,
Please set default {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 the series to be used.,Vennligst sett serien som skal brukes.,
Please set {0} for address {1},Angi {0} for adresse {1},
Please setup Students under Student Groups,Vennligst oppsett Studentene under Student Grupper,
Please 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,
Portal Settings,portal Innstillinger,
Possible Supplier,Mulig leverandør,
Postal Expenses,Post Utgifter,
Posting Date,Publiseringsdato,
Posting Date cannot be future date,Publiseringsdato kan ikke være fremtidig dato,
Posting Time,Postering Tid,
Posting date and posting time is mandatory,Konteringsdato og legger tid er obligatorisk,
Posting timestamp must be after {0},Oppslaget tidsstempel må være etter {0},
Potential opportunities for selling.,Potensielle muligheter for å selge.,
Practitioner Schedule,Utøverplan,
Pre Sales,Før salg,
Preference,Preference,
Prescribed Procedures,Foreskrevne prosedyrer,
Prescription,Resept,
Prescription Dosage,Reseptdosering,
Prescription Duration,Reseptbeløp,
Prescriptions,resepter,
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 Owner,Referanse Eier,
Reference Type,Referanse Type,
"Reference: {0}, Item Code: {1} and Customer: {2}","Henvisning: {0}, Varenummer: {1} og kunde: {2}",
References,referanser,
Refresh Token,Refresh Token,
Region,Region,
Register,Registrere,
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 Builder,Report Builder,
Report Type,Rapporttype,
Report Type is mandatory,Rapporter Type er obligatorisk,
Reports,Reports,
Reqd By Date,Reqd etter dato,
Reqd Qty,Reqd Antall,
Request for Quotation,Forespørsel om kostnadsoverslag,
Request for Quotations,Forespørsel om Sitater,
Request for Raw Materials,Forespørsel om råvarer,
Request for purchase.,Be for kjøp.,
Request for quotation.,Forespørsel om kostnadsoverslag.,
Requested Qty,Spurt Antall,
"Requested Qty: Quantity requested for purchase, but not ordered.","Forespurt mengde: Mengde forespurt for kjøp, men ikke bestilt.",
Requesting Site,Ber om nettsted,
Requesting payment against {0} {1} for amount {2},Ber om betaling mot {0} {1} for mengden {2},
Requestor,forespørselen,
Required On,Nødvendig På,
Required Qty,Påkrevd antall,
Required Quantity,Nødvendig mengde,
Reschedule,Planlegge på nytt,
Research,Forskning,
Research & Development,Forskning og utvikling,
Researcher,forsker,
Resend Payment Email,Sende Betaling Email,
Reserve Warehouse,Reserve Warehouse,
Reserved Qty,Reservert antall,
Reserved Qty for Production,Reservert antall for produksjon,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Reservert antall for produksjon: Råvaremengde for å lage produksjonsvarer.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Reservert antall: Antall bestilt for salg, men ikke levert.",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Reservert lager er obligatorisk for vare {0} i råvarer som leveres,
Reserved for manufacturing,Reservert for produksjon,
Reserved for sale,Reservert for salg,
Reserved for sub contracting,Reservert for underentreprise,
Resistant,Resistant,
Resolve error and upload again.,Løs feil og last opp igjen.,
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,Prøve,
Sample Collection,Eksempel Innsamling,
Sample quantity {0} cannot be more than received quantity {1},Prøvekvantitet {0} kan ikke være mer enn mottatt mengde {1},
Sanctioned,sanksjonert,
Sand,Sand,
Saturday,Lørdag,
Saved,lagret,
Saving {0},Lagrer {0},
Scan Barcode,Skann strekkode,
Schedule,Tidsplan,
Schedule Admission,Planleggingsopptak,
Schedule Course,Schedule Course,
Schedule Date,Schedule Date,
Schedule Discharge,Planlegg utladning,
Scheduled,Planlagt,
Scheduled Upto,Planlagt Upto,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Tidsplaner for {0} overlapper, vil du fortsette etter å ha hoppet over overlapte spor?",
Score cannot be greater than Maximum Score,Score kan ikke være større enn Maksimal poengsum,
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,
Series {0} already used in {1},Serien {0} allerede brukt i {1},
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 Default,Satt som standard,
Set as Lost,Sett som tapte,
Set as Open,Sett som åpen,
Set default inventory account for perpetual inventory,Angi standard beholdningskonto for evigvarende beholdning,
Set this if the customer is a Public Administration company.,Angi dette hvis kunden er et offentlig administrasjonsselskap.,
Set {0} in asset category {1} or company {2},Angi {0} i aktivakategori {1} eller firma {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Innstilling Hendelser til {0}, siden den ansatte knyttet til under selgerne ikke har en bruker-ID {1}",
Setting defaults,Angir standardinnstillinger,
Setting up Email,Sette opp e-post,
Setting up Email Account,Sette opp e-postkonto,
Setting up Employees,Sette opp ansatte,
Setting up Taxes,Sette opp skatter,
Setting up company,Setter opp selskap,
Settings,Innstillinger,
"Settings for online shopping cart such as shipping rules, price list etc.","Innstillinger for online shopping cart som skipsregler, prisliste etc.",
Settings for website homepage,Innstillinger for nettstedet hjemmeside,
Settings for website product listing,Innstillinger for produktliste på nettstedet,
Settled,Bosatte seg,
Setup Gateway accounts.,Oppsett Gateway kontoer.,
Setup SMS gateway settings,Oppsett SMS gateway-innstillinger,
Setup cheque dimensions for printing,Oppsett sjekk dimensjoner for utskrift,
Setup default values for POS Invoices,Oppsett standardverdier for POS-fakturaer,
Setup mode of POS (Online / Offline),Oppsettmodus for POS (Online / Offline),
Setup your Institute in ERPNext,Oppsett ditt institutt i ERPNext,
Share Balance,Andelsbalanse,
Share Ledger,Del Ledger,
Share Management,Aksjeforvaltning,
Share Transfer,Del overføring,
Share Type,Del Type,
Shareholder,Aksjonær,
Ship To State,Send til stat,
Shipments,forsendelser,
Shipping,Shipping,
Shipping Address,Sendingsadresse,
"Shipping Address does not have country, which is required for this Shipping Rule","Fraktadresse har ikke land, som kreves for denne leveringsregelen",
Shipping rule only applicable for Buying,Fraktregel gjelder kun for kjøp,
Shipping rule only applicable for Selling,Fraktregel gjelder kun for salg,
Shopify Supplier,Shopify Leverandør,
Shopping Cart,Handlevogn,
Shopping Cart Settings,Handlevogn Innstillinger,
Short Name,Kort Navn,
Shortage Qty,Mangel Antall,
Show Completed,Vis fullført,
Show Cumulative Amount,Vis kumulativ beløp,
Show 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,Standard,
Standard Buying,Standard Kjøpe,
Standard Selling,Standard Selling,
Standard contract terms for Sales or Purchase.,Standard kontraktsvilkår for salg eller kjøp.,
Start Date,Startdato,
Start Date of Agreement can't be greater than or equal to End Date.,Startdato for avtale kan ikke være større enn eller lik sluttdato.,
Start Year,start-år,
Start 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,
Test,Test,
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,
Traceback,Spore tilbake,
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 DocType {0},Kan ikke finne DocType {0},
Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Kan ikke finne valutakurs for {0} til {1} for nøkkeldato {2}. Vennligst opprett en valutautvekslingsrekord manuelt,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Kan ikke finne poeng som starter ved {0}. Du må ha stående poeng som dekker 0 til 100,
Unable to find variable: ,Kan ikke finne variabel:,
Unblock Invoice,Fjern blokkering av faktura,
Uncheck all,Fjern haken ved alle,
Unclosed Fiscal Years Profit / Loss (Credit),Unclosed regnskapsårene Profit / Loss (Credit),
Unit,Enhet,
Unit of Measure,Måleenhet,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Enhet {0} har blitt lagt inn mer enn én gang i omregningsfaktor tabell,
Unknown,Ukjent,
Unpaid,ubetalte,
Unsecured Loans,Usikret lån,
Unsubscribe from this Email Digest,Melde deg ut av denne e-post Digest,
Unsubscribed,Utmeldings,
Until,Inntil,
Unverified Webhook Data,Uverifiserte Webhook-data,
Update Account Name / Number,Oppdater kontonavn / nummer,
Update Account Number / Name,Oppdater kontonummer / navn,
Update Cost,Oppdater Cost,
Update Items,Oppdater elementer,
Update Print Format,Oppdater Print Format,
Update 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,
Weekdays,hver~~POS=TRUNC,
Weekly,Ukentlig,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Vekt er nevnt, \ nVennligst nevne &quot;Weight målenheter&quot; også",
Welcome email sent,Velkommen e-post sendt,
Welcome to ERPNext,Velkommen til ERPNext,
What do you need help with?,Hva trenger du hjelp med?,
What does it do?,Hva gjør det?,
Where manufacturing operations are carried.,Hvor fabrikasjonsvirksomhet gjennomføres.,
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,
Workflow,Arbeidsflyt,
Working,Arbeids,
Working Hours,Arbeidstid,
Workstation,arbeidsstasjon,
Workstation is closed on the following dates as per Holiday List: {0},Workstation er stengt på følgende datoer som per Holiday Liste: {0},
Wrapping up,Innpakning,
Wrong Password,Feil passord,
Year start date or end date is overlapping with {0}. To avoid please set company,År startdato eller sluttdato er overlappende med {0}. For å unngå vennligst sett selskap,
You are not authorized to add or update entries before {0},Du er ikke autorisert til å legge til eller oppdatere bloggen før {0},
You are not authorized to 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 be logged in to access this page,Du må være innlogget for å få tilgang til denne siden,
You need to enable Shopping Cart,Du må aktivere Handlevogn,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Du vil miste oversikt over tidligere genererte fakturaer. Er du sikker på at du vil starte dette abonnementet på nytt?,
Your Organization,Din organisasjon,
Your cart is Empty,Vognen din er tom,
Your email address...,Din epostadresse...,
Your order is out for delivery!,Din bestilling er ute for levering!,
Your tickets,Dine billetter,
ZIP Code,Post kode,
[Error],[Error],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Form / post / {0}) er utsolgt,
`Freeze Stocks Older Than` should be smaller than %d days.,`frys Aksjer Eldre en` bør være mindre enn %d dager.,
based_on,basert på,
cannot be greater than 100,kan ikke være større enn 100,
disabled user,deaktivert bruker,
"e.g. ""Build tools for builders""",f.eks &quot;Bygg verktøy for utbyggere&quot;,
"e.g. ""Primary School"" or ""University""",for eksempel &quot;Primary School&quot; eller &quot;University&quot;,
"e.g. Bank, Cash, Credit Card","f.eks Bank, Cash, Kredittkort",
hidden,Skjult,
modified,modifisert,
old_parent,old_parent,
on,på,
{0} '{1}' is disabled,{0} {1} er deaktivert,
{0} '{1}' not in Fiscal Year {2},{0} {1} ikke i regnskapsåret {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) kan ikke være større enn planlagt antall ({2}) i Work Order {3},
{0} - {1} is inactive student,{0} - {1} er inaktiv student,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} er ikke påmeldt i batch {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} er ikke påmeldt kurset {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} budsjettet for kontoen {1} mot {2} {3} er {4}. Det vil overstige ved {5},
{0} Digest,{0} Fordel,
{0} Request for {1},{0} Forespørsel om {1},
{0} Result submittted,{0} Resultat sendt,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} serienumre som kreves for Element {1}. Du har gitt {2}.,
{0} Student Groups created.,{0} Studentgrupper opprettet.,
{0} Students have been enrolled,{0} Studentene har blitt registrert,
{0} against Bill {1} dated {2},{0} mot Bill {1} datert {2},
{0} against Purchase Order {1},{0} mot innkjøpsordre {1},
{0} against Sales Invoice {1},{0} mot Sales Faktura {1},
{0} against Sales Order {1},{0} mot salgsordre {1},
{0} 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,
County,fylke,
Day of Week,Ukedag,
"Dear System Manager,","Kjære System Manager,",
Default Value,Standardverdi,
Email Group,E-post-konsernet,
Email Settings,E-postinnstillinger,
Email not sent to {0} (unsubscribed / disabled),E-post ble ikke sendt til {0} (utmeldings / deaktivert),
Error Message,Feilmelding,
Fieldtype,Fieldtype,
Help Articles,Hjelp artikler,
ID,ID,
Images,Bilder,
Import,Import,
Language,Språk,
Likes,Likes,
Merge with existing,Slå sammen med eksisterende,
Office,Kontor,
Orientation,orientering,
Parent,Parent,
Passive,Passiv,
Payment Failed,Betalingen feilet,
Permanent,Fast,
Personal,Personlig,
Plant,Plant,
Post,Post,
Postal,Postal,
Postal Code,postnummer,
Previous,Forrige,
Provider,Forsørger,
Read Only,Read Only,
Recipient,Mottaker,
Reviews,anmeldelser,
Sender,Avsender,
Shop,Butikk,
Subsidiary,Datterselskap,
There is some problem with the file url: {0},Det er noe problem med filen url: {0},
There were errors while sending email. Please try again.,"Det oppstod feil under sending epost. Vær så snill, prøv på nytt.",
Values Changed,verdier Endret,
or,eller,
Ageing Range 4,Aldringsområde 4,
Allocated amount cannot be greater than unadjusted amount,Tildelt beløp kan ikke være større enn ujustert beløp,
Allocated amount cannot be negative,Tildelt beløp kan ikke være negativt,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Differansekontoen må være en konto / formue / ansvarstype, siden denne aksjeoppføringen er en åpningsinngang",
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},
"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Spesialtegn unntatt &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; Og &quot;}}&quot; ikke tillatt i navneserier {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,
Export Type,Eksporttype,
From Date,Fra Dato,
Group By,Gruppe av,
Invalid URL,ugyldig URL,
Landscape,Landskap,
Last Sync On,Sist synk på,
Naming Series,Navngi Series,
No data to export,Ingen data å eksportere,
Portrait,Portrett,
Print Heading,Print Overskrift,
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,
Webhook Secret,Webhook Secret,
% 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 Home,Tilbake til hjemmet,
Back to Messages,Tilbake til Meldinger,
Bank Data mapper doesn't exist,Bankdatakartlegging eksisterer ikke,
Bank Details,Bankinformasjon,
Bank account '{0}' has been synchronized,Bankkonto &#39;{0}&#39; er synkronisert,
Bank account {0} already exists and could not be created again,Bankkonto {0} eksisterer allerede og kunne ikke opprettes igjen,
Bank accounts added,Bankkontoer lagt til,
Batch no is required for batched item {0},Batch-nr er nødvendig for batch-varen {0},
Billing Date,Fakturadato,
Billing Interval Count cannot be less than 1,Faktureringsintervallantallet kan ikke være mindre enn 1,
Blue,Blå,
Book,Bok,
Book Appointment,Bokavtale,
Brand,Brand,
Browse,Bla,
Call Connected,Ring tilkoblet,
Call Disconnected,Ring frakoblet,
Call Missed,Samtale savnet,
Call Summary,Samtaleoppsummering,
Call Summary Saved,Samtaleoppsummering lagret,
Cancelled,avbrutt,
Cannot Calculate Arrival Time as Driver Address is Missing.,Kan ikke beregne ankomsttid da driveradressen mangler.,
Cannot Optimize Route as Driver Address is Missing.,Kan ikke optimalisere ruten ettersom driveradressen mangler.,
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Kan ikke fullføre oppgaven {0} da den avhengige oppgaven {1} ikke er komplettert / kansellert.,
Cannot 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,
Customize,Tilpass,
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,
Edit Profile,Endre profil,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,Enten GST Transporter ID eller kjøretøy Nei er påkrevd hvis modus for transport er vei,
Email,e-post,
Email Campaigns,E-postkampanjer,
Employee ID is linked with another instructor,Ansattes ID er knyttet til en annen instruktør,
Employee Tax and Benefits,Ansatt skatt og fordeler,
Employee is required while issuing Asset {0},Det kreves ansatt ved utstedelse av eiendel {0},
Employee {0} does not belongs to the company {1},Ansatt {0} tilhører ikke selskapet {1},
Enable Auto Re-Order,Aktiver automatisk nybestilling,
End Date of Agreement can't be less than today.,Sluttdato for avtalen kan ikke være mindre enn i dag.,
End Time,Sluttid,
Energy Point Leaderboard,Energy Point Leaderboard,
Enter API key in Google Settings.,Skriv inn API-nøkkel i Google Innstillinger.,
Enter Supplier,Gå inn i leverandøren,
Enter Value,Legg inn verdi,
Entity Type,Entity Type,
Error,Feil,
Error in Exotel incoming call,Feil i innkommende samtale fra Exotel,
Error: {0} is mandatory field,Feil: {0} er obligatorisk felt,
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,
File Manager,Filbehandler,
Filters,Filtre,
Finding linked payments,Finne koblede betalinger,
Fleet Management,Flåtestyring,
Following fields are mandatory to create address:,Følgende felt er obligatoriske for å opprette adresse:,
For Month,For måned,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity",For vare {0} på rad {1} stemmer ikke antall serienumre med det utvalgte antallet,
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),For drift {0}: Mengde ({1}) kan ikke være greter enn mengde i påvente ({2}),
For quantity {0} should not be greater than work order quantity {1},For mengde {0} skal ikke være større enn mengden arbeidsordre {1},
Free item not set in the pricing rule {0},Gratis varen er ikke angitt i prisregelen {0},
From Date and To Date are Mandatory,Fra dato og til dato er obligatorisk,
From employee is required while receiving Asset {0} to a target location,Fra ansatt kreves det mens du mottar eiendel {0} til et målsted,
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,
Invite as User,Inviter som User,
Issue Priority.,Utgaveprioritet.,
Issue Type.,Utgavetype.,
"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.",Det ser ut til at det er et problem med serverens stripekonfigurasjon. I tilfelle feil blir beløpet refundert til kontoen din.,
Item Reported,Artikkel rapportert,
Item listing removed,Vareoppføringen er fjernet,
Item quantity can not be zero,Varenummer kan ikke være null,
Item taxes updated,Vareskatter oppdatert,
Item {0}: {1} qty produced. ,Vare {0}: {1} antall produsert.,
Joining Date can not be greater than Leaving Date,Deltagelsesdato kan ikke være større enn Leaving Date,
Lab Test Item {0} already exist,Lab-testelement {0} eksisterer allerede,
Last Issue,Siste utgave,
Latest Age,Siste alder,
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,
Newsletter,Nyhetsbrev,
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
Printing,Utskrift,
Priority,Prioritet,
Priority has been changed to {0}.,Prioritet er endret til {0}.,
Priority {0} has been repeated.,Prioritet {0} har blitt gjentatt.,
Processing XML Files,Behandler XML-filer,
Profitability,lønnsomhet,
Project,Prosjekt,
Provide the academic year and set the starting and ending date.,Gi studieåret og angi start- og sluttdato.,
Public token is missing for this bank,Offentlig token mangler for denne banken,
Publish,publisere,
Publish 1 Item,Publiser 1 vare,
Publish Items,Publiser elementer,
Publish More Items,Publiser flere elementer,
Publish Your First Items,Publiser de første varene dine,
Publish {0} Items,Publiser {0} varer,
Published Items,Publiserte artikler,
Purchase Invoice cannot be made against an existing asset {0},Innkjøpsfaktura kan ikke gjøres mot en eksisterende eiendel {0},
Purchase Invoices,Kjøp fakturaer,
Purchase Orders,Innkjøpsordrer,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Innkjøpskvittering har ingen varer som beholder prøve er aktivert for.,
Purchase Return,Kjøp Return,
Qty of Finished Goods Item,Antall ferdige varer,
Quality Inspection required for Item {0} to submit,Kvalitetskontroll kreves for at varen {0} skal sendes inn,
Quantity to Manufacture,Mengde å produsere,
Quantity to Manufacture can not be zero for the operation {0},Mengde å produsere kan ikke være null for operasjonen {0},
Quarterly,Quarterly,
Queued,I kø,
Quick Entry,Hurtig Entry,
Quiz {0} does not exist,Quiz {0} eksisterer ikke,
Quotation Amount,Sitatbeløp,
Rate or Discount is required for the price discount.,Pris eller rabatt kreves for prisrabatten.,
Reason,Reason,
Reconcile Entries,Forsone oppføringer,
Reconcile this account,Forsone denne kontoen,
Reconciled,forsonet,
Recruitment,Rekruttering,
Red,Rød,
Refreshing,forfriskende,
Release date must be in the future,Utgivelsesdato må være i fremtiden,
Relieving Date must be greater than or equal to Date of Joining,Relieving Date må være større enn eller lik dato for tiltredelse,
Rename,Gi nytt navn,
Rename Not Allowed,Gi nytt navn ikke tillatt,
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 All,Velg Alle,
Select Difference Account,Velg Differanse-konto,
Select a Default Priority.,Velg en standardprioritet.,
Select a company,Velg et selskap,
Select finance book for the item {0} at row {1},Velg økonomibok for varen {0} på rad {1},
Select only one Priority as Default.,Velg bare én prioritet som standard.,
Seller Information,Selgerinformasjon,
Send,Sende,
Send a message,Send en melding,
Sending,sende,
Sends Mails to lead or contact based on a Campaign schedule,Sender e-post for å lede eller kontakte basert på en kampanjeplan,
Serial Number Created,Serienummer opprettet,
Serial Numbers Created,Serienumre opprettet,
Serial no(s) required for serialized item {0},Serienummer (er) som kreves for serienummeret {0},
Series,Series,
Server Error,serverfeil,
Service Level Agreement has been changed to {0}.,Servicenivåavtale er endret til {0}.,
Service Level Agreement was reset.,Servicenivåavtale ble tilbakestilt.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Servicenivåavtale med enhetstype {0} og enhet {1} eksisterer allerede.,
Set,Set,
Set Meta Tags,Angi metatagger,
Set {0} in company {1},Sett {0} i firma {1},
Setup,Setup,
Setup Wizard,Setup Wizard,
Shift Management,Shift Management,
Show Future Payments,Vis fremtidige betalinger,
Show Linked Delivery Notes,Vis tilknyttede leveringsnotater,
Show Sales Person,Vis selger,
Show Stock Ageing Data,Vis lagringsalderingsdata,
Show Warehouse-wise Stock,Vis lagermessig lager,
Size,Størrelse,
Something went wrong while evaluating the quiz.,Noe gikk galt under evalueringen av quizen.,
Sr,sr,
Start,Start,
Start Date cannot be before the current date,Startdato kan ikke være før gjeldende dato,
Start Time,Starttid,
Status,Status,
Status must be Cancelled or Completed,Status må avbrytes eller fullføres,
Stock Balance Report,Aksjekursrapport,
Stock Entry has been already created against this Pick List,Aksjepost er allerede opprettet mot denne plukklisten,
Stock Ledger ID,Lagerbok-ID,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,"Lagerverdi ({0}) og kontosaldo ({1}) er ikke synkronisert for konto {2}, og det er koblede lager.",
Stores - {0},Butikker - {0},
Student with email {0} does not exist,Student med e-post {0} eksisterer ikke,
Submit Review,Send anmeldelse,
Submitted,Sendt inn,
Supplier Addresses And Contacts,Leverandør Adresser og kontakter,
Synchronize this account,Synkroniser denne kontoen,
Tag,stikkord,
Target Location is required while receiving Asset {0} from an employee,Målplassering er påkrevd når du mottar aktiva {0} fra en ansatt,
Target Location is required while transferring Asset {0},Målplassering er nødvendig ved overføring av aktiva {0},
Target Location or To Employee is required while receiving Asset {0},Målplassering eller til ansatt er påkrevd når du mottar aktiva {0},
Task's {0} End Date cannot be after Project's End Date.,Oppgavens {0} sluttdato kan ikke være etter prosjektets sluttdato.,
Task's {0} Start Date cannot be after Project's End Date.,Oppgavens {0} startdato kan ikke være etter prosjektets sluttdato.,
Tax Account not specified for Shopify Tax {0},Skattekonto er ikke spesifisert for Shopify Tax {0},
Tax Total,Sum skatt,
Template,Mal,
The Campaign '{0}' already exists for the {1} '{2}',Kampanjen &#39;{0}&#39; eksisterer allerede for {1} &#39;{2}&#39;,
The difference between from time and To Time must be a multiple of Appointment,Forskjellen mellom tid og tid må være en mangfoldighet av utnevnelsen,
The field Asset Account cannot be blank,Feltet Kontokonto kan ikke være tomt,
The field Equity/Liability Account cannot be blank,Feltet Egenkapital / ansvarskonto kan ikke være blankt,
The following serial numbers were created: <br><br> {0},Følgende serienummer ble opprettet: <br><br> {0},
The parent account {0} does not exists in the uploaded template,Foreldrekontoen {0} eksisterer ikke i den opplastede malen,
The question cannot be duplicate,Spørsmålet kan ikke dupliseres,
The selected payment entry should be linked with a creditor bank transaction,Den valgte betalingsoppføringen bør knyttes til en kredittbanktransaksjon,
The selected payment entry should be linked with a debtor bank transaction,Den valgte betalingsoppføringen bør være knyttet til en debitorbanktransaksjon,
The total allocated amount ({0}) is greated than the paid amount ({1}).,Det totale tildelte beløpet ({0}) er større enn det betalte beløpet ({1}).,
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 Details,Oppdater detaljer,
Update Taxes for Items,Oppdater skatter for varer,
"Upload a bank statement, link or reconcile a bank account","Last opp en kontoutskrift, koble til eller forene en bankkonto",
Upload a statement,Last opp en uttalelse,
Use a name that is different from previous project name,Bruk et navn som er forskjellig fra tidligere prosjektnavn,
User {0} is disabled,Bruker {0} er deaktivert,
Users and Permissions,Brukere og tillatelser,
Valuation Rate required for Item {0} at row {1},Verdsettelsesgrad påkrevd for vare {0} på rad {1},
Values Out Of Sync,Verdier utenfor synkronisering,
Vehicle Type is required if Mode of Transport is Road,Kjøretøytype er påkrevd hvis modus for transport er vei,
Vendor Name,Leverandørnavn,
Verify Email,verifiser e-post,
View,Utsikt,
View all issues from {0},Se alle utgaver fra {0},
View call log,Vis anropslogg,
Warehouse,Warehouse,
Warehouse not found against the account {0},Lager ikke funnet mot kontoen {0},
Welcome to {0},Velkommen til {0},
Why do think this Item should be removed?,Hvorfor tror dette elementet bør fjernes?,
Work Order {0}: Job Card not found for the operation {1},Arbeidsordre {0}: jobbkortet ble ikke funnet for operasjonen {1},
Workday {0} has been repeated.,Arbeidsdag {0} har blitt gjentatt.,
XML Files Processed,XML-filer behandlet,
Year,År,
Yearly,årlig,
You,Du,
You are not allowed to enroll for this course,Du har ikke lov til å melde deg på dette kurset,
You are not enrolled in program {0},Du er ikke påmeldt programmet {0},
You can Feature upto 8 items.,Du kan ha opptil 8 artikler.,
You can also copy-paste this link in your browser,Du kan også kopiere og lime inn lenken i din nettleser,
You can publish upto 200 items.,Du kan publisere opptil 200 artikler.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,Du må aktivere automatisk ombestilling i lagerinnstillinger for å opprettholde ombestillingsnivåer.,
You must be a registered supplier to generate e-Way Bill,Du må være en registrert leverandør for å generere e-Way Bill,
You need to login as a Marketplace User before you can add any reviews.,Du må logge deg inn som Marketplace-bruker før du kan legge til anmeldelser.,
Your Featured Items,Dine utvalgte varer,
Your Items,Varene dine,
Your Profile,Profilen din,
Your rating:,Din vurdering:,
and,og,
e-Way Bill already exists for this document,e-Way Bill eksisterer allerede for dette dokumentet,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Kupongen som brukes er {1}. Tillatt mengde er oppbrukt,
{0} Name,{0} Name,
{0} Operations: {1},{0} Operasjoner: {1},
{0} bank transaction(s) created,{0} banktransaksjoner er opprettet,
{0} bank transaction(s) created and {1} errors,{0} banktransaksjoner er opprettet og {1} feil,
{0} can not be greater than {1},{0} kan ikke være større enn {1},
{0} conversations,{0} samtaler,
{0} is not a company bank account,{0} er ikke en bankkonto,
{0} is not a group node. Please select a group node as parent cost center,{0} er ikke en gruppe node. Velg en gruppe node som overkostningssenter,
{0} is not the default supplier for any items.,{0} er ikke standardleverandøren for noen artikler.,
{0} is required,{0} er nødvendig,
{0}: {1} must be less than {2},{0}: {1} må være mindre enn {2},
{} is required to generate E-Way Bill JSON,{} er påkrevd for å generere E-Way Bill JSON,
"Invalid lost reason {0}, please create a new lost reason",Ugyldig tapt grunn {0}. Opprett en ny tapt grunn,
Profit This Year,Fortjeneste i år,
Total Expense,Total kostnad,
Total Expense This Year,Total kostnad i år,
Total Income,Totale inntekter,
Total Income This Year,Samlet inntekt i år,
Barcode,Barcode,
Bold,Modig,
Center,Sentrum,
Clear,Klar,
Comment,Kommentar,
Comments,Kommentarer,
DocType,DOCTYPE,
Download,nedlasting,
Left,Venstre,
Link,link,
New,Ny,
Not Found,Ikke Funnet,
Print,Skrive ut,
Reference Name,referansenavn,
Refresh,Refresh,
Success,Suksess,
Time,Tid,
Value,Verdi,
Actual,Faktiske,
Add to Cart,Legg til i handlevogn,
Days Since Last Order,Dager siden sist bestilling,
In Stock,På lager,
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,
User Id,Bruker-ID,
Yes,Ja,
Actual ,Faktiske,
Add to cart,Legg til i handlevogn,
Budget,Budsjett,
Chart of Accounts,Kontooversikt,
Customer database.,Kunde Database.,
Days Since Last order,Dager siden siste Bestill,
Download as JSON,Last ned som JSON,
End date can not be less than start date,Sluttdato kan ikke være mindre enn startdato,
For Default Supplier (Optional),For standardleverandør (valgfritt),
From date cannot be greater than To date,Fra dato ikke kan være større enn To Date,
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,
Position,Posisjon,
Cash Flow Mapping,Cash Flow Mapping,
Select Maximum Of 1,Velg Maksimum 1,
Is Finance Cost,Er finansieringskostnad,
Is Working Capital,Er arbeidskapital,
Is Finance Cost Adjustment,Er finansieringskostnadsjustering,
Is Income Tax Liability,Er skatt på inntektsskatt,
Is Income Tax Expense,Er inntektsskatt utgift,
Cash Flow Mapping Accounts,Kontantstrømmappekontoer,
account,Konto,
Cash Flow Mapping Template,Cash Flow Mapping Template,
Cash Flow Mapping Template Details,Kontantstrøm kartlegging detaljer,
POS-CLO-,POS-lukningstider,
Custody,varetekt,
Net Amount,Nettobeløp,
Cashier Closing Payments,Kasseavslutninger,
Chart of Accounts Importer,Kontooversikt Importør,
Import Chart of Accounts from a csv file,Importer kontoplan fra en csv-fil,
Attach custom Chart of Accounts file,Legg ved tilpasset kontoplan,
Chart Preview,Forhåndsvisning av diagram,
Chart Tree,Chart Tree,
Cheque Print Template,Sjekk ut Mal,
Has Print Format,Har Print Format,
Primary Settings,primære Innstillinger,
Cheque Size,sjekk Size,
Regular,Regelmessig,
Starting position from top edge,Startposisjon fra øverste kant,
Cheque Width,sjekk Bredde,
Cheque Height,sjekk Høyde,
Scanned Cheque,skannede Cheque,
Is Account Payable,Er konto Betales,
Distance from top edge,Avstand fra øvre kant,
Distance from left edge,Avstand fra venstre kant,
Message to show,Melding for visning,
Date Settings,Dato Innstillinger,
Starting location from left edge,Starter plassering fra venstre kant,
Payer Settings,Payer Innstillinger,
Width of amount in word,Bredde på beløpet i ord,
Line spacing for amount in words,Linjeavstand for beløpet i ord,
Amount In Figure,Beløp I figur,
Signatory Position,Signataren plassering,
Closed Document,Lukket dokument,
Track separate Income and Expense for product verticals or divisions.,Spor separat inntekter og kostnader for produkt vertikaler eller divisjoner.,
Cost Center Name,Kostnadssteds Name,
Parent Cost Center,Parent kostnadssted,
lft,LFT,
rgt,RGT,
Coupon Code,Kupongkode,
Coupon Name,Kupongnavn,
"e.g. ""Summer Holiday 2019 Offer 20""",f.eks &quot;Sommerferie 2019 Tilbud 20&quot;,
Coupon Type,Kupongtype,
Promotional,Promotional,
Gift Card,Gavekort,
unique e.g. SAVE20  To be used to get discount,unik f.eks. SAVE20 Brukes for å få rabatt,
Validity and Usage,Gyldighet og bruk,
Valid From,Gyldig fra,
Valid Upto,Gyldig Upto,
Maximum Use,Maksimal bruk,
Used,brukes,
Coupon Description,Kupongbeskrivelse,
Discounted Invoice,Rabattert faktura,
Debit to,Debet til,
Exchange Rate Revaluation,Valutakursomskrivning,
Get Entries,Få oppføringer,
Exchange Rate Revaluation Account,Valutakursreguleringskonto,
Total Gain/Loss,Total gevinst / tap,
Balance In Account Currency,Balanse i Konto Valuta,
Current Exchange Rate,Gjeldende valutakurs,
Balance In Base Currency,Balanse i basisvaluta,
New Exchange Rate,Ny valutakurs,
New Balance In Base Currency,Ny balanse i basisvaluta,
Gain/Loss,Gevinst / tap,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Regnskapsår ** representerer et regnskapsår. Alle regnskapspostene og andre store transaksjoner spores mot ** regnskapsår **.,
Year Name,År Navn,
"For e.g. 2012, 2012-13","For eksempel 2012, 2012-13",
Year Start Date,År Startdato,
Year End Date,År Sluttdato,
Companies,Selskaper,
Auto Created,Automatisk opprettet,
Stock User,Stock User,
Fiscal Year Company,Regnskapsåret selskapet,
Debit Amount,Debet Beløp,
Credit Amount,Credit Beløp,
Debit Amount in Account Currency,Debet beløp på kontoen Valuta,
Credit Amount in Account Currency,Credit beløp på kontoen Valuta,
Voucher Detail No,Kupong Detail Ingen,
Is Opening,Er Åpnings,
Is Advance,Er Advance,
To Rename,Å gi nytt navn,
GST Account,GST-konto,
CGST Account,CGST-konto,
SGST Account,SGST-konto,
IGST Account,IGST-konto,
CESS Account,CESS-konto,
Loan Start Date,Startdato for lån,
Loan Period (Days),Låneperiode (dager),
Loan End Date,Sluttdato for lån,
Bank Charges,Bankgebyrer,
Short Term Loan Account,Kortsiktig lånekonto,
Bank Charges Account,Bankkontokonto,
Accounts Receivable Credit Account,Kundefordringer Kredittkonto,
Accounts Receivable Discounted Account,Kundefordringer Rabattert konto,
Accounts Receivable Unpaid Account,Kundefordringer Ubetalt konto,
Item Tax Template,Vare skatt mal,
Tax Rates,Skattesatser,
Item Tax Template Detail,Vare skatt mal detalj,
Entry Type,Entry Type,
Inter Company Journal Entry,Inter Company Journal Entry,
Bank Entry,Bank Entry,
Cash Entry,Cash Entry,
Credit Card Entry,Kredittkort Entry,
Contra Entry,Contra Entry,
Excise Entry,Vesenet Entry,
Write Off Entry,Skriv Off Entry,
Opening Entry,Åpning Entry,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Regnskaps Entries,
Total Debit,Total debet,
Total Credit,Total Credit,
Difference (Dr - Cr),Forskjellen (Dr - Cr),
Make Difference Entry,Gjør forskjell Entry,
Total Amount Currency,Totalbeløp Valuta,
Total Amount in Words,Totalbeløp i Words,
Remark,Bemerkning,
Paid Loan,Betalt lån,
Inter Company Journal Entry Reference,Inter Company Journal Entry Reference,
Write Off Based On,Skriv Off basert på,
Get Outstanding Invoices,Få utestående fakturaer,
Write Off Amount,Avskrive beløp,
Printing Settings,Utskriftsinnstillinger,
Pay To / Recd From,Betal Til / recd From,
Payment Order,Betalingsordre,
Subscription Section,Abonnementsseksjon,
Journal Entry Account,Journal Entry konto,
Account Balance,Saldo,
Party Balance,Fest Balance,
Accounting Dimensions,Regnskapsdimensjoner,
If Income or Expense,Dersom inntekt eller kostnad,
Exchange Rate,Vekslingskurs,
Debit in Company Currency,Debet i selskapet Valuta,
Credit in Company Currency,Kreditt i selskapet Valuta,
Payroll Entry,Lønninngang,
Employee Advance,Ansattes fremskritt,
Reference Due Date,Referansedato,
Loyalty Program Tier,Lojalitetsprogram Tier,
Redeem Against,Løs inn mot,
Expiry Date,Utløpsdato,
Loyalty Point Entry Redemption,Innløsning av lojalitetspoeng,
Redemption Date,Innløsningsdato,
Redeemed Points,Innløste poeng,
Loyalty Program Name,Lojalitetsprogramnavn,
Loyalty Program Type,Lojalitetsprogramtype,
Single Tier Program,Single Tier Program,
Multiple Tier Program,Flertallsprogram,
Customer Territory,Kundeområde,
Auto Opt In (For all customers),Auto Opt In (For alle kunder),
Collection Tier,Collection Tier,
Collection Rules,Innsamlingsregler,
Redemption,Forløsning,
Conversion Factor,Omregningsfaktor,
1 Loyalty Points = How much base currency?,1 Lojalitetspoeng = Hvor mye grunnvaluta?,
Expiry Duration (in days),Utløpsvarighet (i dager),
Help Section,Hjelpseksjon,
Loyalty Program Help,Lojalitetsprogram Hjelp,
Loyalty Program Collection,Lojalitetsprogram samling,
Tier Name,Tiernavn,
Minimum Total Spent,Minimum totalt brukt,
Collection Factor (=1 LP),Samlefaktor (= 1 LP),
For how much spent = 1 Loyalty Point,For hvor mye brukt = 1 Lojalitetspoeng,
Mode of Payment Account,Modus for betaling konto,
Default Account,Standard konto,
Default account will be automatically updated in POS Invoice when this mode is selected.,Standardkontoen oppdateres automatisk i POS-faktura når denne modusen er valgt.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Månedlig Distribusjon ** hjelper deg distribuere Budsjett / Target over måneder hvis du har sesongvariasjoner i din virksomhet.,
Distribution Name,Distribusjon Name,
Name of the Monthly Distribution,Navn på Monthly Distribution,
Monthly Distribution Percentages,Månedlig Distribusjonsprosent,
Monthly Distribution Percentage,Månedlig Distribution Prosent,
Percentage Allocation,Prosentvis Allocation,
Create Missing Party,Opprett manglende parti,
Create missing customer or supplier.,Opprett manglende kunde eller leverandør.,
Opening Invoice Creation Tool Item,Åpning av fakturaopprettingsverktøyet,
Temporary Opening Account,Midlertidig åpningskonto,
Party Account,Partiet konto,
Type of Payment,Type Betaling,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Motta,
Internal Transfer,Internal Transfer,
Payment Order Status,Betalingsordresstatus,
Payment Ordered,Betaling Bestilt,
Payment From / To,Betaling fra / til,
Company Bank Account,Firmaets bankkonto,
Party Bank Account,Party bankkonto,
Account Paid From,Konto betalt fra,
Account Paid To,Konto Betalt for å,
Paid Amount (Company Currency),Innbetalt beløp (Company Valuta),
Received Amount,mottatt beløp,
Received Amount (Company Currency),Mottatt beløp (Selskap Valuta),
Get Outstanding Invoice,Få utestående faktura,
Payment References,Betalings Referanser,
Writeoff,writeoff,
Total Allocated Amount,Totalt tildelte beløp,
Total Allocated Amount (Company Currency),Totalt tildelte beløp (Selskap Valuta),
Set Exchange Gain / Loss,Sett valutagevinst / tap,
Difference Amount (Company Currency),Forskjell Beløp (Selskap Valuta),
Write Off Difference Amount,Skriv Off differansebeløpet,
Deductions or Loss,Fradrag eller tap,
Payment Deductions or Loss,Betalings fradrag eller tap,
Cheque/Reference Date,Sjekk / Reference Date,
Payment Entry Deduction,Betaling Entry Fradrag,
Payment Entry Reference,Betaling Entry Reference,
Allocated,Avsatt,
Payment Gateway Account,Betaling Gateway konto,
Payment Account,Betaling konto,
Default Payment Request Message,Standard betalingsforespørsel Message,
PMO-,PMO-,
Payment Order Type,Type betalingsordre,
Payment Order Reference,Betalingsordrehenvisning,
Bank Account Details,Detaljer om bankkonto,
Payment Reconciliation,Betaling Avstemming,
Receivable / Payable Account,Fordringer / gjeld konto,
Bank / Cash Account,Bank / minibank konto,
From Invoice Date,Fra Fakturadato,
To Invoice Date,Å Fakturadato,
Minimum Invoice Amount,Minimum Fakturert beløp,
Maximum Invoice Amount,Maksimal Fakturert beløp,
System will fetch all the entries if limit value is zero.,Systemet henter alle oppføringene hvis grenseverdien er null.,
Get Unreconciled Entries,Få avstemte Entries,
Unreconciled Payment Details,Avstemte Betalingsopplysninger,
Invoice/Journal Entry Details,Faktura / Journal Entry Detaljer,
Payment Reconciliation Invoice,Betaling Avstemming Faktura,
Invoice Number,Fakturanummer,
Payment Reconciliation Payment,Betaling Avstemming Betaling,
Reference Row,Referanse Row,
Allocated amount,Bevilget beløp,
Payment Request Type,Betalingsforespørselstype,
Outward,Ytre,
Inward,innover,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,Transaksjonsdetaljer,
Amount in customer's currency,Beløp i kundens valuta,
Is a Subscription,Er en abonnement,
Transaction Currency,transaksjonsvaluta,
Subscription Plans,Abonnementsplaner,
SWIFT Number,Raskt nummer,
Recipient Message And Payment Details,Mottakers Message og betalingsinformasjon,
Make Sales Invoice,Gjør Sales Faktura,
Mute Email,Demp Email,
payment_url,payment_url,
Payment Gateway Details,Betaling Gateway Detaljer,
Payment Schedule,Nedbetalingsplan,
Invoice Portion,Fakturaandel,
Payment Amount,Betalings Beløp,
Payment Term Name,Betalingsnavn,
Due Date Based On,Forfallsdato basert på,
Day(s) after invoice date,Dag (er) etter faktura dato,
Day(s) after the end of the invoice month,Dag (er) etter slutten av faktura måneden,
Month(s) after the end of the invoice month,Måned (e) etter slutten av faktura måneden,
Credit Days,Kreditt Days,
Credit Months,Kredittmåneder,
Allocate Payment Based On Payment Terms,Tildel betaling basert på betalingsbetingelser,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Hvis denne avkrysningsruten er merket av, vil det betalte beløpet bli delt opp og fordeles i henhold til beløpene i betalingsplanen mot hver betalingsperiode",
Payment Terms Template Detail,Betalingsvilkår Maledetaljer,
Closing Fiscal Year,Lukke regnskapsår,
Closing Account Head,Lukke konto Leder,
"The account head under Liability or Equity, in which Profit/Loss will be booked","Kontoen hodet etter forpliktelse eller et egenkapital, der gevinst / tap vil bli bokført",
POS Customer Group,POS Kundegruppe,
POS Field,POS-felt,
POS Item Group,POS Varegruppe,
Company Address,Firma adresse,
Update Stock,Oppdater Stock,
Ignore Pricing Rule,Ignorer Pricing Rule,
Applicable for Users,Gjelder for brukere,
Sales Invoice Payment,Salg Faktura Betaling,
Item Groups,varegruppene,
Only show Items from these Item Groups,Vis bare varer fra disse varegruppene,
Customer Groups,kunde~~POS=TRUNC grupper~~POS=HEADCOMP,
Only show Customer of these Customer Groups,Vis kun kunde for disse kundegruppene,
Write Off Account,Skriv Off konto,
Write Off Cost Center,Skriv Av kostnadssted,
Account for Change Amount,Konto for Change Beløp,
Taxes and Charges,Skatter og avgifter,
Apply Discount On,Påfør rabatt på,
POS Profile User,POS Profil Bruker,
Apply On,Påfør på,
Price or Product Discount,Pris eller produktrabatt,
Apply Rule On Item Code,Bruk regel om varekode,
Apply Rule On Item Group,Bruk regel om varegrupper,
Apply Rule On Brand,Bruk regel på merke,
Mixed Conditions,Blandede forhold,
Conditions will be applied on all the selected items combined. ,Betingelsene vil bli brukt på alle valgte elementer kombinert.,
Is Cumulative,Er kumulativ,
Coupon Code Based,Basert på kupongkode,
Discount on Other Item,Rabatt på annen vare,
Apply Rule On Other,Bruk regel på andre,
Party Information,Partiinformasjon,
Quantity and Amount,Mengde og mengde,
Min Qty,Min Antall,
Max Qty,Max Antall,
Min Amt,Min Amt,
Max Amt,Max Amt,
Period Settings,Periodeinnstillinger,
Margin,Margin,
Margin Type,margin Type,
Margin Rate or Amount,Margin Rate Beløp,
Price Discount Scheme,Prisrabattordning,
Rate or Discount,Pris eller rabatt,
Discount Percentage,Rabatt Prosent,
Discount Amount,Rabattbeløp,
For Price List,For Prisliste,
Product Discount Scheme,Produktrabattordning,
Same Item,Samme vare,
Free Item,Gratis vare,
Threshold for Suggestion,Terskel for forslag,
System will notify to increase or decrease quantity or amount ,Systemet vil varsle om å øke eller redusere mengde eller mengde,
"Higher the number, higher the priority","Høyere tallet er, høyere prioritet",
Apply Multiple Pricing Rules,Bruk flere prisregler,
Apply Discount on Rate,Bruk rabatt på pris,
Validate Applied Rule,Valider gjeldende regel,
Rule Description,Regelbeskrivelse,
Pricing Rule Help,Prising Rule Hjelp,
Promotional Scheme Id,Kampanjeplan-id,
Promotional Scheme,Kampanjeplan,
Pricing Rule Brand,Prissett regelmerke,
Pricing Rule Detail,Prisregler detalj,
Child Docname,Dokumentnavn for barn,
Rule Applied,Regel anvendt,
Pricing Rule Item Code,Prisregel Varenummer,
Pricing Rule Item Group,Prissett regelgruppe,
Price Discount Slabs,Pris Rabattplater,
Promotional Scheme Price Discount,Kampanjepriser Rabatt,
Product Discount Slabs,Produktrabattplater,
Promotional Scheme Product Discount,Salgsfremmende produkt rabatt,
Min Amount,Min beløp,
Max Amount,Maks beløp,
Discount Type,Rabatttype,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Skattelettende kategori,
Edit Posting Date and Time,Rediger konteringsdato og klokkeslett,
Is Paid,er betalt,
Is Return (Debit Note),Er retur (Debit Note),
Apply Tax Withholding Amount,Påfør gjeldsbeløp,
Accounting Dimensions ,Regnskapsdimensjoner,
Supplier Invoice Details,Leverandør Fakturadetaljer,
Supplier Invoice Date,Leverandør Fakturadato,
Return Against Purchase Invoice,Tilbake mot fakturaen,
Select Supplier Address,Velg Leverandør Adresse,
Contact Person,Kontaktperson,
Select Shipping Address,Velg leveringsadresse,
Currency and Price List,Valuta og prisliste,
Price List Currency,Prisliste Valuta,
Price List Exchange Rate,Prisliste Exchange Rate,
Set Accepted Warehouse,Sett akseptert lager,
Rejected Warehouse,Avvist Warehouse,
Warehouse where you are maintaining stock of rejected items,Warehouse hvor du opprettholder lager avviste elementer,
Raw Materials Supplied,Råvare Leveres,
Supplier Warehouse,Leverandør Warehouse,
Pricing Rules,Prisregler,
Supplied Items,Leveringen,
Total (Company Currency),Total (Company Valuta),
Net Total (Company Currency),Net Total (Selskap Valuta),
Total Net Weight,Total nettovikt,
Shipping Rule,Shipping Rule,
Purchase Taxes and Charges Template,Kjøpe skatter og avgifter Mal,
Purchase Taxes and Charges,Kjøpe skatter og avgifter,
Tax Breakup,Skatteavbrudd,
Taxes and Charges Calculation,Skatter og avgifter Beregning,
Taxes and Charges Added (Company Currency),Skatter og avgifter legges (Company Valuta),
Taxes and Charges Deducted (Company Currency),Skatter og avgifter fratrukket (Company Valuta),
Total Taxes and Charges (Company Currency),Totale skatter og avgifter (Selskapet valuta),
Taxes and Charges Added,Skatter og avgifter legges,
Taxes and Charges Deducted,Skatter og avgifter fratrukket,
Total Taxes and Charges,Totale skatter og avgifter,
Additional Discount,Ekstra rabatt,
Apply Additional Discount On,Påfør Ytterligere rabatt på,
Additional Discount Amount (Company Currency),Ekstra rabatt Beløp (Selskap Valuta),
Additional Discount Percentage,Ekstra rabattprosent,
Additional Discount Amount,Ekstra rabattbeløp,
Grand Total (Company Currency),Grand Total (Selskap Valuta),
Rounding Adjustment (Company Currency),Avrundingsjustering (Bedriftsvaluta),
Rounded Total (Company Currency),Avrundet Total (Selskap Valuta),
In Words (Company Currency),I Words (Company Valuta),
Rounding Adjustment,Avrundingsjustering,
In Words,I Words,
Total Advance,Total Advance,
Disable Rounded Total,Deaktiver Avrundet Total,
Cash/Bank Account,Cash / Bank Account,
Write Off Amount (Company Currency),Skriv Off Beløp (Selskap Valuta),
Set Advances and Allocate (FIFO),Angi fremskritt og tilordne (FIFO),
Get Advances Paid,Få utbetalt forskudd,
Advances,Fremskritt,
Terms,Vilkår,
Terms and Conditions1,Vilkår og forhold 1,
Group same items,Gruppe samme elementene,
Print Language,Print Språk,
"Once set, this invoice will be on hold till the set date","Når denne er satt, vil denne fakturaen være på vent til den angitte datoen",
Credit To,Kreditt til,
Party Account Currency,Partiet konto Valuta,
Against Expense Account,Mot regning,
Inter Company Invoice Reference,Interfirma faktura referanse,
Is Internal Supplier,Er Intern Leverandør,
Start date of current invoice's period,Startdato for nåværende fakturaperiode,
End date of current invoice's period,Sluttdato for gjeldende faktura periode,
Update Auto Repeat Reference,Oppdater Auto Repeat Reference,
Purchase Invoice Advance,Fakturaen Advance,
Purchase Invoice Item,Fakturaen Element,
Quantity and Rate,Kvantitet og Rate,
Received Qty,Mottatt Antall,
Accepted Qty,Godkjent mengde,
Rejected Qty,avvist Antall,
UOM Conversion Factor,Målenheter Omregningsfaktor,
Discount on Price List Rate (%),Rabatt på Prisliste Rate (%),
Price List Rate (Company Currency),Prisliste Rate (Selskap Valuta),
Rate ,Rate,
Rate (Company Currency),Rate (Selskap Valuta),
Amount (Company Currency),Beløp (Selskap Valuta),
Is Free Item,Er gratis vare,
Net Rate,Net Rate,
Net Rate (Company Currency),Netto Rate (Selskap Valuta),
Net Amount (Company Currency),Nettobeløp (Company Valuta),
Item Tax Amount Included in Value,Vare skattebeløp inkludert i verdien,
Landed Cost Voucher Amount,Landed Cost Voucher Beløp,
Raw Materials Supplied Cost,Råvare Leveres Cost,
Accepted Warehouse,Akseptert Warehouse,
Serial No,Serial No,
Rejected Serial No,Avvist Serial No,
Expense Head,Expense Leder,
Is Fixed Asset,Er Fast Asset,
Asset Location,Asset Location,
Deferred Expense,Utsatt kostnad,
Deferred Expense Account,Utsatt kostnadskonto,
Service Stop Date,Service Stop Date,
Enable Deferred Expense,Aktiver utsatt utgift,
Service Start Date,Service Startdato,
Service End Date,Tjenestens sluttdato,
Allow Zero Valuation Rate,Tillat null verdivurdering,
Item Tax Rate,Sak Skattesats,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,"Tax detalj tabell hentet fra elementet Hoved som en streng, og som er lagret på dette feltet. Brukes for skatter og avgifter",
Purchase Order Item,Innkjøpsordre Element,
Purchase Receipt Detail,Kjøpskvitteringsdetalj,
Item Weight Details,Vektdetaljer,
Weight Per Unit,Vekt pr. Enhet,
Total Weight,Total vekt,
Weight UOM,Vekt målenheter,
Page Break,Page Break,
Consider Tax or Charge for,Tenk Skatte eller Charge for,
Valuation and Total,Verdivurdering og Total,
Valuation,Verdivurdering,
Add or Deduct,Legge til eller trekke fra,
Deduct,Trekke,
On Previous Row Amount,På Forrige Row Beløp,
On Previous Row Total,På Forrige Row Total,
On Item Quantity,På varemengde,
Reference Row #,Referanse Row #,
Is this Tax included in Basic Rate?,Er dette inklusiv i Basic Rate?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Hvis det er merket, vil skattebeløpet betraktes som allerede er inkludert i Print Rate / Print Beløp",
Account Head,Account Leder,
Tax Amount After Discount Amount,Skattebeløp Etter Rabattbeløp,
Item Wise Tax Detail ,Vare detalj for skattebeskatning,
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Standard skatt mal som kan brukes på alle kjøpstransaksjoner. Denne malen kan inneholde liste over skatte hoder og også andre utgifter hoder som &quot;Shipping&quot;, &quot;Forsikring&quot;, &quot;Håndtering&quot; osv #### Note Skattesatsen du definerer her vil være standard skattesats for alle ** Items * *. Hvis det er ** Elementer ** som har forskjellige priser, må de legges i ** Sak Skatt ** bord i ** Sak ** mester. #### Beskrivelse av kolonner 1. Beregning Type: - Dette kan være på ** Net Total ** (som er summen av grunnbeløpet). - ** På Forrige Row Total / Beløp ** (for kumulative skatter eller avgifter). Hvis du velger dette alternativet, vil skatten bli brukt som en prosentandel av forrige rad (i skattetabellen) eller en total. - ** Faktisk ** (som nevnt). 2. Account Head: Konto hovedbok der denne skatten vil bli bokført 3. Cost Center: Hvis skatt / avgift er en inntekt (som frakt) eller utgifter det må bestilles mot et kostnadssted. 4. Beskrivelse: Beskrivelse av skatt (som vil bli skrevet ut i fakturaer / sitater). 5. Ranger: skattesats. 6. Beløp: Skatt beløp. 7. Totalt: Akkumulert total til dette punktet. 8. Angi Row: Dersom basert på &quot;Forrige Row Total&quot; du kan velge radnummeret som vil bli tatt som en base for denne beregningen (standard er den forrige rad). 9. Vurdere Skatte eller Charge for: I denne delen kan du angi om skatt / avgift er kun for verdivurdering (ikke en del av total) eller bare for total (ikke tilføre verdi til elementet) eller for begge. 10. legge til eller trekke: Enten du ønsker å legge til eller trekke skatt.",
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Inkluder Payment (POS),
Offline POS Name,Offline POS Name,
Is Return (Credit Note),Er retur (kredittnota),
Return Against Sales Invoice,Tilbake Mot Salg Faktura,
Update Billed Amount in Sales Order,Oppdater fakturert beløp i salgsordre,
Customer PO Details,Kunde PO Detaljer,
Customer's Purchase Order,Kundens innkjøpsordre,
Customer's Purchase Order Date,Kundens Purchase Order Date,
Customer Address,Kunde Adresse,
Shipping Address Name,Leveringsadresse Navn,
Company Address Name,Bedriftsadresse Navn,
Rate at which Customer Currency is converted to customer's base currency,Hastigheten som Kunden Valuta omdannes til kundens basisvaluta,
Rate at which Price list currency is converted to customer's base currency,Hastigheten som Prisliste valuta er konvertert til kundens basisvaluta,
Set Source Warehouse,Angi kildelager,
Packing List,Pakkeliste,
Packed Items,Lunsj Items,
Product Bundle Help,Produktet Bundle Hjelp,
Time Sheet List,Timeregistrering List,
Time Sheets,timelister,
Total Billing Amount,Total Billing Beløp,
Sales Taxes and Charges Template,Salgs skatter og avgifter Mal,
Sales Taxes and Charges,Salgs Skatter og avgifter,
Loyalty Points Redemption,Lojalitetspoeng Innløsning,
Redeem Loyalty Points,Løs inn lojalitetspoeng,
Redemption Account,Innløsningskonto,
Redemption Cost Center,Innløsningskostsenter,
In Words will be visible once you save the Sales Invoice.,I Ord vil være synlig når du lagrer salgsfaktura.,
Allocate Advances Automatically (FIFO),Tilordne forhåndsfordeler automatisk (FIFO),
Get Advances Received,Få Fremskritt mottatt,
Base Change Amount (Company Currency),Base Endre Beløp (Selskap Valuta),
Write Off Outstanding Amount,Skriv Av utestående beløp,
Terms and Conditions Details,Vilkår og betingelser Detaljer,
Is Internal Customer,Er intern kunde,
Is Discounted,Er nedsatt,
Unpaid and Discounted,Ubetalt og rabattert,
Overdue and Discounted,Forfalte og rabatterte,
Accounting Details,Regnskap Detaljer,
Debit To,Debet Å,
Is Opening Entry,Åpner Entry,
C-Form Applicable,C-Form Gjelder,
Commission Rate (%),Kommisjonen Rate (%),
Sales Team1,Salg TEAM1,
Against Income Account,Mot Inntekt konto,
Sales Invoice Advance,Salg Faktura Advance,
Advance amount,Forskuddsbeløp,
Sales Invoice Item,Salg Faktura Element,
Customer's Item Code,Kundens Elementkode,
Brand Name,Merkenavn,
Qty as per Stock UOM,Antall pr Stock målenheter,
Discount and Margin,Rabatt og Margin,
Rate With Margin,Vurder med margin,
Discount (%) on Price List Rate with Margin,Rabatt (%) på prisliste med margin,
Rate With Margin (Company Currency),Vurder med margin (Bedriftsvaluta),
Delivered By Supplier,Levert av Leverandør,
Deferred Revenue,Utsatt inntekt,
Deferred Revenue Account,Utsatt inntektskonto,
Enable Deferred Revenue,Aktiver utsatt inntekt,
Stock Details,Stock Detaljer,
Customer Warehouse (Optional),Customer Warehouse (valgfritt),
Available Batch Qty at Warehouse,Tilgjengelig Batch Antall på Warehouse,
Available Qty at Warehouse,Tilgjengelig Antall på Warehouse,
Delivery Note Item,Levering Note Element,
Base Amount (Company Currency),Grunnbeløp (Selskap Valuta),
Sales Invoice Timesheet,Salg Faktura Timeregistrering,
Time Sheet,Tids skjema,
Billing Hours,fakturerings~~POS=TRUNC Timer,
Timesheet Detail,Timeregistrering Detalj,
Tax Amount After Discount Amount (Company Currency),Skattebeløp Etter Rabattbeløp (Company Valuta),
Item Wise Tax Detail,Sak Wise Skatt Detalj,
Parenttype,Parenttype,
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Standard skatt mal som kan brukes på alle salgstransaksjoner. Denne malen kan inneholde liste over skatte hoder og også andre utgifter / inntekter hoder som &quot;Shipping&quot;, &quot;Forsikring&quot;, &quot;Håndtering&quot; osv #### Note Skattesatsen du definerer her vil være standard skattesats for alle ** Elementer **. Hvis det er ** Elementer ** som har forskjellige priser, må de legges i ** Sak Skatt ** bord i ** Sak ** mester. #### Beskrivelse av kolonner 1. Beregning Type: - Dette kan være på ** Net Total ** (som er summen av grunnbeløpet). - ** På Forrige Row Total / Beløp ** (for kumulative skatter eller avgifter). Hvis du velger dette alternativet, vil skatten bli brukt som en prosentandel av forrige rad (i skattetabellen) eller en total. - ** Faktisk ** (som nevnt). 2. Account Head: Konto hovedbok der denne skatten vil bli bokført 3. Cost Center: Hvis skatt / avgift er en inntekt (som frakt) eller utgifter det må bestilles mot et kostnadssted. 4. Beskrivelse: Beskrivelse av skatt (som vil bli skrevet ut i fakturaer / sitater). 5. Ranger: skattesats. 6. Beløp: Skatt beløp. 7. Totalt: Akkumulert total til dette punktet. 8. Angi Row: Dersom basert på &quot;Forrige Row Total&quot; du kan velge radnummeret som vil bli tatt som en base for denne beregningen (standard er den forrige rad). 9. Er dette inklusiv i Basic Rate ?: Hvis du sjekke dette, betyr det at denne avgiften ikke vil bli vist under elementet bordet, men vil inngå i grunnbeløpet i din viktigste elementet tabellen. Dette er nyttig når du vil gi en flat pris (inklusive alle avgifter) pris til kundene.",
* Will be calculated in the transaction.,* Vil bli beregnet i transaksjonen.,
From No,Fra nr,
To No,Til nr,
Is Company,Er selskapet,
Current State,Nåværende situasjon,
Purchased,kjøpt,
From Shareholder,Fra Aksjonær,
From Folio No,Fra Folio nr,
To Shareholder,Til Aksjonær,
To Folio No,Til Folio nr,
Equity/Liability Account,Egenkapital / ansvarskonto,
Asset Account,Asset-konto,
(including),(gjelder også),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio nr.,
Address and Contacts,Adresse og kontakter,
Contact List,Kontaktliste,
Hidden list maintaining the list of contacts linked to Shareholder,Skjult liste opprettholder listen over kontakter knyttet til Aksjonær,
Specify conditions to calculate shipping amount,Spesifiser forhold til å beregne frakt beløp,
Shipping Rule Label,Shipping Rule Etikett,
example: Next Day Shipping,Eksempel: Neste Day Shipping,
Shipping Rule Type,Forsendelsestype,
Shipping Account,Shipping konto,
Calculate Based On,Beregn basert på,
Fixed,fast,
Net Weight,Netto Vekt,
Shipping Amount,Fraktbeløp,
Shipping Rule Conditions,Frakt Regel betingelser,
Restrict to Countries,Begrens til land,
Valid for Countries,Gyldig for Land,
Shipping Rule Condition,Shipping Rule Tilstand,
A condition for a Shipping Rule,En forutsetning for en Shipping Rule,
From Value,Fra Verdi,
To Value,I Value,
Shipping Rule Country,Shipping Rule Land,
Subscription Period,Abonnementsperiode,
Subscription Start Date,Abonnements startdato,
Cancelation Date,Avbestillingsdato,
Trial Period Start Date,Prøveperiode Startdato,
Trial Period End Date,Prøveperiode Sluttdato,
Current Invoice Start Date,Daglig faktura startdato,
Current Invoice End Date,Faktura for sluttfaktura,
Days Until Due,Dager til forfallsdato,
Number of days that the subscriber has to pay invoices generated by this subscription,Antall dager som abonnenten må betale fakturaer generert av dette abonnementet,
Cancel At End Of Period,Avbryt ved slutten av perioden,
Generate Invoice At Beginning Of Period,Generer faktura ved begynnelsen av perioden,
Plans,planer,
Discounts,rabatter,
Additional DIscount Percentage,Ekstra rabatt Prosent,
Additional DIscount Amount,Ekstra rabatt Beløp,
Subscription Invoice,Abonnementsfaktura,
Subscription Plan,Abonnementsplan,
Cost,Koste,
Billing Interval,Faktureringsintervall,
Billing Interval Count,Faktureringsintervalltelling,
"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Antall intervaller for intervallfeltet, for eksempel hvis Intervall er &#39;Dager&#39; og Faktureringsintervalltall er 3, vil fakturaene bli generert hver tredje dag",
Payment Plan,Betalingsplan,
Subscription Plan Detail,Abonnementsplandetaljer,
Plan,Plan,
Subscription Settings,Abonnementsinnstillinger,
Grace Period,Grace Period,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Antall dager etter fakturadato er gått før du kansellerer abonnement eller markeringsabonnement som ubetalt,
Prorate,prorate,
Tax Rule,Skatt Rule,
Tax Type,Skatt Type,
Use for Shopping Cart,Brukes til handlekurv,
Billing City,Fakturering By,
Billing County,Billings County,
Billing State,Billing State,
Billing Zipcode,Fakturering Postnummer,
Billing Country,Fakturering Land,
Shipping City,Shipping by,
Shipping County,Shipping fylke,
Shipping State,Shipping State,
Shipping Zipcode,Fraktkode,
Shipping Country,Shipping Land,
Tax Withholding Account,Skattebetalingskonto,
Tax Withholding Rates,Skattefradrag,
Rates,Priser,
Tax Withholding Rate,Skattefradrag,
Single Transaction Threshold,Enkelt transaksjonsgrense,
Cumulative Transaction Threshold,Kumulativ transaksjonsgrense,
Agriculture Analysis Criteria,Landbruk Analyse Kriterier,
Linked Doctype,Tilknyttet doktype,
Water Analysis,Vannanalyse,
Soil Analysis,Jordanalyse,
Plant Analysis,Plantanalyse,
Fertilizer,Gjødsel,
Soil Texture,Jordstruktur,
Weather,Vær,
Agriculture Manager,Landbruksansvarlig,
Agriculture User,Landbruker Bruker,
Agriculture Task,Landbruk Oppgave,
Task Name,Task Name,
Start Day,Start dag,
End Day,Endedag,
Holiday Management,Holiday Management,
Ignore holidays,Ignorer ferier,
Previous Business Day,Tidligere arbeidsdag,
Next Business Day,Neste arbeidsdag,
Urgent,Haster,
Crop,Avling,
Crop Name,Beskjære navn,
Scientific Name,Vitenskapelig navn,
"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Du kan definere alle oppgavene som må utføres for denne avlingen her. Dagfeltet brukes til å nevne hvilken dag oppgaven må utføres, 1 er 1. dag, osv.",
Crop Spacing,Beskjæringsavstand,
Crop Spacing UOM,Beskjære plassering UOM,
Row Spacing,Row Spacing,
Row Spacing UOM,Row Spacing UOM,
Perennial,Flerårig,
Biennial,Biennial,
Planting UOM,Planting UOM,
Planting Area,Planteområde,
Yield UOM,Utbytte UOM,
Materials Required,Materialer som kreves,
Produced Items,Produserte varer,
Produce,Produsere,
Byproducts,biprodukter,
Linked Location,Tilknyttet plassering,
A link to all the Locations in which the Crop is growing,En kobling til alle stedene hvor beskjæringen vokser,
This will be day 1 of the crop cycle,Dette blir dag 1 i avlingen syklus,
ISO 8601 standard,ISO 8601 standard,
Cycle Type,Syklus type,
Less than a year,Mindre enn et år,
The minimum length between each plant in the field for optimum growth,Minimale lengde mellom hver plante i feltet for optimal vekst,
The minimum distance between rows of plants for optimum growth,Minimumsavstanden mellom rader av planter for optimal vekst,
Detected Diseases,Detekterte sykdommer,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Liste over sykdommer oppdaget på feltet. Når den er valgt, vil den automatisk legge til en liste over oppgaver for å håndtere sykdommen",
Detected Disease,Oppdaget sykdom,
LInked Analysis,Analyse,
Disease,Sykdom,
Tasks Created,Oppgaver opprettet,
Common Name,Vanlig navn,
Treatment Task,Behandlingsoppgave,
Treatment Period,Behandlingsperiode,
Fertilizer Name,Navn på gjødsel,
Density (if liquid),Tetthet (hvis flytende),
Fertilizer Contents,Innhold av gjødsel,
Fertilizer Content,Gjødselinnhold,
Linked Plant Analysis,Linked Plant Analysis,
Linked Soil Analysis,Koblet jordanalyse,
Linked Soil Texture,Koblet jordstruktur,
Collection Datetime,Samling Datetime,
Laboratory Testing Datetime,Laboratorietesting Datetime,
Result Datetime,Resultat Datetime,
Plant Analysis Criterias,Plant Analyse Kriterier,
Plant Analysis Criteria,Plantanalyse Kriterier,
Minimum Permissible Value,Minste tillatte verdi,
Maximum Permissible Value,Maksimal tillatelig verdi,
Ca/K,Ca / K,
Ca/Mg,Ca / Mg,
Mg/K,Mg / K,
(Ca+Mg)/K,(Ca + Mg) / K,
Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
Soil Analysis Criterias,Jordanalysekriterier,
Soil Analysis Criteria,Jordanalyse Kriterier,
Soil Type,Jordtype,
Loamy Sand,Loamy Sand,
Sandy Loam,Sandy Loam,
Loam,leirjord,
Silt Loam,Silt Loam,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Silty Clay Loam,
Sandy Clay,Sandy Clay,
Silty Clay,Silty Clay,
Clay Composition (%),Leirekomposisjon (%),
Sand Composition (%),Sandkomposisjon (%),
Silt Composition (%),Siltkomposisjon (%),
Ternary Plot,Ternary Plot,
Soil Texture Criteria,Kriterier for jordstruktur,
Type of Sample,Type prøve,
Container,Container,
Origin,Opprinnelse,
Collection Temperature ,Samlingstemperatur,
Storage Temperature,Lager temperatur,
Appearance,Utseende,
Person Responsible,Ansvarlig person,
Water Analysis Criteria,Vannanalysekriterier,
Weather Parameter,Værparameter,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Asset Eier,
Asset Owner Company,Asset Owner Company,
Custodian,Depotmottaker,
Disposal Date,Deponering Dato,
Journal Entry for Scrap,Bilagsregistrering for Scrap,
Available-for-use Date,Tilgjengelig dato for bruk,
Calculate Depreciation,Beregn Avskrivninger,
Allow Monthly Depreciation,Tillat månedlig avskrivning,
Number of Depreciations Booked,Antall Avskrivninger bestilt,
Finance Books,Finansbøker,
Straight Line,Rett linje,
Double Declining Balance,Dobbel degressiv,
Manual,Håndbok,
Value After Depreciation,Verdi etter avskrivninger,
Total Number of Depreciations,Totalt antall Avskrivninger,
Frequency of Depreciation (Months),Frekvens av Avskrivninger (måneder),
Next Depreciation Date,Neste Avskrivninger Dato,
Depreciation Schedule,avskrivninger Schedule,
Depreciation Schedules,avskrivninger tidsplaner,
Insurance details,Forsikringsdetaljer,
Policy number,Politikk nummer,
Insurer,assurandør,
Insured value,Forsikret verdi,
Insurance Start Date,Forsikring Startdato,
Insurance End Date,Forsikrings sluttdato,
Comprehensive Insurance,Omfattende forsikring,
Maintenance Required,Vedlikehold kreves,
Check if Asset requires Preventive Maintenance or Calibration,Sjekk om Asset krever forebyggende vedlikehold eller kalibrering,
Booked Fixed Asset,Bokført anleggsmiddel,
Purchase Receipt Amount,Kjøpsbevisbeløp,
Default Finance Book,Standard finans bok,
Quality Manager,Quality Manager,
Asset Category Name,Asset Category Name,
Depreciation Options,Avskrivningsalternativer,
Enable Capital Work in Progress Accounting,Aktiver regnskap for pågående kapitalarbeid,
Finance Book Detail,Finansbokdetaljer,
Asset Category Account,Asset Kategori konto,
Fixed Asset Account,Fast Asset konto,
Accumulated Depreciation Account,Akkumulerte avskrivninger konto,
Depreciation Expense Account,Avskrivninger konto,
Capital Work In Progress Account,Kapitalarbeid i fremgangskonto,
Asset Finance Book,Asset Finance Book,
Written Down Value,Skrevet nedverdi,
Expected Value After Useful Life,Forventet verdi Etter Levetid,
Rate of Depreciation,Avskrivningsgrad,
In Percentage,I prosent,
Maintenance Team,Vedlikeholdsteam,
Maintenance Manager Name,Vedlikeholdsansvarlig navn,
Maintenance Tasks,Vedlikeholdsoppgaver,
Manufacturing User,Manufacturing User,
Asset Maintenance Log,Asset Maintenance Log,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Vedlikehold Type,
Maintenance Status,Vedlikehold Status,
Planned,planlagt,
Has Certificate ,Har sertifikat,
Certificate,Sertifikat,
Actions performed,Handlinger utført,
Asset Maintenance Task,Asset Maintenance Task,
Maintenance Task,Vedlikeholdsoppgave,
Preventive Maintenance,Forebyggende vedlikehold,
Calibration,kalibrering,
2 Yearly,2 årlig,
Certificate Required,Sertifikat kreves,
Assign to Name,Tildel til navn,
Next Due Date,neste frist,
Last Completion Date,Siste sluttdato,
Asset Maintenance Team,Asset Maintenance Team,
Maintenance Team Name,Vedlikehold Lagnavn,
Maintenance Team Members,Vedlikeholdsteammedlemmer,
Purpose,Formålet,
Stock Manager,Stock manager,
Asset Movement Item,Varebevegelseselement,
Source Location,Kildeplassering,
From Employee,Fra Employee,
Target Location,Målplassering,
To Employee,Til ansatt,
Asset Repair,Asset Repair,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Feil dato,
Assign To Name,Tilordne til navn,
Repair Status,Reparasjonsstatus,
Error Description,Feilbeskrivelse,
Downtime,nedetid,
Repair Cost,Reparasjonskostnad,
Manufacturing Manager,Produksjonssjef,
Current Asset Value,Nåværende eiendelverdi,
New Asset Value,Ny aktiv verdi,
Make Depreciation Entry,Gjør Avskrivninger Entry,
Finance Book Id,Finans bok ID,
Location Name,Stedsnavn,
Parent Location,Parent Location,
Is Container,Er Container,
Check if it is a hydroponic unit,Sjekk om det er en hydroponisk enhet,
Location Details,Plasseringsdetaljer,
Latitude,Breddegrad,
Longitude,lengde~~POS=TRUNC,
Area,Område,
Area UOM,Område UOM,
Tree Details,Tree Informasjon,
Maintenance Team Member,Vedlikeholdsteammedlem,
Team Member,Teammedlem,
Maintenance Role,Vedlikeholdsrolle,
Buying Settings,Kjøpe Innstillinger,
Settings for Buying Module,Innstillinger for kjøp Module,
Supplier Naming By,Leverandør Naming Av,
Default Supplier Group,Standard leverandørgruppe,
Default Buying Price List,Standard Kjøpe Prisliste,
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,Emne,
Topic Name,emne Name,
Education Settings,Utdanning Innstillinger,
Current Academic Year,Nåværende akademisk år,
Current Academic Term,Nåværende faglig term,
Attendance Freeze Date,Deltagelsesfrysedato,
Validate Batch for Students in Student Group,Valider batch for studenter i studentgruppen,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","For Batch-baserte Studentgruppen, vil studentenes batch bli validert for hver student fra programopptaket.",
Validate Enrolled Course for Students in Student Group,Bekreft innmeldt kurs for studenter i studentgruppen,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.",For kursbasert studentgruppe vil kurset bli validert for hver student fra de innmeldte kursene i programopptaket.,
Make Academic Term Mandatory,Gjør faglig semester obligatorisk,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Hvis aktivert, vil feltet faglig semester være obligatorisk i programopptakingsverktøyet.",
Skip User creation for new Student,Hopp over brukeropprettelse for ny student,
"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Som standard opprettes en ny bruker for hver nye student. Hvis aktivert, vil ingen nye brukere opprettes når en ny student opprettes.",
Instructor Records to be created by,Instruktørposter som skal opprettes av,
Employee Number,Ansatt Number,
Fee Category,Fee Kategori,
Fee Component,Fee Component,
Fees Category,avgifter Kategori,
Fee Schedule,Prisliste,
Fee Structure,Avgiftsstruktur struktur~~POS=HEADCOMP,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Fee Creation Status,
In Process,Igang,
Send Payment Request Email,Send betalingsanmodning e-post,
Student Category,student Kategori,
Fee Breakup for each student,Fee Breakup for hver student,
Total Amount per Student,Totalt beløp per student,
Institution,institusjon,
Fee Schedule Program,Avgift Schedule Program,
Student Batch,student Batch,
Total Students,Totalt studenter,
Fee Schedule Student Group,Avgift Schedule Student Group,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Inkluder betaling,
Send Payment Request,Send betalingsforespørsel,
Student Details,Studentdetaljer,
Student Email,Student e-post,
Grading Scale Name,Grading Scale Name,
Grading Scale Intervals,Karakterskalaen Intervaller,
Intervals,intervaller,
Grading Scale Interval,Grading Scale Intervall,
Grade Code,grade Kode,
Threshold,Terskel,
Grade Description,grade Beskrivelse,
Guardian,Guardian,
Guardian Name,Guardian navn,
Alternate Number,Alternativ nummer,
Occupation,Okkupasjon,
Work Address,arbeid Adresse,
Guardian Of ,Guardian Av,
Students,studenter,
Guardian Interests,Guardian Interesser,
Guardian Interest,Guardian Rente,
Interest,Renter,
Guardian Student,Guardian Student,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Instruktørlogg,
Other details,Andre detaljer,
Option,Alternativ,
Is Correct,Er korrekt,
Program Name,Programnavn,
Program Abbreviation,program forkortelse,
Courses,kurs,
Is Published,Publiseres,
Allow Self Enroll,Tillat selvregistrering,
Is Featured,Er omtalt,
Intro Video,Introduksjonsvideo,
Program Course,program Course,
School House,school House,
Boarding Student,Studerende Student,
Check this if the Student is residing at the Institute's Hostel.,Sjekk dette hvis studenten er bosatt ved instituttets Hostel.,
Walking,walking,
Institute's Bus,Instituttets buss,
Public Transport,Offentlig transport,
Self-Driving Vehicle,Selvkjørende kjøretøy,
Pick/Drop by Guardian,Pick / Drop av Guardian,
Enrolled courses,Påmeldte kurs,
Program Enrollment Course,Programopptakskurs,
Program Enrollment Fee,Program innmeldingsavgift,
Program Enrollment Tool,Program Påmelding Tool,
Get Students From,Få studenter fra,
Student Applicant,student Søker,
Get Students,Få Studenter,
Enrollment Details,Registreringsdetaljer,
New Program,nytt program,
New Student Batch,Ny studentbatch,
Enroll Students,Meld Studenter,
New Academic Year,Nytt studieår,
New Academic Term,Ny faglig term,
Program Enrollment Tool Student,Program Påmelding Tool Student,
Student Batch Name,Student Batch Name,
Program Fee,program Fee,
Question,Spørsmål,
Single Correct Answer,Enkelt riktig svar,
Multiple Correct Answer,Flere riktig svar,
Quiz Configuration,Quiz-konfigurasjon,
Passing Score,Bestått karakter,
Score out of 100,Resultat av 100,
Max Attempts,Maks forsøk,
Enter 0 to waive limit,Skriv inn 0 for å frafalle grense,
Grading Basis,Karakterbasis,
Latest Highest Score,Siste høyeste poengsum,
Latest Attempt,Siste forsøk,
Quiz Activity,Quiz-aktivitet,
Enrollment,Registrering,
Pass,Passere,
Quiz Question,Quiz Spørsmål,
Quiz Result,Quiz Resultat,
Selected Option,Valgt alternativ,
Correct,Riktig,
Wrong,Feil,
Room Name,Room Name,
Room Number,Romnummer,
Seating Capacity,Antall seter,
House Name,Husnavn,
EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
Student Mobile Number,Student Mobilnummer,
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,
Request Data,Forespørseldata,
Shopify Settings,Shopify Innstillinger,
status html,status html,
Enable Shopify,Aktiver Shopify,
App Type,App Type,
Last Sync Datetime,Siste synkroniseringstid,
Shop URL,Butikkadresse,
eg: frappe.myshopify.com,f.eks .: frappe.myshopify.com,
Shared secret,Delt hemmelighet,
Webhooks Details,Webhooks Detaljer,
Webhooks,Webhooks,
Customer Settings,Kundeinnstillinger,
Default Customer,Standardkund,
Customer Group will set to selected group while syncing customers from Shopify,Kundegruppe vil sette til valgt gruppe mens du synkroniserer kunder fra Shopify,
For Company,For selskapet,
Cash Account will used for Sales Invoice creation,Kontantkonto brukes til opprettelse av salgsfaktura,
Update Price from Shopify To ERPNext Price List,Oppdater pris fra Shopify til ERPNeste prisliste,
Default Warehouse to to create Sales Order and Delivery Note,Standard lager for å opprette salgsordre og leveringsnotat,
Sales Order Series,Salgsordre Serie,
Import Delivery Notes from Shopify on Shipment,Importer leveringsnotater fra Shopify på forsendelse,
Delivery Note Series,Leveringsnotaserien,
Import Sales Invoice from Shopify if Payment is marked,Import salgsfaktura fra Shopify hvis Betaling er merket,
Sales Invoice Series,Salgsfaktura-serien,
Shopify Tax Account,Shopify Skattekonto,
Shopify Tax/Shipping Title,Shopify Skatt / Shipping Tittel,
ERPNext Account,ERPNeste Konto,
Shopify Webhook Detail,Shopify Webhook Detail,
Webhook ID,Webhook ID,
Tally Migration,Tally Migration,
Master Data,Stamdata,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Data eksportert fra Tally som består av kontoplan, kunder, leverandører, adresser, varer og UOM-er",
Is Master Data Processed,Behandles stamdata,
Is Master Data Imported,Er importert stamdata,
Tally Creditors Account,Tally Kredittkonto,
Creditors Account set in Tally,Kredittkonto satt i Tally,
Tally Debtors Account,Tally Debtors Account,
Debtors Account set in Tally,Debitors konto satt i Tally,
Tally Company,Tally Company,
Company Name as per Imported Tally Data,Firmanavn i henhold til importerte tallydata,
Default UOM,Standard UOM,
UOM in case unspecified in imported data,UOM i tilfelle uspesifisert i importerte data,
ERPNext Company,ERPNext Company,
Your Company set in ERPNext,Firmaet ditt er satt i ERPNext,
Processed Files,Behandlede filer,
Parties,Partene,
UOMs,UOMs,
Vouchers,kuponger,
Round Off Account,Rund av konto,
Day Book Data,Dagsbokdata,
Day Book Data exported from Tally that consists of all historic transactions,Dagbokdata eksportert fra Tally som består av alle historiske transaksjoner,
Is Day Book Data Processed,Behandles dagbokdata,
Is Day Book Data Imported,Er dagbokdata importert,
Woocommerce Settings,Innstillinger for WoCommerce,
Enable Sync,Aktiver synkronisering,
Woocommerce Server URL,Woocommerce Server URL,
Secret,Hemmelig,
API consumer key,API forbrukernøkkel,
API consumer secret,API forbruker hemmelig,
Tax Account,Skattkonto,
Freight and Forwarding Account,Frakt- og videresendingskonto,
Creation User,Opprettelsesbruker,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Brukeren som skal brukes til å opprette kunder, varer og salgsordrer. Denne brukeren skal ha relevante tillatelser.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Dette lageret vil bli brukt til å opprette salgsordrer. Fallback-lageret er &quot;Butikker&quot;.,
"The fallback series is ""SO-WOO-"".",Fallback-serien er &quot;SO-WOO-&quot;.,
This company will be used to create Sales Orders.,Dette selskapet vil bli brukt til å opprette salgsordrer.,
Delivery After (Days),Levering etter (dager),
This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Dette er standard forskyvningen (dager) for leveringsdatoen i salgsordrer. Tilbakeførsel er 7 dager fra bestillingsdato.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Dette er standard UOM som brukes til varer og salgsordrer. Fallback UOM er &quot;Nos&quot;.,
Endpoints,endepunkter,
Endpoint,Endpoint,
Antibiotic Name,Antibiotisk navn,
Healthcare Administrator,Helseadministrator,
Laboratory User,Laboratoriebruker,
Is Inpatient,Er pasient,
Default Duration (In Minutes),Standard varighet (i minutter),
Body Part,Kroppsdel,
Body Part Link,Kroppsdel lenke,
HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
Procedure Template,Prosedyre Mal,
Procedure Prescription,Prosedyre Forskrift,
Service Unit,Servicenhet,
Consumables,forbruks~~POS=TRUNC,
Consume Stock,Konsumere lager,
Invoice Consumables Separately,Faktura forbruksvarer separat,
Consumption Invoiced,Forbruk fakturert,
Consumable Total Amount,Forbrukbart totalbeløp,
Consumption Details,Forbruksdetaljer,
Nursing User,Sykepleier Bruker,
Clinical Procedure Item,Klinisk prosedyre,
Invoice Separately as Consumables,Faktura Separat som forbruksvarer,
Transfer Qty,Overføringsnummer,
Actual Qty (at source/target),Faktiske antall (ved kilden / target),
Is Billable,Er fakturerbart,
Allow Stock Consumption,Tillat lagerforbruk,
Sample UOM,Eksempel på UOM,
Collection Details,Samlingsdetaljer,
Change In Item,Endring i vare,
Codification Table,Kodifiseringstabell,
Complaints,klager,
Dosage Strength,Doseringsstyrke,
Strength,Styrke,
Drug Prescription,Drug Prescription,
Drug Name / Description,Legemiddelnavn / beskrivelse,
Dosage,Dosering,
Dosage by Time Interval,Dosering etter tidsintervall,
Interval,intervall,
Interval UOM,Intervall UOM,
Hour,Time,
Update Schedule,Oppdater plan,
Exercise,Trening,
Difficulty Level,Vanskelighetsnivå,
Counts Target,Teller mål,
Counts Completed,Teller fullført,
Assistance Level,Assistance Level,
Active Assist,Aktiv assistent,
Exercise Name,Treningsnavn,
Body Parts,Kroppsdeler,
Exercise Instructions,Treningsinstruksjoner,
Exercise Video,Treningsvideo,
Exercise Steps,Treningstrinn,
Steps,Fremgangsmåte,
Steps Table,Trinnstabell,
Exercise Type Step,Treningstype trinn,
Max number of visit,Maks antall besøk,
Visited yet,Besøkt ennå,
Reference Appointments,Referanseavtaler,
Valid till,Gyldig til,
Fee Validity Reference,Gebyrgyldighetsreferanse,
Basic Details,Grunnleggende detaljer,
HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
Mobile,Mobil,
Phone (R),Telefon (R),
Phone (Office),Telefon (kontor),
Employee and User Details,Medarbeider- og brukerdetaljer,
Hospital,Sykehus,
Appointments,avtaler,
Practitioner Schedules,Utøverplaner,
Charges,kostnader,
Out Patient Consulting Charge,Kostnad for pasientkonsulenter,
Default Currency,Standard Valuta,
Healthcare Schedule Time Slot,Helseplanleggings tidspaus,
Parent Service Unit,Foreldre Service Unit,
Service Unit Type,Tjenestenhetstype,
Allow Appointments,Tillat avtaler,
Allow Overlap,Tillat overlapping,
Inpatient Occupancy,Inpatient Occupancy,
Occupancy Status,Beholdningsstatus,
Vacant,Ledig,
Occupied,opptatt,
Item Details,Elementdetaljer,
UOM Conversion in Hours,UOM Konvertering i timer,
Rate / UOM,Rate / UOM,
Change in Item,Endre i element,
Out Patient Settings,Ut pasientinnstillinger,
Patient Name By,Pasientnavn Av,
Patient Name,Pasientnavn,
Link Customer to Patient,Koble kunde til pasient,
"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Hvis det er merket, vil en kunde bli opprettet, kartlagt til Pasient. Pasientfakturaer vil bli opprettet mot denne kunden. Du kan også velge eksisterende kunde mens du oppretter pasient.",
Default Medical Code Standard,Standard medisinsk kode Standard,
Collect Fee for Patient Registration,Samle avgift for pasientregistrering,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,"Hvis du sjekker dette, opprettes det nye pasienter med deaktivert status som standard og vil først bli aktivert etter fakturering av registreringsavgiften.",
Registration Fee,Registreringsavgift,
Automate Appointment Invoicing,Automatiser avtalefakturering,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Administrer avtalefaktura send inn og avbryt automatisk for pasientmøte,
Enable Free Follow-ups,Aktiver gratis oppfølging,
Number of Patient Encounters in Valid Days,Antall pasientmøter i gyldige dager,
The number of free follow ups (Patient Encounters in valid days) allowed,Antall gratis oppfølginger (pasientmøter i gyldige dager) tillatt,
Valid Number of Days,Gyldig antall dager,
Time period (Valid number of days) for free consultations,Tidsperiode (gyldig antall dager) for gratis konsultasjoner,
Default Healthcare Service Items,Standard Healthcare Service Items,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Du kan konfigurere standardelementer for faktureringskonsultasjonsavgifter, prosedyreforbruksartikler og innlagte besøk",
Clinical Procedure Consumable Item,Klinisk prosedyre forbruksvarer,
Default Accounts,Standardkontoer,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Standardinntektsregnskap som skal brukes dersom det ikke er satt i Healthcare Practitioner for å bestille Avtalekostnader.,
Default receivable accounts to be used to book Appointment charges.,Standard fordringskontoer som skal brukes til å bestille avtalsgebyr.,
Out Patient SMS Alerts,Ut Patient SMS Alerts,
Patient Registration,Pasientregistrering,
Registration Message,Registreringsmelding,
Confirmation Message,Bekreftelsesmelding,
Avoid Confirmation,Unngå bekreftelse,
Do not confirm if appointment is created for the same day,Bekreft ikke om avtalen er opprettet for samme dag,
Appointment Reminder,Avtale påminnelse,
Reminder Message,Påminnelsesmelding,
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,
Reference DocType,Referanse DocType,
Spouse,Ektefelle,
Family,Familie,
Schedule Details,Planlegg detaljer,
Schedule Name,Planleggingsnavn,
Time Slots,Tidsluker,
Practitioner Service Unit Schedule,Utøvere Service Unit Schedule,
Procedure Name,Prosedyre Navn,
Appointment Booked,Avtale booket,
Procedure Created,Prosedyre opprettet,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Samlet inn,
Particulars,opplysninger,
Result Component,Resultat Komponent,
HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
Therapy Plan Details,Terapiplanopplysninger,
Total Sessions,Totalt antall økter,
Total Sessions Completed,Totalt antall økter fullført,
Therapy Plan Detail,Behandlingsplan detalj,
No of Sessions,Ingen av økter,
Sessions Completed,Økter fullført,
Tele,Tele,
Exercises,Øvelser,
Therapy For,Terapi for,
Add Exercises,Legg til øvelser,
Body Temperature,Kroppstemperatur,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Tilstedeværelse av feber (temp&gt; 38,5 ° C eller vedvarende temp&gt; 38 ° C / 100,4 ° F)",
Heart Rate / Pulse,Hjertefrekvens / puls,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Voksnes pulsrate er hvor som helst mellom 50 og 80 slag per minutt.,
Respiratory rate,Respirasjonsfrekvens,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Normalt referanseområde for en voksen er 16-20 puste / minutt (RCP 2012),
Tongue,Tunge,
Coated,Coated,
Very Coated,Veldig belagt,
Normal,Normal,
Furry,furry,
Cuts,cuts,
Abdomen,Mage,
Bloated,oppblåst,
Fluid,Væske,
Constipated,forstoppelse,
Reflexes,reflekser,
Hyper,Hyper,
Very Hyper,Veldig Hyper,
One Sided,Ensidig,
Blood Pressure (systolic),Blodtrykk (systolisk),
Blood Pressure (diastolic),Blodtrykk (diastolisk),
Blood Pressure,Blodtrykk,
"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Normal hvilende blodtrykk hos en voksen er ca. 120 mmHg systolisk og 80 mmHg diastolisk, forkortet &quot;120/80 mmHg&quot;",
Nutrition Values,Ernæringsverdier,
Height (In Meter),Høyde (i meter),
Weight (In Kilogram),Vekt (i kilogram),
BMI,BMI,
Hotel Room,Hotellrom,
Hotel Room Type,Hotellromtype,
Capacity,Kapasitet,
Extra Bed Capacity,Ekstra seng kapasitet,
Hotel Manager,Hotell sjef,
Hotel Room Amenity,Hotel Romfasiliteter,
Billable,Fakturerbare,
Hotel Room Package,Hotellromspakke,
Amenities,fasiliteter,
Hotel Room Pricing,Hotellrompriser,
Hotel Room Pricing Item,Hotellromprisepris,
Hotel Room Pricing Package,Hotellrom Prispakke,
Hotel Room Reservation,Hotellrombestilling,
Guest Name,Gjestenavn,
Late Checkin,Sen innsjekk,
Booked,bestilt,
Hotel Reservation User,Hotel Reservation Bruker,
Hotel Room Reservation Item,Hotel Room Reservation Item,
Hotel Settings,Hotellinnstillinger,
Default Taxes and Charges,Standard Skatter og avgifter,
Default Invoice Naming Series,Standard Faktura Naming Series,
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,
Select Transaction,Velg Transaksjons,
Help HTML,Hjelp HTML,
Series List for this Transaction,Serien Liste for denne transaksjonen,
User must always select,Brukeren må alltid velge,
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Sjekk dette hvis du vil tvinge brukeren til å velge en serie før du lagrer. Det blir ingen standard hvis du sjekke dette.,
Update Series,Update-serien,
Change the starting / current sequence number of an existing series.,Endre start / strøm sekvensnummer av en eksisterende serie.,
Prefix,Prefix,
This is the number of the last created transaction with this prefix,Dette er nummeret på den siste laget transaksjonen med dette prefikset,
Update Series Number,Update-serien Nummer,
Quotation Lost Reason,Sitat av Lost Reason,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,En tredjepart distributør / forhandler / kommisjonær / agent / forhandler som selger selskaper produkter for en kommisjon.,
Sales Partner Name,Sales Partner Name,
Partner Type,Partner Type,
Address & Contacts,Adresse og Kontakt,
Address Desc,Adresse Desc,
Contact Desc,Kontakt Desc,
Sales Partner Target,Sales Partner Target,
Targets,Targets,
Show In Website,Show I Website,
Referral Code,Henvisningskode,
To Track inbound purchase,For å spore inngående kjøp,
Logo,Logo,
Partner website,partner nettstedet,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Alle salgstransaksjoner kan være merket mot flere ** Salgs Personer ** slik at du kan stille inn og overvåke mål.,
Name and Employee ID,Navn og Employee ID,
Sales Person Name,Sales Person Name,
Parent Sales Person,Parent Sales Person,
Select company name first.,Velg firmanavn først.,
Sales Person Targets,Sales Person Targets,
Set targets Item Group-wise for this Sales Person.,Sette mål varegruppe-messig for Sales Person.,
Supplier Group Name,Leverandørgruppens navn,
Parent Supplier Group,Foreldre Leverandørgruppe,
Target Detail,Target Detalj,
Target Qty,Target Antall,
Target  Amount,Target Beløp,
Target Distribution,Target Distribution,
"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Standardvilkårene som kan legges til salg og kjøp. Eksempler: 1. Gyldighet av tilbudet. 1. Betalingsvilkår (på forhånd, på kreditt, del forhånd etc). 1. Hva er ekstra (eller skal betales av kunden). 1. Sikkerhet / bruk advarsel. 1. Garanti om noen. 1. Returrett. 1. Vilkår for frakt, hvis aktuelt. 1. Måter adressering tvister, erstatning, ansvar, etc. 1. Adresse og kontakt med din bedrift.",
Applicable Modules,Gjeldende moduler,
Terms and Conditions Help,Betingelser Hjelp,
Classification of Customers by region,Klassifisering av kunder etter region,
Territory Name,Territorium Name,
Parent Territory,Parent Territory,
Territory Manager,Distriktssjef,
For reference,For referanse,
Territory Targets,Terri Targets,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Set varegruppe-messig budsjetter på dette territoriet. Du kan også inkludere sesongvariasjoner ved å sette Distribution.,
UOM Name,Målenheter Name,
Check this to disallow fractions. (for Nos),Sjekk dette for å forby fraksjoner. (For Nos),
Website Item Group,Website varegruppe,
Cross Listing of Item in multiple groups,Cross Notering av varen i flere grupper,
Default settings for Shopping Cart,Standardinnstillingene for handlekurv,
Enable Shopping Cart,Aktiver Handlevogn,
Display Settings,Skjerminnstillinger,
Show Public Attachments,Vis offentlige vedlegg,
Show Price,Vis pris,
Show Stock Availability,Vis lager tilgjengelighet,
Show Contact Us Button,Vis Kontakt oss-knappen,
Show Stock Quantity,Vis lager Antall,
Show Apply Coupon Code,Vis Bruk kupongkode,
Allow items not in stock to be added to cart,La varer som ikke er på lager legges i handlekurven,
Prices will not be shown if Price List is not set,Prisene vil ikke bli vist hvis prislisten er ikke satt,
Quotation Series,Sitat Series,
Checkout Settings,Kasse Innstillinger,
Enable Checkout,aktiver kassen,
Payment Success Url,Betaling Suksess URL,
After payment completion redirect user to selected page.,Etter betaling ferdigstillelse omdirigere brukeren til valgt side.,
Batch Details,Batchdetaljer,
Batch ID,Batch ID,
image,bilde,
Parent Batch,Parent Batch,
Manufacturing Date,Produksjonsdato,
Batch Quantity,Batchantall,
Batch UOM,Batch UOM,
Source Document Type,Kilde dokumenttype,
Source Document Name,Kilde dokumentnavn,
Batch Description,Batch Beskrivelse,
Bin,Bin,
Reserved Quantity,Reservert Antall,
Actual Quantity,Selve Antall,
Requested Quantity,Requested Antall,
Reserved Qty for sub contract,Reservert antall for kontrakt,
Moving Average Rate,Moving Gjennomsnittlig pris,
FCFS Rate,FCFS Rate,
Customs Tariff Number,Tolltariffen nummer,
Tariff Number,tariff Antall,
Delivery To,Levering Å,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,Er Return,
Issue Credit Note,Utstedelseskreditnotat,
Return Against Delivery Note,Tilbake mot følgeseddel,
Customer's Purchase Order No,Kundens innkjøpsordre Nei,
Billing Address Name,Billing Address Navn,
Required only for sample item.,Kreves bare for prøve element.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Hvis du har opprettet en standard mal i salgs skatter og avgifter mal, velger du ett og klikk på knappen under.",
In Words will be visible once you save the Delivery Note.,I Ord vil være synlig når du lagrer følgeseddel.,
In Words (Export) will be visible once you save the Delivery Note.,I Words (eksport) vil være synlig når du lagrer følgeseddel.,
Transporter Info,Transporter Info,
Driver Name,Drivernavn,
Track this Delivery Note against any Project,Spor dette følgeseddel mot ethvert prosjekt,
Inter Company Reference,Inter Company Reference,
Print Without Amount,Skriv ut Uten Beløp,
% Installed,% Installert,
% of materials delivered against this Delivery Note,% Av materialer leveres mot denne følgeseddel,
Installation Status,Installasjon Status,
Excise Page Number,Vesenet Page Number,
Instructions,Bruksanvisning,
From Warehouse,Fra Warehouse,
Against Sales Order,Mot Salgsordre,
Against Sales Order Item,Mot kundeordreposisjon,
Against Sales Invoice,Mot Salg Faktura,
Against Sales Invoice Item,Mot Salg Faktura Element,
Available Batch Qty at From Warehouse,Tilgjengelig Batch Antall på From Warehouse,
Available Qty at From Warehouse,Tilgjengelig Antall på From Warehouse,
Delivery Settings,Leveringsinnstillinger,
Dispatch Settings,Dispatch Settings,
Dispatch Notification Template,Forsendelsesvarslingsmal,
Dispatch Notification Attachment,Dispatch Notification Attachment,
Leave blank to use the standard Delivery Note format,La stå tomt for å bruke standardleveringsformat,
Send with Attachment,Send med vedlegg,
Delay between Delivery Stops,Forsinkelse mellom Leveringsstopp,
Delivery Stop,Leveringsstopp,
Lock,Låse,
Visited,Besøkte,
Order Information,BESTILLINGSINFORMASJON,
Contact Information,Kontaktinformasjon,
Email sent to,E-post sendt Å,
Dispatch Information,Leveringsinformasjon,
Estimated Arrival,forventet ankomst,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Innledende e-postvarsling sendt,
Delivery Details,Levering Detaljer,
Driver Email,Driver-e-post,
Driver Address,Driveradresse,
Total Estimated Distance,Totalt estimert avstand,
Distance UOM,Avstand UOM,
Departure Time,Avgangstid,
Delivery Stops,Levering stopper,
Calculate Estimated Arrival Times,Beregn anslåtte ankomsttider,
Use Google Maps Direction API to calculate estimated arrival times,Bruk Google Maps Direction API for å beregne estimerte ankomsttider,
Optimize Route,Optimaliser rute,
Use Google Maps Direction API to optimize route,Bruk Google Maps Direction API for å optimalisere ruten,
In Transit,I transitt,
Fulfillment User,Fulfillment User,
"A Product or a Service that is bought, sold or kept in stock.","Et produkt eller en tjeneste som er kjøpt, solgt eller holdes på lager.",
STO-ITEM-.YYYY.-,STO-SAK-.YYYY.-,
Variant Of,Variant av,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Hvis elementet er en variant av et annet element da beskrivelse, image, priser, avgifter osv vil bli satt fra malen uten eksplisitt spesifisert",
Is Item from Hub,Er element fra nav,
Default Unit of Measure,Standard måleenhet,
Maintain Stock,Oppretthold Stock,
Standard Selling Rate,Standard salgskurs,
Auto Create Assets on Purchase,Lag automatisk eiendeler ved kjøp,
Asset Naming Series,Asset Naming Series,
Over Delivery/Receipt Allowance (%),Overlevering / kvitteringsgodtgjørelse (%),
Barcodes,strek~~POS=TRUNC,
Shelf Life In Days,Holdbarhet i dager,
End of Life,Slutten av livet,
Default Material Request Type,Standard Material Request Type,
Valuation Method,Verdsettelsesmetode,
FIFO,FIFO,
Moving Average,Glidende gjennomsnitt,
Warranty Period (in days),Garantiperioden (i dager),
Auto re-order,Auto re-order,
Reorder level based on Warehouse,Omgjøre nivå basert på Warehouse,
Will also apply for variants unless overrridden,Vil også gjelde for varianter med mindre overrridden,
Units of Measure,Måleenheter,
Will also apply for variants,Vil også gjelde for varianter,
Serial Nos and Batches,Serienummer og partier,
Has Batch No,Har Batch No,
Automatically Create New Batch,Opprett automatisk ny batch automatisk,
Batch Number Series,Batchnummer Serie,
"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Eksempel: ABCD. #####. Hvis serier er satt og Batch nr ikke er nevnt i transaksjoner, vil automatisk batchnummer bli opprettet basert på denne serien. Hvis du alltid vil uttrykkelig nevne Batch nr for dette elementet, la dette være tomt. Merk: Denne innstillingen vil ha prioritet i forhold til Naming Series Prefix i lagerinnstillinger.",
Has Expiry Date,Har utløpsdato,
Retain Sample,Behold prøve,
Max Sample Quantity,Maks antall prøver,
Maximum sample quantity that can be retained,Maksimal prøvemengde som kan beholdes,
Has Serial No,Har Serial No,
Serial Number Series,Serienummer Series,
"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Eksempel:. ABCD ##### Hvis serien er satt og serienummer er ikke nevnt i transaksjoner, og deretter automatisk serienummer vil bli opprettet basert på denne serien. Hvis du alltid vil eksplisitt nevne Serial Nos for dette elementet. la dette stå tomt.",
Variants,Varianter,
Has Variants,Har Varianter,
"If this item has variants, then it cannot be selected in sales orders etc.","Hvis dette elementet har varianter, så det kan ikke velges i salgsordrer etc.",
Variant Based On,Variant basert på,
Item Attribute,Sak Egenskap,
"Sales, Purchase, Accounting Defaults","Salg, kjøp, regnskapsstandarder",
Item Defaults,Elementinnstillinger,
"Purchase, Replenishment Details","Informasjon om kjøp, påfyll",
Is Purchase Item,Er Purchase Element,
Default Purchase Unit of Measure,Standard innkjøpsenhet for mål,
Minimum Order Qty,Minimum Antall,
Minimum quantity should be as per Stock UOM,Minimumsmengde bør være som per lager UOM,
Average time taken by the supplier to deliver,Gjennomsnittlig tid tatt av leverandøren til å levere,
Is Customer Provided Item,Er kunden gitt varen,
Delivered by Supplier (Drop Ship),Levert av Leverandør (Drop Ship),
Supplier Items,Leverandør Items,
Foreign Trade Details,Foreign Trade Detaljer,
Country of Origin,Opprinnelsesland,
Sales Details,Salgs Detaljer,
Default Sales Unit of Measure,Standard salgsmengde av mål,
Is Sales Item,Er Sales Element,
Max Discount (%),Max Rabatt (%),
No of Months,Antall måneder,
Customer Items,Kunde Items,
Inspection Criteria,Inspeksjon Kriterier,
Inspection Required before Purchase,Inspeksjon Påkrevd før kjøp,
Inspection Required before Delivery,Inspeksjon Påkrevd før Levering,
Default BOM,Standard BOM,
Supply Raw Materials for Purchase,Leverer råvare til Purchase,
If subcontracted to a vendor,Dersom underleverandør til en leverandør,
Customer Code,Kunden Kode,
Default Item Manufacturer,Standardprodusent,
Default Manufacturer Part No,Standard produsentens varenummer,
Show in Website (Variant),Vis i Website (Variant),
Items with higher weightage will be shown higher,Elementer med høyere weightage vil bli vist høyere,
Show a slideshow at the top of the page,Vis en lysbildeserie på toppen av siden,
Website Image,Nettstedets bilde,
Website Warehouse,Nettsted Warehouse,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Vis &quot;på lager&quot; eller &quot;Not in Stock&quot; basert på lager tilgjengelig i dette lageret.,
Website Item Groups,Website varegrupper,
List this Item in multiple groups on the website.,Liste denne vare i flere grupper på nettstedet.,
Copy From Item Group,Kopier fra varegruppe,
Website Content,Innhold på nettstedet,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Du kan bruke hvilken som helst gyldig Bootstrap 4-markering i dette feltet. Det vil vises på varesiden din.,
Total Projected Qty,Samlet forventet Antall,
Hub Publishing Details,Hub Publishing Detaljer,
Publish in Hub,Publisere i Hub,
Publish Item to hub.erpnext.com,Publiser varen til hub.erpnext.com,
Hub Category to Publish,Hub kategori for publisering,
Hub Warehouse,Hub lager,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Publiser &quot;På lager&quot; eller &quot;Ikke på lager&quot; på Hub basert på lager tilgjengelig i dette varehuset.,
Synced With Hub,Synkronisert Med Hub,
Item Alternative,Element Alternativt,
Alternative Item Code,Alternativ produktkode,
Two-way,Toveis,
Alternative Item Name,Alternativt varenavn,
Attribute Name,Attributt navn,
Numeric Values,Numeriske verdier,
From Range,Fra Range,
Increment,Tilvekst,
To Range,Range,
Item Attribute Values,Sak attributtverdier,
Item Attribute Value,Sak data Verdi,
Attribute Value,Attributtverdi,
Abbreviation,Forkortelse,
"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Dette vil bli lagt til Element Code of varianten. For eksempel, hvis din forkortelsen er &quot;SM&quot;, og elementet kode er &quot;T-SHIRT&quot;, elementet koden til variant vil være &quot;T-SHIRT-SM&quot;",
Item Barcode,Sak Barcode,
Barcode Type,Strekkode Type,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Sak Customer Detalj,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","For det lettere for kunder, kan disse kodene brukes i trykte formater som regningene og leveringssedlene",
Ref Code,Ref Kode,
Item Default,Element Standard,
Purchase Defaults,Kjøpsstandarder,
Default Buying Cost Center,Standard Kjøpe kostnadssted,
Default Supplier,Standard Leverandør,
Default Expense Account,Standard kostnadskonto,
Sales Defaults,Salgsstandard,
Default Selling Cost Center,Standard Selling kostnadssted,
Item Manufacturer,varen Produsent,
Item Price,Sak Pris,
Packing Unit,Pakkeenhet,
Quantity  that must be bought or sold per UOM,Mengde som må kjøpes eller selges per UOM,
Item Quality Inspection Parameter,Sak Quality Inspection Parameter,
Acceptance Criteria,Akseptkriterier,
Item Reorder,Sak Omgjøre,
Check in (group),Sjekk inn (gruppe),
Request for,Forespørsel etter,
Re-order Level,Re-Order nivå,
Re-order Qty,Re-Order Antall,
Item Supplier,Sak Leverandør,
Item Variant,Sak Variant,
Item Variant Attribute,Sak Variant Egenskap,
Do not update variants on save,Ikke oppdater varianter på lagre,
Fields will be copied over only at time of creation.,Feltene vil bli kopiert bare på tidspunktet for opprettelsen.,
Allow Rename Attribute Value,Tillat omdøpe attributtverdi,
Rename Attribute Value in Item Attribute.,Endre navn på Attribute Value i Item Attribute.,
Copy Fields to Variant,Kopier felt til variant,
Item Website Specification,Sak Nettsted Spesifikasjon,
Table for Item that will be shown in Web Site,Tabell for element som vil bli vist på nettsiden,
Landed Cost Item,Landed Cost Element,
Receipt Document Type,Kvittering dokumenttype,
Receipt Document,kvittering Document,
Applicable Charges,Gjeldende avgifter,
Purchase Receipt Item,Kvitteringen Element,
Landed Cost Purchase Receipt,Landed Cost Kjøpskvittering,
Landed Cost Taxes and Charges,Landed Cost skatter og avgifter,
Landed Cost Voucher,Landed Cost Voucher,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Kjøps Kvitteringer,
Purchase Receipt Items,Kvitteringen Items,
Get Items From Purchase Receipts,Få elementer fra innkjøps Receipts,
Distribute Charges Based On,Distribuere Kostnader Based On,
Landed Cost Help,Landed Cost Hjelp,
Manufacturers used in Items,Produsenter som brukes i Items,
Limited to 12 characters,Begrenset til 12 tegn,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Partially Ordered,Delvis bestilt,
Transferred,overført,
% Ordered,% Bestilt,
Terms and Conditions Content,Betingelser innhold,
Quantity and Warehouse,Kvantitet og Warehouse,
Lead Time Date,Lead Tid Dato,
Min Order Qty,Min Bestill Antall,
Packed Item,Pakket Element,
To Warehouse (Optional),Til Warehouse (valgfritt),
Actual Batch Quantity,Faktisk batchmengde,
Prevdoc DocType,Prevdoc DOCTYPE,
Parent Detail docname,Parent Detail docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generere pakksedler for pakker som skal leveres. Brukes til å varsle pakke nummer, innholdet i pakken og vekten.",
Indicates that the package is a part of this delivery (Only Draft),Indikerer at pakken er en del av denne leveransen (Kun Draft),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Fra Package No.,
Identification of the package for the delivery (for print),Identifikasjon av pakken for levering (for print),
To Package No.,Å pakke No.,
If more than one package of the same type (for print),Hvis mer enn en pakke av samme type (for print),
Package Weight Details,Pakken vektdetaljer,
The net weight of this package. (calculated automatically as sum of net weight of items),Nettovekten av denne pakken. (Automatisk beregnet som summen av nettovekt elementer),
Net Weight UOM,Vekt målenheter,
Gross Weight,Bruttovekt,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Totalvekten av pakken. Vanligvis nettovekt + emballasjematerialet vekt. (For utskrift),
Gross Weight UOM,Bruttovekt målenheter,
Packing Slip Item,Pakking Slip Element,
DN Detail,DN Detalj,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Material Transfer for Produksjon,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Antall råvarer blir bestemt ut fra mengden av ferdige varer,
Parent Warehouse,Parent Warehouse,
Items under this warehouse will be suggested,Varer under dette lageret vil bli foreslått,
Get Item Locations,Få vareposisjoner,
Item Locations,Vareposisjoner,
Pick List Item,Velg listevare,
Picked Qty,Valgt antall,
Price List Master,Prisliste Master,
Price List Name,Prisliste Name,
Price Not UOM Dependent,Pris ikke UOM-avhengig,
Applicable for Countries,Gjelder for Land,
Price List Country,Prisliste Land,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Leverandørleverans Note,
Time at which materials were received,Tidspunktet for når materialene ble mottatt,
Return Against Purchase Receipt,Tilbake Against Kjøpskvittering,
Rate at which supplier's currency is converted to company's base currency,Hastigheten som leverandørens valuta er konvertert til selskapets hovedvaluta,
Sets 'Accepted Warehouse' in each row of the items table.,Angir &#39;Godkjent lager&#39; i hver rad i varetabellen.,
Sets 'Rejected Warehouse' in each row of the items table.,Angir &#39;Avvist lager&#39; i hver rad i varetabellen.,
Raw Materials Consumed,Råvarer forbrukes,
Get Current Stock,Få Current Stock,
Consumed Items,Forbrukte varer,
Add / Edit Taxes and Charges,Legg til / Rediger skatter og avgifter,
Auto Repeat Detail,Auto Repeat Detail,
Transporter Details,Transporter Detaljer,
Vehicle Number,Vehicle Number,
Vehicle Date,Vehicle Dato,
Received and Accepted,Mottatt og akseptert,
Accepted Quantity,Akseptert Antall,
Rejected Quantity,Avvist Antall,
Accepted Qty as per Stock UOM,Akseptert antall per lager UOM,
Sample Quantity,Prøvekvantitet,
Rate and Amount,Rate og Beløp,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Rapporter Date,
Inspection Type,Inspeksjon Type,
Item Serial No,Sak Serial No,
Sample Size,Sample Size,
Inspected By,Inspisert av,
Readings,Readings,
Quality Inspection Reading,Quality Inspection Reading,
Reading 1,Lesing 1,
Reading 2,Reading 2,
Reading 3,Reading 3,
Reading 4,Reading 4,
Reading 5,Reading 5,
Reading 6,Reading 6,
Reading 7,Reading 7,
Reading 8,Reading 8,
Reading 9,Lese 9,
Reading 10,Lese 10,
Quality Inspection Template Name,Kvalitetsinspeksjonsmalnavn,
Quick Stock Balance,Rask aksjebalanse,
Available Quantity,Tilgjengelig mengde,
Distinct unit of an Item,Distinkt enhet av et element,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Lageret kan bare endres via Stock Entry / følgeseddel / Kjøpskvittering,
Purchase / Manufacture Details,Kjøp / Produksjon Detaljer,
Creation Document Type,Creation dokumenttype,
Creation Document No,Creation Dokument nr,
Creation Date,Dato opprettet,
Creation Time,Creation Tid,
Asset Details,Eiendomsdetaljer,
Asset Status,Asset Status,
Delivery Document Type,Levering dokumenttype,
Delivery Document No,Levering Dokument nr,
Delivery Time,Leveringstid,
Invoice Details,Fakturadetaljer,
Warranty / AMC Details,Garanti / AMC Detaljer,
Warranty Expiry Date,Garantiutløpsdato,
AMC Expiry Date,AMC Utløpsdato,
Under Warranty,Under Garanti,
Out of Warranty,Ut av Garanti,
Under AMC,Under AMC,
Out of AMC,Ut av AMC,
Warranty Period (Days),Garantiperioden (dager),
Serial No Details,Serie ingen opplysninger,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Lagerinngangstype,
Stock Entry (Outward GIT),Lagerinngang (utad GIT),
Material Consumption for Manufacture,Materialforbruk for produksjon,
Repack,Pakk,
Send to Subcontractor,Send til underleverandør,
Delivery Note No,Levering Note Nei,
Sales Invoice No,Salg Faktura Nei,
Purchase Receipt No,Kvitteringen Nei,
Inspection Required,Inspeksjon påkrevd,
From BOM,Fra BOM,
For Quantity,For Antall,
As per Stock UOM,Pr Stock målenheter,
Including items for sub assemblies,Inkludert elementer for sub samlinger,
Default Source Warehouse,Standardkilde Warehouse,
Source Warehouse Address,Source Warehouse Adresse,
Default Target Warehouse,Standard Target Warehouse,
Target Warehouse Address,Mållageradresse,
Update Rate and Availability,Oppdateringsfrekvens og tilgjengelighet,
Total Incoming Value,Total Innkommende Verdi,
Total Outgoing Value,Total Utgående verdi,
Total Value Difference (Out - In),Total verdi Difference (ut -),
Additional Costs,Tilleggskostnader,
Total Additional Costs,Samlede merkostnader,
Customer or Supplier Details,Kunde eller leverandør Detaljer,
Per Transferred,Per overført,
Stock Entry Detail,Stock Entry Detail,
Basic Rate (as per Stock UOM),Basic Rate (som per Stock målenheter),
Basic Amount,Grunnbeløp,
Additional Cost,Tilleggs Cost,
Serial No / Batch,Serial No / Batch,
BOM No. for a Finished Good Item,BOM No. for et ferdig God Sak,
Material Request used to make this Stock Entry,Materialet Request brukes til å gjøre dette lager Entry,
Subcontracted Item,Underleverandør,
Against Stock Entry,Mot aksjeoppføring,
Stock Entry Child,Lagerinngangsbarn,
PO Supplied Item,PO levert vare,
Reference Purchase Receipt,Referansekjøpskvittering,
Stock Ledger Entry,Stock Ledger Entry,
Outgoing Rate,Utgående Rate,
Actual Qty After Transaction,Selve Antall Etter Transaksjons,
Stock Value Difference,Stock Verdi Difference,
Stock Queue (FIFO),Stock Queue (FIFO),
Is Cancelled,Er Avlyst,
Stock Reconciliation,Stock Avstemming,
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Dette verktøyet hjelper deg til å oppdatere eller fikse mengde og verdsetting av aksjer i systemet. Det er vanligvis brukes til å synkronisere systemverdier og hva som faktisk eksisterer i ditt varehus.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Avstemming JSON,
Stock Reconciliation Item,Stock Avstemming Element,
Before reconciliation,Før avstemming,
Current Serial No,Gjeldende serienr,
Current Valuation Rate,Nåværende Verdivurdering Rate,
Current Amount,Gjeldende Beløp,
Quantity Difference,Antall Difference,
Amount Difference,beløp Difference,
Item Naming By,Sak Naming Av,
Default Item Group,Standard varegruppe,
Default Stock UOM,Standard Stock målenheter,
Sample Retention Warehouse,Prøvebehandlingslager,
Default Valuation Method,Standard verdsettelsesmetode,
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,
Validation Error,Valideringsfeil,
Automatically Process Deferred Accounting Entry,Behandle utsatt regnskapsføring automatisk,
Bank Clearance,Bankklarering,
Bank Clearance Detail,Bankklaringsdetaljer,
Update Cost Center Name / Number,Oppdater navn / nummer på kostnadssted,
Journal Entry Template,Mal for journaloppføring,
Template Title,Maltittel,
Journal Entry Type,Type journaloppføring,
Journal Entry Template Account,Meldkonto for journaloppføring,
Process Deferred Accounting,Behandle utsatt regnskap,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,"Manuell oppføring kan ikke opprettes! Deaktiver automatisk oppføring for utsatt regnskap i kontoinnstillingene, og prøv på nytt",
End date cannot be before start date,Sluttdato kan ikke være før startdato,
Total Counts Targeted,Totale målrettede teller,
Total Counts Completed,Totalt antall fullførte teller,
Counts Targeted: {0},Målrettet antall: {0},
Material Request Warehouse,Materialforespørsel Lager,
Select warehouse for material requests,Velg lager for materialforespørsler,
Transfer Materials For Warehouse {0},Overfør materiale til lager {0},
Production Plan Material Request Warehouse,Produksjonsplan Materialforespørsel Lager,
Sets 'Source Warehouse' in each row of the items table.,Angir &#39;Source Warehouse&#39; i hver rad i varetabellen.,
Sets 'Target Warehouse' in each row of the items table.,Angir &#39;Target Warehouse&#39; i hver rad i varetabellen.,
Show Cancelled Entries,Vis kansellerte oppføringer,
Backdated Stock Entry,Tilbake datert lageroppføring,
Row #{}: Currency of {} - {} doesn't matches company currency.,Rad nr. {}: Valuta på {} - {} samsvarer ikke med selskapets valuta.,
{} Assets created for {},{} Eiendeler opprettet for {},
{0} Number {1} is already used in {2} {3},{0} Nummer {1} er allerede brukt i {2} {3},
Update Bank Clearance Dates,Oppdater bankavslutningsdatoer,
Healthcare Practitioner: ,Helsepersonell:,
Lab Test Conducted: ,Lab Test gjennomført:,
Lab Test Event: ,Lab Test hendelse:,
Lab Test Result: ,Lab Test Resultat:,
Clinical Procedure conducted: ,Klinisk prosedyre utført:,
Therapy Session Charges: {0},Gebyrer for behandlingsøkter: {0},
Therapy: ,Terapi:,
Therapy Plan: ,Terapiplan:,
Total Counts Targeted: ,Totalt antall mål:,
Total Counts Completed: ,Totalt antall teller fullført:,
Andaman and Nicobar Islands,Andaman- og Nicobarøyene,
Andhra Pradesh,Andhra Pradesh,
Arunachal Pradesh,Arunachal Pradesh,
Assam,Assam,
Bihar,Bihar,
Chandigarh,Chandigarh,
Chhattisgarh,Chhattisgarh,
Dadra and Nagar Haveli,Dadra og Nagar Haveli,
Daman and Diu,Daman og Diu,
Delhi,Delhi,
Goa,Goa,
Gujarat,Gujarat,
Haryana,Haryana,
Himachal Pradesh,Himachal Pradesh,
Jammu and Kashmir,Jammu og Kashmir,
Jharkhand,Jharkhand,
Karnataka,Karnataka,
Kerala,Kerala,
Lakshadweep Islands,Lakshadweep Islands,
Madhya Pradesh,Madhya Pradesh,
Maharashtra,Maharashtra,
Manipur,Manipur,
Meghalaya,Meghalaya,
Mizoram,Mizoram,
Nagaland,Nagaland,
Odisha,Odisha,
Other Territory,Annet territorium,
Pondicherry,Pondicherry,
Punjab,Punjab,
Rajasthan,Rajasthan,
Sikkim,Sikkim,
Tamil Nadu,Tamil Nadu,
Telangana,Telangana,
Tripura,Tripura,
Uttar Pradesh,Uttar Pradesh,
Uttarakhand,Uttarakhand,
West Bengal,Vest-Bengal,
Is Mandatory,Er obligatorisk,
Published on,Publisert den,
Service Received But Not Billed,"Tjeneste mottatt, men ikke fakturert",
Deferred Accounting Settings,Utsatt regnskapsinnstillinger,
Book Deferred Entries Based On,Book utsatte oppføringer basert på,
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,
Bottom,Bunn,
Top,Topp,
Both,Både,
Result Legend,Resultatforklaring,
Lab Tests,Lab-tester,
No Lab Tests found for the Patient {0},Ingen laboratorietester funnet for pasienten {0},
"Did not send SMS, missing patient mobile number or message content.","Har ikke sendt SMS, mangler pasientens mobilnummer eller meldingsinnhold.",
No Lab Tests created,Ingen laboratorietester opprettet,
Creating Lab Tests...,Opprette laboratorietester ...,
Lab Test Group Template,Lab Test Group Mal,
Add New Line,Legg til ny linje,
Secondary UOM,Sekundær UOM,
"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Enkelt</b> : Resultater som bare krever en enkelt inngang.<br> <b>Sammensetning</b> : Resultater som krever flere hendelsesinnganger.<br> <b>Beskrivende</b> : Tester som har flere resultatkomponenter med manuell resultatoppføring.<br> <b>Gruppert</b> : Testmaler som er en gruppe andre testmaler.<br> <b>Intet resultat</b> : Tester uten resultater, kan bestilles og faktureres, men ingen labtest blir opprettet. f.eks. Deltester for grupperte resultater",
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Hvis det ikke er merket av, vil ikke varen være tilgjengelig i fakturaer for fakturering, men kan brukes i oppretting av gruppetester.",
Description ,Beskrivelse,
Descriptive Test,Beskrivende test,
Group Tests,Gruppetester,
Instructions to be printed on the worksheet,Instruksjoner som skal skrives ut på regnearket,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.","Informasjon som enkelt kan tolke testrapporten, blir skrevet ut som en del av Lab Test-resultatet.",
Normal Test Result,Normalt testresultat,
Secondary UOM Result,Sekundært UOM-resultat,
Italic,Kursiv,
Underline,Understreke,
Organism,Organisme,
Organism Test Item,Organisme Test Element,
Colony Population,Kolonibefolkning,
Colony UOM,Colony UOM,
Tobacco Consumption (Past),Tobakkforbruk (tidligere),
Tobacco Consumption (Present),Tobakkforbruk (nåværende),
Alcohol Consumption (Past),Alkoholforbruk (tidligere),
Alcohol Consumption (Present),Alkoholforbruk (nåværende),
Billing Item,Faktureringsvare,
Medical Codes,Medisinske koder,
Clinical Procedures,Kliniske prosedyrer,
Order Admission,Bestill opptak,
Scheduling Patient Admission,Planlegge pasientinnleggelse,
Order Discharge,Bestill utslipp,
Sample Details,Eksempeldetaljer,
Collected On,Samlet på,
No. of prints,Antall utskrifter,
Number of prints required for labelling the samples,Antall utskrifter som kreves for merking av prøvene,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
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 {}.,
