"""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 enought Loyalty Points to redeem,Du har ikke nok lojalitetspoeng til å innløse,
You have already assessed for the assessment criteria {}.,Du har allerede vurdert for vurderingskriteriene {}.,
You have already selected items from {0} {1},Du har allerede valgt elementer fra {0} {1},
You have been invited to collaborate on the project: {0},Du har blitt invitert til å samarbeide om prosjektet: {0},
You have entered duplicate items. Please rectify and try again.,Du har skrevet inn like elementer. Vennligst utbedre og prøv igjen.,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Du må være en annen bruker enn Administrator med System Manager og Item Manager roller for å registrere deg på Marketplace.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Du må være en bruker med System Manager og Item Manager roller for å legge til brukere på Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Du må være en bruker med System Manager og Item Manager roller for å registrere deg på Marketplace.,
You need to be logged in to access this page,Du må være innlogget for å få tilgang til denne siden,
You need to enable Shopping Cart,Du må aktivere Handlevogn,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Du vil miste oversikt over tidligere genererte fakturaer. Er du sikker på at du vil starte dette abonnementet på nytt?,
Your Organization,Din organisasjon,
Your cart is Empty,Vognen din er tom,
Your email address...,Din epostadresse...,
Your order is out for delivery!,Din bestilling er ute for levering!,
Your tickets,Dine billetter,
ZIP Code,Post kode,
[Error],[Error],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Form / post / {0}) er utsolgt,
`Freeze Stocks Older Than` should be smaller than %d days.,`frys Aksjer Eldre en` bør være mindre enn %d dager.,
based_on,basert på,
cannot be greater than 100,kan ikke være større enn 100,
disabled user,deaktivert bruker,
"e.g. ""Build tools for builders""",f.eks &quot;Bygg verktøy for utbyggere&quot;,
"e.g. ""Primary School"" or ""University""",for eksempel &quot;Primary School&quot; eller &quot;University&quot;,
"e.g. Bank, Cash, Credit Card","f.eks Bank, Cash, Kredittkort",
hidden,Skjult,
modified,modifisert,
old_parent,old_parent,
on,på,
{0} '{1}' is disabled,{0} {1} er deaktivert,
{0} '{1}' not in Fiscal Year {2},{0} {1} ikke i regnskapsåret {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) kan ikke være større enn planlagt antall ({2}) i Work Order {3},
{0} - {1} is inactive student,{0} - {1} er inaktiv student,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} er ikke påmeldt i batch {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} er ikke påmeldt kurset {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} budsjettet for kontoen {1} mot {2} {3} er {4}. Det vil overstige ved {5},
{0} Digest,{0} Fordel,
{0} Request for {1},{0} Forespørsel om {1},
{0} Result submittted,{0} Resultat sendt,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} serienumre som kreves for Element {1}. Du har gitt {2}.,
{0} Student Groups created.,{0} Studentgrupper opprettet.,
{0} Students have been enrolled,{0} Studentene har blitt registrert,
{0} against Bill {1} dated {2},{0} mot Bill {1} datert {2},
{0} against Purchase Order {1},{0} mot innkjøpsordre {1},
{0} against Sales Invoice {1},{0} mot Sales Faktura {1},
{0} against Sales Order {1},{0} mot salgsordre {1},
{0} 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 {}.,
