"""Customer Provided Item"" cannot be Purchase Item also","""Kundens leverede vare"" kan ikke være købsartikel også",
"""Customer Provided Item"" cannot have Valuation Rate","""Kundens leverede vare"" kan ikke have værdiansættelsesrate",
"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Er anlægsaktiv"" kan ikke være umarkeret, da der eksisterer et anlægsaktiv på varen",
'Based On' and 'Group By' can not be same,'Baseret på' og 'Sortér efter ' ikke kan være samme,
'Days Since Last Order' must be greater than or equal to zero,'Dage siden sidste ordre' skal være større end eller lig med nul,
'Entries' cannot be empty,'Indlæg' kan ikke være tomt,
'From Date' is required,'Fra dato' er nødvendig,
'From Date' must be after 'To Date','Fra dato' skal være efter 'Til dato',
'Has Serial No' can not be 'Yes' for non-stock item,'Har serienummer' kan ikke være 'Ja' for ikke-lagerførte vare,
'Opening','Åbner',
'To Case No.' cannot be less than 'From Case No.','Til sag nr.' kan ikke være mindre end 'Fra sag nr.',
'To Date' is required,&#39;Til dato&#39; er nødvendig,
'Total','I alt',
'Update Stock' can not be checked because items are not delivered via {0},"'Opdater lager' kan ikke markeres, fordi varerne ikke leveres via {0}",
'Update Stock' cannot be checked for fixed asset sale,'Opdater lager' kan ikke kontrolleres pga. salg af anlægsaktiver,
1 exact match.,1 nøjagtigt match.,
90-Above,90-Over,
A Customer Group exists with same name please change the Customer name or rename the Customer Group,En kundegruppe med samme navn findes. Ret Kundens navn eller omdøb kundegruppen,
A Default Service Level Agreement already exists.,En standard serviceniveauaftale findes allerede.,
A Lead requires either a person's name or an organization's name,En kunde kræver enten en persons navn eller en organisations 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ørgsmål skal have mere end en mulighed,
A qustion must have at least one correct options,Et spørgsmål skal have mindst én korrekte indstillinger,
A4,A4,
API Endpoint,API Endpoint,
API Key,API nøgle,
Abbr can not be blank or space,Forkortelsen kan ikke være tom eller bestå af mellemrum,
Abbreviation already used for another company,Forkortelse allerede brugt til et andet selskab,
Abbreviation cannot have more than 5 characters,Forkortelse kan ikke have mere end 5 tegn,
Abbreviation is mandatory,Forkortelsen er obligatorisk,
About the Company,Om virksomheden,
About your company,Om din virksomhed,
Above,Frem,
Academic Term,Akademisk betegnelse,
Academic Term: ,Akademisk Term:,
Academic Year,Skoleår,
Academic Year: ,Akademi år:,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Accepteret + Afvist antal skal være lig med modtaget antal for vare {0},
Access Token,Adgangs token,
Accessable Value,Tilgængelig værdi,
Account,Konto,
Account Number,Kontonummer,
Account Number {0} already used in account {1},"Kontonummer {0}, der allerede er brugt i konto {1}",
Account Pay Only,Konto Betal kun,
Account Type,Kontotype,
Account Type for {0} must be {1},Kontotype for {0} skal være {1},
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Konto balance er kredit, Du har ikke lov til at ændre 'Balancetype' til 'debet'",
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'",Konto balance er debit. Du har ikke lov til at ændre 'Balancetype' til 'kredit',
Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Kontonummer for konto {0} er ikke tilgængeligt. <br> Opsæt venligst dit kontoplan korrekt.,
Account with child nodes cannot be converted to ledger,Konto med barneknudepunkter kan ikke konverteres til finans,
Account with child nodes cannot be set as ledger,Konto med barn noder kan ikke indstilles som hovedbog,
Account with existing transaction can not be converted to group.,Konto med eksisterende transaktion kan ikke konverteres til gruppen.,
Account with existing transaction can not be deleted,Konto med eksisterende transaktion kan ikke slettes,
Account with existing transaction cannot be converted to ledger,Konto med eksisterende transaktion kan ikke konverteres til finans,
Account {0} does not belong to company: {1},Konto {0} tilhører ikke virksomheden: {1},
Account {0} does not belongs to company {1},Konto {0} ikke hører til virksomheden {1},
Account {0} does not exist,Konto {0} findes ikke,
Account {0} does not exists,Konto {0} findes ikke,
Account {0} does not match with Company {1} in Mode of Account: {2},Konto {0} stemmer ikke overens med virksomhed {1} i kontoens tilstand: {2},
Account {0} has been entered multiple times,Konto {0} er indtastet flere gange,
Account {0} is added in the child company {1},Konto {0} tilføjes i børneselskabet {1},
Account {0} is frozen,Konto {0} er spærret,
Account {0} is invalid. Account Currency must be {1},Konto {0} er ugyldig. Konto Valuta skal være {1},
Account {0}: Parent account {1} can not be a ledger,Konto {0}: Forældre-konto {1} kan ikke være en finanskonto,
Account {0}: Parent account {1} does not belong to company: {2},Konto {0}: overordnet konto {1} tilhører ikke firma: {2},
Account {0}: Parent account {1} does not exist,Konto {0}: Forældre-konto {1} findes ikke,
Account {0}: You can not assign itself as parent account,Konto {0}: Konto kan ikke samtidig være forældre-konto,
Account: {0} can only be updated via Stock Transactions,Konto: {0} kan kun opdateres via lagertransaktioner,
Account: {0} with currency: {1} can not be selected,Konto: {0} med valuta: kan ikke vælges {1},
Accountant,Revisor,
Accounting,Regnskab,
Accounting Entry for Asset,Regnskabsføring for aktiv,
Accounting Entry for Stock,Regnskab Punktet for lager,
Accounting Entry for {0}: {1} can only be made in currency: {2},Regnskab Punktet om {0}: {1} kan kun foretages i valuta: {2},
Accounting Ledger,Hovedbog,
Accounting journal entries.,Regnskab journaloptegnelser.,
Accounts,Regnskab,
Accounts Manager,Regnskabschef,
Accounts Payable,Kreditor,
Accounts Payable Summary,Kreditorer Resumé,
Accounts Receivable,Tilgodehavender,
Accounts Receivable Summary,Debitor Resumé,
Accounts User,Regnskabsbruger,
Accounts table cannot be blank.,Regnskab tabel kan ikke være tom.,
Accumulated Depreciation,Akkumulerede afskrivninger,
Accumulated Depreciation Amount,Akkumuleret Afskrivninger Beløb,
Accumulated Depreciation as on,Akkumulerede afskrivninger som på,
Accumulated Monthly,Akkumuleret Månedlig,
Accumulated Values,Akkumulerede værdier,
Accumulated Values in Group Company,Akkumulerede værdier i koncernselskabet,
Achieved ({}),Opnået ({}),
Action,Handling,
Action Initialised,Handling initieret,
Actions,Handlinger,
Active,Aktiv,
Activity Cost exists for Employee {0} against Activity Type - {1},Aktivitetsomkostninger eksisterer for Medarbejder {0} for aktivitetstype - {1},
Activity Cost per Employee,Aktivitet Omkostninger per Medarbejder,
Activity Type,Aktivitetstype,
Actual Cost,Faktiske omkostninger,
Actual Delivery Date,Faktisk Leveringsdato,
Actual Qty,Faktiske Antal,
Actual Qty is mandatory,Faktiske Antal er obligatorisk,
Actual Qty {0} / Waiting Qty {1},Faktisk antal {0} / ventende antal {1},
Actual Qty: Quantity available in the warehouse.,Faktisk antal: Mængde tilgængeligt på lageret.,
Actual qty in stock,Faktisk antal på lager,
Actual type tax cannot be included in Item rate in row {0},"Faktiske type skat, kan ikke indgå i vare sats i række {0}",
Add,Tilføj,
Add / Edit Prices,Tilføj / Rediger Priser,
Add Comment,Tilføj kommentar,
Add Customers,Tilføj kunder,
Add Employees,Tilføj medarbejdere,
Add Item,Tilføj vare,
Add Items,Tilføj varer,
Add Leads,Tilføj emner,
Add Multiple Tasks,Tilføj flere opgaver,
Add Sales Partners,Tilføj salgspartnere,
Add Serial No,Tilføj serienummer,
Add Students,Tilføj studerende,
Add Suppliers,Tilføj leverandører,
Add Time Slots,Tilføj ledige tider,
Add Timesheets,Tilføj Tidsregistreringskladder,
Add Timeslots,Tilføj timespor,
Add Users to Marketplace,Tilføj brugere til Marketplace,
Add a new address,Tilføj en ny adresse,
Add cards or custom sections on homepage,Tilføj kort eller brugerdefinerede sektioner på startsiden,
Add more items or open full form,Tilføj flere varer eller åben fulde form,
Add notes,Tilføj noter,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Tilsæt resten af din organisation som dine brugere. Du kan også tilføje invitere kunder til din portal ved at tilføje dem fra Kontakter,
Add/Remove Recipients,Tilføj / fjern modtagere,
Added,Tilføjet,
Added {0} users,Tilføjet {0} brugere,
Additional Salary Component Exists.,Der findes yderligere lønkomponenter.,
Address,Adresse,
Address Line 2,Adresse 2,
Address Name,Adresse Navn,
Address Title,Adresse Titel,
Address Type,Adressetype,
Administrative Expenses,Administrationsomkostninger,
Administrative Officer,Kontorfuldmægtig,
Administrator,Administrator,
Admission,Optagelse,
Admission and Enrollment,Optagelse og tilmelding,
Admissions for {0},Optagelser til {0},
Admit,Optag,
Admitted,Indlagt,
Advance Amount,Advance Beløb,
Advance Payments,Forudbetalinger,
Advance account currency should be same as company currency {0},Advance-valuta skal være den samme som virksomhedens valuta {0},
Advance amount cannot be greater than {0} {1},Advance beløb kan ikke være større end {0} {1},
Advertising,Reklame,
Aerospace,Luftfart,
Against,Imod,
Against Account,Imod konto,
Against Journal Entry {0} does not have any unmatched {1} entry,Imod Kassekladde {0} har ikke nogen uovertruffen {1} indgang,
Against Journal Entry {0} is already adjusted against some other voucher,Imod Kassekladde {0} er allerede justeret mod et andet bilag,
Against Supplier Invoice {0} dated {1},Imod Leverandør Faktura {0} dateret {1},
Against Voucher,Modbilag,
Against Voucher Type,Mod Bilagstype,
Age,Alder,
Age (Days),Alder (dage),
Ageing Based On,Aldring Baseret på,
Ageing Range 1,Ageing Range 1,
Ageing Range 2,Ageing Range 2,
Ageing Range 3,Ageing Range 3,
Agriculture,Landbrug,
Agriculture (beta),Landbrug (beta),
Airline,Flyselskab,
All Accounts,Alle konti,
All Addresses.,Alle adresser.,
All Assessment Groups,Alle vurderingsgrupper,
All BOMs,Alle styklister,
All Contacts.,Alle kontakter.,
All Customer Groups,Alle kundegrupper,
All Day,Hele dagen,
All Departments,Alle afdelinger,
All Healthcare Service Units,Alle sundhedsvæsener,
All Item Groups,Alle varegrupper,
All Products,Alle produkter,
All Products or Services.,Alle produkter eller tjenesteydelser.,
All Student Admissions,Alle Student Indlæggelser,
All Supplier Groups,Alle leverandørgrupper,
All Supplier scorecards.,Alle leverandør scorecards.,
All Territories,Alle områder,
All Warehouses,Alle lagre,
All communications including and above this shall be moved into the new Issue,Alle meddelelser inklusive og over dette skal flyttes til det nye udgave,
All items have already been transferred for this Work Order.,Alle elementer er allerede overført til denne Arbejdsordre.,
All other ITC,Alt andet ITC,
All the mandatory Task for employee creation hasn't been done yet.,Al den obligatoriske opgave for medarbejderskabelse er endnu ikke blevet udført.,
Allocate Payment Amount,Tildel Betaling Beløb,
Allocated Amount,Tildelte beløb,
Allocating leaves...,Tildele blade ...,
Already record exists for the item {0},Der findes allerede en rekord for varen {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Angiv allerede standard i pos profil {0} for bruger {1}, venligt deaktiveret standard",
Alternate Item,Alternativt element,
Alternative item must not be same as item code,Alternativt element må ikke være det samme som varekode,
Amended From,Ændret Fra,
Amount,Beløb,
Amount After Depreciation,Antal efter afskrivninger,
Amount of Integrated Tax,Beløb på integreret skat,
Amount of TDS Deducted,Antal af TDS fratrukket,
Amount should not be less than zero.,Beløbet bør ikke være mindre end nul.,
Amount to Bill,Antal til fakturering,
Amount {0} {1} against {2} {3},Mængden {0} {1} mod {2} {3},
Amount {0} {1} deducted against {2},Mængden {0} {1} trækkes mod {2},
Amount {0} {1} transferred from {2} to {3},Mængden {0} {1} overført fra {2} til {3},
Amount {0} {1} {2} {3},Mængden {0} {1} {2} {3},
Amt,Amt,
"An Item Group exists with same name, please change the item name or rename the item group","Der eksisterer en varegruppe med samme navn, og du bedes derfor ændre varenavnet eller omdøbe varegruppen",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,"En akademisk betegnelse for denne ""skoleår '{0} og"" betingelsesnavn' {1} findes allerede. Korrigér venligst og prøv igen.",
An error occurred during the update process,Der opstod en fejl under opdateringsprocessen,
"An item exists with same name ({0}), please change the item group name or rename the item","En vare eksisterer med samme navn ({0}), og du bedes derfor ændre navnet på varegruppen eller omdøbe varen",
Analyst,Analytiker,
Annual Billing: {0},Årlig fakturering: {0},
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},En anden budgetpost &#39;{0}&#39; eksisterer allerede mod {1} &#39;{2}&#39; og konto &#39;{3}&#39; for regnskabsår {4},
Another Period Closing Entry {0} has been made after {1},En anden Periode Lukning indtastning {0} er blevet foretaget efter {1},
Another Sales Person {0} exists with the same Employee id,En anden salgsmedarbejder {0} eksisterer med samme Medarbejder-id,
Antibiotic,Antibiotikum,
Apparel & Accessories,Beklædning og tilbehør,
Applicable For,Gældende For,
"Applicable if the company is SpA, SApA or SRL","Gælder hvis virksomheden er SpA, SApA eller SRL",
Applicable if the company is a limited liability company,"Gælder, hvis virksomheden er et aktieselskab",
Applicable if the company is an Individual or a Proprietorship,"Gælder, hvis virksomheden er et individ eller et ejerskab",
Application of Funds (Assets),Anvendelse af midler (aktiver),
Applied,Ansøgt,
Appointment Confirmation,Bekræft konsultation,
Appointment Duration (mins),Aftale Varighed (minutter),
Appointment Type,Aftale type,
Appointment {0} and Sales Invoice {1} cancelled,Aftale {0} og salgsfaktura {1} annulleret,
Appointments and Encounters,Aftaler og møder,
Appointments and Patient Encounters,Aftaler og konsultationer,
Appraisal {0} created for Employee {1} in the given date range,Vurdering {0} dannet for medarbejder {1} i det givne datointerval,
Approving Role cannot be same as role the rule is Applicable To,Godkendelse Rolle kan ikke være det samme som rolle reglen gælder for,
Approving User cannot be same as user the rule is Applicable To,Godkendelse Brugeren kan ikke være det samme som brugeren er reglen gælder for,
"Apps using current key won't be able to access, are you sure?","Apps, der bruger den nuværende nøgle, vil ikke kunne få adgang til, er du sikker?",
Are you sure you want to cancel this appointment?,"Er du sikker på, at du vil annullere denne aftale?",
Arrear,bagud,
As Examiner,Som eksaminator,
As On Date,Som på dato,
As Supervisor,Som Supervisor,
As per rules 42 & 43 of CGST Rules,I henhold til reglerne 42 og 43 i CGST-reglerne,
As per section 17(5),I henhold til afsnit 17 (5),
Assessment,Vurdering,
Assessment Criteria,Vurderingskriterier,
Assessment Group,Vurderings gruppe,
Assessment Group: ,Vurderings gruppe:,
Assessment Plan,Vurdering Plan,
Assessment Plan Name,Evalueringsplan Navn,
Assessment Report,Vurderingsrapport,
Assessment Reports,Vurderingsrapporter,
Assessment Result,Vurdering Resultat,
Assessment Result record {0} already exists.,Vurdering Resultatoptegnelsen {0} eksisterer allerede.,
Asset,Anlægsaktiv,
Asset Category,Aktiver kategori,
Asset Category is mandatory for Fixed Asset item,Aktivkategori er obligatorisk for en anlægsaktivvare,
Asset Maintenance,Aktiver vedligeholdelse,
Asset Movement,Aktiver flytning,
Asset Movement record {0} created,Aktiver flytnings rekord {0} oprettet,
Asset Name,Aktivnavn,
Asset Received But Not Billed,Aktiver modtaget men ikke faktureret,
Asset Value Adjustment,Aktiver værdiregulering,
"Asset cannot be cancelled, as it is already {0}","Aktiver kan ikke annulleres, da det allerede er {0}",
Asset scrapped via Journal Entry {0},Anlægsasset er kasseret via finanspost {0},
"Asset {0} cannot be scrapped, as it is already {1}","Anlægsaktiv {0} kan ikke kasseres, da det allerede er {1}",
Asset {0} does not belong to company {1},Aktiver {0} hører ikke til selskab {1},
Asset {0} must be submitted,Aktiv {0} skal godkendes,
Assets,Aktiver,
Assign To,Tildel til,
Associate,Medarbejder,
At least one mode of payment is required for POS invoice.,Mindst én form for betaling er nødvendig for POS faktura.,
Atleast one item should be entered with negative quantity in return document,Mindst ét element skal indtastes med negativt mængde gengæld dokument,
Atleast one of the Selling or Buying must be selected,Mindst en af salg eller køb skal vælges,
Atleast one warehouse is mandatory,Mindst ét lager skal angives,
Attach Logo,Vedhæft logo,
Attachment,Vedhæftet,
Attachments,Vedhæftede filer,
Attendance can not be marked for future dates,Fremmøde kan ikke markeres for fremtidige datoer,
Attendance date can not be less than employee's joining date,Fremmødedato kan ikke være mindre end medarbejderens ansættelsesdato,
Attendance for employee {0} is already marked,Fremmøde til medarbejder {0} er allerede markeret,
Attendance has been marked successfully.,Deltagelse er mærket korrekt.,
Attendance not submitted for {0} as {1} on leave.,Tilstedeværelse er ikke indsendt til {0} som {1} med orlov.,
Attribute table is mandatory,Attributtabellen er obligatorisk,
Attribute {0} selected multiple times in Attributes Table,Attribut {0} valgt flere gange i attributter Tabel,
Authorized Signatory,Tegningsberettiget,
Auto Material Requests Generated,Automatisk materialeanmodning dannet,
Auto Repeat,Automatisk gentagelse,
Auto repeat document updated,Automatisk gentag dokument opdateret,
Automotive,Bil,
Available,Tilgængelig,
Available Qty,Tilgængelig antal,
Available Selling,Tilgængelig salg,
Available for use date is required,Tilgængelig til brug dato er påkrævet,
Available slots,Tilgængelige pladser,
Available {0},Tilgængelige {0},
Available-for-use Date should be after purchase date,Tilgængelig til brug Dato bør være efter købsdato,
Average Age,Gennemsnitlig alder,
Average Rate,Gennemsnitlig sats,
Avg Daily Outgoing,Gennemsnitlig daglige udgående,
Avg. Buying Price List Rate,Gennemsnitlig. Pris for købsprisliste,
Avg. Selling Price List Rate,Gennemsnitlig. Salgsprisliste Pris,
Avg. Selling Rate,Gns. Salgssats,
BOM,Stykliste,
BOM Browser,Styklistesøgning,
BOM No,Styklistenr.,
BOM Rate,BOM Rate,
BOM Stock Report,BOM Stock Rapport,
BOM and Manufacturing Quantity are required,Stykliste and produceret mængde skal angives,
BOM does not contain any stock item,Stykliste indeholder ikke nogen lagervarer,
BOM {0} does not belong to Item {1},Stykliste {0} hører ikke til vare {1},
BOM {0} must be active,Stykliste {0} skal være aktiv,
BOM {0} must be submitted,Stykliste {0} skal godkendes,
Balance,Balance,
Balance (Dr - Cr),Balance (Dr - Cr),
Balance ({0}),Balance ({0}),
Balance Qty,Balance Antal,
Balance Sheet,Balance,
Balance Value,Balance Value,
Balance for Account {0} must always be {1},Balance for konto {0} skal altid være {1},
Bank,Bank,
Bank Account,Bankkonto,
Bank Accounts,Bankkonti,
Bank Draft,Bank Draft,
Bank Name,Bank navn,
Bank Overdraft Account,Bank kassekredit,
Bank Reconciliation,Bank Afstemning,
Bank Reconciliation Statement,Bank Saldoopgørelsen,
Bank Statement,Kontoudtog,
Bank Statement Settings,Indstillinger for bankerklæring,
Bank Statement balance as per General Ledger,Kontoudskrift balance pr Finans,
Bank account cannot be named as {0},Bankkonto kan ikke blive navngivet som {0},
Bank/Cash transactions against party or for internal transfer,Bank/Kontante transaktioner ved selskab eller intern overførsel,
Banking,Banking,
Banking and Payments,Bank- og betalinger,
Barcode {0} already used in Item {1},Stregkode {0} allerede brugt i vare {1},
Barcode {0} is not a valid {1} code,Stregkode {0} er ikke en gyldig {1} kode,
Base URL,Basiswebadresse,
Based On,Baseret på,
Based On Payment Terms,Baseret på betalingsbetingelser,
Batch,Parti,
Batch Entries,Batchindgange,
Batch ID is mandatory,Parti-id er obligatorisk,
Batch Inventory,Partilager,
Batch Name,Partinavn,
Batch No,Partinr.,
Batch number is mandatory for Item {0},Partinummer er obligatorisk for vare {0},
Batch {0} of Item {1} has expired.,Batch {0} af varer {1} er udløbet.,
Batch {0} of Item {1} is disabled.,Batch {0} i vare {1} er deaktiveret.,
Batch: ,Parti:,
Batches,partier,
Become a Seller,Bliv sælger,
Bill,Faktureres,
Bill Date,Bill dato,
Bill No,Bill Ingen,
Bill of Materials,Styklister,
Bill of Materials (BOM),Styklister,
Billable Hours,Fakturerbare timer,
Billed,billed,
Billed Amount,Faktureret beløb,
Billing Address,Faktureringsadresse,
Billing Address is same as Shipping Address,Faktureringsadresse er den samme som forsendelsesadresse,
Billing Amount,Faktureret beløb,
Billing Status,Faktureringsstatus,
Billing currency must be equal to either default company's currency or party account currency,Faktureringsvaluta skal være ens med enten standardfirmaets valuta eller selskabskontoens valuta,
Bills raised by Suppliers.,Regninger oprettet af leverandører.,
Bills raised to Customers.,Regninger sendt til kunder.,
Biotechnology,Bioteknologi,
Black,Sort,
Blanket Orders from Costumers.,Tæppe ordrer fra kunder.,
Block Invoice,Blokfaktura,
Boms,styklister,
Both Trial Period Start Date and Trial Period End Date must be set,Begge prøveperiode Startdato og prøveperiode Slutdato skal indstilles,
Both Warehouse must belong to same Company,Begge lagre skal høre til samme firma,
Branch,Filial,
Broadcasting,Broadcasting,
Brokerage,Brokerage,
Browse BOM,Gennemse styklister,
Budget Against,Budget Against,
Budget List,Budgetliste,
Budget Variance Report,Budget Variance Report,
Budget cannot be assigned against Group Account {0},Budget kan ikke tildeles mod Group konto {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Budget kan ikke tildeles mod {0}, da det ikke er en indtægt eller omkostning konto",
Buildings,Bygninger,
Bundle items at time of sale.,Bundle elementer på salgstidspunktet.,
Business Development Manager,Business Development Manager,
Buy,Køb,
Buying,Køb,
Buying Amount,Køb Beløb,
Buying Price List,Købsprisliste,
Buying Rate,Købspris,
"Buying must be checked, if Applicable For is selected as {0}","Indkøb skal kontrolleres, om nødvendigt er valgt som {0}",
By {0},Af {0},
Bypass credit check at Sales Order ,Bypass kreditcheck på salgsordre,
C-Form records,C-Form optegnelser,
C-form is not applicable for Invoice: {0},C-formen er ikke for faktura: {0},
CEO,direktør,
CESS Amount,CESS-beløb,
CGST Amount,CGST beløb,
CRM,CRM,
CWIP Account,CWIP-konto,
Calculated Bank Statement balance,Beregnede kontoudskrift balance,
Campaign,Kampagne,
Can be approved by {0},Kan godkendes af {0},
"Can not filter based on Account, if grouped by Account","Kan ikke filtrere baseret på Konto, hvis grupperet efter Konto",
"Can not filter based on Voucher No, if grouped by Voucher",Kan ikke filtrere baseret på bilagsnr. hvis der sorteres efter Bilagstype,
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Kan ikke markere Inpatient Record Discharged, der er Unbilled Fakturaer {0}",
Can only make payment against unbilled {0},Kan kun gøre betaling mod faktureret {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',"Kan henvise rækken, hvis gebyret type er &#39;On Forrige Row Beløb &quot;eller&quot; Forrige Row alt&#39;",
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Kan ikke ændre værdiansættelsesmetode, da der er transaktioner mod nogle poster, der ikke har egen værdiansættelsesmetode",
Can't create standard criteria. Please rename the criteria,Kan ikke oprette standard kriterier. Venligst omdøber kriterierne,
Cancel,Annullere,
Cancel Material Visit {0} before cancelling this Warranty Claim,"Annuller Materiale Besøg {0}, før den annullerer denne garanti krav",
Cancel Material Visits {0} before cancelling this Maintenance Visit,"Annuller Materiale Besøg {0}, før den annullerer denne vedligeholdelse Besøg",
Cancel Subscription,Annuller abonnement,
Cancel the journal entry {0} first,Annuller journalindtastningen {0} først,
Canceled,Aflyst,
"Cannot Submit, Employees left to mark attendance","Kan ikke indsende, Medarbejdere tilbage for at markere deltagelse",
Cannot be a fixed asset item as Stock Ledger is created.,"Kan ikke være en fast aktivpost, da lagerliste oprettes.",
Cannot cancel because submitted Stock Entry {0} exists,"Kan ikke annullere, for en godkendt lagerindtastning {0} eksisterer",
Cannot cancel transaction for Completed Work Order.,Kan ikke annullere transaktionen for Afsluttet Arbejdsordre.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Kan ikke annullere {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 ændre attributter efter aktiehandel. Lav en ny vare og overfør lager til den nye vare,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Kan ikke ændre regnskabsår Start Dato og Skatteårsafslutning Dato når regnskabsår er gemt.,
Cannot change Service Stop Date for item in row {0},Kan ikke ændre Service Stop Date for element i række {0},
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Kan ikke ændre Variantegenskaber efter aktiehandel. Du bliver nødt til at lave en ny vare til at gøre dette.,
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Kan ikke ændre virksomhedens standard valuta, fordi den anvendes i eksisterende transaktioner. Transaktioner skal annulleres for at ændre standard valuta.",
Cannot change status as student {0} is linked with student application {1},Kan ikke ændre status som studerende {0} er forbundet med student ansøgning {1},
Cannot convert Cost Center to ledger as it has child nodes,"Kan ikke konvertere Cost Center til hovedbog, som det har barneknudepunkter",
Cannot covert to Group because Account Type is selected.,"Kan ikke skjult til gruppen, fordi Kontotype er valgt.",
Cannot create Retention Bonus for left Employees,Kan ikke oprette tilbageholdelsesbonus for venstre medarbejdere,
Cannot create a Delivery Trip from Draft documents.,Kan ikke oprette en leveringstur fra udkast til dokumenter.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,"Kan ikke deaktivere eller annullere en stykliste, som det er forbundet med andre styklister",
"Cannot declare as lost, because Quotation has been made.","Kan ikke erklæres tabt, fordi tilbud er afgivet.",
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',"Ikke kan fradrage, når kategorien er for &quot;Værdiansættelse&quot; eller &quot;Værdiansættelse og Total &#39;",
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Kan ikke fratrække når kategori er for &quot;Værdiansættelse&quot; eller &quot;Vaulation og Total &#39;,
"Cannot delete Serial No {0}, as it is used in stock transactions","Kan ikke slette serienummer {0}, eftersom det bruges på lagertransaktioner",
Cannot enroll more than {0} students for this student group.,Kan ikke tilmelde mere end {0} studerende til denne elevgruppe.,
Cannot produce more Item {0} than Sales Order quantity {1},Kan ikke producere mere Item {0} end Sales Order mængde {1},
Cannot promote Employee with status Left,Kan ikke fremme medarbejder med status til venstre,
Cannot refer row number greater than or equal to current row number for this Charge type,Kan ikke henvise rækken tal større end eller lig med aktuelle række nummer til denne Charge typen,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Kan ikke vælge charge type som &#39;On Forrige Row Beløb&#39; eller &#39;On Forrige Row alt &quot;for første række,
Cannot set as Lost as Sales Order is made.,Kan ikke indstilles som Lost som Sales Order er foretaget.,
Cannot set authorization on basis of Discount for {0},Kan ikke sætte godkendelse på grundlag af Rabat for {0},
Cannot set multiple Item Defaults for a company.,Kan ikke indstille flere standardindstillinger for en virksomhed.,
Cannot set quantity less than delivered quantity,Kan ikke indstille antal mindre end leveret mængde,
Cannot set quantity less than received quantity,Kan ikke angive antal mindre end modtaget mængde,
Cannot set the field <b>{0}</b> for copying in variants,Kan ikke indstille feltet <b>{0}</b> til kopiering i varianter,
Cannot transfer Employee with status Left,Kan ikke overføre medarbejder med status til venstre,
Cannot {0} {1} {2} without any negative outstanding invoice,Kan ikke {0} {1} {2} uden nogen negativ udestående faktura,
Capital Equipments,Capital Udstyr,
Capital Stock,Capital Stock,
Capital Work in Progress,Kapitalarbejde i fremskridt,
Cart,Kurv,
Cart is Empty,Indkøbskurv er tom,
Case No(s) already in use. Try from Case No {0},"(E), der allerede er i brug Case Ingen. Prøv fra sag {0}",
Cash,Kontanter,
Cash Flow Statement,Pengestrømsanalyse,
Cash Flow from Financing,Pengestrømme fra finansaktiviteter,
Cash Flow from Investing,Pengestrømme fra investeringsaktiviteter,
Cash Flow from Operations,Pengestrøm fra driften,
Cash In Hand,Kassebeholdning,
Cash or Bank Account is mandatory for making payment entry,Kontant eller bankkonto skal indtastes for post,
Cashier Closing,Cashier Closing,
Category,Kategori,
Category Name,Kategori Navn,
Caution,Advarsel,
Central Tax,Central Skat,
Certification,Certificering,
Cess,Cess,
Change Amount,ændring beløb,
Change Item Code,Skift varekode,
Change Release Date,Skift Udgivelsesdato,
Change Template Code,Skift skabelonkode,
Changing Customer Group for the selected Customer is not allowed.,Ændring af kundegruppe for den valgte kunde er ikke tilladt.,
Chapter,Kapitel,
Chapter information.,Kapitelinformation.,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Afgift af typen &#39;Actual &quot;i rækken {0} kan ikke indgå i Item Rate,
Chargeble,chargeble,
Charges are updated in Purchase Receipt against each item,Afgifter er opdateret i købskvitteringen for hver enkelt vare,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Afgifter vil blive fordelt forholdsmæssigt baseret på post qty eller mængden, som pr dit valg",
Chart of Cost Centers,Diagram af omkostningssteder,
Check all,Vælg alle,
Checkout,bestilling,
Chemical,Kemisk,
Cheque,Anvendes ikke,
Cheque/Reference No,Anvendes ikke,
Cheques Required,Checks påkrævet,
Cheques and Deposits incorrectly cleared,Anvendes ikke,
Child Task exists for this Task. You can not delete this Task.,Børneopgave eksisterer for denne opgave. Du kan ikke slette denne opgave.,
Child nodes can be only created under 'Group' type nodes,Child noder kan kun oprettes under &#39;koncernens typen noder,
Child warehouse exists for this warehouse. You can not delete this warehouse.,eksisterer Child lager for dette lager. Du kan ikke slette dette lager.,
Circular Reference Error,Cirkulær reference Fejl,
City,by,
City/Town,By,
Clay,Ler,
Clear filters,Ryd filtre,
Clear values,Ryd værdier,
Clearance Date,Clearance Dato,
Clearance Date not mentioned,Clearance Dato ikke nævnt,
Clearance Date updated,Clearance Dato opdateret,
Client,Klient,
Client ID,Klient-id,
Client Secret,Client Secret,
Clinical Procedure,Klinisk procedure,
Clinical Procedure Template,Klinisk procedureskabelon,
Close Balance Sheet and book Profit or Loss.,Luk Balance og book resultatopgørelsen.,
Close Loan,Luk lån,
Close the POS,Luk POS,
Closed,Lukket,
Closed order cannot be cancelled. Unclose to cancel.,Lukket ordre kan ikke annulleres. Unclose at annullere.,
Closing (Cr),Lukning (Cr),
Closing (Dr),Lukning (Dr),
Closing (Opening + Total),Lukning (Åbning + I alt),
Closing Account {0} must be of type Liability / Equity,Lukningskonto {0} skal være af typen Passiver / Egenkapital,
Closing Balance,Afslutningsbalance,
Code,Kode,
Collapse All,Skjul alle,
Color,Farve,
Colour,Farve,
Combined invoice portion must equal 100%,Kombineret faktura del skal svare til 100%,
Commercial,Kommerciel,
Commission,Provision,
Commission Rate %,Kommissionens sats%,
Commission on Sales,Salgsprovisioner,
Commission rate cannot be greater than 100,Provisionssats kan ikke være større end 100,
Community Forum,Fællesskab Forum,
Company (not Customer or Supplier) master.,Company (ikke kunde eller leverandør) herre.,
Company Abbreviation,Firma-forkortelse,
Company Abbreviation cannot have more than 5 characters,Virksomhedsforkortelse kan ikke have mere end 5 tegn,
Company Name,Firmaets navn,
Company Name cannot be Company,Firmaets navn kan ikke være Firma,
Company currencies of both the companies should match for Inter Company Transactions.,Selskabets valutaer for begge virksomheder skal matche for Inter Company Transactions.,
Company is manadatory for company account,Virksomheden er manadatorisk for virksomhedskonto,
Company name not same,Virksomhedens navn er ikke det samme,
Company {0} does not exist,Firma {0} findes ikke,
Compensatory leave request days not in valid holidays,Forsøgsfrihed anmodningsdage ikke i gyldige helligdage,
Complaint,Symptom,
Completion Date,Afslutning Dato,
Computer,Computer,
Condition,Tilstand,
Configure,Konfigurer,
Configure {0},Konfigurer {0},
Confirmed orders from Customers.,Bekræftede ordrer fra kunder.,
Connect Amazon with ERPNext,Forbind Amazon med ERPNext,
Connect Shopify with ERPNext,Tilslut Shopify med ERPNext,
Connect to Quickbooks,Opret forbindelse til Quickbooks,
Connected to QuickBooks,Tilsluttet QuickBooks,
Connecting to QuickBooks,Tilslutning til QuickBooks,
Consultation,Konsultation,
Consultations,Høringer,
Consulting,Rådgivning,
Consumable,Forbrugsmaterialer,
Consumed,forbrugt,
Consumed Amount,Forbrugt Mængde,
Consumed Qty,Forbrugt antal,
Consumer Products,Forbrugerprodukter,
Contact,Kontakt,
Contact Us,Kontakt os,
Content,Indhold,
Content Masters,Content Masters,
Content Type,Indholdstype,
Continue Configuration,Fortsæt konfigurationen,
Contract,Kontrakt,
Contract End Date must be greater than Date of Joining,Fratrædelsesdato skal være større end ansættelsesdato,
Contribution %,Bidrag%,
Contribution Amount,Bidrag Beløb,
Conversion factor for default Unit of Measure must be 1 in row {0},Omregningsfaktor for standard Måleenhed skal være 1 i række {0},
Conversion rate cannot be 0 or 1,Omregningskurs kan ikke være 0 eller 1,
Convert to Group,Konverter til Group,
Convert to Non-Group,Konverter til ikke-Group,
Cosmetics,Kosmetik,
Cost Center,Omkostningssted,
Cost Center Number,Omkostningscenter nummer,
Cost Center and Budgeting,Omkostningscenter og budgettering,
Cost Center is required in row {0} in Taxes table for type {1},Omkostningssted kræves i række {0} i Skattetabellen for type {1},
Cost Center with existing transactions can not be converted to group,Omkostningssted med eksisterende transaktioner kan ikke konverteres til gruppe,
Cost Center with existing transactions can not be converted to ledger,Cost Center med eksisterende transaktioner kan ikke konverteres til finans,
Cost Centers,Omkostningssteder,
Cost Updated,Omkostninger opdateret,
Cost as on,Omkostninger som på,
Cost of Delivered Items,Omkostninger ved leverede varer,
Cost of Goods Sold,Vareforbrug,
Cost of Issued Items,Omkostninger ved Udstedte Varer,
Cost of New Purchase,Udgifter til nye køb,
Cost of Purchased Items,Omkostninger ved købte varer,
Cost of Scrapped Asset,Udgifter kasseret anlægsaktiv,
Cost of Sold Asset,Udgifter Solgt Asset,
Cost of various activities,Omkostninger ved forskellige aktiviteter,
"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again",Kunne ikke oprette kreditnota automatisk. Fjern venligst afkrydsningsfeltet &quot;Udsted kreditnota&quot; og send igen,
Could not generate Secret,Kunne ikke generere Secret,
Could not retrieve information for {0}.,Kunne ikke hente oplysninger for {0}.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,"Kunne ikke løse kriteriernes scorefunktion for {0}. Sørg for, at formlen er gyldig.",
Could not solve weighted score function. Make sure the formula is valid.,"Kunne ikke løse vægtet scoringsfunktion. Sørg for, at formlen er gyldig.",
Could not submit some Salary Slips,Kunne ikke indsende nogle Lønslister,
"Could not update stock, invoice contains drop shipping item.","Kunne ikke opdatere lager, faktura indeholder drop shipping element.",
Country wise default Address Templates,Standard-adresseskabeloner sorteret efter lande,
Course Code: ,Kursuskode:,
Course Enrollment {0} does not exists,Tilmelding af kursus {0} findes ikke,
Course Schedule,Kursusskema,
Course: ,Rute:,
Cr,Cr,
Create,Opret,
Create BOM,Opret BOM,
Create Delivery Trip,Opret leveringstur,
Create Employee,Opret medarbejder,
Create Employee Records,Opret Medarbejder Records,
"Create Employee records to manage leaves, expense claims and payroll","Opret Medarbejder optegnelser til at styre blade, udgiftsopgørelser og løn",
Create Fee Schedule,Opret gebyrplan,
Create Fees,Opret gebyrer,
Create Inter Company Journal Entry,Oprettelse af Inter Company-journal,
Create Invoice,Opret faktura,
Create Invoices,Opret fakturaer,
Create Job Card,Opret jobkort,
Create Journal Entry,Opret journalpost,
Create Lead,Opret bly,
Create Leads,Opret emner,
Create Maintenance Visit,Opret vedligeholdelsesbesøg,
Create Material Request,Opret materialeanmodning,
Create Multiple,Opret flere,
Create Opening Sales and Purchase Invoices,Opret åbnings- og købsfakturaer,
Create Payment Entries,Opret betalingsindlæg,
Create Payment Entry,Opret betalingsindtastning,
Create Print Format,Opret Print Format,
Create Purchase Order,Opret indkøbsordre,
Create Purchase Orders,Opret indkøbsordrer,
Create Quotation,Opret citat,
Create Sales Invoice,Opret salgsfaktura,
Create Sales Order,Opret salgsordre,
Create Sales Orders to help you plan your work and deliver on-time,Opret salgsordrer for at hjælpe dig med at planlægge dit arbejde og levere til tiden,
Create Sample Retention Stock Entry,Opret prøveopbevaring lagerindtastning,
Create Student,Opret studerende,
Create Student Batch,Opret Student Batch,
Create Student Groups,Opret elevgrupper,
Create Supplier Quotation,Opret leverandørnotering,
Create Tax Template,Opret skatteskabelon,
Create Timesheet,Opret timeseddel,
Create User,Opret bruger,
Create Users,Opret brugere,
Create Variant,Opret variant,
Create Variants,Opret varianter,
"Create and manage daily, weekly and monthly email digests.","Opret og administrér de daglige, ugentlige og månedlige e-mail-nyhedsbreve.",
Create customer quotes,Opret tilbud til kunder,
Create rules to restrict transactions based on values.,Oprette regler til at begrænse transaktioner baseret på værdier.,
Created {0} scorecards for {1} between: ,Oprettet {0} scorecards for {1} mellem:,
Creating Company and Importing Chart of Accounts,Oprettelse af firma og import af kontoplan,
Creating Fees,Oprettelse af gebyrer,
Creating student groups,Oprettelse af elevgrupper,
Creating {0} Invoice,Oprettelse af {0} faktura,
Credit,Kredit,
Credit ({0}),Kredit ({0}),
Credit Account,Kreditkonto,
Credit Balance,Kreditsaldo,
Credit Card,Kreditkort,
Credit Days cannot be a negative number,Kreditdage kan ikke være et negativt tal,
Credit Limit,Kreditgrænse,
Credit Note,Kreditnota,
Credit Note Amount,Kredit Note Beløb,
Credit Note Issued,Kreditnota udstedt,
Credit Note {0} has been created automatically,Kreditnota {0} er oprettet automatisk,
Credit limit has been crossed for customer {0} ({1}/{2}),Kreditgrænsen er overskredet for kunden {0} ({1} / {2}),
Creditors,Kreditorer,
Criteria weights must add up to 100%,Kriterier vægt skal tilføje op til 100%,
Crop Cycle,Afgrødecyklus,
Crops & Lands,Afgrøder og lande,
Currency Exchange must be applicable for Buying or for Selling.,Valutaveksling skal være gældende for køb eller salg.,
Currency can not be changed after making entries using some other currency,Valuta kan ikke ændres efter at poster ved hjælp af nogle anden valuta,
Currency exchange rate master.,Valutakursen mester.,
Currency for {0} must be {1},Valuta for {0} skal 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 for Lukning Der skal være {0},
Currency of the price list {0} must be {1} or {2},Valuta på prislisten {0} skal 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,Omsætningsaktiver,
Current BOM and New BOM can not be same,Nuværende stykliste og ny stykliste må ikke være ens,
Current Liabilities,Kortfristede forpligtelser,
Current Qty,Aktuel Antal,
Current invoice {0} is missing,Nuværende faktura {0} mangler,
Custom HTML,Tilpasset HTML,
Custom?,Brugerdefineret?,
Customer,Kunde,
Customer Addresses And Contacts,Kundeadresser og kontakter,
Customer Contact,Kundeservicekontakt,
Customer Database.,Kundedatabase.,
Customer Group,Kundegruppe,
Customer LPO,Kunde LPO,
Customer LPO No.,Kunde LPO nr.,
Customer Name,Kundennavn,
Customer POS Id,Kundens POS-id,
Customer Service,Kundeservice,
Customer and Supplier,Kunde og leverandør,
Customer is required,Kunde skal angives,
Customer isn't enrolled in any Loyalty Program,Kunden er ikke indskrevet i noget loyalitetsprogram,
Customer required for 'Customerwise Discount',Kunden kræves for &#39;Customerwise Discount&#39;,
Customer {0} does not belong to project {1},Kunden {0} hører ikke til sag {1},
Customer {0} is created.,Kunden {0} er oprettet.,
Customers in Queue,Kunder i kø,
Customize Homepage Sections,Tilpas hjemmesidesektioner,
Customizing Forms,Tilpasning Forms,
Daily Project Summary for {0},Daglig projektoversigt for {0},
Daily Reminders,Daglige påmindelser,
Data Import and Export,Dataind- og udlæsning,
Data Import and Settings,Dataimport og indstillinger,
Database of potential customers.,Database over potentielle kunder.,
Date Format,Datoformat,
Date Of Retirement must be greater than Date of Joining,Pensioneringsdato skal være større end ansættelsesdato,
Date of Birth,Fødselsdato,
Date of Birth cannot be greater than today.,Fødselsdato kan ikke være større end i dag.,
Date of Commencement should be greater than Date of Incorporation,Dato for påbegyndelse skal være større end oprettelsesdato,
Date of Joining,Ansættelsesdato,
Date of Joining must be greater than Date of Birth,Ansættelsesdato skal være større end fødselsdato,
Date of Transaction,Dato for transaktion,
Day,Dag,
Debit,Debet,
Debit ({0}),Debitering ({0}),
Debit Account,Debetkonto,
Debit Note,Debitnota,
Debit Note Amount,Debet Note Beløb,
Debit Note Issued,Debit Note Udstedt,
Debit To is required,Debet-til skal angives,
Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debet og kredit ikke ens for {0} # {1}. Forskellen er {2}.,
Debtors,Debitorer,
Debtors ({0}),Debitorer ({0}),
Declare Lost,Erklær tabt,
Default Activity Cost exists for Activity Type - {0},Standard Aktivitets Omkostninger findes for Aktivitets Type - {0},
Default BOM ({0}) must be active for this item or its template,Standard stykliste ({0}) skal være aktiv for denne vare eller dens skabelon,
Default BOM for {0} not found,Standard stykliste for {0} blev ikke fundet,
Default BOM not found for Item {0} and Project {1},Standard BOM ikke fundet for Item {0} og Project {1},
Default Letter Head,Standard brevhoved,
Default Tax Template,Standard skat skabelon,
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 måleenhed for Item {0} kan ikke ændres direkte, fordi du allerede har gjort nogle transaktion (er) med en anden UOM. Du bliver nødt til at oprette en ny konto for at bruge en anden Standard UOM.",
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Standard måleenhed for variant &#39;{0}&#39; skal være samme som i skabelon &#39;{1}&#39;,
Default settings for buying transactions.,Standardindstillinger for købstransaktioner.,
Default settings for selling transactions.,Standardindstillinger for salgstransaktioner.,
Default tax templates for sales and purchase are created.,Standard skat skabeloner til salg og køb oprettes.,
Defaults,Standardværdier,
Defense,Forsvar,
Define Project type.,Definer projekttype.,
Define budget for a financial year.,Definer budget for et regnskabsår.,
Define various loan types,Definer forskellige låneformer,
Del,Slet,
Delay in payment (Days),Forsinket betaling (dage),
Delete all the Transactions for this Company,Slette alle transaktioner for denne Company,
Deletion is not permitted for country {0},Sletning er ikke tilladt for land {0},
Delivered,Leveret,
Delivered Amount,Leveres Beløb,
Delivered Qty,Leveres Antal,
Delivered: {0},Leveret: {0},
Delivery,Levering,
Delivery Date,Leveringsdato,
Delivery Note,Følgeseddel,
Delivery Note {0} is not submitted,Følgeseddel {0} er ikke godkendt,
Delivery Note {0} must not be submitted,Følgeseddel {0} må ikke godkendes,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,"Følgesedler {0} skal annulleres, før den salgsordre annulleres",
Delivery Notes {0} updated,Leveringsnotater {0} opdateret,
Delivery Status,Levering status,
Delivery Trip,Leveringsrejse,
Delivery warehouse required for stock item {0},Levering lager kræves for lagervare {0},
Department,Afdeling,
Department Stores,Varehuse,
Depreciation,Afskrivninger,
Depreciation Amount,Afskrivningsbeløb,
Depreciation Amount during the period,Afskrivningsbeløb i perioden,
Depreciation Date,Afskrivningsdato,
Depreciation Eliminated due to disposal of assets,Bortfaldne afskrivninger grundet afhændelse af aktiver,
Depreciation Entry,Afskrivninger indtastning,
Depreciation Method,Afskrivningsmetode,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Afskrivningsrække {0}: Afskrivning Startdato er indtastet som tidligere dato,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Afskrivningsrække {0}: Forventet værdi efter brugstid skal være større end eller lig med {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Afskrivnings række {0}: Næste afskrivningsdato kan ikke være før tilgængelig dato,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Afskrivningsrække {0}: Næste afskrivningsdato kan ikke være før købsdato,
Designer,Designer,
Detailed Reason,Detaljeret grund,
Details,Detaljer,
Details of Outward Supplies and inward supplies liable to reverse charge,Detaljer om udgående forsyninger og indgående forsyninger med tilbageførsel,
Details of the operations carried out.,Oplysninger om de gennemførte transaktioner.,
Diagnosis,Diagnose,
Did not find any item called {0},"Fandt ikke nogen post, kaldet {0}",
Diff Qty,Diff Antal,
Difference Account,Differencekonto,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Differencebeløbet skal være af kontotypen Aktiv / Fordring, da denne lagerafstemning er en åbningsbalance",
Difference Amount,Differencebeløb,
Difference Amount must be zero,Differencebeløb skal være nul,
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.,"Forskellige UOM for elementer vil føre til forkert (Total) Vægt værdi. Sørg for, at Nettovægt for hvert punkt er i den samme UOM.",
Direct Expenses,Direkte udgifter,
Direct Income,Direkte indkomst,
Disable,Deaktiver,
Disabled template must not be default template,Deaktiveret skabelon må ikke være standardskabelon,
Disburse Loan,Udbetalingslån,
Disbursed,udbetalt,
Disc,Disc,
Discharge,udledning,
Discount,Rabat,
Discount Percentage can be applied either against a Price List or for all Price List.,Rabat Procent kan anvendes enten mod en prisliste eller for alle prisliste.,
Discount must be less than 100,Rabat skal være mindre end 100,
Diseases & Fertilizers,Sygdomme og gødninger,
Dispatch,Dispatch,
Dispatch Notification,Dispatch Notification,
Dispatch State,Afsendelsesstat,
Distance,Afstand,
Distribution,Distribution,
Distributor,Distributør,
Dividends Paid,Betalt udbytte,
Do you really want to restore this scrapped asset?,Vil du virkelig gendanne dette kasserede anlægsaktiv?,
Do you really want to scrap this asset?,Vil du virkelig kassere dette anlægsaktiv?,
Do you want to notify all the customers by email?,Vil du anmelde alle kunderne via e-mail?,
Doc Date,Dok Dato,
Doc Name,Doc Navn,
Doc Type,Doc Type,
Docs Search,Doksøgning,
Document Name,Dokumentnavn,
Document Type,Dokumenttype,
Domain,Domæne,
Domains,Domæner,
Done,Udført,
Donor,Donor,
Donor Type information.,Donor Type oplysninger.,
Donor information.,Donor information.,
Download JSON,Download JSON,
Draft,Udkast,
Drop Ship,Drop Ship,
Drug,Medicin,
Due / Reference Date cannot be after {0},Due / reference Dato kan ikke være efter {0},
Due Date cannot be before Posting / Supplier Invoice Date,Forfaldsdato kan ikke være før udstationering / leverandørfakturadato,
Due Date is mandatory,Forfaldsdato er obligatorisk,
Duplicate Entry. Please check Authorization Rule {0},Duplicate indtastning. Forhør Authorization Rule {0},
Duplicate Serial No entered for Item {0},Doppelte serienumre er indtastet for vare {0},
Duplicate customer group found in the cutomer group table,Doppelt kundegruppe forefindes i Kundegruppetabellen,
Duplicate entry,Duplicate entry,
Duplicate item group found in the item group table,Samme varegruppe findes to gange i varegruppetabellen,
Duplicate roll number for student {0},Dupliceringsrulle nummer for studerende {0},
Duplicate row {0} with same {1},Duplikér række {0} med samme {1},
Duplicate {0} found in the table,Duplikat {0} findes i tabellen,
Duration in Days,Varighed i dage,
Duties and Taxes,Skatter og afgifter,
E-Invoicing Information Missing,Oplysninger om e-fakturering mangler,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,ERPNæste indstillinger,
Earliest,tidligste,
Earnest Money,Earnest Money,
Edit,Redigér,
Edit Publishing Details,Rediger udgivelsesoplysninger,
"Edit in full page for more options like assets, serial nos, batches etc.","Rediger på fuld side for flere muligheder som aktiver, serienummer, partier osv.",
Education,Uddannelse,
Either location or employee must be required,Enten placering eller medarbejder skal være påkrævet,
Either target qty or target amount is mandatory,Enten target qty eller målbeløbet er obligatorisk,
Either target qty or target amount is mandatory.,Enten target qty eller målbeløbet er obligatorisk.,
Electrical,Elektrisk,
Electronic Equipments,Elektronisk udstyr,
Electronics,Elektronik,
Eligible ITC,Kvalificeret ITC,
Email Account,E-mailkonto,
Email Address,Email adresse,
"Email Address must be unique, already exists for {0}","E-mailadresse skal være unik, findes allerede for {0}",
Email Digest: ,E-mail nyhedsbrev:,
Email Reminders will be sent to all parties with email contacts,Email påmindelser vil blive sendt til alle parter med e-mail kontakter,
Email Sent,E-mail sendt,
Email Template,E-mail-skabelon,
Email not found in default contact,Email ikke fundet i standardkontakt,
Email sent to {0},E-mail sendt til {0},
Employee,medarbejder,
Employee Advances,Medarbejderudviklingen,
Employee ID,Medarbejder-ID,
Employee Lifecycle,Ansattes livscyklus,
Employee Name,Medarbejdernavn,
Employee Promotion cannot be submitted before Promotion Date ,Medarbejderfremme kan ikke indsendes før Kampagnedato,
Employee Transfer cannot be submitted before Transfer Date ,Medarbejderoverførsel kan ikke indsendes før overførselsdato,
Employee cannot report to himself.,Medarbejder kan ikke referere til sig selv.,
Employee {0} has already applied for {1} between {2} and {3} : ,Medarbejder {0} har allerede ansøgt om {1} mellem {2} og {3}:,
Employee {0} of grade {1} have no default leave policy,Medarbejder {0} i lønklasse {1} har ingen standardlovspolitik,
Enable / disable currencies.,Aktivér / deaktivér valuta.,
Enabled,Aktiv,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Aktivering »anvendelse til indkøbskurv"", som indkøbskurv er aktiveret, og der skal være mindst én momsregel til Indkøbskurven",
End Date,Slutdato,
End Date can not be less than Start Date,Slutdato kan ikke være mindre end startdato,
End Date cannot be before Start Date.,Slutdato kan ikke være før startdato.,
End Year,Slutår,
End Year cannot be before Start Year,Slutår kan ikke være før startår,
End on,Slut på,
Ends On date cannot be before Next Contact Date.,Slutter På dato kan ikke være før næste kontaktdato.,
Energy,Energi,
Engineer,Ingeniør,
Enough Parts to Build,Nok Dele til Build,
Enroll,Indskrive,
Enrolling student,tilmelding elev,
Enrolling students,Tilmelding til studerende,
Enter depreciation details,Indtast afskrivningsoplysninger,
Enter the Bank Guarantee Number before submittting.,Indtast bankgarantienummeret før indsendelse.,
Enter the name of the Beneficiary before submittting.,Indtast modtagerens navn før indsendelse.,
Enter the name of the bank or lending institution before submittting.,Indtast navnet på banken eller låneinstitutionen før indsendelse.,
Enter value betweeen {0} and {1},Indtast værdi mellem {0} og {1},
Entertainment & Leisure,Entertainment &amp; Leisure,
Entertainment Expenses,Repræsentationsudgifter,
Equity,Egenkapital,
Error Log,Fejllog,
Error evaluating the criteria formula,Fejl ved evaluering af kriterieformlen,
Error in formula or condition: {0},Fejl i formel eller betingelse: {0},
Error: Not a valid id?,Fejl: Ikke et gyldigt id?,
Estimated Cost,Anslåede omkostninger,
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Selv hvis der er flere Priser Regler med højeste prioritet, derefter følgende interne prioriteringer anvendt:",
Exchange Gain/Loss,Exchange Gevinst / Tab,
Exchange Rate Revaluation master.,Valutakursrevalueringsmester.,
Exchange Rate must be same as {0} {1} ({2}),Vekselkurs skal være det samme som {0} {1} ({2}),
Excise Invoice,Skattestyrelsen Faktura,
Execution,Udførelse,
Executive Search,Executive Search,
Expand All,Se alt,
Expected Delivery Date,Forventet Leveringsdato,
Expected Delivery Date should be after Sales Order Date,Forventet leveringsdato skal være efter salgsordredato,
Expected End Date,Forventet Slutdato,
Expected Hrs,Forventet tid,
Expected Start Date,Forventet startdato,
Expense,Udlæg,
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Udgifts- differencekonto ({0}) skal være en resultatskonto,
Expense Account,Udgiftskonto,
Expense Claim,Udlæg,
Expense Claims,Udlæg,
Expense account is mandatory for item {0},Udgiftskonto er obligatorisk for element {0},
Expenses,Udgifter,
Expenses Included In Asset Valuation,Udgifter inkluderet i Asset Valuation,
Expenses Included In Valuation,Udgifter inkluderet i værdiansættelse,
Expired Batches,Udløbet Batcher,
Expires On,Udløber på,
Expiring On,Udløbsdato,
Expiry (In Days),Udløb (i dage),
Explore,Udforske,
Export E-Invoices,Eksporter e-fakturaer,
Extra Large,Extra Large,
Extra Small,Extra Small,
Fail,Svigte,
Failed,Mislykkedes,
Failed to create website,Kunne ikke oprette websted,
Failed to install presets,Kan ikke installere forudindstillinger,
Failed to login,Kunne ikke logge ind,
Failed to setup company,Kunne ikke opsætte firmaet,
Failed to setup defaults,Kunne ikke konfigurere standardindstillinger,
Failed to setup post company fixtures,Kunne ikke opsætte postfirmaet inventar,
Fax,Telefax,
Fee,Betaling,
Fee Created,Gebyr oprettet,
Fee Creation Failed,Fee Creation mislykkedes,
Fee Creation Pending,Gebyr oprettelse afventer,
Fee Records Created - {0},Fee Records Oprettet - {0},
Feedback,Feedback,
Fees,Gebyrer,
Female,Kvinde,
Fetch Data,Hent data,
Fetch Subscription Updates,Hent abonnementsopdateringer,
Fetch exploded BOM (including sub-assemblies),Hent eksploderede BOM (herunder underenheder),
Fetching records......,Henter poster ......,
Field Name,Feltnavn,
Fieldname,Feltnavn,
Fields,Felter,
"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filterfelter Række nr. {0}: Feltnavn <b>{1}</b> skal være af typen &quot;Link&quot; eller &quot;Tabel MultiSelect&quot;,
Filter Total Zero Qty,Filter Total Nul Antal,
Finance Book,Finans Bog,
Financial / accounting year.,Finansiel / regnskabsår.,
Financial Services,Financial Services,
Financial Statements,Finansrapporter,
Financial Year,Finansielt år,
Finish,Slutte,
Finished Good,Færdig godt,
Finished Good Item Code,Færdig god varekode,
Finished Goods,Færdigvarer,
Finished Item {0} must be entered for Manufacture type entry,Færdig element {0} skal indtastes for Fremstilling typen post,
Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Færdig produktmængde <b>{0}</b> og For mængde <b>{1}</b> kan ikke være anderledes,
First Name,Fornavn,
"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Skattesystem er obligatorisk, skal du indstille skatteordningen i virksomheden {0}",
Fiscal Year,Regnskabsår,
Fiscal Year End Date should be one year after Fiscal Year Start Date,Regnskabsårets slutdato skal være et år efter regnskabsårets startdato,
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Regnskabsår Start Dato og Skatteårsafslutning Dato allerede sat i regnskabsåret {0},
Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Startdato for regnskabsåret skal være et år tidligere end slutdatoen for regnskabsåret,
Fiscal Year {0} does not exist,Regnskabsår {0} findes ikke,
Fiscal Year {0} is required,Regnskabsår {0} er påkrævet,
Fixed Asset,Anlægsaktiv,
Fixed Asset Item must be a non-stock item.,Anlægsaktiv-varen skal være en ikke-lagervare.,
Fixed Assets,Anlægsaktiver,
Following Material Requests have been raised automatically based on Item's re-order level,Følgende materialeanmodninger er blevet dannet automatisk baseret på varens genbestillelsesniveau,
Following accounts might be selected in GST Settings:,Følgende konti kan vælges i GST-indstillinger:,
Following course schedules were created,Følgende kursusplaner blev oprettet,
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 markeret som {1} element. Du kan aktivere dem som {1} element fra dets Item master,
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 markeret som {1} element. Du kan aktivere dem som {1} element fra dets Item master,
"Food, Beverage & Tobacco","Mad, drikke og tobak",
For,For,
"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 produktpakke-varer, lagre, serienumre og partier vil blive betragtet fra pakkelistetabellen. Hvis lager og parti er ens for alle pakkede varer for enhver produktpakkevare, kan disse værdier indtastes for den vigtigste vare, og værdierne vil blive kopieret til pakkelistetabellen.",
For Quantity (Manufactured Qty) is mandatory,For Mængde (Fremstillet Antal) er obligatorisk,
For Supplier,For Leverandøren,
For Warehouse,Til lager,
For Warehouse is required before Submit,Til lager skal angives før godkendelse,
"For an item {0}, quantity must be negative number",For en vare {0} skal mængden være negativt tal,
"For an item {0}, quantity must be positive number",For en vare {0} skal mængden være positivt tal,
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry",For jobkort {0} kan du kun foretage lagerstatus &#39;Materialeoverførsel til fremstilling&#39;,
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","For rækken {0} i {1}. For at inkludere {2} i Item sats, rækker {3} skal også medtages",
For row {0}: Enter Planned Qty,For række {0}: Indtast Planlagt antal,
"For {0}, only credit accounts can be linked against another debit entry",For {0} kan kun kredit konti knyttes mod en anden debet post,
"For {0}, only debit accounts can be linked against another credit entry",For {0} kan kun betalingskort konti knyttes mod en anden kredit post,
Forum Activity,Forumaktivitet,
Free item code is not selected,Gratis varekode er ikke valgt,
Freight and Forwarding Charges,Fragt og Forwarding Afgifter,
Frequency,Frekvens,
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 ikke kan være samme,
From Date and To Date lie in different Fiscal Year,Fra dato og til dato ligger i forskellige regnskabsår,
From Date cannot be greater than To Date,Fra dato ikke kan være større end til dato,
From Date must be before To Date,Fra dato skal være før til dato,
From Date should be within the Fiscal Year. Assuming From Date = {0},Fra dato skal være inden regnskabsåret. Antages Fra dato = {0},
From Datetime,Fra datotid,
From Delivery Note,Fra følgeseddel,
From Fiscal Year,Fra Skatteår,
From GSTIN,Fra GSTIN,
From Party Name,Fra Selskabsnavn,
From Pin Code,Fra Pin Code,
From Place,Fra Sted,
From Range has to be less than To Range,Fra Range skal være mindre end at ligge,
From State,Fra stat,
From Time,Fra Time,
From Time Should Be Less Than To Time,Fra tiden skal være mindre end til tiden,
From Time cannot be greater than To Time.,Fra Tiden kan ikke være større end til anden.,
"From a supplier under composition scheme, Exempt and Nil rated",Fra en leverandør under sammensætningsplan vurderede Exempt og Nil,
From and To dates required,Fra og Til dato kræves,
From value must be less than to value in row {0},Fra værdi skal være mindre end at værdien i række {0},
From {0} | {1} {2},Fra {0} | {1} {2},
Fulfillment,Opfyldelse,
Full Name,Navn,
Fully Depreciated,fuldt afskrevet,
Furnitures and Fixtures,Havemøbler og Kampprogram,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Kan gøres yderligere konti under grupper, men oplysningerne kan gøres mod ikke-grupper",
Further cost centers can be made under Groups but entries can be made against non-Groups,Yderligere omkostninger centre kan foretages under Grupper men indtastninger kan foretages mod ikke-grupper,
Further nodes can be only created under 'Group' type nodes,Yderligere noder kan kun oprettes under &#39;koncernens typen noder,
GSTIN,GSTIN,
GSTR3B-Form,GSTR3B-Form,
Gain/Loss on Asset Disposal,Gevinst/tab vedr. salg af anlægsaktiv,
Gantt Chart,Gantt-diagram,
Gantt chart of all tasks.,Gantt-diagram af alle opgaver.,
Gender,Køn,
General,Generelt,
General Ledger,Finansbogholderi,
Generate Material Requests (MRP) and Work Orders.,Generer materialeanmodninger (MRP) og arbejdsordrer.,
Generate Secret,Generer Secret,
Get Invocies,Få kald,
Get Invoices,Få fakturaer,
Get Invoices based on Filters,Hent fakturaer baseret på filtre,
Get Items from BOM,Hent varer fra stykliste,
Get Items from Healthcare Services,Få artikler fra sundhedsydelser,
Get Items from Prescriptions,Få artikler fra recepter,
Get Items from Product Bundle,Hent varer fra produktpakke,
Get Suppliers,Få leverandører,
Get Suppliers By,Få leverandører af,
Get Updates,Modtag nyhedsbrev,
Get customers from,Få kunder fra,
Get from Patient Encounter,Hent fra patientens konsultationer,
Getting Started,Kom godt i gang,
GitHub Sync ID,GitHub Sync ID,
Global settings for all manufacturing processes.,Globale indstillinger for alle produktionsprocesser.,
Go to the Desktop and start using ERPNext,Gå til skrivebordet og begynd at bruge ERPNext,
GoCardless SEPA Mandate,GoCardless SEPA Mandat,
GoCardless payment gateway settings,GoCardless betalings gateway indstillinger,
Goal and Procedure,Mål og procedure,
Goals cannot be empty,Mål kan ikke være tom,
Goods In Transit,Varer i transit,
Goods Transferred,Varer overført,
Goods and Services Tax (GST India),Varer og tjenesteydelser Skat (GST Indien),
Goods are already received against the outward entry {0},Varer er allerede modtaget mod den udgående post {0},
Government,Regeringen,
Grand Total,Beløb i alt,
Grant,Give,
Grant Application,Grant ansøgning,
Grant Leaves,Grant Leaves,
Grant information.,Giv oplysninger.,
Grocery,Købmand,
Gross Profit,Gross Profit,
Gross Profit %,Gross Profit%,
Gross Profit / Loss,Gross Profit / Loss,
Gross Purchase Amount,Bruttokøbesum,
Gross Purchase Amount is mandatory,Bruttokøbesummen er obligatorisk,
Group by Account,Sortér efter konto,
Group by Party,Gruppér efter Selskab,
Group by Voucher,Sortér efter Bilagstype,
Group by Voucher (Consolidated),Gruppe af voucher (konsolideret),
Group node warehouse is not allowed to select for transactions,Gruppe node lager er ikke tilladt at vælge for transaktioner,
Group to Non-Group,Gruppe til ikke-Group,
Group your students in batches,Opdel dine elever i grupper,
Groups,grupper,
Guardian1 Email ID,Guardian1 Email ID,
Guardian1 Mobile No,Formynder 1 mobiltelefonnr.,
Guardian1 Name,Guardian1 Navn,
Guardian2 Email ID,Guardian2 Email ID,
Guardian2 Mobile No,Formynder 2 mobiltelefonnr.,
Guardian2 Name,Guardian2 Navn,
HR Manager,HR-chef,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Yearly,Halvårlig,
Half-Yearly,Halvårlig,
Hardware,Hardware,
Head of Marketing and Sales,Salg- og marketingschef,
Health Care,Sundhed,
Healthcare,Healthcare,
Healthcare (beta),Sundhedspleje (beta),
Healthcare Practitioner,Sundhedsmedarbejder,
Healthcare Practitioner not available on {0},Sundhedsmedarbejder er ikke tilgængelig den {0},
Healthcare Practitioner {0} not available on {1},Healthcare Practitioner {0} ikke tilgængelig på {1},
Healthcare Service Unit,Sundhedsvæsen Service Unit,
Healthcare Service Unit Tree,Healthcare Service Unit Tree,
Healthcare Service Unit Type,Servicetyper,
Healthcare Services,Sundhedsydelser,
Healthcare Settings,Sundhedsindstillinger,
Help Results for,Hjælp Resultater til,
High,Høj,
High Sensitivity,Høj følsomhed,
Hold,Hold,
Hold Invoice,Hold faktura,
Holiday,Holiday,
Holiday List,Helligdagskalender,
Hotel Rooms of type {0} are unavailable on {1},Hotelværelser af typen {0} er ikke tilgængelige på {1},
Hotels,Hoteller,
Hourly,Hver time,
Hours,timer,
How Pricing Rule is applied?,Hvordan anvendes en prisfastsættelsesregel?,
Hub Category,Nav kategori,
Hub Sync ID,Hub Sync ID,
Human Resource,Menneskelige ressourcer,
Human Resources,Medarbejdere,
IGST Amount,IGST Beløb,
IP Address,IP-adresse,
ITC Available (whether in full op part),ITC tilgængelig (uanset om det er i fuld op-del),
ITC Reversed,ITC vendt,
Identifying Decision Makers,Identificerende beslutningstagere,
"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 markeret, bliver kunderne automatisk knyttet til det berørte loyalitetsprogram (ved at gemme)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Hvis flere Priser Regler fortsat gældende, er brugerne bedt om at indstille prioritet manuelt for at løse konflikter.",
"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 den valgte prissætningsregel er lavet til &#39;Rate&#39;, overskrives den Prisliste. Prissætning Regelpris er den endelige sats, så ingen yderligere rabat bør anvendes. Derfor vil i transaktioner som salgsordre, indkøbsordre osv. Blive 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 Priser Regler er fundet på grundlag af de ovennævnte betingelser, er Priority anvendt. Prioritet er et tal mellem 0 og 20, mens Standardværdien er nul (blank). Højere antal betyder, at det vil have forrang, hvis der er flere Priser Regler med samme betingelser.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Hvis ubegrænset udløb for loyalitetspoint, skal du holde udløbsperioden tom eller 0.",
"If you have any questions, please get back to us.","Hvis du har spørgsmål, er du velkommen til at kontakte os.",
Ignore Existing Ordered Qty,Ignorer eksisterende bestilt antal,
Image,Billede,
Image View,Billede View,
Import Data,Importer data,
Import Day Book Data,Importer dagbogsdata,
Import Log,Import-log,
Import Master Data,Importer stamdata,
Import in Bulk,Indlæsning,
Import of goods,Import af varer,
Import of services,Import af tjenester,
Importing Items and UOMs,Import af varer og UOM&#39;er,
Importing Parties and Addresses,Import af parter og adresser,
In Maintenance,Ved vedligeholdelse,
In Production,I produktion,
In Qty,I antal,
In Stock Qty,På lager Antal,
In Stock: ,På lager:,
In Value,I Value,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","I tilfælde af multi-tier program, vil kunder automatisk blive tildelt den pågældende tier som per deres brugt",
Inactive,inaktive,
Incentives,Incitamenter,
Include Default Book Entries,Inkluder standardbogsindlæg,
Include Exploded Items,Inkluder eksploderede elementer,
Include POS Transactions,Inkluder POS-transaktioner,
Include UOM,Inkluder UOM,
Included in Gross Profit,Inkluderet i bruttoresultat,
Income,Indtægter,
Income Account,Indtægtskonto,
Income Tax,Indkomstskat,
Incoming,Indgående,
Incoming Rate,Indgående sats,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Forkert antal finansposter fundet. Du har muligvis valgt en forkert konto.,
Increment cannot be 0,Tilvækst kan ikke være 0,
Increment for Attribute {0} cannot be 0,Tilvækst til Attribut {0} kan ikke være 0,
Indirect Expenses,Indirekte udgifter,
Indirect Income,Indirekte Indkomst,
Individual,Privatperson,
Ineligible ITC,Ikke-støtteberettiget ITC,
Initiated,Indledt,
Inpatient Record,Inpatient Record,
Installation Note,Installation Bemærk,
Installation Note {0} has already been submitted,Installation Bemærk {0} er allerede blevet indsendt,
Installation date cannot be before delivery date for Item {0},Installation dato kan ikke være før leveringsdato for Item {0},
Installing presets,Installation af forudindstillinger,
Institute Abbreviation,Institut forkortelse,
Institute Name,Institut Navn,
Instructor,Instruktør,
Insufficient Stock,Utilstrækkelig Stock,
Insurance Start date should be less than Insurance End date,Forsikring Startdato skal være mindre end Forsikring Slutdato,
Integrated Tax,Integreret Skat,
Inter-State Supplies,Mellemstatlige forsyninger,
Internet Publishing,Internet Publishing,
Intra-State Supplies,Mellemstatlige forsyninger,
Introduction,Introduktion,
Invalid Attribute,Ugyldig attribut,
Invalid Blanket Order for the selected Customer and Item,Ugyldig ordreordre for den valgte kunde og vare,
Invalid Company for Inter Company Transaction.,Ugyldigt firma til transaktion mellem virksomheder.,
Invalid GSTIN! A GSTIN must have 15 characters.,Ugyldig GSTIN! En GSTIN skal have 15 tegn.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Ugyldig GSTIN! De første 2 cifre i GSTIN skal matche med statens nummer {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,Ugyldig GSTIN! Det indtastede input stemmer ikke overens med GSTIN-formatet.,
Invalid Posting Time,Ugyldig postetid,
Invalid attribute {0} {1},Ugyldig attribut {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Ugyldig mængde angivet for element {0}. Mængde bør være større end 0.,
Invalid reference {0} {1},Ugyldig henvisning {0} {1},
Invalid {0},Ugyldig {0},
Invalid {0} for Inter Company Transaction.,Ugyldig {0} til transaktion mellem virksomheder.,
Invalid {0}: {1},Ugyldig {0}: {1},
Inventory,Inventory,
Investment Banking,Investment Banking,
Investments,Investeringer,
Invoice,Faktura,
Invoice Created,Faktura er oprettet,
Invoice Discounting,Faktura diskontering,
Invoice Patient Registration,Faktura Patientregistrering,
Invoice Posting Date,Faktura Bogføringsdato,
Invoice Type,Fakturatype,
Invoice already created for all billing hours,Faktura er allerede oprettet for alle faktureringstimer,
Invoice can't be made for zero billing hour,Fakturaen kan ikke laves for nul faktureringstid,
Invoice {0} no longer exists,Faktura {0} eksisterer ikke længere,
Invoiced,faktureret,
Invoiced Amount,Faktureret beløb,
Invoices,Fakturaer,
Invoices for Costumers.,Fakturaer for kunder.,
Inward supplies from ISD,Indgående forsyninger fra ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),"Indgående leverancer, der kan tilbageføres (undtagen 1 og 2 ovenfor)",
Is Active,Er Aktiv,
Is Default,Er standard,
Is Existing Asset,Er eksisterende aktiv,
Is Frozen,Er Frozen,
Is Group,Er en kontogruppe,
Issue,Issue,
Issue Material,Issue Materiale,
Issued,Udstedt,
Issues,Spørgsmål,
It is needed to fetch Item Details.,Det er nødvendigt at hente Elementdetaljer.,
Item,Vare,
Item 1,Vare 1,
Item 2,Vare 2,
Item 3,Vare 3,
Item 4,Vare 4,
Item 5,Vare 5,
Item Cart,Varekurv,
Item Code,Varenr.,
Item Code cannot be changed for Serial No.,Varenr. kan ikke ændres for Serienummer,
Item Code required at Row No {0},Varenr. kræves på rækkenr. {0},
Item Description,Varebeskrivelse,
Item Group,Varegruppe,
Item Group Tree,Varegruppetræ,
Item Group not mentioned in item master for item {0},Varegruppe ikke er nævnt i vare-masteren for vare {0},
Item Name,Varenavn,
Item Price added for {0} in Price List {1},Varepris tilføjet 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 gange baseret på prisliste, leverandør / kunde, valuta, vare, uom, antal og datoer.",
Item Price updated for {0} in Price List {1},Vareprisen opdateret for {0} i prisliste {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Vare række {0}: {1} {2} findes ikke i ovenstående &#39;{1}&#39; tabel,
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,"Varemoms række {0} skal have en konto med \ntypen moms, indtægt, omkostning eller kan debiteres",
Item Template,Vareskabelon,
Item Variant Settings,Variantindstillinger,
Item Variant {0} already exists with same attributes,Item Variant {0} findes allerede med samme attributter,
Item Variants,Varevarianter,
Item Variants updated,Produktvarianter opdateret,
Item has variants.,Vare har varianter.,
Item must be added using 'Get Items from Purchase Receipts' button,"Varer skal tilføjes ved hjælp af knappen: ""Hent varer fra købskvitteringer""",
Item valuation rate is recalculated considering landed cost voucher amount,Item værdiansættelse sats genberegnes overvejer landede omkostninger kupon beløb,
Item variant {0} exists with same attributes,Vare variant {0} eksisterer med samme attributter,
Item {0} does not exist,Element {0} eksisterer ikke,
Item {0} does not exist in the system or has expired,Vare {0} findes ikke i systemet eller er udløbet,
Item {0} has already been returned,Element {0} er allerede blevet returneret,
Item {0} has been disabled,Vare {0} er blevet deaktiveret,
Item {0} has reached its end of life on {1},Vare {0} har nået slutningen af sin levetid på {1},
Item {0} ignored since it is not a stock item,"Vare {0} ignoreres, da det ikke er en lagervare",
"Item {0} is a template, please select one of its variants",Vare {0} er en skabelon. Vælg venligst en af dens varianter,
Item {0} is cancelled,Vare {0} er aflyst,
Item {0} is disabled,Vare {0} er deaktiveret,
Item {0} is not a serialized Item,Vare {0} er ikke en serienummervare,
Item {0} is not a stock Item,Vare {0} er ikke en lagervare,
Item {0} is not active or end of life has been reached,Vare {0} er ikke aktiv eller slutningen af livet er nået,
Item {0} is not setup for Serial Nos. Check Item master,Vare {0} er ikke sat op til serienumre. Tjek vare-masteren,
Item {0} is not setup for Serial Nos. Column must be blank,Vare {0} er ikke opsat til serienumre. Kolonnen skal være tom,
Item {0} must be a Fixed Asset Item,Vare {0} skal være en anlægsaktiv-vare,
Item {0} must be a Sub-contracted Item,Vare {0} skal være en underentreprise Vare,
Item {0} must be a non-stock item,Vare {0} skal være en ikke-lagervare,
Item {0} must be a stock Item,Vare {0} skal være en lagervare,
Item {0} not found,Vare {0} ikke fundet,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Vare {0} ikke fundet i &quot;Raw Materials Leveres &#39;bord i Indkøbsordre {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Vare {0}: Bestilte qty {1} kan ikke være mindre end minimum ordreantal {2} (defineret i punkt).,
Item: {0} does not exist in the system,Item: {0} findes ikke i systemet,
Items,Varer,
Items Filter,Elementer Filter,
Items and Pricing,Varer og priser,
Items for Raw Material Request,Varer til anmodning om råvarer,
Job Card,Jobkort,
Job card {0} created,Jobkort {0} oprettet,
Join,Tilslutte,
Journal Entries {0} are un-linked,Journaloptegnelser {0} er un-forbundet,
Journal Entry,Kassekladde,
Journal Entry {0} does not have account {1} or already matched against other voucher,Kassekladde {0} har ikke konto {1} eller allerede matchet mod andre kupon,
Kanban Board,Kanbantavle,
Key Reports,Nøglerapporter,
LMS Activity,LMS-aktivitet,
Lab Test,Laboratorieprøve,
Lab Test Report,Laboratorieprøveliste,
Lab Test Sample,Laboratorieprøver,
Lab Test Template,Laboratorieprøveskabelon,
Lab Test UOM,Laboratorieprøve enhedskode,
Lab Tests and Vital Signs,Lab Tests og Vital Signs,
Lab result datetime cannot be before testing datetime,Lab resultatet datetime kan ikke være før testen datetime,
Lab testing datetime cannot be before collection datetime,Lab testning datetime kan ikke være før datetime samling,
Label,Label,
Laboratory,Laboratorium,
Large,Stor,
Last Communication,Sidste Kommunikation,
Last Communication Date,Sidste kommunikationsdato,
Last Name,Efternavn,
Last Order Amount,Sidste ordrebeløb,
Last Order Date,Sidste ordredato,
Last Purchase Price,Sidste købspris,
Last Purchase Rate,Sidste købsværdi,
Latest,Seneste,
Latest price updated in all BOMs,Seneste pris opdateret i alle BOMs,
Lead,Emne,
Lead Count,Lead Count,
Lead Owner,Emneejer,
Lead Owner cannot be same as the Lead,Emneejer kan ikke være den samme som emnet,
Lead Time Days,Lead Time dage,
Lead to Quotation,Emne til tilbud,
"Leads help you get business, add all your contacts and more as your leads","Leads hjælpe dig virksomhed, tilføje alle dine kontakter, og flere som din fører",
Learn,Hjælp,
Leave Management,Fraværsadministration,
Leave and Attendance,Fravær og fremmøde,
Leave application {0} already exists against the student {1},Forlad ansøgning {0} eksisterer allerede mod den studerende {1},
Leaves has been granted sucessfully,Blade er blevet givet succesfuldt,
Leaves must be allocated in multiples of 0.5,"Fravær skal angives i multipla af 0,5",
Ledger,Ledger,
Legal,Juridisk,
Legal Expenses,Advokatudgifter,
Letter Head,Brevhoved,
Letter Heads for print templates.,Brevhoveder til udskriftsskabeloner.,
Level,Niveau,
Liability,Passiver,
Limit Crossed,Grænse overskredet,
Link to Material Request,Link til materialeanmodning,
List of all share transactions,Liste over alle aktietransaktioner,
List of available Shareholders with folio numbers,Liste over tilgængelige aktionærer med folio numre,
Loading Payment System,Indlæser betalingssystem,
Loan,Lån,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Lånets startdato og låneperiode er obligatorisk for at gemme fakturadiskontering,
Loans (Liabilities),Lån (passiver),
Loans and Advances (Assets),Udlån (aktiver),
Local,Lokal,
Logs for maintaining sms delivery status,Logs for opretholdelse sms leveringsstatus,
Lost,Tabt,
Lost Reasons,Tabte grunde,
Low,Lav,
Low Sensitivity,Lav følsomhed,
Lower Income,Lavere indkomst,
Loyalty Amount,Loyalitetsbeløb,
Loyalty Point Entry,Loyalitetspunkt indtastning,
Loyalty Points,Loyalitetspoint,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Loyalitetspoint beregnes ud fra det brugte udbytte (via salgsfakturaen), baseret på den nævnte indsamlingsfaktor.",
Loyalty Points: {0},Loyalitetspoint: {0},
Loyalty Program,Loyalitetsprogram,
Main,Hoved,
Maintenance,Vedligeholdelse,
Maintenance Log,Vedligeholdelseslog,
Maintenance Manager,Vedligeholdelseschef,
Maintenance Schedule,Vedligeholdelsesplan,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',"Vedligeholdelsesplan er ikke dannet for alle varer. Klik på ""Generér plan'",
Maintenance Schedule {0} exists against {1},Vedligeholdelsesplan {0} eksisterer imod {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,"Vedligeholdelsesplan {0} skal annulleres, før denne salgsordre kan annulleres",
Maintenance Status has to be Cancelled or Completed to Submit,Vedligeholdelsesstatus skal annulleres eller afsluttes for at indsende,
Maintenance User,Vedligeholdelsesbruger,
Maintenance Visit,Vedligeholdelsesbesøg,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,"Vedligeholdelsesbesøg {0} skal annulleres, før den denne salgordre annulleres",
Maintenance start date can not be before delivery date for Serial No {0},Vedligeholdelsesstartdato kan ikke være før leveringsdato for serienummer {0},
Make,Opret,
Make Payment,Foretag indbetaling,
Make project from a template.,Opret et projekt fra en skabelon.,
Making Stock Entries,Making Stock Angivelser,
Male,Mand,
Manage Customer Group Tree.,Administrer kundegruppetræ.,
Manage Sales Partners.,Administrér forhandlere.,
Manage Sales Person Tree.,Administrer Sales Person Tree.,
Manage Territory Tree.,Administrer Område-træ.,
Manage your orders,Administrer dine ordrer,
Management,Ledelse,
Manager,Leder,
Managing Projects,Håndtering af sager,
Managing Subcontracting,Håndtering af underleverancer,
Mandatory,Obligatorisk,
Mandatory field - Academic Year,Obligatorisk felt - skoleår,
Mandatory field - Get Students From,Obligatorisk felt - Få studerende fra,
Mandatory field - Program,Obligatorisk felt - Program,
Manufacture,Fremstilling,
Manufacturer,Producent,
Manufacturer Part Number,Producentens varenummer,
Manufacturing,Produktion,
Manufacturing Quantity is mandatory,Produktionmængde er obligatorisk,
Mapping,Kortlægning,
Mapping Type,Kortlægningstype,
Mark Absent,Markér ikke-tilstede,
Mark Half Day,Mark Halvdags,
Mark Present,Marker tilstede,
Marketing,Marketing,
Marketing Expenses,Markedsføringsomkostninger,
Marketplace,Marketplace,
Marketplace Error,Markedspladsfejl,
Masters,Masters,
Match Payments with Invoices,Match betalinger med fakturaer,
Match non-linked Invoices and Payments.,Match ikke-forbundne fakturaer og betalinger.,
Material,Materiale,
Material Consumption,Materialeforbrug,
Material Consumption is not set in Manufacturing Settings.,Materialforbrug er ikke angivet i fremstillingsindstillinger.,
Material Receipt,Materiale Kvittering,
Material Request,Materialeanmodning,
Material Request Date,Materialeanmodningsdato,
Material Request No,Materiale Request Nej,
"Material Request not created, as quantity for Raw Materials already available.","Materialeanmodning ikke oprettet, da der allerede findes mængde råvarer.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Materialeanmodning af maksimum {0} kan oprettes for vare {1} mod salgsordre {2},
Material Request to Purchase Order,Materialeanmodning til indkøbsordre,
Material Request {0} is cancelled or stopped,Materialeanmodning {0} er annulleret eller stoppet,
Material Request {0} submitted.,Materiellanmodning {0} indsendt.,
Material Transfer,Materiale Transfer,
Material Transferred,Materiale overført,
Material to Supplier,Materiale til leverandøren,
Max discount allowed for item: {0} is {1}%,Maksimal rabat tilladt for vare: {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} er allerede bevaret for Batch {1} og Item {2} i Batch {3}.,
Maximum discount for Item {0} is {1}%,Maksimal rabat for vare {0} er {1}%,
Medical Code,Medicinske koder,
Medical Code Standard,Medicinske standardkoder,
Medical Department,Medicinsk afdeling,
Medical Record,Medicinsk journal,
Medium,Medium,
Member Activity,Medlem Aktivitet,
Member ID,Medlems ID,
Member Name,Medlems navn,
Member information.,Medlemsoplysninger.,
Membership,Medlemskab,
Membership Details,Medlemskabsdetaljer,
Membership ID,Medlemskab ID,
Membership Type,Medlemskabstype,
Memebership Details,Memebership Detaljer,
Memebership Type Details,Memebership Type Detaljer,
Merge,Fusionere,
Merge Account,Fusionskonto,
Merge with Existing Account,Flet sammen med eksisterende konto,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Sammenlægning er kun muligt, hvis følgende egenskaber er ens i begge poster: Er en kontogruppe, Rodtype og firma",
Message Examples,Besked Eksempler,
Message Sent,Besked sendt,
Method,Metode,
Middle Income,Midterste indkomst,
Middle Name,Mellemnavn,
Middle Name (Optional),Mellemnavn (Valgfrit),
Min Amt can not be greater than Max Amt,Min Amt kan ikke være større end Max Amt,
Min Qty can not be greater than Max Qty,Min Antal kan ikke være større end Max Antal,
Minimum Lead Age (Days),Mindste levealder (dage),
Miscellaneous Expenses,Diverse udgifter,
Missing Currency Exchange Rates for {0},Manglende Valutakurser for {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Der mangler en e-mailskabelon til forsendelsen. Vælg venligst en e-mailskabelon under Leveringsindstillinger.,
"Missing value for Password, API Key or Shopify URL","Manglende værdi for Password, API Key eller Shopify URL",
Mode of Payment,Betalingsmåde,
Mode of Payments,Betalingsmåde,
Mode of Transport,Transportform,
Mode of Transportation,Transportform,
Model,Model,
Moderate Sensitivity,Moderat følsomhed,
Monday,Mandag,
Monthly,Månedlig,
Monthly Distribution,Månedlig distribution,
More,Mere,
More Information,Mere information,
More...,Mere...,
Motion Picture & Video,Motion Picture &amp; Video,
Move,flytte,
Move Item,Flyt vare,
Multi Currency,Multi Valuta,
Multiple Item prices.,Flere varepriser.,
Multiple Loyalty Program found for the Customer. Please select manually.,Flere loyalitetsprogram fundet for kunden. Vælg venligst manuelt.,
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Flere Pris Regler eksisterer med samme kriterier, skal du løse konflikter ved at tildele prioritet. Pris Regler: {0}",
Multiple Variants,Flere varianter,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Flere regnskabsår findes for den dato {0}. Indstil selskab i regnskabsåret,
Music,musik,
Name error: {0},Navn fejl: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Navn på ny konto. Bemærk: Du må ikke oprette konti for kunder og leverandører,
Name or Email is mandatory,Navn eller e-mail er obligatorisk,
Nature Of Supplies,Forsyningens art,
Navigating,Navigering,
Needs Analysis,Behovsanalyse,
Negative Quantity is not allowed,Negative Mængde er ikke tilladt,
Negative Valuation Rate is not allowed,Negative Værdiansættelses Rate er ikke tilladt,
Negotiation/Review,Forhandling / anmeldelse,
Net Asset value as on,Indre værdi som på,
Net Cash from Financing,Netto kontant fra finansiering,
Net Cash from Investing,Netto kontant fra Investering,
Net Cash from Operations,Netto kontant fra drift,
Net Change in Accounts Payable,Netto Ændring i Kreditor,
Net Change in Accounts Receivable,Nettoændring i Debitor,
Net Change in Cash,Nettoændring i kontanter,
Net Change in Equity,Nettoændring i Equity,
Net Change in Fixed Asset,Nettoændring i anlægsaktiver,
Net Change in Inventory,Netto Ændring i Inventory,
Net ITC Available(A) - (B),Net ITC tilgængelig (A) - (B),
Net Profit,Nettovinst,
Net Total,Netto i alt,
New Account Name,Ny Kontonavn,
New Address,Ny adresse,
New BOM,Ny stykliste,
New Batch ID (Optional),Nyt partinr. (valgfri),
New Batch Qty,Ny partimængde,
New Company,Nyt firma,
New Cost Center Name,Ny Cost center navn,
New Customer Revenue,Omsætning nye kunder,
New Customers,Nye kunder,
New Department,Ny afdeling,
New Employee,Ny medarbejder,
New Location,Ny placering,
New Quality Procedure,Ny kvalitetsprocedure,
New Sales Invoice,Nye salgsfaktura,
New Sales Person Name,Navn på ny salgsmedarbejder,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nyt serienummer kan ikke have lager angivet. Lageret skal sættes ved lagerindtastning eller købskvittering,
New Warehouse Name,Nyt lagernavn,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Ny kreditmaksimum er mindre end nuværende udestående beløb for kunden. Credit grænse skal være mindst {0},
New task,Ny opgave,
New {0} pricing rules are created,Nye {0} prisregler oprettes,
Newspaper Publishers,Dagbladsudgivere,
Next,Næste,
Next Contact By cannot be same as the Lead Email Address,Næste kontakt af kan ikke være den samme som emnets e-mailadresse,
Next Contact Date cannot be in the past,Næste kontakt d. kan ikke være i fortiden,
Next Steps,Næste skridt,
No Action,Ingen handling,
No Customers yet!,Ingen kunder endnu!,
No Data,Ingen data,
No Delivery Note selected for Customer {},Ingen leveringskort valgt til kunden {},
No Item with Barcode {0},Ingen vare med stregkode {0},
No Item with Serial No {0},Ingen vare med serienummer {0},
No Items available for transfer,Ingen emner til overførsel,
No Items selected for transfer,Ingen emner valgt til overførsel,
No Items to pack,Ingen varer at pakke,
No Items with Bill of Materials to Manufacture,Ingen stykliste-varer at fremstille,
No Items with Bill of Materials.,Ingen varer med materialeregning.,
No Permission,Ingen tilladelse,
No Remarks,Ingen bemærkninger,
No Result to submit,Intet resultat at indsende,
No Student Groups created.,Ingen elevgrupper oprettet.,
No Students in,Ingen studerende i,
No Tax Withholding data found for the current Fiscal Year.,Ingen skat indeholdende data fundet for indeværende regnskabsår.,
No Work Orders created,Ingen arbejdsordrer er oprettet,
No accounting entries for the following warehouses,Ingen bogføring for følgende lagre,
No contacts with email IDs found.,Ingen kontakter med e-mail-id&#39;er fundet.,
No data for this period,Ingen data for denne periode,
No description given,Ingen beskrivelse,
No employees for the mentioned criteria,Ingen ansatte for de nævnte kriterier,
No gain or loss in the exchange rate,Ingen gevinst eller tab i valutakursen,
No items listed,Ingen emner opført,
No items to be received are overdue,"Ingen emner, der skal modtages, er for sent",
No material request created,Ingen væsentlig forespørgsel oprettet,
No of Interactions,Ingen af interaktioner,
No of Shares,Antal aktier,
No pending Material Requests found to link for the given items.,Ingen afventer materialeanmodninger fundet for at linke for de givne varer.,
No products found,Ingen produkter fundet,
No products found.,Ingen produkter fundet.,
No record found,Ingen post fundet,
No records found in the Invoice table,Ingen poster i faktureringstabellen,
No records found in the Payment table,Ingen resultater i Payment tabellen,
No tasks,Ingen opgaver,
No time sheets,Ingen tidsregistreringer,
No values,Ingen værdier,
No {0} found for Inter Company Transactions.,Nej {0} fundet for Inter Company Transactions.,
Non GST Inward Supplies,Ikke-leverancer inden for GST,
Non Profit,Non Profit,
Non Profit (beta),Ikke-profit (beta),
Non-GST outward supplies,Ikke-GST udgående forsyninger,
Non-Group to Group,Ikke-gruppe til gruppe,
None,Ingen,
None of the items have any change in quantity or value.,Ingen af varerne har nogen ændring i mængde eller værdi.,
Nos,Nummerserie,
Not Available,Ikke tilgængelig,
Not Marked,Ikke markeret,
Not Paid and Not Delivered,Ikke betalte og ikke leveret,
Not Permitted,Ikke Tilladt,
Not Started,Ikke igangsat,
Not active,Ikke aktiv,
Not allow to set alternative item for the item {0},Tillad ikke at indstille alternativt element til varen {0},
Not allowed to update stock transactions older than {0},Ikke tilladt at opdatere lagertransaktioner ældre end {0},
Not authorized to edit frozen Account {0},Ikke autoriseret til at redigere låst konto {0},
Not authroized since {0} exceeds limits,Ikke authroized da {0} overskrider grænser,
Not permitted for {0},Ikke tilladt for {0},
"Not permitted, configure Lab Test Template as required","Ikke tilladt, konfigurere Lab Test Template efter behov",
Not permitted. Please disable the Service Unit Type,Ikke muligt. Deaktiver venligst serviceenhedstypen,
Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Bemærk: forfalden / reference Dato overstiger tilladte kredit dage efter {0} dag (e),
Note: Item {0} entered multiple times,Bemærk: Varer {0} indtastet flere gange,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Bemærk: Betaling indtastning vil ikke blive oprettet siden &#39;Kontant eller bank konto&#39; er ikke angivet,
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Bemærk: Systemet vil ikke kontrollere over-levering og over-booking for Item {0} som mængde eller beløb er 0,
Note: There is not enough leave balance for Leave Type {0},Bemærk: Der er ikke nok dage til rådighed til fraværstype {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Bemærk: Dette omkostningssted er en gruppe. Kan ikke postere mod grupper.,
Note: {0},Bemærk: {0},
Notes,Noter,
Nothing is included in gross,Intet er inkluderet i brutto,
Nothing more to show.,Intet mere at vise.,
Notify Customers via Email,Underret kunder via e-mail,
Number,Nummer,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Antal Afskrivninger Reserverede kan ikke være større end alt Antal Afskrivninger,
Number of Interaction,Antal interaktioner,
Number of Order,Antal Order,
"Number of new Account, it will be included in the account name as a prefix","Antal nye konti, det vil blive inkluderet i kontonavnet som et præfiks",
"Number of new Cost Center, it will be included in the cost center name as a prefix","Antal nye Omkostningscenter, det vil blive inkluderet i priscenternavnet som et præfiks",
Number of root accounts cannot be less than 4,Antallet af rodkonti kan ikke være mindre end 4,
Odometer,kilometertæller,
Office Equipments,Kontorudstyr,
Office Maintenance Expenses,Kontorholdudgifter,
Office Rent,Kontorleje,
On Hold,I venteposition,
On Net Total,On Net Total,
One customer can be part of only single Loyalty Program.,En kunde kan kun indgå i et enkelt loyalitetsprogram.,
Online Auctions,Online auktioner,
"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Kun den studerendes ansøger med statusen &quot;Godkendt&quot; vælges i nedenstående tabel.,
Only users with {0} role can register on Marketplace,Kun brugere med {0} rolle kan registrere sig på Marketplace,
Open BOM {0},Åben stykliste {0},
Open Item {0},Åbent Item {0},
Open Notifications,Åbne Meddelelser,
Open Orders,Åbn ordrer,
Open a new ticket,Åbn en ny billet,
Opening,Åbning,
Opening (Cr),Åbning (Cr),
Opening (Dr),Åbning (Dr),
Opening Accounting Balance,Åbning Regnskab Balance,
Opening Accumulated Depreciation,Åbning Akkumulerede afskrivninger,
Opening Accumulated Depreciation must be less than equal to {0},Åbning Akkumuleret afskrivning skal være mindre end lig med {0},
Opening Balance,Åbnings balance,
Opening Balance Equity,Åbning Balance Egenkapital,
Opening Date and Closing Date should be within same Fiscal Year,Åbning Dato og Closing Datoen skal ligge inden samme regnskabsår,
Opening Date should be before Closing Date,"Åbning Dato bør være, før Closing Dato",
Opening Entry Journal,Åbning Entry Journal,
Opening Invoice Creation Tool,Åbning af fakturaoprettelsesværktøj,
Opening Invoice Item,Åbning af fakturaelement,
Opening Invoices,Åbning af fakturaer,
Opening Invoices Summary,Åbning af fakturaoversigt,
Opening Qty,Åbning Antal,
Opening Stock,Åbning Stock,
Opening Stock Balance,Åbning Stock Balance,
Opening Value,åbning Value,
Opening {0} Invoice created,Åbning {0} Faktura oprettet,
Operation,Operation,
Operation Time must be greater than 0 for Operation {0},Driftstid skal være større end 0 til drift {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Betjening {0} længere end alle tilgængelige arbejdstimer i arbejdsstation {1}, nedbryde driften i flere operationer",
Operations,operationer,
Operations cannot be left blank,Operationer kan ikke være tomt,
Opp Count,Opp Count,
Opp/Lead %,Opp / Lead%,
Opportunities,Salgsmuligheder,
Opportunities by lead source,Muligheder ved hjælp af blykilde,
Opportunity,Salgsmulighed,
Opportunity Amount,Mulighedsbeløb,
"Optional. Sets company's default currency, if not specified.","Valgfri. Sætter virksomhedens standard valuta, hvis ikke angivet.",
Optional. This setting will be used to filter in various transactions.,Valgfri. Denne indstilling vil blive brugt til at filtrere i forskellige transaktioner.,
Options,Optioner,
Order Count,Ordreantal,
Order Entry,Ordreindgang,
Order Value,Ordreværdi,
Order rescheduled for sync,Ordre omlagt til synkronisering,
Order/Quot %,Ordre / Quot%,
Ordered,bestilt,
Ordered Qty,Bestilt Antal,
"Ordered Qty: Quantity ordered for purchase, but not received.","Bestilt antal: Mængde bestilt til køb, men ikke modtaget.",
Orders,ordrer,
Orders released for production.,Ordrer frigivet til produktion.,
Organization,Organisation,
Organization Name,Organisationens navn,
Other,Andre,
Other Reports,Andre rapporter,
"Other outward supplies(Nil rated,Exempted)","Andre udgående leverancer (Nul bedømt, undtaget)",
Out Qty,Out Antal,
Out Value,Out Value,
Out of Order,Virker ikke,
Outgoing,Udgående,
Outstanding,Udestående,
Outstanding Amount,Udestående beløb,
Outstanding Amt,Enestående Amt,
Outstanding Cheques and Deposits to clear,Anvendes ikke,
Outstanding for {0} cannot be less than zero ({1}),Enestående for {0} kan ikke være mindre end nul ({1}),
Outward taxable supplies(zero rated),Udgående afgiftspligtige forsyninger (nul nominel),
Overdue,Forfalden,
Overlap in scoring between {0} and {1},Overlappe i scoring mellem {0} og {1},
Overlapping conditions found between:,Overlappende betingelser fundet mellem:,
Owner,Ejer,
PAN,PANDE,
POS,Kassesystem,
POS Profile,Kassesystemprofil,
POS Profile is required to use Point-of-Sale,POS-profil er påkrævet for at bruge Point-of-Sale,
POS Profile required to make POS Entry,POS profil kræves for at gøre POS indtastning,
POS Settings,POS-indstillinger,
Packed quantity must equal quantity for Item {0} in row {1},Pakket mængde skal være lig mængde for vare {0} i række {1},
Packing Slip,Pakkeseddel,
Packing Slip(s) cancelled,Pakkeseddel (ler) annulleret,
Paid,betalt,
Paid Amount,Betalt beløb,
Paid Amount cannot be greater than total negative outstanding amount {0},Betalt beløb kan ikke være større end det samlede negative udestående beløb {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Betalt beløb + Skriv Off Beløb kan ikke være større end beløb i alt,
Paid and Not Delivered,Betalt og ikke leveret,
Parameter,Parameter,
Parent Item {0} must not be a Stock Item,Overordnet bare {0} må ikke være en lagervare,
Parents Teacher Meeting Attendance,Forældres lærermøde,
Partially Depreciated,Delvist afskrevet,
Partially Received,Delvist modtaget,
Party,Selskab,
Party Name,Selskabsnavn,
Party Type,Selskabstype,
Party Type and Party is mandatory for {0} account,Selskabstype og Selskab er obligatorisk for {0} konto,
Party Type is mandatory,Selskabstypen er obligatorisk,
Party is mandatory,Party er obligatorisk,
Past Due Date,Forfaldsdato,
Patient,Patient,
Patient Appointment,Patientaftale,
Patient Encounter,Konsultation,
Patient not found,Patient ikke fundet,
Pay Remaining,Betal resten,
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 annulleret. Tjek venligst din GoCardless-konto for flere detaljer,
Payment Confirmation,Betalingsbekræftelse,
Payment Document,Betaling dokument,
Payment Due Date,Sidste betalingsdato,
Payment Entries {0} are un-linked,Betalings Entries {0} er un-linked,
Payment Entry,Betaling indtastning,
Payment Entry already exists,Betaling indtastning findes allerede,
Payment Entry has been modified after you pulled it. Please pull it again.,"Betaling indtastning er blevet ændret, efter at du trak det. Venligst trække det igen.",
Payment Entry is already created,Betalingspost er allerede dannet,
Payment Failed. Please check your GoCardless Account for more details,Betaling mislykkedes. Tjek venligst din GoCardless-konto for flere detaljer,
Payment Gateway,Betaling Gateway,
"Payment Gateway Account not created, please create one manually.","Betaling Gateway konto ikke oprettet, skal du oprette en manuelt.",
Payment Gateway Name,Betalings gateway navn,
Payment Mode,Betaling tilstand,
Payment Receipt Note,Betalingskvittering,
Payment Request,Betalingsanmodning,
Payment Request for {0},Betalingsanmodning om {0},
Payment Tems,Betalingstemmer,
Payment Term,Betalingsbetingelser,
Payment Terms,Betalingsbetingelser,
Payment Terms Template,Betalingsbetingelser skabelon,
Payment Terms based on conditions,Betalingsbetingelser baseret på betingelser,
Payment Type,Betalingstype,
"Payment Type must be one of Receive, Pay and Internal Transfer","Betaling Type skal være en af Modtag, Pay og Intern Transfer",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Betaling mod {0} {1} kan ikke være større end Udestående beløb {2},
Payment request {0} created,Betalingsanmodning {0} oprettet,
Payments,Betalinger,
Payroll Payable,Udbetalt løn,
Payslip,Lønseddel,
Pending Activities,Afventende aktiviteter,
Pending Amount,Afventende beløb,
Pending Leaves,Afventer blade,
Pending Qty,Afventende antal,
Pending Quantity,Venter mængde,
Pending Review,Afventende anmeldelse,
Pending activities for today,Afventende aktiviteter for i dag,
Pension Funds,Pensionskasser,
Percentage Allocation should be equal to 100%,Procentdel fordeling bør være lig med 100%,
Perception Analysis,Perception Analysis,
Period,Periode,
Period Closing Entry,Periode Lukning indtastning,
Period Closing Voucher,Periode Lukning Voucher,
Periodicity,hyppighed,
Personal Details,Personlige oplysninger,
Pharmaceutical,Farmaceutiske,
Pharmaceuticals,Lægemidler,
Physician,Læge,
Place Of Supply (State/UT),Leveringssted (Stat / UT),
Place Order,Angiv bestilling,
Plan Name,Plan navn,
Plan for maintenance visits.,Plan for vedligeholdelse besøg.,
Planned Qty,Planlagt mængde,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Planlagt antal: Mængde, hvor arbejdsordren er hævet, men afventer at blive fremstillet.",
Planning,Planlægning,
Plants and Machineries,Planter og Machineries,
Please Set Supplier Group in Buying Settings.,Angiv leverandørgruppe i købsindstillinger.,
Please add a Temporary Opening account in Chart of Accounts,Tilføj venligst en midlertidig åbningskonto i kontoplan,
Please add the account to root level Company - ,Tilføj kontoen til rodniveau Firma -,
Please check Multi Currency option to allow accounts with other currency,Kontroller venligst Multi Valuta indstilling for at tillade konti med anden valuta,
Please click on 'Generate Schedule',Klik på &quot;Generer Schedule &#39;,
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Klik på ""Generer plan"" for at hente serienummeret tilføjet til vare {0}",
Please click on 'Generate Schedule' to get schedule,Klik på &quot;Generer Schedule &#39;for at få tidsplan,
Please create purchase receipt or purchase invoice for the item {0},Opret venligst købskvittering eller købsfaktura for varen {0},
Please define grade for Threshold 0%,Angiv venligst lønklasse for Tærskel 0%,
Please enable Applicable on Booking Actual Expenses,Aktivér venligst ved bestilling af faktiske udgifter,
Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Aktivér venligst ved købsordre og gældende ved bestilling af faktiske udgifter,
Please enable pop-ups,Slå pop-ups til,
Please enter 'Is Subcontracted' as Yes or No,Indtast &quot;underentreprise&quot; som Ja eller Nej,
Please enter API Consumer Key,Indtast venligst API forbrugernøgle,
Please enter API Consumer Secret,Indtast venligst API Consumer Secret,
Please enter Account for Change Amount,Indtast konto for returbeløb,
Please enter Approving Role or Approving User,Indtast Godkendelse Rolle eller godkender Bruger,
Please enter Cost Center,Indtast omkostningssted,
Please enter Delivery Date,Indtast venligst Leveringsdato,
Please enter Employee Id of this sales person,Indtast venligst Medarbejder Id dette salg person,
Please enter Expense Account,Indtast venligst udgiftskonto,
Please enter Item Code to get Batch Number,Indtast venligst varenr. for at få partinr.,
Please enter Item Code to get batch no,Indtast venligst varenr. for at få partinr.,
Please enter Item first,Indtast vare først,
Please enter Maintaince Details first,Indtast venligst Maintaince Detaljer først,
Please enter Planned Qty for Item {0} at row {1},Indtast venligst Planned Antal for Item {0} på rækken {1},
Please enter Preferred Contact Email,Indtast foretrukket kontakt e-mail,
Please enter Production Item first,Indtast venligst Produktion Vare først,
Please enter Purchase Receipt first,Indtast venligst købskvittering først,
Please enter Receipt Document,Indtast Kvittering Dokument,
Please enter Reference date,Indtast referencedato,
Please enter Reqd by Date,Indtast venligst Reqd by Date,
Please enter Woocommerce Server URL,Indtast venligst Woocommerce Server URL,
Please enter Write Off Account,Indtast venligst Skriv Off konto,
Please enter atleast 1 invoice in the table,Indtast venligst mindst en faktura i tabellen,
Please enter company first,Indtast venligst firma først,
Please enter company name first,Indtast venligst firmanavn først,
Please enter default currency in Company Master,Indtast standardvaluta i Firma-masteren,
Please enter message before sending,"Indtast venligst en meddelelse, før du sender",
Please enter parent cost center,Indtast overordnet omkostningssted,
Please enter quantity for Item {0},Indtast mængde for vare {0},
Please enter relieving date.,Indtast lindre dato.,
Please enter valid Financial Year Start and End Dates,Indtast venligst det gyldige regnskabsårs start- og slutdatoer,
Please enter valid email address,Indtast venligst en gyldig e-mailadresse,
Please enter {0} first,Indtast venligst {0} først,
Please fill in all the details to generate Assessment Result.,Udfyld alle detaljer for at generere vurderingsresultatet.,
Please identify/create Account (Group) for type - {0},Identificer / opret konto (gruppe) for type - {0},
Please identify/create Account (Ledger) for type - {0},Identificer / opret konto (Ledger) for type - {0},
Please login as another user to register on Marketplace,Log venligst ind som en anden bruger for at registrere dig 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.,"Kontroller, at du virkelig ønsker at slette alle transaktioner for dette selskab. Dine stamdata vil forblive som den er. Denne handling kan ikke fortrydes.",
Please mention Basic and HRA component in Company,Nævn venligst Basic og HRA komponent i Company,
Please mention Round Off Account in Company,Henvis Round Off-konto i selskabet,
Please mention Round Off Cost Center in Company,Henvis afrunde omkostningssted i selskabet,
Please mention no of visits required,"Henvis ikke af besøg, der kræves",
Please mention the Lead Name in Lead {0},Angiv Lead Name in Lead {0},
Please pull items from Delivery Note,Træk varene fra følgeseddel,
Please register the SIREN number in the company information file,Indtast venligst SIREN-nummeret i virksomhedens informationsfil,
Please remove this Invoice {0} from C-Form {1},Fjern denne faktura {0} fra C-Form {1},
Please save the patient first,Gem venligst patienten først,
Please save the report again to rebuild or update,Gem rapporten igen for at genopbygge eller opdatere,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Vælg tildelte beløb, Faktura Type og Fakturanummer i mindst én række",
Please select Apply Discount On,Vælg Anvend Rabat på,
Please select BOM against item {0},Vælg venligst BOM mod punkt {0},
Please select BOM for Item in Row {0},Vælg BOM for Item i række {0},
Please select BOM in BOM field for Item {0},Vælg BOM i BOM vilkår for Item {0},
Please select Category first,Vælg kategori først,
Please select Charge Type first,Vælg Charge Type først,
Please select Company,Vælg firma,
Please select Company and Posting Date to getting entries,Vælg venligst Company og Posting Date for at få poster,
Please select Company first,Vælg venligst firma først,
Please select Completion Date for Completed Asset Maintenance Log,Vælg venligst Afslutningsdato for Udfyldt Asset Maintenance Log,
Please select Completion Date for Completed Repair,Vælg venligst Afslutningsdato for Afsluttet Reparation,
Please select Course,Vælg kursus,
Please select Drug,Vælg venligst medicin,
Please select Existing Company for creating Chart of Accounts,Vælg eksisterende firma for at danne kontoplanen,
Please select Healthcare Service,Vælg venligst Healthcare Service,
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","Vælg venligst en vare, hvor ""Er lagervare"" er ""nej"" og ""Er salgsvare"" er ""Ja"", og der er ingen anden produktpakke",
Please select Maintenance Status as Completed or remove Completion Date,Vælg venligst Vedligeholdelsesstatus som Afsluttet eller fjern Afslutningsdato,
Please select Party Type first,Vælg Selskabstype først,
Please select Patient,Vælg venligst en patient,
Please select Patient to get Lab Tests,Vælg patient for at få laboratorieprøver,
Please select Posting Date before selecting Party,Vælg Bogføringsdato før du vælger Selskab,
Please select Posting Date first,Vælg bogføringsdato først,
Please select Price List,Vælg venligst prisliste,
Please select Program,Vælg venligst Program,
Please select Qty against item {0},Vælg venligst antal imod vare {0},
Please select Sample Retention Warehouse in Stock Settings first,Vælg venligst Sample Retention Warehouse i lagerindstillinger først,
Please select Start Date and End Date for Item {0},Vælg Start og slutdato for Item {0},
Please select Student Admission which is mandatory for the paid student applicant,"Vælg venligst Student Admission, som er obligatorisk for den betalte studentansøger",
Please select a BOM,Vælg venligst en BOM,
Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,"Vælg venligst et parti for vare {0}. Kunne ikke finde et eneste parti, der opfylder dette krav",
Please select a Company,Vælg firma,
Please select a batch,Vælg venligst et parti,
Please select a field to edit from numpad,Vælg venligst et felt for at redigere fra numpad,
Please select a table,Vælg venligst en tabel,
Please select a valid Date,Vælg venligst en gyldig dato,
Please select a value for {0} quotation_to {1},Vælg en værdi for {0} quotation_to {1},
Please select a warehouse,Vælg venligst et lager,
Please select at least one domain.,Vælg mindst et domæne.,
Please select correct account,Vælg korrekt konto,
Please select date,Vælg venligst dato,
Please select item code,Vælg Varenr.,
Please select month and year,Vælg måned og år,
Please select the Company,Vælg venligst firmaet,
Please select the Multiple Tier Program type for more than one collection rules.,Vælg venligst flere tierprogramtype for mere end én samlingsregler.,
Please select the assessment group other than 'All Assessment Groups',Vælg venligst vurderingsgruppen bortset fra &#39;Alle vurderingsgrupper&#39;,
Please select the document type first,Vælg dokumenttypen først,
Please select weekly off day,Vælg ugentlig fridag,
Please select {0},Vælg {0},
Please select {0} first,Vælg {0} først,
Please set 'Apply Additional Discount On',Venligst sæt &#39;Anvend Ekstra Rabat på&#39;,
Please set 'Asset Depreciation Cost Center' in Company {0},Venligst sæt &#39;Asset Afskrivninger Omkostninger Centers i Company {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},"Sæt venligst ""Gevinst/tabskonto vedr. salg af anlægsaktiv"" i firma {0}",
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Indstil konto i lager {0} eller standard lagerkonto i firma {1},
Please set B2C Limit in GST Settings.,Indstil venligst B2C-begrænsning i GST-indstillinger.,
Please set Company,Angiv venligst firma,
Please set Company filter blank if Group By is 'Company',"Indstil Firmafilter blankt, hvis Group By er &#39;Company&#39;",
Please set Default Payroll Payable Account in Company {0},Venligst sæt Standard Payroll Betales konto i Company {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Venligst sæt Afskrivninger relaterede konti i Asset kategori {0} eller Company {1},
Please set GST Accounts in GST Settings,Indstil venligst GST-konti i GST-indstillinger,
Please set Hotel Room Rate on {},Indstil hotelpris på {},
Please set Number of Depreciations Booked,Venligst sæt Antal Afskrivninger Reserveret,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Indstil Urealiseret Exchange Gain / Loss-konto i firma {0},
Please set User ID field in an Employee record to set Employee Role,Indstil Bruger-id feltet i en Medarbejder rekord at indstille Medarbejder Rolle,
Please set a default Holiday List for Employee {0} or Company {1},Angiv en standard helligdagskalender for medarbejder {0} eller firma {1},
Please set account in Warehouse {0},Venligst indstil konto i lager {0},
Please set an active menu for Restaurant {0},Indstil en aktiv menu for Restaurant {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Indstil tilknyttet konto i Skatholdigheds kategori {0} mod firma {1},
Please set at least one row in the Taxes and Charges Table,Angiv mindst en række i skatter og afgifter tabellen,
Please set default Cash or Bank account in Mode of Payment {0},Indstil standard Kontant eller bank konto i mode for betaling {0},
Please set default account in Salary Component {0},Angiv standardkonto i lønart {0},
Please set default customer in Restaurant Settings,Indstil standardkunde i Restaurantindstillinger,
Please set default {0} in Company {1},Indstil standard {0} i Company {1},
Please set filter based on Item or Warehouse,Indstil filter baseret på Item eller Warehouse,
Please set leave policy for employee {0} in Employee / Grade record,Venligst indstil afgangspolitik for medarbejder {0} i medarbejder- / bedømmelsesrekord,
Please set recurring after saving,Venligst sæt tilbagevendende efter besparelse,
Please set the Customer Address,Angiv kundeadresse,
Please set the Default Cost Center in {0} company.,Angiv standardkostningscenteret i {0} firmaet.,
Please set the Email ID for the Student to send the Payment Request,Angiv e-mail-id til den studerende for at sende betalingsanmodningen,
Please set the Item Code first,Indstil varenummeret først,
Please set the Payment Schedule,Angiv betalingsplanen,
Please set {0} for address {1},Angiv {0} for adresse {1},
Please setup Students under Student Groups,Opsæt venligst studerende under elevgrupper,
Please specify Company,Angiv venligst firma,
Please specify Company to proceed,Angiv venligst firma for at fortsætte,
Please specify a valid 'From Case No.',Angiv en gyldig &quot;Fra sag nr &#39;,
Please specify a valid Row ID for row {0} in table {1},Angiv en gyldig Row ID for rækken {0} i tabel {1},
Please specify at least one attribute in the Attributes table,Angiv mindst én attribut i Attributter tabellen,
Please specify currency in Company,Angiv venligst valuta i firmaet,
Please specify either Quantity or Valuation Rate or both,Angiv venligst enten mængde eller værdiansættelsebeløb eller begge,
Please specify from/to range,Angiv fra / til spænder,
Please supply the specified items at the best possible rates,Angiv venligst de angivne poster på de bedste mulige priser,
Please wait 3 days before resending the reminder.,Vent venligst 3 dage før genudsender påmindelsen.,
Point of Sale,Kassesystem,
Point-of-Sale,Kassesystem,
Point-of-Sale Profile,Kassesystemprofil,
Portal,Portal,
Possible Supplier,Mulig leverandør,
Postal Expenses,Portoudgifter,
Posting Date,Bogføringsdato,
Posting Date cannot be future date,Bogføringsdato kan ikke være en fremtidig dato,
Posting Time,Bogføringsdato og -tid,
Posting date and posting time is mandatory,Bogføringsdato og -tid er obligatorisk,
Posting timestamp must be after {0},Udstationering tidsstempel skal være efter {0},
Potential opportunities for selling.,Potentielle muligheder for at sælge.,
Practitioner Schedule,Behandlingskalender,
Pre Sales,Pre-Sale,
Preference,Preference,
Prescribed Procedures,Foreskrevne procedurer,
Prescription,Recept,
Prescription Dosage,Receptpligtig dosering,
Prescription Duration,Receptpligtig varighed,
Prescriptions,Recepter,
Prev,forrige,
Preview,Eksempel,
Previous Financial Year is not closed,Foregående regnskabsår er ikke lukket,
Price,Pris,
Price List,Prisliste,
Price List Currency not selected,Prisliste Valuta ikke valgt,
Price List Rate,Prisliste Rate,
Price List master.,Master-Prisliste.,
Price List must be applicable for Buying or Selling,Prisliste skal være gældende for at købe eller sælge,
Price List {0} is disabled or does not exist,Prisliste {0} er deaktiveret eller findes ikke,
Price or product discount slabs are required,Pris eller produktrabatplader kræves,
Pricing,Priser,
Pricing Rule,Prisfastsættelsesregel,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Prisfastsættelsesregel skal først baseres på feltet 'Gælder for', som kan indeholde vare, varegruppe eller varemærke.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.",Prisfastsættelseregler laves for at overskrive prislisten og for at fastlægge rabatprocenter baseret på forskellige kriterier.,
Pricing Rule {0} is updated,Prisregel {0} opdateres,
Pricing Rules are further filtered based on quantity.,Prisfastsættelsesregler er yderligere filtreret på mængden.,
Primary Address Details,Primær adresseoplysninger,
Primary Contact Details,Primær kontaktoplysninger,
Print Format,Udskriftsformat,
Print IRS 1099 Forms,Udskriv IRS 1099-formularer,
Print Report Card,Udskriv rapportkort,
Print Settings,Udskriftsindstillinger,
Print and Stationery,Print og papirvarer,
Print settings updated in respective print format,Udskriftsindstillinger opdateret i respektive print format,
Print taxes with zero amount,Udskriv skatter med nul beløb,
Printing and Branding,Udskriving,
Private Equity,Private Equity,
Procedure,Procedure,
Process Day Book Data,Behandl data fra dagbogen,
Process Master Data,Behandle stamdata,
Processing Chart of Accounts and Parties,Behandler oversigt over konti og parter,
Processing Items and UOMs,Behandler varer og UOM&#39;er,
Processing Party Addresses,Behandler parti-adresser,
Processing Vouchers,Behandler værdikuponer,
Procurement,indkøb,
Produced Qty,Produceret antal,
Product,Produkt,
Product Bundle,Produktpakke,
Product Search,Søg efter vare,
Production,Produktion,
Production Item,Produktion Vare,
Products,Produkter,
Profit and Loss,Resultatopgørelse,
Profit for the year,Årets resultat,
Program,Program,
Program in the Fee Structure and Student Group {0} are different.,Program i gebyrstrukturen og studentegruppen {0} er forskellige.,
Program {0} does not exist.,Program {0} findes ikke.,
Program: ,Program:,
Progress % for a task cannot be more than 100.,Fremskridt-% for en opgave kan ikke være mere end 100.,
Project Collaboration Invitation,Invitation til sagssamarbejde,
Project Id,Sags-id,
Project Manager,Projektleder,
Project Name,Sagsnavn,
Project Start Date,Sag startdato,
Project Status,Sagsstatus,
Project Summary for {0},Projektoversigt for {0},
Project Update.,Projektopdatering.,
Project Value,Sagsværdi,
Project activity / task.,Sagsaktivitet / opgave.,
Project master.,Sags-master.,
Project-wise data is not available for Quotation,Sagsdata er ikke tilgængelige for tilbuddet,
Projected,Forventet,
Projected Qty,Projiceret antal,
Projected Quantity Formula,Projekteret mængdeformel,
Projects,Sager,
Proposal Writing,Forslag Skrivning,
Proposal/Price Quote,Forslag / pris citat,
Prospecting,Forundersøgelse,
Provisional Profit / Loss (Credit),Foreløbig Profit / Loss (Credit),
Publications,Publikationer,
Publish Items on Website,Vis varer på hjemmesiden,
Published,Udgivet,
Publishing,Udgivning,
Purchase,Indkøb,
Purchase Amount,Indkøbsbeløb,
Purchase Date,Købsdato,
Purchase Invoice,Købsfaktura,
Purchase Invoice {0} is already submitted,Købsfaktura {0} er allerede godkendt,
Purchase Manager,Indkøbschef,
Purchase Master Manager,Indkøb Master manager,
Purchase Order,Indkøbsordre,
Purchase Order Amount,Indkøbsordremængde,
Purchase Order Amount(Company Currency),Indkøbsordremængde (virksomhedsvaluta),
Purchase Order Date,Indkøbsordringsdato,
Purchase Order Items not received on time,Indkøbsordre Varer ikke modtaget i tide,
Purchase Order number required for Item {0},Indkøbsordrenr. påkrævet for vare {0},
Purchase Order to Payment,Indkøbsordre til betaling,
Purchase Order {0} is not submitted,Indkøbsordre {0} er ikke godkendt,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Indkøbsordrer er ikke tilladt for {0} på grund af et scorecard stående på {1}.,
Purchase Orders given to Suppliers.,Indkøbsordrer givet til leverandører.,
Purchase Price List,Indkøbsprisliste,
Purchase Receipt,Købskvittering,
Purchase Receipt {0} is not submitted,Købskvittering {0} er ikke godkendt,
Purchase Tax Template,Indgående moms-skabelon,
Purchase User,Indkøbsbruger,
Purchase orders help you plan and follow up on your purchases,Indkøbsordrer hjælpe dig med at planlægge og følge op på dine køb,
Purchasing,Indkøb,
Purpose must be one of {0},Formålet skal være en af {0},
Qty,Antal,
Qty To Manufacture,Antal at producere,
Qty Total,Antal i alt,
Qty for {0},Antal for {0},
Qualification,Kvalifikation,
Quality,Kvalitet,
Quality Action,Kvalitetshandling,
Quality Goal.,Kvalitetsmål.,
Quality Inspection,Kvalitetskontrol,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Kvalitetskontrol: {0} indsendes ikke for varen: {1} i række {2},
Quality Management,Kvalitetssikring,
Quality Meeting,Kvalitetsmøde,
Quality Procedure,Kvalitetsprocedure,
Quality Procedure.,Kvalitetsprocedure.,
Quality Review,Kvalitetsanmeldelse,
Quantity,Mængde,
Quantity for Item {0} must be less than {1},Mængde for vare {0} skal være mindre end {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},"Antal i række {0} ({1}), skal være det samme som den fremstillede mængde {2}",
Quantity must be less than or equal to {0},Antal skal være mindre end eller lig med {0},
Quantity must not be more than {0},Antal må ikke være mere end {0},
Quantity required for Item {0} in row {1},"Mængde, der kræves for Item {0} i række {1}",
Quantity should be greater than 0,Mængde bør være større end 0,
Quantity to Make,Mængde at gøre,
Quantity to Manufacture must be greater than 0.,Mængde til Fremstilling skal være større end 0.,
Quantity to Produce,Mængde at fremstille,
Quantity to Produce can not be less than Zero,"Mængden, der skal produceres, kan ikke være mindre end Nul",
Query Options,Query Options,
Queued for replacing the BOM. It may take a few minutes.,Kø for at erstatte BOM. Det kan tage et par minutter.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,Kø for opdatering af seneste pris i alle Materialebevis. Det kan tage et par minutter.,
Quick Journal Entry,Hurtig kassekladde,
Quot Count,Citeringsantal,
Quot/Lead %,Tilbud/emne %,
Quotation,Tilbud,
Quotation {0} is cancelled,Tilbud {0} er ikke længere gyldigt,
Quotation {0} not of type {1},Tilbud {0} ikke af typen {1},
Quotations,Tilbud,
"Quotations are proposals, bids you have sent to your customers","Citater er forslag, bud, du har sendt til dine kunder",
Quotations received from Suppliers.,Tilbud modtaget fra Leverandører.,
Quotations: ,Tilbud:,
Quotes to Leads or Customers.,Tilbud til emner eller kunder.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ&#39;er er ikke tilladt for {0} på grund af et scorecard stående på {1},
Range,Periode,
Rate,Sats,
Rate:,Sats:,
Rating,Bedømmelse,
Raw Material,Råmateriale,
Raw Materials,Råmateriale,
Raw Materials cannot be blank.,Råmaterialer kan ikke være tom.,
Re-open,Genåbne,
Read blog,Læs blog,
Read the ERPNext Manual,Læs ERPNext-håndbogen,
Reading Uploaded File,Læsning af uploadet fil,
Real Estate,Real Estate,
Reason For Putting On Hold,Årsag til at sætte på hold,
Reason for Hold,Årsag til hold,
Reason for hold: ,Årsag til hold:,
Receipt,Kvittering,
Receipt document must be submitted,Kvittering skal godkendes,
Receivable,tilgodehavende,
Receivable Account,Tilgodehavende konto,
Received,Modtaget,
Received On,Modtaget On,
Received Quantity,Modtaget mængde,
Received Stock Entries,Modtagne aktieindgange,
Receiver List is empty. Please create Receiver List,Modtager List er tom. Opret Modtager liste,
Recipients,Modtagere,
Reconcile,Forene,
"Record of all communications of type email, phone, chat, visit, etc.","Registrering af al kommunikation af type e-mail, telefon, chat, besøg osv",
Records,Records,
Redirect URL,Omdiriger URL,
Ref,Ref,
Ref Date,Ref Dato,
Reference,Henvisning,
Reference #{0} dated {1},Henvisning # {0} dateret {1},
Reference Date,Henvisning Dato,
Reference Doctype must be one of {0},Henvisning Doctype skal være en af {0},
Reference Document,referencedokument,
Reference Document Type,Referencedokument type,
Reference No & Reference Date is required for {0},Referencenummer &amp; Reference Dato er nødvendig for {0},
Reference No and Reference Date is mandatory for Bank transaction,Referencenummer og reference Dato er obligatorisk for Bank transaktion,
Reference No is mandatory if you entered Reference Date,"Referencenummer er obligatorisk, hvis du har indtastet reference Dato",
Reference No.,Referencenummer.,
Reference Number,Referencenummer,
Reference Type,Henvisning Type,
"Reference: {0}, Item Code: {1} and Customer: {2}","Reference: {0}, varekode: {1} og kunde: {2}",
References,Referencer,
Refresh Token,Opdater Token,
Register,Tilmeld,
Rejected,Afvist,
Related,Relaterede,
Relation with Guardian1,Forholdet til Guardian1,
Relation with Guardian2,Forholdet til Guardian2,
Release Date,Udgivelses dato,
Reload Linked Analysis,Genindlæs tilknyttet analyse,
Remaining,Resterende,
Remaining Balance,Resterende saldo,
Remarks,Bemærkninger,
Reminder to update GSTIN Sent,Påmindelse om at opdatere GSTIN Sendt,
Remove item if charges is not applicable to that item,"Fjern element, hvis afgifter ikke finder anvendelse på denne post",
Removed items with no change in quantity or value.,Fjernede elementer uden nogen ændringer i mængde eller værdi.,
Reopen,Genåben,
Reorder Level,Genbestil Level,
Reorder Qty,Genbestil Antal,
Repeat Customer Revenue,Omsætning gamle kunder,
Repeat Customers,Gamle kunder,
Replace BOM and update latest price in all BOMs,Erstat BOM og opdater seneste pris i alle BOM&#39;er,
Replied,Svarede,
Report,Rapport,
Report Type,Kontotype,
Report Type is mandatory,Kontotype er obligatorisk,
Reports,Rapporter,
Reqd By Date,Reqd efter dato,
Reqd Qty,Reqd Antal,
Request for Quotation,Anmodning om tilbud,
Request for Quotations,Anmodning om tilbud,
Request for Raw Materials,Anmodning om råvarer,
Request for purchase.,Indkøbsanmodning.,
Request for quotation.,Anmodning om tilbud.,
Requested Qty,Anmodet mængde,
"Requested Qty: Quantity requested for purchase, but not ordered.","Anmodet antal: Antal anmodet om køb, men ikke bestilt.",
Requesting Site,Anmoder om websted,
Requesting payment against {0} {1} for amount {2},Anmodning betaling mod {0} {1} for beløb {2},
Requestor,Anmoders,
Required On,Forfalder den,
Required Qty,Nødvendigt antal,
Required Quantity,Påkrævet mængde,
Reschedule,Omlæg,
Research,Forskning,
Research & Development,Forskning &amp; Udvikling,
Researcher,Forsker,
Resend Payment Email,Gensend Betaling E-mail,
Reserve Warehouse,Reserve Warehouse,
Reserved Qty,Reserveret mængde,
Reserved Qty for Production,Reserveret Antal for Produktion,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Reserveret antal til produktion: Råvaremængde til fremstilling af produktionsartikler.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Reserveret antal: Mængde bestilt til salg, men ikke leveret.",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Reserveret lager er obligatorisk for vare {0} i råvarer leveret,
Reserved for manufacturing,Reserveret til fremstilling,
Reserved for sale,Reserveret til salg,
Reserved for sub contracting,Reserveret til underentreprise,
Resistant,Resistente,
Resolve error and upload again.,Løs fejl og upload igen.,
Rest Of The World,Resten af verden,
Restart Subscription,Genstart abonnement,
Restaurant,Restaurant,
Result Date,Resultatdato,
Result already Submitted,Resultat allerede indsendt,
Resume,Genoptag,
Retail,Retail,
Retail & Wholesale,Detail &amp; Wholesale,
Retail Operations,Detailoperationer,
Retained Earnings,Overført overskud,
Retention Stock Entry,Retention Stock Entry,
Retention Stock Entry already created or Sample Quantity not provided,Retention Stock Entry allerede oprettet eller Sample Mængde ikke angivet,
Return,Retur,
Return / Credit Note,Retur / kreditnota,
Return / Debit Note,Retur / debetnota,
Returns,Retur,
Reverse Journal Entry,Reverse Journal Entry,
Review Invitation Sent,Gennemgå invitation sendt,
Review and Action,Gennemgang og handling,
Rooms Booked,Værelser reserveret,
Root Company,Root Company,
Root Type,Rodtype,
Root Type is mandatory,Rodtypen er obligatorisk,
Root cannot be edited.,Root kan ikke redigeres.,
Root cannot have a parent cost center,Root kan ikke have en forælder cost center,
Round Off,Afrundninger,
Rounded Total,Afrundet i alt,
Route,Rute,
Row # {0}: ,Række # {0}:,
Row # {0}: Batch No must be same as {1} {2},Række # {0}: Partinr. skal være det samme som {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: Kan ikke returnere mere end {1} for Item {2},
Row # {0}: Rate cannot be greater than the rate used in {1} {2},"Row # {0}: Prisen kan ikke være større end den sats, der anvendes i {1} {2}",
Row # {0}: Serial No is mandatory,Række # {0}: serienummer er obligatorisk,
Row # {0}: Serial No {1} does not match with {2} {3},Række # {0}: serienummer {1} matcher ikke med {2} {3},
Row #{0} (Payment Table): Amount must be negative,Row # {0} (Betalingstabel): Beløbet skal være negativt,
Row #{0} (Payment Table): Amount must be positive,Row # {0} (Betalingstabel): Beløbet skal være positivt,
Row #{0}: Account {1} does not belong to company {2},Række nr. {0}: Konto {1} tilhører ikke firma {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Row # {0}: Allokeret beløb kan ikke være større end udestående beløb.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Row # {0}: Asset {1} kan ikke indsendes, er det allerede {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Row # {0}: Kan ikke indstille Rate hvis beløb er større end faktureret beløb for Item {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Anvendes ikke {0} {1} {2},
Row #{0}: Duplicate entry in References {1} {2},Row # {0}: Duplicate entry i Referencer {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Række nr. {0}: Forventet leveringsdato kan ikke være før købsdato,
Row #{0}: Item added,Række nr. {0}: Element tilføjet,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Row # {0}: Kassekladde {1} har ikke konto {2} eller allerede matchet mod en anden kupon,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,"Række # {0}: Ikke tilladt at skifte leverandør, da indkøbsordre allerede findes",
Row #{0}: Please set reorder quantity,Række # {0}: Venligst sæt genbestille mængde,
Row #{0}: Please specify Serial No for Item {1},Række # {0}: Angiv serienummer for vare {1},
Row #{0}: Qty increased by 1,Række nr. {0}: Antal steg med 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Pris skal være samme som {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Row # {0}: Reference Document Type skal være en af Expense Claim eller Journal Entry,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: referencedokument Type skal være en af indkøbsordre, købsfaktura eller Kassekladde",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Afvist Antal kan ikke indtastes i Indkøb Return,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Række # {0}: Afvist Warehouse er obligatorisk mod afvist element {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Row # {0}: Reqd by Date kan ikke være før Transaktionsdato,
Row #{0}: Set Supplier for item {1},Række # {0}: Indstil Leverandør for vare {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Række nr. {0}: Status skal være {1} for fakturaborting {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","Række # {0}: Parti {1} har kun {2} mængde. Vælg venligst et andet parti, der har {3} antal tilgængelige eller opdel rækken i flere rækker for at kunne levere fra flere partier",
Row #{0}: Timings conflicts with row {1},Row # {0}: tider konflikter med rækken {1},
Row #{0}: {1} can not be negative for item {2},Rækken # {0}: {1} kan ikke være negativ for vare {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Rækkenr. {0}: Beløb kan ikke være større end Udestående Beløb overfor Udlæg {1}. Udestående Beløb er {2},
Row {0} : Operation is required against the raw material item {1},Række {0}: Drift er påkrævet mod råvareelementet {1},
Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Række {0} # Item {1} kan ikke overføres mere end {2} imod indkøbsordre {3},
Row {0}: Activity Type is mandatory.,Række {0}: Aktivitetstypen er obligatorisk.,
Row {0}: Advance against Customer must be credit,Række {0}: Advance mod kunden skal være kredit,
Row {0}: Advance against Supplier must be debit,Række {0}: Advance mod Leverandøren skal debitere,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Række {0}: Allokeret beløb {1} skal være mindre end eller lig med Payment indtastning beløb {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Række {0}: Allokeret mængde {1} skal være mindre end eller lig med at fakturere udestående beløb {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Række {0}: En Genbestil indgang findes allerede for dette lager {1},
Row {0}: Bill of Materials not found for the Item {1},Række {0}: stykliste ikke fundet for vare {1},
Row {0}: Conversion Factor is mandatory,Række {0}: Konverteringsfaktor er obligatorisk,
Row {0}: Cost center is required for an item {1},Række {0}: Omkostningscenter er påkrævet for en vare {1},
Row {0}: Credit entry can not be linked with a {1},Række {0}: Kredit indgang ikke kan knyttes med en {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Række {0}: Valuta af BOM # {1} skal være lig med den valgte valuta {2},
Row {0}: Debit entry can not be linked with a {1},Række {0}: Debit indgang ikke kan knyttes med en {1},
Row {0}: Depreciation Start Date is required,Række {0}: Afskrivning Startdato er påkrævet,
Row {0}: Enter location for the asset item {1},Række {0}: Indtast placering for aktivposten {1},
Row {0}: Exchange Rate is mandatory,Række {0}: Valutakursen er obligatorisk,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Række {0}: Forventet værdi efter brugbart liv skal være mindre end brutto købsbeløb,
Row {0}: From Time and To Time is mandatory.,Række {0}: Fra tid og til tid er obligatorisk.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Række {0}: Fra tid og til tid af {1} overlapper med {2},
Row {0}: From time must be less than to time,Række {0}: Fra tid skal være mindre end til tid,
Row {0}: Hours value must be greater than zero.,Række {0}: Timer værdi skal være større end nul.,
Row {0}: Invalid reference {1},Række {0}: Ugyldig henvisning {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Række {0}: Selskab / Konto matcher ikke med {1} / {2} i {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Række {0}: Selskabstype og Selskab er nødvendig for Fordrings- / Betalingskonto {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Række {0}: Betaling mod Salg / Indkøbsordre bør altid blive markeret som forskud,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,"Række {0}: Tjek venligst &quot;Er Advance &#39;mod konto {1}, hvis dette er et forskud post.",
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Række {0}: Angiv venligst skattefritagelsesårsag i moms og afgifter,
Row {0}: Please set the Mode of Payment in Payment Schedule,Række {0}: Angiv betalingsmåde i betalingsplan,
Row {0}: Please set the correct code on Mode of Payment {1},Række {0}: Angiv den korrekte kode på betalingsmetode {1},
Row {0}: Qty is mandatory,Række {0}: Antal er obligatorisk,
Row {0}: Quality Inspection rejected for item {1},Række {0}: Kvalitetskontrol afvist for vare {1},
Row {0}: UOM Conversion Factor is mandatory,Række {0}: Enhedskode-konverteringsfaktor er obligatorisk,
Row {0}: select the workstation against the operation {1},Række {0}: Vælg arbejdsstationen imod operationen {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Række {0}: {1} Serienumre er nødvendige for punkt {2}. Du har angivet {3}.,
Row {0}: {1} must be greater than 0,Række {0}: {1} skal være større end 0,
Row {0}: {1} {2} does not match with {3},Række {0}: {1} {2} passer ikke med {3},
Row {0}:Start Date must be before End Date,Række {0}: Start dato skal være før slutdato,
Rows with duplicate due dates in other rows were found: {0},Rækker med dubletter forfaldsdatoer i andre rækker blev fundet: {0},
Rules for adding shipping costs.,Regler for at tilføje forsendelsesomkostninger.,
Rules for applying pricing and discount.,Regler for anvendelse af priser og rabat.,
S.O. No.,SÅ No.,
SGST Amount,SGST Beløb,
SO Qty,SO Antal,
Safety Stock,Minimum lagerbeholdning,
Salary,Løn,
Salary Slip submitted for period from {0} to {1},Lønslip indgivet for perioden fra {0} til {1},
Salary Structure must be submitted before submission of Tax Ememption Declaration,Lønstruktur skal indsendes inden indsendelse af skattefrihedserklæring,
Sales,Salg,
Sales Account,Salgskonto,
Sales Expenses,Salgsomkostninger,
Sales Funnel,Salgstragt,
Sales Invoice,Salgsfaktura,
Sales Invoice {0} has already been submitted,Salgsfaktura {0} er allerede blevet godkendt,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,"Salgsfaktura {0} skal annulleres, før denne salgsordre annulleres",
Sales Manager,Salgschef,
Sales Master Manager,Salg Master manager,
Sales Order,Salgsordre,
Sales Order Item,Salgsordrevare,
Sales Order required for Item {0},Salgsordre påkrævet for vare {0},
Sales Order to Payment,Salgsordre til betaling,
Sales Order {0} is not submitted,Salgsordre {0} er ikke godkendt,
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,Forhandler,
Sales Pipeline,Salgspipeline,
Sales Price List,Salgsprisliste,
Sales Return,Salg Return,
Sales Summary,Salgsoversigt,
Sales Tax Template,Salg Momsskabelon,
Sales Team,Salgsteam,
Sales User,Salgsbruger,
Sales and Returns,Salg og retur,
Sales campaigns.,Salgskampagner.,
Sales orders are not available for production,Salgsordrer er ikke tilgængelige til produktion,
Salutation,Titel,
Same Company is entered more than once,Samme firma er indtastet mere end én gang,
Same item cannot be entered multiple times.,Samme vare kan ikke indtastes flere gange.,
Same supplier has been entered multiple times,Samme leverandør er indtastet flere gange,
Sample Collection,Prøveopsamling,
Sample quantity {0} cannot be more than received quantity {1},Prøvekvantitet {0} kan ikke være mere end modtaget mængde {1},
Sanctioned,sanktioneret,
Sand,Sand,
Saturday,Lørdag,
Saving {0},Gemmer {0},
Scan Barcode,Scan stregkode,
Schedule,Køreplan,
Schedule Admission,Planlægning Adgang,
Schedule Course,Kursusskema,
Schedule Date,Tidsplan Dato,
Schedule Discharge,Planlægningsudladning,
Scheduled,Planlagt,
Scheduled Upto,Planlagt Upto,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Skemaer for {0} overlapninger, vil du fortsætte efter at have oversat overlapte slots?",
Score cannot be greater than Maximum Score,Score kan ikke være større end maksimal score,
Scorecards,scorecards,
Scrapped,Skrottet,
Search,Søg,
Search Results,Søgeresultater,
Search Sub Assemblies,Søg Sub Assemblies,
"Search by item code, serial number, batch no or barcode","Søg efter varenummer, serienummer, batchnummer eller stregkode",
"Seasonality for setting budgets, targets etc.","Sæsonudsving til indstilling budgetter, mål etc.",
Secret Key,Secret Key,
Secretary,Sekretær,
Section Code,Sektionskode,
Secured Loans,Sikrede lån,
Securities & Commodity Exchanges,Værdipapirer og Commodity Exchanges,
Securities and Deposits,Værdipapirer og indlån,
See All Articles,Se alle artikler,
See all open tickets,Se alle åbne billetter,
See past orders,Se tidligere ordrer,
See past quotations,Se tidligere citater,
Select,Vælg,
Select Alternate Item,Vælg alternativt element,
Select Attribute Values,Vælg Attributværdier,
Select BOM,Vælg stykliste,
Select BOM and Qty for Production,Vælg stykliste og produceret antal,
"Select BOM, Qty and For Warehouse","Vælg BOM, Qty og For Warehouse",
Select Batch,Vælg Batch,
Select Batch Numbers,Vælg batchnumre,
Select Brand...,Vælg varemærke ...,
Select Company,Vælg firma,
Select Company...,Vælg firma ...,
Select Customer,Vælg kunde,
Select Days,Vælg dage,
Select Default Supplier,Vælg Standard Leverandør,
Select DocType,Vælg DocType,
Select Fiscal Year...,Vælg regnskabsår ...,
Select Item (optional),Vælg emne (valgfrit),
Select Items based on Delivery Date,Vælg varer baseret på Leveringsdato,
Select Items to Manufacture,Vælg varer til Produktion,
Select Loyalty Program,Vælg Loyalitetsprogram,
Select Patient,Vælg patient,
Select Possible Supplier,Vælg mulig leverandør,
Select Quantity,Vælg antal,
Select Serial Numbers,Vælg serienumre,
Select Target Warehouse,Vælg Target Warehouse,
Select Warehouse...,Vælg lager ...,
Select an account to print in account currency,"Vælg en konto, der skal udskrives i kontovaluta",
Select at least one value from each of the attributes.,Vælg mindst en værdi fra hver af attributterne.,
Select change amount account,Vælg ændringsstørrelse konto,
Select company first,Vælg firma først,
Select students manually for the Activity based Group,Vælg studerende manuelt for aktivitetsbaseret gruppe,
Select the customer or supplier.,Vælg kunde eller leverandør.,
Select the nature of your business.,Vælg arten af din virksomhed.,
Select the program first,Vælg programmet først,
Select to add Serial Number.,Vælg for at tilføje serienummer.,
Select your Domains,Vælg dine domæner,
Selected Price List should have buying and selling fields checked.,Udvalgt prisliste skal have købs- og salgsfelter kontrolleret.,
Sell,Salg,
Selling,Salg,
Selling Amount,Salgsbeløb,
Selling Price List,Salgsprisliste,
Selling Rate,Salgspris,
"Selling must be checked, if Applicable For is selected as {0}","Selling skal kontrolleres, om nødvendigt er valgt som {0}",
Send Grant Review Email,Send Grant Review Email,
Send Now,Send nu,
Send SMS,Send SMS,
Send mass SMS to your contacts,Send masse-SMS til dine kontakter,
Sensitivity,Følsomhed,
Sent,Sent,
Serial No and Batch,Serienummer og parti,
Serial No is mandatory for Item {0},Serienummer er obligatorisk for vare {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},Serienummer {0} hører ikke til følgeseddel {1},
Serial No {0} does not belong to Item {1},Serienummer {0} hører ikke til vare {1},
Serial No {0} does not belong to Warehouse {1},Serienummer {0} hører ikke til lager {1},
Serial No {0} does not belong to any Warehouse,Serienummer {0} tilhører ikke noget lager,
Serial No {0} does not exist,Serienummer {0} eksisterer ikke,
Serial No {0} has already been received,Serienummer {0} er allerede blevet modtaget,
Serial No {0} is under maintenance contract upto {1},Serienummer {0} er under vedligeholdelseskontrakt ind til d. {1},
Serial No {0} is under warranty upto {1},Serienummer {0} er under garanti op til {1},
Serial No {0} not found,Serienummer {0} ikke fundet,
Serial No {0} not in stock,Serienummer {0} ikke er på lager,
Serial No {0} quantity {1} cannot be a fraction,Serienummer {0} mængde {1} kan ikke være en brøkdel,
Serial Nos Required for Serialized Item {0},Serienummer påkrævet for serienummervare {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Serienummer: {0} er allerede refereret i salgsfaktura: {1},
Serial Numbers,Serienumre,
Serial Numbers in row {0} does not match with Delivery Note,Serienumre i række {0} stemmer ikke overens med Leveringsnotat,
Serial no {0} has been already returned,Serienummeret {0} er allerede returneret,
Serial number {0} entered more than once,Serienummer {0} indtastet mere end én gang,
Serialized Inventory,Serienummer-lager,
Series Updated,Nummerserien opdateret,
Series Updated Successfully,Nummerserien opdateret,
Series is mandatory,Nummerserien er obligatorisk,
Service,Service,
Service Level Agreement,Serviceniveauaftale,
Service Level Agreement.,Serviceniveauaftale.,
Service Level.,Serviceniveau.,
Service Stop Date cannot be after Service End Date,Service Stop Date kan ikke være efter Service Slutdato,
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.","Indstil standardværdier som Firma, Valuta, indeværende regnskabsår, m.v.",
Set Details,Indstil detaljer,
Set New Release Date,Indstil ny udgivelsesdato,
Set Project and all Tasks to status {0}?,Indstille projekt og alle opgaver til status {0}?,
Set Status,Indstil Status,
Set Tax Rule for shopping cart,Sæt momsregel for indkøbskurv,
Set as Closed,Angiv som Lukket,
Set as Completed,Indstil som afsluttet,
Set as Lost,Sæt som tabt,
Set as Open,Sæt som Open,
Set default inventory account for perpetual inventory,Indstil standard lagerkonto for evigvarende opgørelse,
Set this if the customer is a Public Administration company.,"Indstil dette, hvis kunden er et Public Administration-firma.",
Set {0} in asset category {1} or company {2},Indstil {0} i aktivkategori {1} eller firma {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Sætter begivenheder til {0}, da den til medarbejderen tilknyttede salgsmedarbejder {1} ikke har et brugernavn",
Setting defaults,Indstilling af standardindstillinger,
Setting up Email,Opsætning af e-mail,
Setting up Email Account,Opsætning Email-konto,
Setting up Employees,Opsætning af medarbejdere,
Setting up Taxes,Opsætning Skatter,
Setting up company,Oprettelse af virksomhed,
Settings,Indstillinger,
"Settings for online shopping cart such as shipping rules, price list etc.","Indstillinger for online indkøbskurv, såsom forsendelsesregler, prisliste mv.",
Settings for website homepage,Indstillinger for hjemmesidens startside,
Settings for website product listing,Indstillinger for websteds produktfortegnelse,
Settled,Slog sig ned,
Setup Gateway accounts.,Opsætning Gateway konti.,
Setup SMS gateway settings,Opsætning SMS gateway-indstillinger,
Setup cheque dimensions for printing,Anvendes ikke,
Setup default values for POS Invoices,Indstil standardværdier for POS-fakturaer,
Setup mode of POS (Online / Offline),Opsætningstilstand for POS (Online / Offline),
Setup your Institute in ERPNext,Opsæt dit institut i ERPNext,
Share Balance,Aktiebalance,
Share Ledger,Del Ledger,
Share Management,Aktieforvaltning,
Share Transfer,Deloverførsel,
Share Type,Share Type,
Shareholder,Aktionær,
Ship To State,Skib til stat,
Shipments,forsendelser,
Shipping Address,Leveringsadresse,
"Shipping Address does not have country, which is required for this Shipping Rule","Forsendelsesadresse har ikke land, som er påkrævet for denne forsendelsesregel",
Shipping rule only applicable for Buying,Forsendelsesregel gælder kun for køb,
Shipping rule only applicable for Selling,Forsendelsesregel gælder kun for salg,
Shopify Supplier,Shopify Leverandør,
Shopping Cart,Indkøbskurv,
Shopping Cart Settings,Indkøbskurv Indstillinger,
Short Name,Kort navn,
Shortage Qty,Mangel Antal,
Show Completed,Vis afsluttet,
Show Cumulative Amount,Vis kumulativ mængde,
Show Open,Vis åben,
Show Opening Entries,Vis åbningsindgange,
Show Payment Details,Vis betalingsoplysninger,
Show Return Entries,Vis Returindlæg,
Show Variant Attributes,Vis variant attributter,
Show Variants,Vis varianter,
Show closed,Vis lukket,
Show exploded view,Vis eksploderet visning,
Show only POS,Vis kun POS,
Show unclosed fiscal year's P&L balances,Vis uafsluttede finanspolitiske års P &amp; L balancer,
Show zero values,Vis nulværdier,
Silt,silt,
Single Variant,Single Variant,
Single unit of an Item.,Enkelt enhed af et element.,
"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Overspringetildeling for følgende medarbejdere, da der allerede eksisterer rekordoverførselsregistre. {0}",
Slideshow,Slideshow,
Slots for {0} are not added to the schedule,Slots til {0} tilføjes ikke til skemaet,
Small,Lille,
Soap & Detergent,Sæbe &amp; Vaskemiddel,
Software,Software,
Software Developer,Software Developer,
Softwares,Softwares,
Soil compositions do not add up to 100,Jordsammensætninger tilføjer ikke op til 100,
Sold,solgt,
Some emails are invalid,Nogle e-mails er ugyldige,
Some information is missing,Der mangler nogle oplysninger,
Something went wrong!,Noget gik galt!,
"Sorry, Serial Nos cannot be merged","Beklager, serienumre kan ikke blive slået sammen",
Source,Kilde,
Source Name,Kilde Navn,
Source Warehouse,Kildelager,
Source and Target Location cannot be same,Kilde og målplacering kan ikke være ens,
Source and target warehouse cannot be same for row {0},Kilde og mål lageret ikke kan være ens for rækken {0},
Source and target warehouse must be different,Kilde og mål lager skal være forskellige,
Source of Funds (Liabilities),Finansieringskilde (Passiver),
Source warehouse is mandatory for row {0},Kilde lageret er obligatorisk for rækken {0},
Specified BOM {0} does not exist for Item {1},Specificeret stykliste {0} findes ikke for vare {1},
Split,Dele,
Split Batch,Opdel parti,
Split Issue,Split Issue,
Sports,Sport,
Standard Buying,Standard Buying,
Standard Selling,Standard salg,
Standard contract terms for Sales or Purchase.,Standardkontraktvilkår for Salg eller Indkøb.,
Start Date,Startdato,
Start Date of Agreement can't be greater than or equal to End Date.,Startdato for aftalen kan ikke være større end eller lig med slutdato.,
Start Year,Startår,
Start date should be less than end date for Item {0},Start dato bør være mindre end slutdato for Item {0},
Start date should be less than end date for task {0},Startdatoen skal være mindre end slutdatoen for opgaven {0},
Start day is greater than end day in task '{0}',Startdagen er større end slutdagen i opgaven &#39;{0}&#39;,
Start on,Start på,
State,Stat,
State/UT Tax,Stat / UT-skat,
Statement of Account,Kontoudtog,
Status must be one of {0},Status skal være en af {0},
Stock,lager,
Stock Adjustment,Stock Justering,
Stock Analytics,Lageranalyser,
Stock Assets,Lageraktiver,
Stock Available,Lager til rådighed,
Stock Balance,Stock Balance,
Stock Entries already created for Work Order ,"Aktieindtægter, der allerede er oprettet til Arbejdsordre",
Stock Entry,Lagerindtastning,
Stock Entry {0} created,Lagerindtastning {0} oprettet,
Stock Entry {0} is not submitted,Lagerindtastning {0} er ikke godkendt,
Stock Expenses,Stock Udgifter,
Stock In Hand,Stock i hånden,
Stock Items,Lagervarer,
Stock Ledger,Lagerkladde,
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Lagerposter og finansposter er posteret om  for de valgte købskvitteringer,
Stock Levels,lagrene,
Stock Liabilities,Stock Passiver,
Stock Qty,Antal på lager,
Stock Received But Not Billed,Stock Modtaget men ikke faktureret,
Stock Reports,Stock Rapporter,
Stock Summary,Stock Summary,
Stock Transactions,Lagertransaktioner,
Stock UOM,Lagerenhed,
Stock Value,Stock Value,
Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Lagersaldo i parti {0} vil blive negativ {1} for vare {2} på lager {3},
Stock cannot be updated against Delivery Note {0},Lager kan ikke opdateres mod følgeseddel {0},
Stock cannot be updated against Purchase Receipt {0},Lager kan ikke opdateres mod købskvittering {0},
Stock cannot exist for Item {0} since has variants,Stock kan ikke eksistere for Item {0} da har varianter,
Stock transactions before {0} are frozen,Lagertransaktioner før {0} er frosset,
Stop,Stands,
Stopped,Stoppet,
"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Stoppet Arbejdsordre kan ikke annulleres, Unstop det først for at annullere",
Stores,butikker,
Student,Studerende,
Student Activity,Studentaktivitet,
Student Address,Studentadresse,
Student Admissions,Studerende optagelser,
Student Attendance,Student Fremmøde,
"Student Batches help you track attendance, assessments and fees for students","Elevgrupper hjælper dig med at administrere fremmøde, vurderinger og gebyrer for eleverne",
Student Email Address,Studerende e-mailadresse,
Student Email ID,Student Email ID,
Student Group,Elevgruppe,
Student Group Strength,Studentgruppens styrke,
Student Group is already updated.,Studentgruppen er allerede opdateret.,
Student Group: ,Studentgruppe:,
Student ID,studiekort,
Student ID: ,Studiekort:,
Student LMS Activity,Student LMS Aktivitet,
Student Mobile No.,Studerende mobiltelefonnr.,
Student Name,Elevnavn,
Student Name: ,Elevnavn:,
Student Report Card,Studenterapport,
Student is already enrolled.,Student er allerede tilmeldt.,
Student {0} - {1} appears Multiple times in row {2} & {3},Student {0} - {1} forekommer flere gange i træk {2} &amp; {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} findes mod studerende ansøger {1},
"Students are at the heart of the system, add all your students","Studerende er i hjertet af systemet, tilføje alle dine elever",
Sub Assemblies,Sub forsamlinger,
Sub Type,Undertype,
Sub-contracting,Underleverandører,
Subcontract,underleverance,
Subject,Emne,
Submit,Godkend,
Submit this Work Order for further processing.,Send denne arbejdsordre til videre behandling.,
Subscription,Abonnement,
Subscription Management,Abonnement Management,
Subscriptions,Abonnementer,
Subtotal,Subtotal,
Successful,Vellykket,
Successfully Reconciled,Succesfuld Afstemt,
Successfully Set Supplier,Vellykket Indstil Leverandør,
Successfully created payment entries,Vellykket oprettet betalingsposter,
Successfully deleted all transactions related to this company!,Succesfuld slettet alle transaktioner i forbindelse med dette selskab!,
Sum of Scores of Assessment Criteria needs to be {0}.,Summen af Snesevis af Assessment Criteria skal være {0}.,
Sum of points for all goals should be 100. It is {0},Sum af point for alle mål skal være 100. Det er {0},
Summary,Resumé,
Summary for this month and pending activities,Resumé for denne måned og verserende aktiviteter,
Summary for this week and pending activities,Resumé for denne uge og verserende aktiviteter,
Sunday,Søndag,
Suplier,suplier,
Supplier,Leverandør,
Supplier Group,Leverandørgruppe,
Supplier Group master.,Leverandørgruppe mester.,
Supplier Id,Leverandør id,
Supplier Invoice Date cannot be greater than Posting Date,Leverandørfakturadato kan ikke være større end bogføringsdatoen,
Supplier Invoice No,Leverandør fakturanr.,
Supplier Invoice No exists in Purchase Invoice {0},Leverandør faktura nr eksisterer i købsfaktura {0},
Supplier Name,Leverandørnavn,
Supplier Part No,Leverandør varenummer,
Supplier Quotation,Leverandørtilbud,
Supplier Scorecard,Leverandør Scorecard,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Leverandør Warehouse obligatorisk for underentreprise købskvittering,
Supplier database.,Leverandør database.,
Supplier {0} not found in {1},Leverandør {0} ikke fundet i {1},
Supplier(s),Leverandør (er),
Supplies made to UIN holders,Leveringer til UIN-indehavere,
Supplies made to Unregistered Persons,Forsyninger til uregistrerede personer,
Suppliies made to Composition Taxable Persons,Leveringer til skattepligtige personer,
Supply Type,Forsyningstype,
Support,Support,
Support Analytics,Supportanalyser,
Support Settings,Support Indstillinger,
Support Tickets,Support Billetter,
Support queries from customers.,Support forespørgsler fra kunder.,
Susceptible,modtagelig,
Sync has been temporarily disabled because maximum retries have been exceeded,"Synkronisering er midlertidigt deaktiveret, fordi maksimale forsøg er overskredet",
Syntax error in condition: {0},Syntaksfejl i tilstand: {0},
Syntax error in formula or condition: {0},Syntaks fejl i formel eller tilstand: {0},
System Manager,System Manager,
TDS Rate %,TDS-sats%,
Tap items to add them here,Tryk på elementer for at tilføje dem her,
Target,Target,
Target ({}),Mål ({}),
Target On,Target On,
Target Warehouse,Target Warehouse,
Target warehouse is mandatory for row {0},Target lageret er obligatorisk for rækken {0},
Task,Opgave,
Tasks,Opgaver,
Tasks have been created for managing the {0} disease (on row {1}),Opgaver er oprettet til styring af {0} sygdommen (på række {1}),
Tax,Skat,
Tax Assets,Skatteaktiver,
Tax Category,Skatskategori,
Tax Category for overriding tax rates.,Skatskategori til overskridende skattesatser.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items","Skatkategori er blevet ændret til &quot;Total&quot;, fordi alle genstande er ikke-lagerartikler",
Tax ID,CVR-nr.,
Tax Id: ,Skatte ID:,
Tax Rate,Skat,
Tax Rule Conflicts with {0},Momsregel konflikter med {0},
Tax Rule for transactions.,Momsregel til transaktioner.,
Tax Template is mandatory.,Momsskabelon er obligatorisk.,
Tax Withholding rates to be applied on transactions.,"Skat tilbageholdelsessatser, der skal anvendes på transaktioner.",
Tax template for buying transactions.,Momsskabelon til købstransaktioner.,
Tax template for item tax rates.,Skatteskabelon for varesatssatser.,
Tax template for selling transactions.,Beskatningsskabelon for salgstransaktioner.,
Taxable Amount,Skattepligtigt beløb,
Taxes,Moms,
Technology,Teknologi,
Telecommunications,Telekommunikation,
Telephone Expenses,Telefonudgifter,
Television,Fjernsyn,
Template Name,Skabelonnavn,
Template of terms or contract.,Skabelon til vilkår eller kontrakt.,
Templates of supplier scorecard criteria.,Skabeloner af leverandør scorecard kriterier.,
Templates of supplier scorecard variables.,Skabeloner af leverandør scorecard variabler.,
Templates of supplier standings.,Skabeloner af leverandørplaceringer.,
Temporarily on Hold,Midlertidigt på hold,
Temporary,Midlertidig,
Temporary Accounts,Midlertidige konti,
Temporary Opening,Midlertidig åbning,
Terms and Conditions,Betingelser,
Terms and Conditions Template,Skabelon til vilkår og betingelser,
Territory,Område,
Thank you for your business!,Tak for din forretning!,
The 'From Package No.' field must neither be empty nor it's value less than 1.,Fra pakke nr. feltet må hverken være tomt eller det er mindre end 1.,
The Brand,Varemærket,
The Item {0} cannot have Batch,Vare {0} kan ikke have parti,
The Loyalty Program isn't valid for the selected company,Loyalitetsprogrammet er ikke gyldigt for det valgte firma,
The Payment Term at row {0} is possibly a duplicate.,Betalingsperioden i række {0} er muligvis et duplikat.,
The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Betingelsernes slutdato kan ikke være tidligere end betingelsernes startdato. Ret venligst datoerne og prøv igen.,
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.,"Den Term Slutdato kan ikke være senere end året Slutdato af skoleåret, som udtrykket er forbundet (Studieår {}). Ret de datoer og prøv igen.",
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.,"Betingelsernes startdato kan ikke være tidligere end startdatoen for skoleåret, som udtrykket er forbundet med (Studieår {}). Ret venligst datoerne og prøv igen.",
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Året Slutdato kan ikke være tidligere end året startdato. Ret de datoer og prøv igen.,
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.,"Antallet af {0} i denne betalingsanmodning adskiller sig fra det beregnede beløb for alle betalingsplaner: {1}. Sørg for, at dette er korrekt, inden du sender dokumentet.",
The field From Shareholder cannot be blank,Feltet fra aktionær kan ikke være tomt,
The field To Shareholder cannot be blank,Feltet Til Aktionær kan ikke være tomt,
The fields From Shareholder and To Shareholder cannot be blank,Feltene fra aktionær og til aktionær kan ikke være tomme,
The folio numbers are not matching,Folio numrene matcher ikke,
The holiday on {0} is not between From Date and To Date,Ferien på {0} er ikke mellem Fra dato og Til dato,
The name of the institute for which you are setting up this system.,"Navnet på det institut, som du konfigurerer dette system.",
The name of your company for which you are setting up this system.,"Navnet på dit firma, som du oprette i dette system.",
The number of shares and the share numbers are inconsistent,Antallet af aktier og aktienumrene er inkonsekvente,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Betalingsgateway-kontoen i plan {0} er forskellig fra betalingsgateway-kontoen i denne betalingsanmodning,
The selected BOMs are not for the same item,De valgte styklister er ikke for den samme vare,
The selected item cannot have Batch,Den valgte vare kan ikke have parti,
The seller and the buyer cannot be the same,Sælgeren og køberen kan ikke være det samme,
The shareholder does not belong to this company,Aktionæren tilhører ikke dette selskab,
The shares already exist,Aktierne eksisterer allerede,
The shares don't exist with the {0},Aktierne findes 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","Opgaven er valgt som et baggrundsjob. I tilfælde af, at der er noget problem med behandling i baggrunden, tilføjer systemet en kommentar om fejlen i denne aktieafstemning og vender tilbage til udkastet.",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Så vil prisreglerne blive filtreret på kunde, kundegruppe, område, leverandør, leverandørtype, kampagne, salgspartner etc.",
"There are inconsistencies between the rate, no of shares and the amount calculated","Der er uoverensstemmelser mellem kursen, antal aktier og det beregnede beløb",
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.,Der kan være flere lagdelt indsamlingsfaktor baseret på det samlede forbrug. Men konverteringsfaktoren til indløsning vil altid være den samme for alle niveauer.,
There can only be 1 Account per Company in {0} {1},Der kan kun være 1 konto pr. Firma i {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Der kan kun være én forsendelsesregelbetingelse med 0 eller blank værdi i feltet ""til værdi""",
There is not enough leave balance for Leave Type {0},Der er ikke nok dage til rådighed til fraværstype {0},
There is nothing to edit.,Der er intet at redigere.,
There isn't any item variant for the selected item,Der er ikke nogen varianter for det valgte emne,
"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.","Der ser ud til at være et problem med serverens GoCardless-konfiguration. Du skal ikke bekymre dig, i tilfælde af fiasko vil beløbet blive refunderet til din konto.",
There were errors creating Course Schedule,Der opstod fejl ved at oprette kursusplan,
There were errors.,Der var fejl.,
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,"Dette element er en skabelon, og kan ikke anvendes i transaktioner. Item attributter kopieres over i varianterne medmindre &#39;Ingen Copy &quot;er indstillet",
This Item is a Variant of {0} (Template).,Denne vare er en variant af {0} (Skabelon).,
This Month's Summary,Denne måneds Summary,
This Week's Summary,Denne uges oversigt,
This action will stop future billing. Are you sure you want to cancel this subscription?,"Denne handling stopper fremtidig fakturering. Er du sikker på, at du vil annullere dette abonnement?",
This covers all scorecards tied to this Setup,Dette dækker alle scorecards knyttet til denne opsætning,
This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Dette dokument er over grænsen ved {0} {1} for vare {4}. Er du gør en anden {3} mod samme {2}?,
This is a root account and cannot be edited.,Dette er en rod-konto og kan ikke redigeres.,
This is a root customer group and cannot be edited.,Dette er en rod-kundegruppe og kan ikke redigeres.,
This is a root department and cannot be edited.,Dette er en rodafdeling og kan ikke redigeres.,
This is a root healthcare service unit and cannot be edited.,Dette er en root sundheds service enhed og kan ikke redigeres.,
This is a root item group and cannot be edited.,Dette er en rod-varegruppe og kan ikke redigeres.,
This is a root sales person and cannot be edited.,Dette er en rod salg person og kan ikke redigeres.,
This is a root supplier group and cannot be edited.,Dette er en rodleverandørgruppe og kan ikke redigeres.,
This is a root territory and cannot be edited.,Dette er et overordnet område og kan ikke redigeres.,
This is an example website auto-generated from ERPNext,Dette er et eksempel website auto-genereret fra ERPNext,
This is based on logs against this Vehicle. See timeline below for details,Dette er baseret på kørebogen for køretøjet. Se tidslinje nedenfor for detaljer,
This is based on stock movement. See {0} for details,Dette er baseret på lager bevægelse. Se {0} for detaljer,
This is based on the Time Sheets created against this project,Dette er baseret på de timesedler oprettes imod denne sag,
This is based on the attendance of this Student,Dette er baseret på deltagelse af denne Student,
This is based on transactions against this Customer. See timeline below for details,Dette er baseret på transaktioner for denne kunde. Se tidslinje nedenfor for detaljer,
This is based on transactions against this Healthcare Practitioner.,Dette er baseret på transaktioner mod denne Healthcare Practitioner.,
This is based on transactions against this Patient. See timeline below for details,Dette er baseret på transaktioner mod denne patient. Se tidslinjen nedenfor for detaljer,
This is based on transactions against this Sales Person. See timeline below for details,Dette er baseret på transaktioner mod denne Salgsperson. Se tidslinjen nedenfor for detaljer,
This is based on transactions against this Supplier. See timeline below for details,Dette er baseret på transaktioner for denne leverandør. Se tidslinje nedenfor for detaljer,
This {0} conflicts with {1} for {2} {3},Dette {0} konflikter med {1} for {2} {3},
Time Sheet for manufacturing.,Tidsregistrering til Produktion.,
Time Tracking,Tidsregistrering,
"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Tidspausen overspring, spalten {0} til {1} overlapper ekspansionen slot {2} til {3}",
Time slots added,Ledige tider tilføjet,
Time(in mins),Tid (i minutter),
Timer,Timer,
Timer exceeded the given hours.,Timeren oversteg de angivne timer.,
Timesheet,Tidsregistrering,
Timesheet for tasks.,Timeseddel til opgaver.,
Timesheet {0} is already completed or cancelled,Tidsregistreringskladde {0} er allerede afsluttet eller annulleret,
Timesheets,Tidsregistreringskladder,
"Timesheets help keep track of time, cost and billing for activites done by your team","Tidskladder hjælper med at holde styr på tid, omkostninger og fakturering for aktiviteter udført af dit team",
Titles for print templates e.g. Proforma Invoice.,Tekster til udskriftsskabeloner fx Proforma-faktura.,
To,Til,
To Address 1,Til adresse 1,
To Address 2,Til adresse 2,
To Bill,Til Bill,
To Date,Til dato,
To Date cannot be before From Date,Til dato kan ikke være før fra dato,
To Date cannot be less than From Date,Dato kan ikke være mindre end fra dato,
To Date must be greater than From Date,Til dato skal være større end Fra dato,
To Date should be within the Fiscal Year. Assuming To Date = {0},Til dato bør være inden regnskabsåret. Antages Til dato = {0},
To Datetime,Til datotid,
To Deliver,Til at levere,
To Deliver and Bill,At levere og Bill,
To Fiscal Year,Til regnskabsår,
To GSTIN,Til GSTIN,
To Party Name,Til Selskabsnavn,
To Pin Code,At pin kode,
To Place,At placere,
To Receive,At modtage,
To Receive and Bill,Til at modtage og Bill,
To State,Til stat,
To Warehouse,Til lager,
To create a Payment Request reference document is required,For at oprette en betalingsanmodning kræves referencedokument,
"To filter based on Party, select Party Type first","Hvis du vil filtrere på Selskab, skal du vælge Selskabstype først",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","For at få det bedste ud af ERPNext, anbefaler vi, at du tager lidt tid og se disse hjælpe videoer.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Hvis du vil medtage skat i række {0} i Item sats, skatter i rækker {1} skal også medtages",
To make Customer based incentive schemes.,At lave kundebaserede incitamentsordninger.,
"To merge, following properties must be same for both items","At fusionere, skal følgende egenskaber være ens for begge poster",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Hvis du ikke vil anvende Prisfastsættelse Regel i en bestemt transaktion, bør alle gældende Priser Regler deaktiveres.",
"To set this Fiscal Year as Default, click on 'Set as Default'","For at indstille dette regnskabsår som standard, skal du klikke på &#39;Vælg som standard&#39;",
To view logs of Loyalty Points assigned to a Customer.,"For at få vist logfiler af loyalitetspoint, der er tildelt en kunde.",
To {0},Til {0},
To {0} | {1} {2},Til {0} | {1} {2},
Toggle Filters,Skift filtre,
Too many columns. Export the report and print it using a spreadsheet application.,For mange kolonner. Udlæs rapporten og udskriv den ved hjælp af et regnearksprogram.,
Tools,Værktøj,
Total (Credit),I alt (kredit),
Total (Without Tax),I alt (uden skat),
Total Achieved,Total Opnået,
Total Actual,Samlede faktiske,
Total Amount,Samlet beløb,
Total Amount Credited,Samlede beløb krediteret,
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Total gældende takster i købskvitteringsvaretabel skal være det samme som de samlede skatter og afgifter,
Total Budget,Samlet budget,
Total Collected: {0},Samlet samlet: {0},
Total Commission,Samlet provision,
Total Contribution Amount: {0},Samlet bidragsbeløb: {0},
Total Credit/ Debit Amount should be same as linked Journal Entry,Samlet kredit- / debiteringsbeløb skal være det samme som tilknyttet tidsskriftindgang,
Total Debit must be equal to Total Credit. The difference is {0},Debet og kredit stemmer ikke. Differencen er {0},
Total Invoiced Amount,Totalt faktureret beløb,
Total Order Considered,Samlet Order Anses,
Total Order Value,Samlet ordreværdi,
Total Outgoing,Samlet udgående,
Total Outstanding,Samlet Udestående,
Total Outstanding Amount,Samlede udestående beløb,
Total Outstanding: {0},Samlet Udestående: {0},
Total Paid Amount,Samlet indbetalt beløb,
Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Samlet betalingsbeløb i betalingsplan skal svare til Grand / Rounded Total,
Total Payments,Samlede betalinger,
Total Qty,Antal i alt,
Total Quantity,Samlet mængde,
Total Revenue,Omsætning i alt,
Total Student,Samlet studerende,
Total Target,Samlet Target,
Total Tax,Moms i alt,
Total Taxable Amount,Samlet skattepligtigt beløb,
Total Taxable Value,Samlet skattepligtig værdi,
Total Unpaid: {0},Sum ubetalt: {0},
Total Variance,Samlet Varians,
Total Weightage of all Assessment Criteria must be 100%,Samlet vægtning af alle vurderingskriterier skal være 100%,
Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Samlet forhånd ({0}) mod Order {1} kan ikke være større end Grand alt ({2}),
Total advance amount cannot be greater than total claimed amount,Samlet forskudsbeløb kan ikke være større end det samlede beløb,
Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Samlede tildelte blade er flere dage end maksimal tildeling af {0} ferie type for medarbejder {1} i perioden,
Total allocated leaves are more than days in the period,Samlede fordelte blade er mere end dage i perioden,
Total allocated percentage for sales team should be 100,Samlede fordelte procentdel for salgsteam bør være 100,
Total cannot be zero,Samlede kan ikke være nul,
Total contribution percentage should be equal to 100,Den samlede bidragsprocent skal være lig med 100,
Total hours: {0},Total time: {0},
Total {0} ({1}),I alt {0} ({1}),
"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","I alt {0} for alle punkter er nul, kan være du skal ændre &quot;Fordel afgifter baseret på &#39;",
Total(Amt),I alt (Amt),
Total(Qty),I alt (Antal),
Traceability,Sporbarhed,
Track Leads by Lead Source.,Sporledninger af blykilde.,
Transaction,Transaktion,
Transaction Date,Transaktionsdato,
Transaction Type,Transaktionstype,
Transaction currency must be same as Payment Gateway currency,Transaktion valuta skal være samme som Payment Gateway valuta,
Transaction not allowed against stopped Work Order {0},Transaktion er ikke tilladt mod stoppet Arbejdsordre {0},
Transaction reference no {0} dated {1},Transaktion henvisning ingen {0} dateret {1},
Transactions,Transaktioner,
Transactions can only be deleted by the creator of the Company,Transaktioner kan kun slettes af skaberen af selskabet,
Transfer,Overførsel,
Transfer Material,Transfer Materiale,
Transfer Type,Overførselstype,
Transfer an asset from one warehouse to another,Overfør et aktiv fra et lager til et andet,
Transfered,overført,
Transferred Quantity,Overført mængde,
Transport Receipt Date,Transportkvitteringsdato,
Transport Receipt No,Transport kvittering nr,
Transportation,Transport,
Transporter ID,Transporter ID,
Transporter Name,Transporter Navn,
Travel Expenses,Rejseudgifter,
Tree Type,Tree Type,
Tree of Bill of Materials,Styklistetræ,
Tree of Item Groups.,Varegruppetræer,
Tree of Procedures,Proceduretræ,
Tree of Quality Procedures.,Træ med kvalitetsprocedurer.,
Tree of financial Cost Centers.,Tree of finansielle omkostningssteder.,
Tree of financial accounts.,Tree af finansielle konti.,
Treshold {0}% appears more than once,Grænsen {0}% forekommer mere end én gang,
Trial Period End Date Cannot be before Trial Period Start Date,Prøveperiode Slutdato kan ikke være før startperiode for prøveperiode,
Trialling,afprøvning,
Type of Business,Type virksomhed,
Types of activities for Time Logs,Typer af aktiviteter for Time Logs,
UOM,Måleenhed,
UOM Conversion factor is required in row {0},UOM Omregningsfaktor kræves i række {0},
UOM coversion factor required for UOM: {0} in Item: {1},UOM coversion faktor kræves for Pakke: {0} i Konto: {1},
URL,URL,
Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Kan ikke finde valutakurs for {0} til {1} for nøgle dato {2}. Opret venligst en valutaudvekslingsoptegnelse manuelt,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Kunne ikke finde nogen score fra {0}. Du skal have stående scoringer på mellem 0 og 100,
Unable to find variable: ,Kan ikke finde variabel:,
Unblock Invoice,Fjern blokering af faktura,
Uncheck all,Fravælg alle,
Unclosed Fiscal Years Profit / Loss (Credit),Uafsluttede regnskabsår Profit / Loss (Credit),
Unit,Enhed,
Unit of Measure,Måleenhed,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Måleenhed {0} er indtastet mere end én gang i Conversion Factor Table,
Unknown,Ukendt,
Unpaid,Åben,
Unsecured Loans,Usikrede lån,
Unsubscribe from this Email Digest,Afmeld dette e-mail-nyhedsbrev,
Unsubscribed,Afmeldt,
Until,Indtil,
Unverified Webhook Data,Uverificerede Webhook-data,
Update Account Name / Number,Opdater konto navn / nummer,
Update Account Number / Name,Opdater konto nummer / navn,
Update Cost,Opdatering Omkostninger,
Update Items,Opdater elementer,
Update Print Format,Opdater Print Format,
Update bank payment dates with journals.,Opdatér bankbetalingsdatoerne med kladderne.,
Update in progress. It might take a while.,Opdatering i gang. Det kan tage et stykke tid.,
Update rate as per last purchase,Opdateringshastighed pr. Sidste køb,
Update stock must be enable for the purchase invoice {0},Opdateringslager skal aktiveres for købsfakturaen {0},
Updating Variants...,Opdaterer varianter ...,
Upload your letter head and logo. (you can edit them later).,Upload dit brevhoved og logo. (du kan redigere dem senere).,
Upper Income,Upper Indkomst,
Use Sandbox,Brug Sandbox,
User,Bruger,
User ID,Bruger-id,
User ID not set for Employee {0},Bruger-id ikke indstillet til Medarbejder {0},
User Remark,Brugerbemærkning,
User has not applied rule on the invoice {0},Brugeren har ikke anvendt en regel på fakturaen {0},
User {0} already exists,Bruger {0} eksisterer allerede,
User {0} created,Bruger {0} oprettet,
User {0} does not exist,Brugeren {0} eksisterer ikke,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Bruger {0} har ingen standard POS-profil. Tjek standard i række {1} for denne bruger.,
User {0} is already assigned to Employee {1},Bruger {0} er allerede tildelt Medarbejder {1},
User {0} is already assigned to Healthcare Practitioner {1},Bruger {0} er allerede tildelt sundhedsmedarbejder {1},
Users,Brugere,
Utility Expenses,"El, vand og varmeudgifter",
Valid From Date must be lesser than Valid Upto Date.,Gyldig fra dato skal være mindre end gyldig upto dato.,
Valid Till,Gyldig til,
Valid from and valid upto fields are mandatory for the cumulative,Gyldige fra og gyldige op til felter er obligatoriske for det akkumulerede,
Valid from date must be less than valid upto date,Gyldig fra dato skal være mindre end gyldig indtil dato,
Valid till date cannot be before transaction date,Gyldig til dato kan ikke være før transaktionsdato,
Validity,Gyldighed,
Validity period of this quotation has ended.,Gyldighedsperioden for dette citat er afsluttet.,
Valuation Rate,Værdiansættelsesbeløb,
Valuation Rate is mandatory if Opening Stock entered,"Værdiansættelsesværdi er obligatorisk, hvis Åbning Stock indtastet",
Valuation type charges can not marked as Inclusive,Værdiansættelse typen omkostninger ikke er markeret som Inclusive,
Value Or Qty,Værdi eller mængde,
Value Proposition,Værdiforslag,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Værdi for Egenskab {0} skal være inden for området af {1} og {2} i intervaller af {3} til konto {4},
Value must be between {0} and {1},Værdien skal være mellem {0} og {1},
"Values of exempt, nil rated and non-GST inward supplies","Værdier for undtagne, ikke-klassificerede og ikke-GST-indgående leverancer",
Variance,varians,
Variance ({}),Variance ({}),
Variant,Variant,
Variant Attributes,Variant Attributter,
Variant Based On cannot be changed,Variant baseret på kan ikke ændres,
Variant Details Report,Variant Details Report,
Variant creation has been queued.,Variantoprettelse er blevet køet.,
Vehicle Expenses,Køretøjsudgifter,
Vehicle No,Køretøjsnr.,
Vehicle Type,Køretøjstype,
Vehicle/Bus Number,Køretøj / busnummer,
Venture Capital,Venture Capital,
View Chart of Accounts,Vis kontoplan,
View Fees Records,Se Gebyrer Records,
View Form,Vis form,
View Lab Tests,Vis laboratorieprøver,
View Leads,Se emner,
View Ledger,Se kladde,
View Now,Se nu,
View a list of all the help videos,Se en liste over alle hjælpevideoerne,
View in Cart,Se i indkøbskurven,
Visit report for maintenance call.,Besøg rapport til vedligeholdelse opkald.,
Visit the forums,Besøg fora,
Vital Signs,Vitale tegn,
Volunteer,Frivillig,
Volunteer Type information.,Frivilligt Type oplysninger.,
Volunteer information.,Frivillig information.,
Voucher #,Bilagsnr.,
Voucher No,Bilagsnr.,
Voucher Type,Bilagstype,
WIP Warehouse,Varer-i-arbejde-lager,
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,"Lager kan ikke slettes, da der eksisterer lagerposter for dette lager.",
Warehouse cannot be changed for Serial No.,Lager kan ikke ændres for serienummeret,
Warehouse is mandatory,Lager er obligatorisk,
Warehouse is mandatory for stock Item {0} in row {1},Lager er obligatorisk for lagervare {0} i række {1},
Warehouse not found in the system,Lager ikke fundet i systemet,
"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Lager krævet på række nr. {0}, angiv standardlager for varen {1} for virksomheden {2}",
Warehouse required for stock Item {0},Lager kræves for lagervare {0},
Warehouse {0} can not be deleted as quantity exists for Item {1},"Lager {0} kan ikke slettes, da der eksisterer et antal varer {1} på lageret",
Warehouse {0} does not belong to company {1},Lager {0} ikke hører til firmaet {1},
Warehouse {0} does not exist,Lager {0} eksisterer 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 nogen konto, angiv venligst kontoen i lagerplaceringen eller angiv standard lagerkonto i firma {1}.",
Warehouses with child nodes cannot be converted to ledger,Lager med referencer kan ikke konverteres til finans,
Warehouses with existing transaction can not be converted to group.,Lager med eksisterende transaktion kan ikke konverteres til gruppen.,
Warehouses with existing transaction can not be converted to ledger.,Lager med eksisterende transaktioner kan ikke konverteres til Finans.,
Warning,Advarsel,
Warning: Another {0} # {1} exists against stock entry {2},Advarsel: En anden {0} # {1} eksisterer mod lagerpost {2},
Warning: Invalid SSL certificate on attachment {0},Advarsel: Ugyldigt SSL-certifikat på vedhæftet fil {0},
Warning: Invalid attachment {0},Advarsel: Ugyldig vedhæftet fil {0},
Warning: Material Requested Qty is less than Minimum Order Qty,Advarsel: Anmodet materialemængde er mindre end minimum ordremængden,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Advarsel: Salg Order {0} findes allerede mod Kundens Indkøbsordre {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,"Advarsel: Systemet vil ikke tjekke for overfakturering, da beløbet for vare {0} i {1} er nul",
Warranty,Garanti,
Warranty Claim,Garantikrav,
Warranty Claim against Serial No.,Garantikrav mod serienummer,
Website,Hjemmeside,
Website Image should be a public file or website URL,Website Billede bør være en offentlig fil eller webadresse,
Website Image {0} attached to Item {1} cannot be found,Website Billede {0} er knyttet til Vare {1} kan ikke findes,
Website Manager,Webmaster,
Website Settings,Opsætning af hjemmeside,
Wednesday,Onsdag,
Week,Uge,
Weekly,Ugentlig,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Vægt er nævnt, \ nVenligst nævne &quot;Weight UOM&quot; for",
Welcome email sent,Velkomst-e-mail sendt,
Welcome to ERPNext,Velkommen til ERPNext,
What do you need help with?,Hvad har du brug for hjælp til?,
What does it do?,Hvad gør det?,
Where manufacturing operations are carried.,Hvor fremstillingsprocesser gennemføres.,
White,hvid,
Wire Transfer,Bankoverførsel,
WooCommerce Products,WooCommerce-produkter,
Work In Progress,Varer i arbejde,
Work Order,Arbejdsordre,
Work Order already created for all items with BOM,Arbejdsordre allerede oprettet for alle varer med BOM,
Work Order cannot be raised against a Item Template,Arbejdsordre kan ikke rejses imod en vare skabelon,
Work Order has been {0},Arbejdsordre har været {0},
Work Order not created,Arbejdsordre er ikke oprettet,
Work Order {0} must be cancelled before cancelling this Sales Order,"Arbejdsordren {0} skal annulleres, inden afbestillingen af denne salgsordre",
Work Order {0} must be submitted,Arbejdsordre {0} skal indsendes,
Work Orders Created: {0},Arbejdsordrer oprettet: {0},
Work-in-Progress Warehouse is required before Submit,"Work-in-Progress Warehouse er nødvendig, før Indsend",
Working,Working,
Working Hours,Arbejdstider,
Workstation,Arbejdsstation,
Workstation is closed on the following dates as per Holiday List: {0},Workstation er lukket på følgende datoer ifølge helligdagskalenderen: {0},
Wrapping up,Afslutter,
Wrong Password,Forkert adgangskode,
Year start date or end date is overlapping with {0}. To avoid please set company,"Første dag eller sidste dag i året overlapper med {0}. For at undgå dette, sæt selskabet korrekt op",
You are not authorized to add or update entries before {0},Du har ikke tilladelse til at tilføje eller opdatere poster før {0},
You are not authorized to set Frozen value,Du er ikke autoriseret til at fastsætte låst værdi,
You can not change rate if BOM mentioned agianst any item,"Du kan ikke ændre kurs, hvis BOM nævnt agianst ethvert element",
You can not enter current voucher in 'Against Journal Entry' column,"Du kan ikke indtaste det aktuelle bilag i ""Imod Kassekladde 'kolonne",
You can only have Plans with the same billing cycle in a Subscription,Du kan kun have planer med samme faktureringsperiode i en abonnement,
You can only redeem max {0} points in this order.,Du kan kun indløse maksimalt {0} point i denne ordre.,
You can only renew if your membership expires within 30 days,"Du kan kun forny, hvis dit medlemskab udløber inden for 30 dage",
You can only select a maximum of one option from the list of check boxes.,Du kan kun vælge maksimalt en mulighed fra listen over afkrydsningsfelter.,
You can't redeem Loyalty Points having more value than the Grand Total.,"Du kan ikke indløse loyalitetspoint, der har mere værdi end samlet total.",
You cannot credit and debit same account at the same time,Du kan ikke kreditere og debitere samme konto på samme tid,
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Du kan ikke slette Regnskabsår {0}. Regnskabsår {0} er indstillet som standard i Globale indstillinger,
You cannot delete Project Type 'External',Du kan ikke slette Project Type 'Ekstern',
You cannot edit root node.,Du kan ikke redigere root node.,
You cannot restart a Subscription that is not cancelled.,"Du kan ikke genstarte en abonnement, der ikke annulleres.",
You don't have enough Loyalty Points to redeem,Du har ikke nok loyalitetspoint til at indløse,
You have already assessed for the assessment criteria {}.,Du har allerede vurderet for bedømmelseskriterierne {}.,
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 er blevet inviteret til at samarbejde om sag: {0},
You have entered duplicate items. Please rectify and try again.,"Du har indtastet dubletter. Venligst rette, og prøv igen.",
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Du skal være en anden bruger end Administrator med System Manager og Item Manager roller for at registrere dig på Marketplace.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Du skal være bruger med System Manager og Item Manager roller for at tilføje brugere til Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Du skal være en bruger med System Manager og Item Manager roller til at registrere på Marketplace.,
You need to enable Shopping Cart,Du skal aktivere Indkøbskurven,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,"Du vil miste optegnelser over tidligere genererede fakturaer. Er du sikker på, at du vil genstarte dette abonnement?",
Your Organization,Din organisation,
Your cart is Empty,Din vogn er tom,
Your email address...,Din email adresse...,
Your order is out for delivery!,Din ordre er ude for levering!,
Your tickets,Dine billetter,
ZIP Code,Postnummer,
[Error],[Fejl],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Form / Vare / {0}) er udsolgt,
`Freeze Stocks Older Than` should be smaller than %d days.,`Frys lager ældre end` skal være mindre end %d dage.,
based_on,baseret på,
cannot be greater than 100,må ikke være større end 100,
disabled user,deaktiveret bruger,
"e.g. ""Build tools for builders""",fx &quot;Byg værktøjer til bygherrer&quot;,
"e.g. ""Primary School"" or ""University""",fx &quot;Primary School&quot; eller &quot;University&quot;,
"e.g. Bank, Cash, Credit Card","fx Bank, Kontant, Kreditkort",
hidden,skjult,
modified,modificeret,
old_parent,old_parent,
on,på,
{0} '{1}' is disabled,{0} &#39;{1}&#39; er deaktiveret,
{0} '{1}' not in Fiscal Year {2},{0} &#39;{1}&#39; ikke i regnskabsåret {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) kan ikke være større end den planlagte mængde ({2}) i Work Order {3},
{0} - {1} is inactive student,{0} - {1} er inaktiv studerende,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} er ikke indskrevet i batch {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} er ikke tilmeldt kurset {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Budget for konto {1} mod {2} {3} er {4}. Det vil overstige med {5},
{0} Digest,{0} Digest,
{0} Request for {1},{0} Anmodning om {1},
{0} Result submittted,{0} Resultat indsendt,
{0} Serial Numbers required for Item {1}. You have provided {2}.,"{0} serienumre, der kræves for vare {1}. Du har angivet {2}.",
{0} Student Groups created.,{0} Student gruppe oprettet.,
{0} Students have been enrolled,{0} Studerende er blevet tilmeldt,
{0} against Bill {1} dated {2},{0} mod regning {1} dateret {2},
{0} against Purchase Order {1},{0} mod indkøbsordre {1},
{0} against Sales Invoice {1},{0} mod salgsfaktura {1},
{0} against Sales Order {1},{0} mod salgsordre {1},
{0} asset cannot be transferred,{0} aktiv kan ikke overføres,
{0} can not be negative,{0} kan ikke være negativ,
{0} created,{0} oprettet,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} har for øjeblikket en {1} leverandør scorecard stående, og købsordrer til denne leverandør bør udstedes med forsigtighed.",
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} har for øjeblikket et {1} leverandør scorecard stående, og RFQs til denne leverandør skal udleveres med forsigtighed.",
{0} does not belong to Company {1},{0} tilhører ikke firmaet {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} indeholder ingen behandlingskalender. Tilføj denne på sundhedsmedarbejderen.,
{0} entered twice in Item Tax,{0} indtastet to gange i varemoms,
{0} for {1},{0} for {1},
{0} has been submitted successfully,{0} er blevet indsendt succesfuldt,
{0} has fee validity till {1},{0} har gebyrgyldighed indtil {1},
{0} hours,{0} timer,
{0} in row {1},{0} i række {1},
{0} is blocked so this transaction cannot proceed,"{0} er blokeret, så denne transaktion kan ikke fortsætte",
{0} is mandatory,{0} er obligatorisk,
{0} is mandatory for Item {1},{0} er obligatorisk for vare {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} er obligatorisk. Måske er valutaveksling record ikke lavet 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 et gyldigt partinummer for vare {1},
{0} is not added in the table,{0} tilføjes ikke i tabellen,
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} er nu standard regnskabsår. Opdater venligst din browser for at ændringen træder i kraft.,
{0} is on hold till {1},{0} er på vent indtil {1},
{0} item found.,{0} vare fundet.,
{0} items found.,{0} fundne varer.,
{0} items in progress,{0} igangværende varer,
{0} items produced,{0} varer produceret,
{0} must appear only once,{0} må kun optræde én gang,
{0} must be negative in return document,{0} skal være negativ til retur dokument,
{0} not allowed to transact with {1}. Please change the Company.,{0} må ikke transagere med {1}. Vær venlig at ændre selskabet.,
{0} not found for item {1},{0} ikke fundet for punkt {1},
{0} parameter is invalid,{0} -parameteren er ugyldig,
{0} payment entries can not be filtered by {1},{0} betalingsposter ikke kan filtreres med {1},
{0} should be a value between 0 and 100,{0} skal være en værdi mellem 0 og 100,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} enheder af [{1}] (# Form / vare / {1}) findes i [{2}] (# Form / Lager / {2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} enheder af {1} skal bruges i {2} på {3} {4} til {5} for at gennemføre denne transaktion.,
{0} units of {1} needed in {2} to complete this transaction.,{0} enheder af {1} skal bruges i {2} at fuldføre denne transaktion.,
{0} valid serial nos for Item {1},{0} gyldige serienumre for vare {1},
{0} variants created.,{0} varianter oprettet.,
{0} {1} created,{0} {1} oprettet,
{0} {1} does not exist,{0} {1} findes ikke,
{0} {1} has been modified. Please refresh.,{0} {1} er blevet ændret. Venligst opdater.,
{0} {1} has not been submitted so the action cannot be completed,"{0} {1} er ikke indsendt, så handlingen kan ikke gennemføres",
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} er forbundet med {2}, men Selskabskonto er {3}",
{0} {1} is cancelled or closed,{0} {1} er aflyst eller lukket,
{0} {1} is cancelled or stopped,{0} {1} er aflyst eller stoppet,
{0} {1} is cancelled so the action cannot be completed,"{0} {1} er annulleret, så handlingen kan ikke gennemføres",
{0} {1} is closed,{0} {1} er lukket,
{0} {1} is disabled,{0} {1} er deaktiveret,
{0} {1} is frozen,{0} {1} er frosset,
{0} {1} is fully billed,{0} {1} er fuldt faktureret,
{0} {1} is not active,{0} {1} er ikke aktiv,
{0} {1} is not associated with {2} {3},{0} {1} er ikke forbundet med {2} {3},
{0} {1} is not present in the parent company,{0} {1} er ikke til stede i moderselskabet,
{0} {1} is not submitted,{0} {1} er ikke godkendt,
{0} {1} is {2},{0} {1} er {2},
{0} {1} must be submitted,{0} {1} skal godkendes,
{0} {1} not in any active Fiscal Year.,{0} {1} ikke i noget aktivt regnskabsår.,
{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}: konto {2} af typen Resultatopgørelse må ikke angives i Åbningsbalancen,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Konto {2} tilhører ikke firma {3},
{0} {1}: Account {2} is inactive,{0} {1}: Konto {2} er inaktiv,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Regnskabsføring for {2} kan kun foretages i valuta: {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Omkostningssted er obligatorisk for vare {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}: omkostningssted er påkrævet for resultatopgørelsekonto {2}. Opret venligst et standard omkostningssted for firmaet.,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: omkostningssted {2} tilhører ikke firma {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}: Kunden er påkrævet mod Tilgodehavende konto {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Enten debet- eller kreditbeløb er påkrævet for {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Leverandøren er påkrævet mod Betalings konto {2},
{0}% Billed,{0}% Faktureret,
{0}% Delivered,{0}% Leveret,
{0}: From {1},{0}: Fra {1},
{0}: {1} does not exists,{0}: {1} eksisterer ikke,
{0}: {1} not found in Invoice Details table,{0}: {1} ikke fundet i fakturedetaljer tabel,
{} of {},{} af {},
Assigned To,Tildelt til,
Chat,Chat,
Completed By,Færdiggjort af,
Day of Week,Ugedag,
"Dear System Manager,","Kære Systemadministrator,",
Default Value,Standardværdi,
Email Group,E-mailgruppe,
Email Settings,E-mail-indstillinger,
Email not sent to {0} (unsubscribed / disabled),E-mail ikke sendt til {0} (afmeldt / deaktiveret),
Error Message,Fejl besked,
Fieldtype,FieldType,
Help Articles,Hjælp artikler,
ID,ID,
Import,Import,
Language,Sprog,
Likes,Likes,
Merge with existing,Sammenlæg med eksisterende,
Orientation,Orientering,
Parent,Parent,
Payment Failed,Betaling mislykkedes,
Personal,Personlig,
Post,Indlæg,
Postal Code,postnummer,
Provider,provider,
Read Only,Skrivebeskyttet,
Recipient,Modtager,
Reviews,Anmeldelser,
Sender,Afsender,
There were errors while sending email. Please try again.,Der var fejl under afsendelse af e-mail. Prøv venligst igen.,
Values Changed,Værdier ændret,
or,eller,
Ageing Range 4,Aldringsområde 4,
Allocated amount cannot be greater than unadjusted amount,Tildelt beløb kan ikke være større end ujusteret beløb,
Allocated amount cannot be negative,Tildelt beløb kan ikke være negativt,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Forskelskonto skal være en konto for aktiver / passiver, da denne aktieindgang er en åbningsindgang",
Import Successful,Import Succesfuld,
Please save first,Gem først,
Price not found for item {0} in price list {1},Pris ikke fundet for vare {0} i prisliste {1},
Warehouse Type,Lagertype,
'Date' is required,&#39;Dato&#39; er påkrævet,
Budgets,budgetter,
Bundle Qty,Bundtmængde,
Company GSTIN,Firma GSTIN,
Company field is required,Virksomhedsfelt er påkrævet,
Creating Dimensions...,Opretter dimensioner ...,
Duplicate entry against the item code {0} and manufacturer {1},Kopiér indtastning mod varekoden {0} og producenten {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! Det input, du har indtastet, stemmer ikke overens med GSTIN-formatet for UIN-indehavere eller ikke-residente OIDAR-tjenesteudbydere",
Invoice Grand Total,Faktura Grand Total,
Last carbon check date cannot be a future date,Sidste dato for kulstofkontrol kan ikke være en fremtidig dato,
Make Stock Entry,Foretag lagerindtastning,
Quality Feedback,Kvalitetsfeedback,
Quality Feedback Template,Kvalitetsfeedback-skabelon,
Rules for applying different promotional schemes.,Regler for anvendelse af forskellige salgsfremmende ordninger.,
Show {0},Vis {0},
Target Details,Måldetaljer,
{0} already has a Parent Procedure {1}.,{0} har allerede en overordnet procedure {1}.,
API,API,
Annual,Årligt,
Change,Ændring,
Contact Email,Kontakt e-mail,
From Date,Fra dato,
Group By,Gruppér efter,
Invalid URL,ugyldig URL,
Landscape,Landskab,
Naming Series,Navngivningsnummerserie,
No data to export,Ingen data at eksportere,
Portrait,Portræt,
Print Heading,Overskrift,
Scheduler Inactive,Planlægning inaktiv,
Scheduler is inactive. Cannot import data.,Scheduler er inaktiv. Data kan ikke importeres.,
Show Document,Vis dokument,
Show Traceback,Vis traceback,
Video,video,
% Of Grand Total,% Af det samlede antal,
<b>Company</b> is a mandatory filter.,<b>Virksomheden</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 end <b>Til tid</b> for {0},
<b>To Date</b> is a mandatory filter.,<b>Til dato</b> er et obligatorisk filter.,
A new appointment has been created for you with {0},En ny aftale er oprettet til dig med {0},
Account Value,Kontoværdi,
Account is mandatory to get payment entries,Konto er obligatorisk for at få betalingsposter,
Account is not set for the dashboard chart {0},Konto er ikke indstillet til betjeningspanelet {0},
Account {0} does not exists in the dashboard chart {1},Konto {0} findes ikke i kontrolpanelet {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Konto: <b>{0}</b> er kapital Arbejde pågår og kan ikke opdateres af journalindtastning,
Account: {0} is not permitted under Payment Entry,Konto: {0} er ikke tilladt under betalingsindtastning,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Regnskabsdimension <b>{0}</b> er påkrævet for &#39;Balance&#39; -konto {1}.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Regnskabsdimension <b>{0}</b> er påkrævet for &#39;Resultat og tab&#39; konto {1},
Accounting Masters,Regnskabsopsætning,
Accounting Period overlaps with {0},Regnskabsperiode overlapper med {0},
Activity,Aktivitet,
Add / Manage Email Accounts.,Tilføj / Håndter e-mail-konti.,
Add Child,Tilføj ny,
Add Multiple,Tilføj flere,
Add Participants,Tilføj deltagerne,
Add to Featured Item,Føj til den valgte vare,
Add your review,Tilføj din anmeldelse,
Add/Edit Coupon Conditions,Tilføj / rediger kuponbetingelser,
Added to Featured Items,Føjet til Featured Items,
Added {0} ({1}),Tilføjet {0} ({1}),
Address Line 1,Adresse,
Addresses,Adresser,
Admission End Date should be greater than Admission Start Date.,Indgangssluttedato skal være større end startdato for optagelse.,
All,Alle,
All bank transactions have been created,Alle banktransaktioner er oprettet,
All the depreciations has been booked,Alle afskrivninger er booket,
Allow Resetting Service Level Agreement from Support Settings.,Tillad nulstilling af serviceniveauaftale fra supportindstillinger.,
Amount of {0} is required for Loan closure,Der kræves et beløb på {0} til lukning af lånet,
Applied Coupon Code,Anvendt kuponkode,
Apply Coupon Code,Anvend kuponkode,
Appointment Booking,Udnævnelsesreservation,
"As there are existing transactions against item {0}, you can not change the value of {1}","Da der er eksisterende transaktioner mod element {0}, kan du ikke ændre værdien af {1}",
Asset Id,Aktiv-id,
Asset Value,Aktiveringsværdi,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Justering af aktiver for værdien kan ikke bogføres før Asset&#39;s købsdato <b>{0}</b> .,
Asset {0} does not belongs to the custodian {1},Akti {0} hører ikke til depotmand {1},
Asset {0} does not belongs to the location {1},Aktiv {0} hører ikke til placeringen {1},
At least one of the Applicable Modules should be selected,Mindst et af de relevante moduler skal vælges,
Atleast one asset has to be selected.,Atleast én aktiv skal vælges.,
Authentication Failed,Godkendelse mislykkedes,
Automatic Reconciliation,Automatisk afstemning,
Available For Use Date,Tilgængelig til brugsdato,
Available Stock,Tilgængelig lager,
"Available quantity is {0}, you need {1}","Tilgængelig mængde er {0}, du har brug for {1}",
BOM 1,BOM 1,
BOM 2,BOM 2,
BOM Comparison Tool,BOM-sammenligningsværktøj,
BOM recursion: {0} cannot be child of {1},BOM-rekursion: {0} kan ikke være barn af {1},
BOM recursion: {0} cannot be parent or child of {1},BOM-rekursion: {0} kan ikke være forælder eller barn til {1},
Back to Messages,Tilbage til meddelelser,
Bank Data mapper doesn't exist,Bankdatakortlægning findes ikke,
Bank Details,Bank detaljer,
Bank account '{0}' has been synchronized,Bankkonto &#39;{0}&#39; er synkroniseret,
Bank account {0} already exists and could not be created again,Bankkonto {0} findes allerede og kunne ikke oprettes igen,
Bank accounts added,Bankkonti tilføjet,
Batch no is required for batched item {0},Batch nr er påkrævet for batch vare {0},
Billing Date,Faktureringsdato,
Billing Interval Count cannot be less than 1,Faktureringsintervalloptælling kan ikke være mindre end 1,
Blue,Blå,
Book,bog,
Book Appointment,Book aftale,
Brand,Varemærke,
Browse,Gennemse,
Call Connected,Opkald tilsluttet,
Call Disconnected,Opkald frakoblet,
Call Missed,Opkald mistet,
Call Summary,Opkaldsoversigt,
Call Summary Saved,Opkaldsoversigt gemt,
Cancelled,Annulleret,
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 optimere ruten, da driveradressen mangler.",
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,"Kan ikke udføre opgave {0}, da dens afhængige opgave {1} ikke er komplet / annulleret.",
Cannot find a matching Item. Please select some other value for {0}.,Kan ikke finde en matchende Item. Vælg en anden værdi 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 overbillede for vare {0} i række {1} mere end {2}. For at tillade overfakturering skal du angive kvote i Kontoindstillinger,
"Capacity Planning Error, planned start time can not be same as end time","Kapacitetsplanlægningsfejl, planlagt starttid kan ikke være det samme som sluttid",
Categories,Kategorier,
Changes in {0},Ændringer i {0},
Chart,Diagram,
Choose a corresponding payment,Vælg en tilsvarende betaling,
Click on the link below to verify your email and confirm the appointment,Klik på linket herunder for at bekræfte din e-mail og bekræfte aftalen,
Close,Luk,
Communication,Kommunikation,
Compact Item Print,Kompakt Item Print,
Company,Firma,
Company of asset {0} and purchase document {1} doesn't matches.,Virksomhed med aktiv {0} og købsdokument {1} stemmer ikke overens.,
Compare BOMs for changes in Raw Materials and Operations,Sammenlign BOM&#39;er for ændringer i råvarer og operationer,
Compare List function takes on list arguments,Funktionen Sammenlign liste tager listeargumenter på,
Complete,Komplet,
Completed,Afsluttet,
Completed Quantity,Fuldført mængde,
Connect your Exotel Account to ERPNext and track call logs,Forbind din Exotel-konto til ERPNext og spor opkaldslogger,
Connect your bank accounts to ERPNext,Tilslut dine bankkonti til ERPNext,
Contact Seller,Kontakt sælger,
Continue,Fortsætte,
Cost Center: {0} does not exist,Omkostningscenter: {0} findes ikke,
Couldn't Set Service Level Agreement {0}.,Kunne ikke indstille serviceniveauaftale {0}.,
Country,Land,
Country Code in File does not match with country code set up in the system,"Landekode i fil stemmer ikke overens med landekoden, der er oprettet i systemet",
Create New Contact,Opret ny kontakt,
Create New Lead,Opret ny kundeemne,
Create Pick List,Opret plukliste,
Create Quality Inspection for Item {0},Opret kvalitetskontrol for vare {0},
Creating Accounts...,Opretter konti ...,
Creating bank entries...,Opretter bankposter ...,
Credit limit is already defined for the Company {0},Kreditgrænsen er allerede defineret for virksomheden {0},
Ctrl + Enter to submit,Ctrl + Enter for at indsende,
Ctrl+Enter to submit,Ctrl + Enter for at indsende,
Currency,Valuta,
Current Status,Aktuel status,
Customer PO,Kundepost,
Daily,Daglig,
Date,Dato,
Date of Birth cannot be greater than Joining Date.,Fødselsdato kan ikke være større end tiltrædelsesdato.,
Dear,Kære,
Default,Standard,
Define coupon codes.,Definer kuponkoder.,
Delayed Days,Forsinkede dage,
Delete,Slet,
Delivered Quantity,Leveret mængde,
Delivery Notes,Leveringsanvisninger,
Depreciated Amount,Afskrevet beløb,
Description,Beskrivelse,
Designation,Betegnelse,
Difference Value,Forskellen Værdi,
Dimension Filter,Dimension Filter,
Disabled,Deaktiveret,
Disbursement and Repayment,Udbetaling og tilbagebetaling,
Distance cannot be greater than 4000 kms,Afstand kan ikke være større end 4000 km,
Do you want to submit the material request,Ønsker du at indsende den materielle anmodning,
Doctype,doctype,
Document {0} successfully uncleared,Dokument {0} er uklaret,
Download Template,Hent skabelon,
Dr,Dr.,
Due Date,Forfaldsdato,
Duplicate,Duplikér,
Duplicate Project with Tasks,Kopier projekt med opgaver,
Duplicate project has been created,Der er oprettet duplikatprojekt,
E-Way Bill JSON can only be generated from a submitted document,E-Way Bill JSON kan kun genereres fra et indsendt dokument,
E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON kan kun genereres fra det indsendte dokument,
E-Way Bill JSON cannot be generated for Sales Return as of now,E-Way Bill JSON kan ikke genereres til salgsafkast fra nu,
ERPNext could not find any matching payment entry,ERPNext kunne ikke finde nogen matchende betalingsindgang,
Earliest Age,Tidligste alder,
Edit Details,Rediger detaljer,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,"Enten GST Transporter ID eller køretøjsnummer er påkrævet, hvis transportform er vej",
Email,EMail,
Email Campaigns,E-mail-kampagner,
Employee ID is linked with another instructor,Medarbejder-ID er forbundet med en anden instruktør,
Employee Tax and Benefits,Medarbejder skat og fordele,
Employee is required while issuing Asset {0},Medarbejder er påkrævet ved udstedelse af aktiver {0},
Employee {0} does not belongs to the company {1},Medarbejder {0} hører ikke til virksomheden {1},
Enable Auto Re-Order,Aktivér automatisk ombestilling,
End Date of Agreement can't be less than today.,Slutdato for aftalen kan ikke være mindre end i dag.,
End Time,End Time,
Energy Point Leaderboard,Energipunkt Leaderboard,
Enter API key in Google Settings.,Indtast API-nøglen i Google-indstillinger.,
Enter Supplier,Indtast leverandør,
Enter Value,Indtast værdi,
Entity Type,Entity Type,
Error,Fejl,
Error in Exotel incoming call,Fejl i Exotel indgående opkald,
Error: {0} is mandatory field,Fejl: {0} er et obligatorisk felt,
Exception occurred while reconciling {0},Undtagelse skete under afstemning af {0},
Expected and Discharge dates cannot be less than Admission Schedule date,Forventede datoer og decharge-datoer kan ikke være mindre end datoen for optagelsesplan,
Expired,Udløbet,
Export,Udlæs,
Export not allowed. You need {0} role to export.,Udlæsning er ikke tilladt. Du har brug for {0} rolle for at kunne udlæse.,
Failed to add Domain,Kunne ikke tilføje domæne,
Fetch Items from Warehouse,Hent genstande fra lageret,
Fetching...,Henter ...,
Field,Felt,
Filters,Filtre,
Finding linked payments,Finde tilknyttede betalinger,
Fleet Management,Firmabiler,
Following fields are mandatory to create address:,Følgende felter er obligatoriske for at oprette adresse:,
For Month,For måned,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity",For punkt {0} i række {1} stemmer antallet af serienumre ikke med det valgte antal,
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),"Til operation {0}: Mængde ({1}) kan ikke være greter end mængde, der verserer ({2})",
For quantity {0} should not be greater than work order quantity {1},For mængde {0} bør ikke være større end mængden af arbejdsordre {1},
Free item not set in the pricing rule {0},Gratis vare ikke angivet i prisreglen {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 medarbejder er påkrævet, mens du modtager Asset {0} til en målplacering",
Future Payment Amount,Fremtidig betalingsbeløb,
Future Payment Ref,Fremtidig betaling Ref,
Future Payments,Fremtidige betalinger,
GST HSN Code does not exist for one or more items,GST HSN-kode findes ikke for et eller flere elementer,
Generate E-Way Bill JSON,Generer E-Way Bill JSON,
Get Items,Hent varer,
Get Outstanding Documents,Få fremragende dokumenter,
Goal,Goal,
Greater Than Amount,Større end beløb,
Green,Grøn,
Group,Gruppe,
Group By Customer,Grupper efter kunde,
Group By Supplier,Gruppe efter leverandør,
Group Node,Gruppe Node,
Group Warehouses cannot be used in transactions. Please change the value of {0},Gruppelagre kan ikke bruges i transaktioner. Skift værdien på {0},
Help,Hjælp,
Help Article,Hjælp artikel,
"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Hjælper dig med at holde styr på kontrakter baseret på leverandør, kunde og medarbejder",
Helps you manage appointments with your leads,Hjælper dig med at administrere aftaler med dine kundeemner,
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 gang,
Incoming call from {0},Indgående opkald fra {0},
Incorrect Warehouse,Forkert lager,
Invalid Barcode. There is no Item attached to this barcode.,Ugyldig stregkode. Der er ingen ting knyttet til denne stregkode.,
Invalid credentials,Ugyldige legitimationsoplysninger,
Issue Priority.,Udgaveprioritet.,
Issue Type.,Udgavetype.,
"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 ud som om der er et problem med serverens stribekonfiguration. I tilfælde af fejl bliver beløbet refunderet til din konto.,
Item Reported,Emne rapporteret,
Item listing removed,Elementlisten er fjernet,
Item quantity can not be zero,Varemængde kan ikke være nul,
Item taxes updated,Vareafgift opdateret,
Item {0}: {1} qty produced. ,Vare {0}: {1} produceret antal.,
Joining Date can not be greater than Leaving Date,Deltagelsesdato kan ikke være større end forladelsesdato,
Lab Test Item {0} already exist,Laboratorieprøvevare {0} findes allerede,
Last Issue,Sidste udgave,
Latest Age,Seneste alder,
Leaves Taken,Blade taget,
Less Than Amount,Mindre end beløb,
Liabilities,passiver,
Loading...,Indlæser ...,
Loan Applications from customers and employees.,Låneansøgninger fra kunder og ansatte.,
Loan Processes,Låneprocesser,
Loan Type for interest and penalty rates,Lånetype til renter og sanktioner,
Loans,lån,
Loans provided to customers and employees.,Lån ydet til kunder og ansatte.,
Location,Lokation,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Ligner nogen har sendt dig til en ufuldstændig webadresse. Spørg dem om at se på det.,
Make Journal Entry,Make Kassekladde,
Make Purchase Invoice,Make købsfaktura,
Manufactured,fremstillet,
Mark Work From Home,Markér arbejde hjemmefra,
Master,Master,
Max strength cannot be less than zero.,Maks styrke kan ikke være mindre end nul.,
Maximum attempts for this quiz reached!,Maksimale forsøg på denne quiz nået!,
Message,Besked,
Missing Values Required,Manglende værdier skal angives,
Mobile No,Mobiltelefonnr.,
Mobile Number,Mobiltelefonnr.,
Month,Måned,
Name,Navn,
Near you,I nærheden af dig,
Net Profit/Loss,Netto fortjeneste / tab,
New Expense,Ny udgift,
New Invoice,Ny faktura,
New Payment,Ny betaling,
New release date should be in the future,Ny udgivelsesdato skulle være i fremtiden,
No Account matched these filters: {},Ingen konto matchede disse filtre: {},
No communication found.,Ingen kommunikation fundet.,
No correct answer is set for {0},Intet korrekt svar er indstillet til {0},
No description,Ingen beskrivelse,
No issue has been raised by the caller.,"Intet spørgsmål er blevet rejst af den, der ringer.",
No items to publish,Ingen poster at offentliggøre,
No outstanding invoices found,Der blev ikke fundet nogen udestående fakturaer,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,"Der blev ikke fundet nogen udestående fakturaer for {0} {1}, der opfylder de angivne filtre.",
No outstanding invoices require exchange rate revaluation,Ingen udestående fakturaer kræver revaluering af valutakurser,
No reviews yet,Ingen bedømmelser endnu,
No views yet,Ingen visninger endnu,
Non stock items,Ikke-lagervarer,
Not Allowed,Ikke tilladt,
Not allowed to create accounting dimension for {0},Ikke tilladt at oprette regnskabsmæssig dimension for {0},
Not permitted. Please disable the Lab Test Template,Ikke tilladt. Deaktiver venligst Laboratorieprøveskabelonen,
Note,Bemærk,
Notes: ,Bemærkninger:,
On Converting Opportunity,Om konvertering af mulighed,
On Purchase Order Submission,Ved levering af indkøbsordre,
On Sales Order Submission,Ved levering af ordreordre,
On Task Completion,Ved færdiggørelse af opgaver,
On {0} Creation,Ved {0} Oprettelse,
Only .csv and .xlsx files are supported currently,Kun .csv- og .xlsx-filer understøttes i øjeblikket,
Open,Åbne,
Open Contact,Åbn kontakt,
Open Lead,Åben leder,
Opening and Closing,Åbning og lukning,
Operating Cost as per Work Order / BOM,Driftsomkostninger pr. Arbejdsordre / BOM,
Order Amount,Bestillingsbeløb,
Page {0} of {1},Side {0} af {1},
Paid amount cannot be less than {0},Det betalte beløb kan ikke være mindre end {0},
Parent Company must be a group company,Moderselskabet skal være et koncernselskab,
Passing Score value should be between 0 and 100,Passing Score-værdien skal være mellem 0 og 100,
Patient History,Patienthistorie,
Pause,Pause,
Pay,Betale,
Payment Document Type,Betalingsdokumenttype,
Payment Name,Betalingsnavn,
Pending,Afventer,
Performance,Ydeevne,
Period based On,Periode baseret på,
Perpetual inventory required for the company {0} to view this report.,Der kræves evigvarende beholdning for virksomheden {0} for at se denne rapport.,
Phone,Telefonnr.,
Pick List,Vælg liste,
Plaid authentication error,Plaid-godkendelsesfejl,
Plaid public token error,Plaid public token error,
Plaid transactions sync error,Fejl i synkronisering af pladetransaktioner,
Please check the error log for details about the import errors,Kontroller fejlloggen for detaljer om importfejl,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Opret venligst <b>DATEV-indstillinger</b> for firma <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Opret venligst justering af journalindtastning for beløb {0},
Please do not create more than 500 items at a time,Opret venligst ikke mere end 500 varer ad gangen,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},"Indtast <b>Differences-konto,</b> eller indstil standard- <b>lagerjusteringskonto</b> for firmaet {0}",
Please enter GSTIN and state for the Company Address {0},Indtast GSTIN og angiv firmaadressen {0},
Please enter Item Code to get item taxes,Indtast varenummer for at få vareskatter,
Please enter Warehouse and Date,Indtast venligst lager og dato,
Please login as a Marketplace User to edit this item.,Log ind som Marketplace-bruger for at redigere denne vare.,
Please login as a Marketplace User to report this item.,Log ind som Marketplace-bruger for at rapportere denne vare.,
Please select <b>Template Type</b> to download template,Vælg <b>skabelontype for</b> at downloade skabelon,
Please select Customer first,Vælg først kunde,
Please select Item Code first,Vælg først varekode,
Please select a Delivery Note,Vælg en leveringsnotat,
Please select a Sales Person for item: {0},Vælg en salgsperson for varen: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Vælg venligst en anden betalingsmetode. Stripe understøtter ikke transaktioner i valuta &#39;{0}&#39;,
Please select the customer.,Vælg kunden.,
Please set a Supplier against the Items to be considered in the Purchase Order.,"Indstil en leverandør mod de varer, der skal tages i betragtning i indkøbsordren.",
Please set account heads in GST Settings for Compnay {0},Indstil kontohoveder i GST-indstillinger for Compnay {0},
Please set an email id for the Lead {0},Angiv en e-mail-id for Lead {0},
Please set default UOM in Stock Settings,Angiv standard UOM i lagerindstillinger,
Please set filter based on Item or Warehouse due to a large amount of entries.,Indstil filter baseret på vare eller lager på grund af et stort antal poster.,
Please set up the Campaign Schedule in the Campaign {0},Opsæt kampagneplan i kampagnen {0},
Please set valid GSTIN No. in Company Address for company {0},Angiv et gyldigt GSTIN-nr. I firmanavn for firma {0},
Please set {0},Angiv {0},customer
Please setup a default bank account for company {0},Opret en standard bankkonto for firmaet {0},
Please specify,Angiv venligst,
Please specify a {0},Angiv en {0},lead
Priority,Prioritet,
Priority has been changed to {0}.,Prioritet er ændret til {0}.,
Priority {0} has been repeated.,Prioritet {0} er blevet gentaget.,
Processing XML Files,Behandler XML-filer,
Profitability,Rentabilitet,
Project,Sag,
Provide the academic year and set the starting and ending date.,"Angiv studieåret, og angiv start- og slutdato.",
Public token is missing for this bank,Der mangler en offentlig token til denne bank,
Publish 1 Item,Publicer 1 vare,
Publish Items,Publicer genstande,
Publish More Items,Publicer flere varer,
Publish Your First Items,Publicer dine første varer,
Publish {0} Items,Publicer {0} varer,
Published Items,Udgivne varer,
Purchase Invoice cannot be made against an existing asset {0},Købsfaktura kan ikke foretages mod et eksisterende aktiv {0},
Purchase Invoices,Køb fakturaer,
Purchase Orders,Indkøbsordre,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,"Købskvittering har ingen varer, som Beholdningsprøve er aktiveret til.",
Purchase Return,Indkøb Return,
Qty of Finished Goods Item,Antal færdige varer,
Quality Inspection required for Item {0} to submit,Kvalitetskontrol kræves for at indsende vare {0},
Quantity to Manufacture,Mængde til fremstilling,
Quantity to Manufacture can not be zero for the operation {0},Mængde til fremstilling kan ikke være nul for handlingen {0},
Quarterly,Kvartalsvis,
Queued,Sat i kø,
Quick Entry,Hurtig indtastning,
Quiz {0} does not exist,Quiz {0} findes ikke,
Quotation Amount,Tilbudsmængde,
Rate or Discount is required for the price discount.,Pris eller rabat kræves for prisrabatten.,
Reason,Årsag,
Reconcile Entries,Forene poster,
Reconcile this account,Afstem denne konto,
Reconciled,Afstemt,
Recruitment,Rekruttering,
Red,Rød,
Release date must be in the future,Udgivelsesdato skal være i fremtiden,
Relieving Date must be greater than or equal to Date of Joining,Fritagelsesdato skal være større end eller lig med tiltrædelsesdato,
Rename,Omdøb,
Rename Not Allowed,Omdøb ikke tilladt,
Report Item,Rapporter element,
Report this Item,Rapporter denne vare,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Reserveret antal til underentreprise: Mængde af råvarer til fremstilling af underentrepriser.,
Reset,Nulstil,
Reset Service Level Agreement,Nulstil aftale om serviceniveau,
Resetting Service Level Agreement.,Nulstilling af serviceniveauaftale.,
Return amount cannot be greater unclaimed amount,Returneringsbeløb kan ikke være større end ikke-krævet beløb,
Review,Anmeldelse,
Room,Værelse,
Room Type,Værelses type,
Row # ,Række #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Række nr. {0}: Accepteret lager og leverandørlager kan ikke være det samme,
Row #{0}: Cannot delete item {1} which has already been billed.,"Række nr. {0}: Kan ikke slette element {1}, som allerede er faktureret.",
Row #{0}: Cannot delete item {1} which has already been delivered,"Række nr. {0}: Kan ikke slette emne {1}, der allerede er leveret",
Row #{0}: Cannot delete item {1} which has already been received,"Rækkenr. {0}: Kan ikke slette varen {1}, som allerede er modtaget",
Row #{0}: Cannot delete item {1} which has work order assigned to it.,"Række nr. {0}: Kan ikke slette element {1}, der har tildelt en arbejdsrekkefølge.",
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,"Række nr. {0}: Kan ikke slette element {1}, der er tildelt kundens indkøbsordre.",
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,"Række nr. {0}: Kan ikke vælge leverandørlager, mens råmaterialer leveres til underleverandør",
Row #{0}: Cost Center {1} does not belong to company {2},Række nr. {0}: Omkostningscenter {1} hører ikke til firmaet {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}.,Række nr. {0}: Betjening {1} er ikke afsluttet for {2} antal færdige varer i arbejdsordre {3}. Opdater driftsstatus via Jobkort {4}.,
Row #{0}: Payment document is required to complete the transaction,Række nr. {0}: Betalingsdokument er påkrævet for at gennemføre transaktionen,
Row #{0}: Serial No {1} does not belong to Batch {2},Række nr. {0}: Serienummer {1} hører ikke til batch {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Række nr. {0}: Service-slutdato kan ikke være før fakturaens udgivelsesdato,
Row #{0}: Service Start Date cannot be greater than Service End Date,Række nr. {0}: Service-startdato kan ikke være større end service-slutdato,
Row #{0}: Service Start and End Date is required for deferred accounting,Række nr. {0}: Service start og slutdato er påkrævet for udskudt regnskab,
Row {0}: Invalid Item Tax Template for item {1},Række {0}: Ugyldig skabelon for varebeskatning for vare {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Række {0}: Mængde ikke tilgængeligt for {4} i lager {1} på posttidspunktet for posten ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Række {0}: bruger har ikke anvendt reglen {1} på emnet {2},
Row {0}:Sibling Date of Birth cannot be greater than today.,Række {0}: søskendes fødselsdato kan ikke være større end i dag.,
Row({0}): {1} is already discounted in {2},Række ({0}): {1} er allerede nedsat i {2},
Rows Added in {0},Rækker tilføjet i {0},
Rows Removed in {0},Rækker blev fjernet i {0},
Save,Gem,
Save Item,Gem vare,
Saved Items,Gemte varer,
Search Items ...,Søg efter varer ...,
Search for a payment,Søg efter en betaling,
Search for anything ...,Søg efter noget ...,
Search results for,Søgeresultater for,
Select Difference Account,Vælg Difference Account,
Select a Default Priority.,Vælg en standardprioritet.,
Select a company,Vælg et firma,
Select finance book for the item {0} at row {1},Vælg finansbog for varen {0} i række {1},
Select only one Priority as Default.,Vælg kun en prioritet som standard.,
Seller Information,Sælgerinformation,
Send,Send,
Send a message,Send en besked,
Sending,Sender,
Sends Mails to lead or contact based on a Campaign schedule,Sender e-mails til leder eller kontakt baseret på en kampagneplan,
Serial Number Created,Serienummer oprettet,
Serial Numbers Created,Serienumre oprettet,
Serial no(s) required for serialized item {0},Serienummer (er) kræves til serienummer {0},
Series,Nummerserie,
Server Error,Server Fejl,
Service Level Agreement has been changed to {0}.,Serviceniveauaftale er ændret til {0}.,
Service Level Agreement was reset.,Serviceniveauaftale blev nulstillet.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Serviceniveauaftale med entitetstype {0} og enhed {1} findes allerede.,
Set Meta Tags,Indstil metatags,
Set {0} in company {1},Sæt {0} i firma {1},
Setup,Opsætning,
Shift Management,Shift Management,
Show Future Payments,Vis fremtidige betalinger,
Show Linked Delivery Notes,Vis tilknyttede leveringsnotater,
Show Sales Person,Vis salgsperson,
Show Stock Ageing Data,Vis lagringsalder,
Show Warehouse-wise Stock,Vis lager-vis lager,
Size,Størrelse,
Something went wrong while evaluating the quiz.,Noget gik galt under evalueringen af quizzen.,
Sr,Sr,
Start,Start,
Start Date cannot be before the current date,Startdato kan ikke være før den aktuelle dato,
Start Time,Start Time,
Status,Status,
Status must be Cancelled or Completed,Status skal annulleres eller afsluttes,
Stock Balance Report,Aktiebalancerapport,
Stock Entry has been already created against this Pick List,Aktieindtastning er allerede oprettet mod denne plukliste,
Stock Ledger ID,Lagerstatus-ID,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,"Aktieværdi ({0}) og kontosaldo ({1}) er ikke synkroniseret for konto {2}, og det er tilknyttede lagre.",
Stores - {0},Butikker - {0},
Student with email {0} does not exist,Student med e-mail {0} findes ikke,
Submit Review,Indsend anmeldelse,
Submitted,Godkendt,
Supplier Addresses And Contacts,Leverandør Adresser og kontaktpersoner,
Synchronize this account,Synkroniser denne konto,
Tag,tag,
Target Location is required while receiving Asset {0} from an employee,"Målplacering er påkrævet, mens du modtager aktiver {0} fra en medarbejder",
Target Location is required while transferring Asset {0},Målplacering er påkrævet under overførsel af aktiver {0},
Target Location or To Employee is required while receiving Asset {0},"Målplacering eller medarbejder kræves, mens du modtager aktiver {0}",
Task's {0} End Date cannot be after Project's End Date.,Opgavens {0} slutdato kan ikke være efter projektets slutdato.,
Task's {0} Start Date cannot be after Project's End Date.,Opgavens {0} startdato kan ikke være efter projektets slutdato.,
Tax Account not specified for Shopify Tax {0},Skatekonto er ikke specificeret for Shopify-skat {0},
Tax Total,Skat i alt,
Template,Skabelon,
The Campaign '{0}' already exists for the {1} '{2}',Kampagnen &#39;{0}&#39; findes allerede for {1} &#39;{2}&#39;,
The difference between from time and To Time must be a multiple of Appointment,Forskellen mellem tid og tid skal være en mangfoldighed af udnævnelse,
The field Asset Account cannot be blank,Feltet Asset Account kan ikke være tomt,
The field Equity/Liability Account cannot be blank,Feltet Aktie / Ansvarskonto kan ikke være tomt,
The following serial numbers were created: <br><br> {0},Følgende serienumre blev oprettet: <br><br> {0},
The parent account {0} does not exists in the uploaded template,Forældrekontoen {0} findes ikke i den uploadede skabelon,
The question cannot be duplicate,Spørgsmålet kan ikke duplikeres,
The selected payment entry should be linked with a creditor bank transaction,Den valgte betalingsindgang skal knyttes til en kreditorbanktransaktion,
The selected payment entry should be linked with a debtor bank transaction,Den valgte betalingsindgang skal knyttes til en debitorbanktransaktion,
The total allocated amount ({0}) is greated than the paid amount ({1}).,Det samlede tildelte beløb ({0}) er større end det betalte beløb ({1}).,
This Service Level Agreement is specific to Customer {0},Denne serviceniveauaftale er specifik 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 handling vil fjerne denne forbindelse fra enhver ekstern tjeneste, der integrerer ERPNext med dine bankkonti. Det kan ikke fortrydes. Er du sikker?",
This bank account is already synchronized,Denne bankkonto er allerede synkroniseret,
This bank transaction is already fully reconciled,Denne banktransaktion er allerede fuldt afstemt,
This page keeps track of items you want to buy from sellers.,"Denne side holder styr på de ting, du vil købe fra sælgere.",
This page keeps track of your items in which buyers have showed some interest.,"Denne side holder styr på dine varer, hvor købere har vist en vis interesse.",
Thursday,Torsdag,
Title,Titel,
"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.",For at tillade overfakturering skal du opdatere &quot;Over faktureringsgodtgørelse&quot; i Kontoindstillinger eller elementet.,
"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.",For at tillade overmodtagelse / levering skal du opdatere &quot;Overmodtagelse / leveringstilladelse&quot; i lagerindstillinger eller varen.,
Total,Total,
Total Payment Request amount cannot be greater than {0} amount,Det samlede beløb for anmodning om betaling kan ikke være større end {0} beløbet,
Total payments amount can't be greater than {},Det samlede betalingsbeløb kan ikke være større end {},
Totals,Totaler,
Transactions already retreived from the statement,Transaktioner er allerede gengivet tilbage fra erklæringen,
Transfer Material to Supplier,Overførsel Materiale til Leverandøren,
Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Transportkvitteringsnummer og -dato er obligatorisk for din valgte transportform,
Tuesday,Tirsdag,
Type,Type,
Unable to find the time slot in the next {0} days for the operation {1}.,Kan ikke finde tidsvinduet i de næste {0} dage for operationen {1}.,
Unable to update remote activity,Kan ikke opdatere fjernaktivitet,
Unknown Caller,Ukendt opkald,
Unlink external integrations,Fjern linket til eksterne integrationer,
Unpublish Item,Fjern offentliggørelse af vare,
Unreconciled,Uafstemt,
Unsupported GST Category for E-Way Bill JSON generation,Ikke understøttet GST-kategori til e-vejs Bill JSON-generation,
Update,Opdatering,
Update Taxes for Items,Opdater skatter for varer,
"Upload a bank statement, link or reconcile a bank account","Upload en kontoudtog, link eller forene en bankkonto",
Upload a statement,Upload en erklæring,
Use a name that is different from previous project name,"Brug et navn, der er anderledes end det tidligere projektnavn",
User {0} is disabled,Bruger {0} er deaktiveret,
Users and Permissions,Brugere og tilladelser,
Valuation Rate required for Item {0} at row {1},Værdiansættelsesgrad krævet for vare {0} i række {1},
Values Out Of Sync,Værdier ude af synkronisering,
Vehicle Type is required if Mode of Transport is Road,"Køretøjstype er påkrævet, hvis transportform er vej",
Vendor Name,Leverandørnavn,
Verify Email,Bekræft e-mail,
View,Visning,
View all issues from {0},Se alle udgaver fra {0},
View call log,Se opkaldslog,
Warehouse,Lager,
Warehouse not found against the account {0},Lager ikke fundet mod kontoen {0},
Welcome to {0},Velkommen til {0},
Why do think this Item should be removed?,Hvorfor synes denne vare skal fjernes?,
Work Order {0}: Job Card not found for the operation {1},Arbejdsordre {0}: jobkort findes ikke til operationen {1},
Workday {0} has been repeated.,Arbejdsdag {0} er blevet gentaget.,
XML Files Processed,XML-filer behandlet,
Year,År,
Yearly,Årlig,
You are not allowed to enroll for this course,Du har ikke tilladelse til at tilmelde dig dette kursus,
You are not enrolled in program {0},Du er ikke tilmeldt programmet {0},
You can Feature upto 8 items.,Du kan indeholde op til 8 varer.,
You can also copy-paste this link in your browser,Du kan også kopiere-indsætte dette link i din browser,
You can publish upto 200 items.,Du kan offentliggøre op til 200 varer.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,Du skal aktivere automatisk ombestilling i lagerindstillinger for at opretholde omordningsniveauer.,
You must be a registered supplier to generate e-Way Bill,Du skal være en registreret leverandør for at generere e-Way Bill,
You need to login as a Marketplace User before you can add any reviews.,"Du skal logge ind som Marketplace-bruger, før du kan tilføje anmeldelser.",
Your Featured Items,Dine udvalgte varer,
Your Items,Dine varer,
Your Profile,Din profil,
Your rating:,Din bedømmelse:,
and,og,
e-Way Bill already exists for this document,e-Way Bill findes allerede til dette dokument,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Brugt kupon er {1}. Den tilladte mængde er opbrugt,
{0} Operations: {1},{0} Handling: {1},
{0} bank transaction(s) created,{0} banktransaktion (er) oprettet,
{0} bank transaction(s) created and {1} errors,{0} banktransaktion (er) oprettet og {1} fejl,
{0} can not be greater than {1},{0} kan ikke være større end {1},
{0} conversations,{0} samtaler,
{0} is not a company bank account,{0} er ikke en virksomheds bankkonto,
{0} is not a group node. Please select a group node as parent cost center,{0} er ikke en gruppe knude. Vælg en gruppeknude som overordnet omkostningscenter,
{0} is not the default supplier for any items.,{0} er ikke standardleverandøren for nogen varer.,
{0} is required,{0} er påkrævet,
{0}: {1} must be less than {2},{0}: {1} skal være mindre end {2},
{} is required to generate E-Way Bill JSON,{} er påkrævet for at generere e-Way Bill JSON,
"Invalid lost reason {0}, please create a new lost reason","Ugyldig mistet grund {0}, opret en ny mistet grund",
Profit This Year,Overskud i år,
Total Expense,Samlet udgift,
Total Expense This Year,Samlet udgift i år,
Total Income,Total indkomst,
Total Income This Year,Samlet indkomst i år,
Barcode,Stregkode,
Clear,Klar,
Comments,Kommentarer,
DocType,DocType,
Download,Hent,
Left,Venstre,
Link,Link,
New,Ny,
Print,Print,
Reference Name,Reference navn,
Refresh,Opdater,
Success,Succes,
Time,Tid,
Value,Værdi,
Actual,Faktiske,
Add to Cart,Føj til indkøbsvogn,
Days Since Last Order,Dage siden sidste ordre,
In Stock,På lager,
Mode Of Payment,Betalingsmåde,
No students Found,Ingen studerende fundet,
Not in Stock,Ikke på lager,
Please select a Customer,Vælg venligst en kunde,
Received From,Modtaget fra,
Sales Person,Sælger,
To date cannot be before From date,Til dato kan ikke være før Fra dato,
Write Off,Afskriv,
{0} Created,{0} Oprettet,
Email Id,E-mail-id,
No,Nej,
Reference Doctype,Henvisning DocType,
Yes,Ja,
Actual ,Faktiske,
Add to cart,Føj til indkøbsvogn,
Budget,Budget,
Chart of Accounts,Kontoplan,
Customer database.,Kundedatabase.,
Days Since Last order,Dage siden sidste ordre,
Download as JSON,Download som JSON,
End date can not be less than start date,Slutdato kan ikke være mindre end startdato,
For Default Supplier (Optional),For standardleverandør (valgfrit),
From date cannot be greater than To date,Fra dato ikke kan være større end til dato,
Group by,Sortér efter,
In stock,På lager,
Item name,Varenavn,
Minimum Qty,Minimum antal,
More details,Flere detaljer,
Nature of Supplies,Forsyningens art,
No Items found.,Ingen emner fundet.,
No students found,Ingen studerende fundet,
Not in stock,Ikke på lager,
Not permitted,Ikke tilladt,
Open Issues ,Åbne spørgsmål,
Open Projects ,Åbne sager,
Open To Do ,Åbn Opgaver,
Operation Id,Operation ID,
Partially ordered,Delvist bestilt,
Please select company first,Vælg venligst firma først,
Please select patient,Vælg venligst patient,
Printed On ,Trykt på,
Projected qty,Projiceret antal,
Sales person,Salgsmedarbejder,
Serial No {0} Created,Serienummer {0} Oprettet,
Source Location is required for the Asset {0},Kildens placering er påkrævet for aktivet {0},
Tax Id,Skatte ID,
To Time,Til kl.,
To date cannot be before from date,Til dato kan ikke være før fra dato,
Total Taxable value,Samlet skattepligtig værdi,
Upcoming Calendar Events ,Kommende kalenderbegivenheder,
Value or Qty,Værdi eller mængde,
Variance ,varians,
Variant of,Variant af,
Write off,Afskriv,
hours,timer,
received from,Modtaget fra,
to,til,
Cards,Kort,
Percentage,Procent,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Kunne ikke konfigurere standardindstillinger 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.,Række nr. {0}: Element {1} er ikke en serialiseret / batchet vare. Det kan ikke have et serienummer / batchnummer imod det.,
Please set {0},Indstil {0},
Please set {0},Angiv {0},supplier
Draft,Udkast,"docstatus,=,0"
Cancelled,Annulleret,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Opsæt instruktør navngivningssystem i Uddannelse&gt; Uddannelsesindstillinger,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Angiv 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 fundet for varen: {2},
Item Code > Item Group > Brand,Varekode&gt; Varegruppe&gt; Mærke,
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},Værdien af {0} er forskellig mellem varer {1} og {2},
Auto Fetch,Automatisk hentning,
Fetch Serial Numbers based on FIFO,Hent serienumre baseret på FIFO,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Udgående skattepligtige leverancer (undtagen nul-klassificeret, nul-klassificeret og fritaget)",
"To allow different rates, disable the {0} checkbox in {1}.",For at tillade forskellige priser skal du deaktivere afkrydsningsfeltet {0} i {1}.,
Asset{} {assets_link} created for {},Aktiv {} {assets_link} oprettet for {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Række {}: Asset Naming Series er obligatorisk for automatisk oprettelse af element {},
Assets not created for {0}. You will have to create asset manually.,Aktiver ikke oprettet for {0}. Du bliver nødt til at oprette aktiv 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 regnskabsposter i valuta {2} for firmaet {3}. Vælg en tilgodehavende eller betalbar konto med valuta {2}.,
Invalid Account,Ugyldig konto,
Purchase Order Required,Indkøbsordre påkrævet,
Purchase Receipt Required,Købskvittering påkrævet,
Account Missing,Konto mangler,
Requested,Anmodet,
Partially Paid,Delvist betalt,
Invalid Account Currency,Ugyldig valuta for konto,
"Row {0}: The item {1}, quantity must be positive number","Række {0}: Vare {1}, antal skal være positivt",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Indstil {0} for Batch-vare {1}, som bruges til at indstille {2} på Submit.",
Expiry Date Mandatory,Udløbsdato skal angives,
Variant Item,Variantvare,
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,Bemærk: Element {0} tilføjet flere gange,
YouTube,Youtube,
Vimeo,Vimeo,
Publish Date,Udgivelsesdato,
Duration,Varighed,
Advanced Settings,Avancerede indstillinger,
Path,Sti,
Components,Lønarter,
Verified By,Bekræftet af,
Invalid naming series (. missing) for {0},Ugyldig navneserie (. Mangler) for {0},
Filter Based On,Filter baseret på,
Reqd by date,Opdateret efter dato,
Manufacturer Part Number <b>{0}</b> is invalid,Producentens varenummer <b>{0}</b> er ugyldig,
Invalid Part Number,Ugyldigt varenummer,
Select atleast one Social Media from Share on.,Vælg mindst en social media fra Del på.,
Invalid Scheduled Time,Ikke gyldig kalendertid,
Length Must be less than 280.,Længde skal være mindre end 280.,
Error while POSTING {0},Fejl under POSTING af {0},
"Session not valid, Do you want to login?",Sessionen er ikke længere gyldig. Vil du logge ind?,
Session Active,Session aktiv,
Session Not Active. Save doc to login.,Session ikke aktiv. Gem dokument for at logge ind.,
Error! Failed to get request token.,Fejl! Kunne ikke hente anmodningstoken.,
Invalid {0} or {1},Ugyldig {0} eller {1},
Error! Failed to get access token.,Fejl! Kunne ikke få adgangstoken.,
Invalid Consumer Key or Consumer Secret Key,Ugyldig forbrugernøgle eller forbrugerhemmelig nøgle,
Your Session will be expire in ,Din session udløber om,
 days.,dage.,
Session is expired. Save doc to login.,Sessionen er udløbet. Gem dokument for at logge ind.,
Error While Uploading Image,Fejl under upload af billede,
You Didn't have permission to access this API,Du havde ikke tilladelse til at få adgang til denne API,
Valid Upto date cannot be before Valid From date,Gyldig Upto-dato kan ikke være før Gyldig fra dato,
Valid From date not in Fiscal Year {0},Gyldig fra dato ikke i regnskabsåret {0},
Valid Upto date not in Fiscal Year {0},Gyldig Upto-dato ikke i regnskabsåret {0},
Group Roll No,Grupperulle nr,
Maintain Same Rate Throughout Sales Cycle,Oprethold Samme Rate Gennem Sales Cycle,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.",Række {1}: Mængde ({0}) kan ikke være en brøkdel. For at tillade dette skal du deaktivere &#39;{2}&#39; i UOM {3}.,
Must be Whole Number,Skal være hele tal,
Please setup Razorpay Plan ID,Indstil Razorpay plan-id,
Contact Creation Failed,Oprettelse af kontakt mislykkedes,
Leaves Expired,Bladene er udløbet,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,"Række nr. {}: {} Af {} skal være {}. Rediger kontoen, eller vælg en anden konto.",
Row #{}: Please asign task to a member.,Række nr. {}: Tildel opgaven til et medlem.,
Process Failed,Processen mislykkedes,
Tally Migration Error,Tally Migration Error,
Please set Warehouse in Woocommerce Settings,Indstil Warehouse i Woocommerce-indstillinger,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Række {0}: Leveringslager ({1}) og kundelager ({2}) kan ikke være det samme,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Række {0}: Forfaldsdato i tabellen Betalingsbetingelser kan ikke være før bogføringsdatoen,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Kan ikke finde {} for vare {}. Indstil det samme i Item Master eller Stock Settings.,
Row #{0}: The batch {1} has already expired.,Række nr. {0}: Batchen {1} er allerede udløbet.,
Start Year and End Year are mandatory,Startår og slutår er obligatoriske,
GL Entry,Hovedbogsindtastning,
Cannot allocate more than {0} against payment term {1},Kan ikke allokere mere end {0} mod betalingsperiode {1},
The root account {0} must be a group,Rødkontoen {0} skal være en gruppe,
Shipping rule not applicable for country {0} in Shipping Address,Forsendelsesregel gælder ikke for land {0} i leveringsadresse,
Get Payments from,Hent betalinger fra,
Set Shipping Address or Billing Address,Indstil leveringsadresse eller faktureringsadresse,
Consultation Setup,Konsultation opsætning,
Fee Validity,Gebyrets gyldighed,
Laboratory Setup,Laboratorium opsætning,
Dosage Form,Doseringsformular,
Records and History,Optegnelser og historie,
Patient Medical Record,Patient Medical Record,
Rehabilitation,Genoptræning,
Exercise Type,Øvelsestrin,
Exercise Difficulty Level,Træningsvanskelighedsniveau,
Therapy Type,Terapityper,
Therapy Plan,Terapiplan,
Therapy Session,Terapi-konsultation,
Motor Assessment Scale,Motorisk vurderingsskala,
[Important] [ERPNext] Auto Reorder Errors,[Vigtigt] [ERPNext] Auto-reorder-fejl,
"Regards,","Hilsen,",
The following {0} were created: {1},Følgende {0} blev oprettet: {1},
Work Orders,Arbejdsordrer,
The {0} {1} created sucessfully,{0} {1} oprettet med succes,
Work Order cannot be created for following reason: <br> {0},Arbejdsordre kan ikke oprettes af følgende grund:<br> {0},
Add items in the Item Locations table,Tilføj varer i tabellen Vareplaceringer,
Update Current Stock,Opdater nuværende lager,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item",{0} Behold prøve er baseret på batch. Kontroller Har batch-nr. For at opbevare prøve på varen,
Empty,Tom,
Currently no stock available in any warehouse,I øjeblikket er der ingen lager på lager,
BOM Qty,BOM Antal,
Time logs are required for {0} {1},Tidslogfiler kræves for {0} {1},
Total Completed Qty,I alt afsluttet antal,
Qty to Manufacture,Antal at producere,
Social Media Campaigns,Sociale mediekampagner,
From Date can not be greater than To Date,Fra dato kan ikke være større end til dato,
Please set a Customer linked to the Patient,"Indstil en kunde, der er knyttet til patienten",
Customer Not Found,Kunden blev ikke fundet,
Please Configure Clinical Procedure Consumable Item in ,Konfigurér venligst klinisk procedure forbrugsartikel i,
Missing Configuration,Manglende konfiguration,
Out Patient Consulting Charge Item,Out Patient Consulting Charge Item,
Inpatient Visit Charge Item,Inpatient Visit Charge Item,
OP Consulting Charge,OP Consulting Charge,
Inpatient Visit Charge,Inpatientbesøgsgebyr,
Appointment Status,Aftalestatus,
Test: ,Prøve:,
Collection Details: ,Samlingsdetaljer:,
{0} out of {1},{0} ud af {1},
Select Therapy Type,Vælg terapitype,
{0} sessions completed,{0} sessioner afsluttet,
{0} session completed,{0} session afsluttet,
 out of {0},ud af {0},
Therapy Sessions,Terapikonsultationer,
Add Exercise Step,Tilføj øvelsestrin,
Edit Exercise Step,Redigér øvelsestrin,
Patient Appointments,Patientaftaler,
Item with Item Code {0} already exists,Varen med varekoden {0} findes allerede,
Registration Fee cannot be negative or zero,Registreringsgebyr må ikke være negativt eller nul,
Configure a service Item for {0},Konfigurer en servicepost til {0},
Temperature: ,Temperatur:,
Pulse: ,Puls:,
Respiratory Rate: ,Åndedrætsfrekvens:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,Bemærk:,
Check Availability,Tjek tilgængelighed,
Please select Patient first,Vælg først patient,
Please select a Mode of Payment first,Vælg først en betalingsmetode,
Please set the Paid Amount first,Angiv først det betalte beløb,
Not Therapies Prescribed,Ikke ordinerede terapier,
There are no Therapies prescribed for Patient {0},Der er ingen terapier ordineret til patienten {0},
Appointment date and Healthcare Practitioner are Mandatory,Konsultationsdato og Sundhedsmedarbejder er obligatoriske,
No Prescribed Procedures found for the selected Patient,Der blev ikke fundet ordinerede kliniske procedurer for den valgte patient,
Please select a Patient first,Vælg venligst en patient først,
There are no procedure prescribed for ,Der er ingen procedure foreskrevet for,
Prescribed Therapies,Ordinerede terapier,
Appointment overlaps with ,Aftale overlapper med,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} har aftale planlagt til {1} kl. {2} med {3} minut (er) varighed.,
Appointments Overlapping,Aftaler overlapper hinanden,
Consulting Charges: {0},Konsulentgebyrer: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Aftale aflyst. Gennemgå og annuller fakturaen {0},
Appointment Cancelled.,"Aftalen blev annulleret,",
Fee Validity {0} updated.,Gebyrets gyldighed {0} opdateret.,
Practitioner Schedule Not Found,Behandlingskalender ikke fundet,
{0} is on a Half day Leave on {1},{0} er på en halv dags orlov den {1},
{0} is on Leave on {1},{0} har orlov den {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} indeholder ingen behandlingskalender. Tilføj denne på sundhedsmedarbejderen.,
Healthcare Service Units,Sundhedsservice-enheder,
Complete and Consume,Komplet og forbrug,
Complete {0} and Consume Stock?,Fuldføre {0} og forbruge lager?,
Complete {0}?,Fuldført {0}?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Lagermængde for at starte proceduren er ikke tilgængelig i lageret {0}. Vil du registrere en aktieindgang?,
{0} as on {1},{0} som på {1},
Clinical Procedure ({0}):,Klinisk procedure ({0}):,
Please set Customer in Patient {0},Vælg venligst en kunde for patient {0},
Item {0} is not active,Vare {0} er ikke aktiv,
Therapy Plan {0} created successfully.,Terapiplan {0} blev oprettet,
Symptoms: ,Symptomer:,
No Symptoms,Ingen symptomer,
Diagnosis: ,Diagnose:,
No Diagnosis,Ingen diagnose,
Drug(s) Prescribed.,Medicin der er givet recept til,
Test(s) Prescribed.,Test (er) ordineret.,
Procedure(s) Prescribed.,Procedure (r) Foreskrevet.,
Counts Completed: {0},Optællinger afsluttet: {0},
Patient Assessment,Patientvurdering,
Assessments,Vurderinger,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Hoveder (eller grupper) mod hvilken regnskabsposter er lavet og balancer opretholdes.,
Account Name,Kontonavn,
Inter Company Account,Inter Company Account,
Parent Account,Parent Konto,
Setting Account Type helps in selecting this Account in transactions.,Indstilling Kontotype hjælper med at vælge denne konto i transaktioner.,
Chargeable,Gebyr,
Rate at which this tax is applied,"Hastighed, hvormed denne afgift anvendes",
Frozen,Frosne,
"If the account is frozen, entries are allowed to restricted users.","Hvis kontoen er frossen, er poster lov til begrænsede brugere.",
Balance must be,Balance skal være,
Lft,Lft,
Rgt,Rgt,
Old Parent,Gammel Parent,
Include in gross,Inkluder i brutto,
Auditor,Revisor,
Accounting Dimension,Regnskabsdimension,
Dimension Name,Dimension Navn,
Dimension Defaults,Dimensionstandarder,
Accounting Dimension Detail,Regnskabsdimension Detalje,
Default Dimension,Standarddimension,
Mandatory For Balance Sheet,Obligatorisk til balance,
Mandatory For Profit and Loss Account,Obligatorisk til resultatopgørelse,
Accounting Period,Regnskabsperiode,
Period Name,Navn på periode,
Closed Documents,Lukkede dokumenter,
Accounts Settings,Kontoindstillinger,
Settings for Accounts,Indstillinger for regnskab,
Make Accounting Entry For Every Stock Movement,Lav Regnskab indtastning For hver Stock Movement,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Brugere med denne rolle får lov til at sætte indefrosne konti og oprette / ændre regnskabsposter mod indefrosne konti,
Determine Address Tax Category From,Bestem adresse-skatskategori fra,
Over Billing Allowance (%),Over faktureringsgodtgørelse (%),
Credit Controller,Credit Controller,
Check Supplier Invoice Number Uniqueness,Tjek entydigheden af  leverandørfakturanummeret,
Make Payment via Journal Entry,Foretag betaling via kassekladden,
Unlink Payment on Cancellation of Invoice,Fjern link Betaling ved Annullering af faktura,
Book Asset Depreciation Entry Automatically,Bogføring af aktivernes afskrivning automatisk,
Automatically Add Taxes and Charges from Item Tax Template,Tilføj automatisk skatter og afgifter fra vareskatteskabelonen,
Automatically Fetch Payment Terms,Hent automatisk betalingsbetingelser,
Show Payment Schedule in Print,Vis betalingsplan i udskrivning,
Currency Exchange Settings,Valutavekslingsindstillinger,
Allow Stale Exchange Rates,Tillad forældede valutakurser,
Stale Days,Forældede dage,
Report Settings,Rapportindstillinger,
Use Custom Cash Flow Format,Brug Custom Cash Flow Format,
Allowed To Transact With,Tilladt at transagere med,
SWIFT number,SWIFT-nummer,
Branch Code,Branchkode,
Address and Contact,Adresse og kontaktperson,
Address HTML,Adresse HTML,
Contact HTML,Kontakt HTML,
Data Import Configuration,Dataimportkonfiguration,
Bank Transaction Mapping,Kortlægning af banktransaktion,
Plaid Access Token,Plaid Access Token,
Company Account,Firmakonto,
Account Subtype,Kontotype,
Is Default Account,Er standardkonto,
Is Company Account,Er virksomhedskonto,
Party Details,Selskabsdetaljer,
Account Details,konto detaljer,
IBAN,IBAN,
Bank Account No,Bankkonto nr,
Integration Details,Integrationsdetaljer,
Integration ID,Integrations-ID,
Last Integration Date,Sidste integrationsdato,
Change this date manually to setup the next synchronization start date,Skift denne dato manuelt for at opsætte den næste startdato for synkronisering,
Mask,Maske,
Bank Account Subtype,Undertype til bankkonto,
Bank Account Type,Bankkontotype,
Bank Guarantee,Bank garanti,
Bank Guarantee Type,Bankgaranti Type,
Receiving,Modtagelse,
Providing,At sørge for,
Reference Document Name,Reference dokumentnavn,
Validity in Days,Gyldighed i dage,
Bank Account Info,Bankkontooplysninger,
Clauses and Conditions,Klausuler og betingelser,
Other Details,Andre detaljer,
Bank Guarantee Number,Bankgaranti nummer,
Name of Beneficiary,Navn på modtager,
Margin Money,Margen penge,
Charges Incurred,Afgifter opkrævet,
Fixed Deposit Number,Fast indbetalingsnummer,
Account Currency,Konto Valuta,
Select the Bank Account to reconcile.,Vælg bankkonto for at forene.,
Include Reconciled Entries,Medtag Afstemt Angivelser,
Get Payment Entries,Hent betalingsposter,
Payment Entries,Betalings Entries,
Update Clearance Date,Opdatering Clearance Dato,
Bank Reconciliation Detail,Bank Afstemning Detail,
Cheque Number,Anvendes ikke,
Cheque Date,Anvendes ikke,
Statement Header Mapping,Statement Header Mapping,
Statement Headers,Statement Headers,
Transaction Data Mapping,Transaktionsdata Kortlægning,
Mapped Items,Mappede elementer,
Bank Statement Settings Item,Betalingsindstillinger for bankkonti,
Mapped Header,Mapped Header,
Bank Header,Bankoverskrift,
Bank Statement Transaction Entry,Kontoudskrift Transaktion,
Bank Transaction Entries,Bankoverførselsangivelser,
New Transactions,Nye Transaktioner,
Match Transaction to Invoices,Match transaktion til fakturaer,
Create New Payment/Journal Entry,Opret ny betaling / journal indtastning,
Submit/Reconcile Payments,Indsend / afstem Betalinger,
Matching Invoices,Matchende fakturaer,
Payment Invoice Items,Betalingsfakturaelementer,
Reconciled Transactions,Afstemte transaktioner,
Bank Statement Transaction Invoice Item,Bankoversigt Transaktionsfaktura,
Payment Description,Betalingsbeskrivelse,
Invoice Date,Fakturadato,
invoice,faktura,
Bank Statement Transaction Payment Item,Kontoudtog Transaktion Betalingselement,
outstanding_amount,Utrolig mængde,
Payment Reference,Betalings reference,
Bank Statement Transaction Settings Item,Bankoversigt Transaktionsindstillinger Item,
Bank Data,Bankdata,
Mapped Data Type,Mapped Data Type,
Mapped Data,Mappede data,
Bank Transaction,Banktransaktion,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,Transaktions-ID,
Unallocated Amount,Ufordelt beløb,
Field in Bank Transaction,Felt i banktransaktion,
Column in Bank File,Kolonne i bankfil,
Bank Transaction Payments,Banktransaktionsbetalinger,
Control Action,Kontrol handling,
Applicable on Material Request,Gælder for materialeanmodning,
Action if Annual Budget Exceeded on MR,Handling hvis årligt budget oversteg MR,
Warn,Advar,
Ignore,Ignorér,
Action if Accumulated Monthly Budget Exceeded on MR,Handling hvis akkumuleret månedlig budget oversteg MR,
Applicable on Purchase Order,Gælder ved købsordre,
Action if Annual Budget Exceeded on PO,Handling hvis årligt budget oversteg på PO,
Action if Accumulated Monthly Budget Exceeded on PO,Handling hvis akkumuleret månedlig budget oversteg PO,
Applicable on booking actual expenses,Gældende ved bogføring af faktiske udgifter,
Action if Annual Budget Exceeded on Actual,Handling hvis årligt budget oversteg på faktisk,
Action if Accumulated Monthly Budget Exceeded on Actual,Handling hvis akkumuleret månedlig budget oversteg faktisk,
Budget Accounts,Budget Regnskab,
Budget Account,Budget-konto,
Budget Amount,Budget Beløb,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-Form Ingen,
Received Date,Modtaget d.,
Quarter,Kvarter,
I,jeg,
II,II,
III,III,
IV,IV,
C-Form Invoice Detail,C-Form Faktura Detail,
Invoice No,Fakturanr.,
Cash Flow Mapper,Cash Flow Mapper,
Section Name,Sektionens navn,
Section Header,Sektion Header,
Section Leader,Sektion Leader,
e.g Adjustments for:,fx justeringer for:,
Section Subtotal,Sektion Subtotal,
Section Footer,Sektion Footer,
Cash Flow Mapping,Cash Flow Mapping,
Select Maximum Of 1,Vælg Maksimum 1,
Is Finance Cost,Er finansiering omkostninger,
Is Working Capital,Er arbejdskapital,
Is Finance Cost Adjustment,Er finansiering omkostningsjustering,
Is Income Tax Liability,Er indkomstskat ansvar,
Is Income Tax Expense,Er indkomstskat udgift,
Cash Flow Mapping Accounts,Cash Flow Mapping Accounts,
account,Konto,
Cash Flow Mapping Template,Cash Flow Mapping Template,
Cash Flow Mapping Template Details,Cash Flow Mapping Template Detaljer,
POS-CLO-,POS-CLO-,
Custody,Forældremyndighed,
Net Amount,Nettobeløb,
Cashier Closing Payments,Kasseindbetalinger,
Chart of Accounts Importer,Kontoplan-importværktøj,
Import Chart of Accounts from a csv file,Importér kontoplan fra csv-fil,
Attach custom Chart of Accounts file,Vedhæft fil med tilpasset kontoplan,
Chart Preview,Diagramvisning,
Chart Tree,Korttræ,
Cheque Print Template,Anvendes ikke,
Has Print Format,Har Print Format,
Primary Settings,Primære indstillinger,
Cheque Size,Anvendes ikke,
Regular,Fast,
Starting position from top edge,Startposition fra overkanten,
Cheque Width,Anvendes ikke,
Cheque Height,Anvendes ikke,
Scanned Cheque,Anvendes ikke,
Is Account Payable,Er konto Betales,
Distance from top edge,Afstand fra overkanten,
Distance from left edge,Afstand fra venstre kant,
Message to show,Besked for at vise,
Date Settings,Datoindstillinger,
Starting location from left edge,Start fra venstre kant,
Payer Settings,payer Indstillinger,
Width of amount in word,Bredde af beløb i ord,
Line spacing for amount in words,Linjeafstand for beløb i ord,
Amount In Figure,Beløb I figur,
Signatory Position,undertegnende holdning,
Closed Document,Lukket dokument,
Track separate Income and Expense for product verticals or divisions.,Spor separat indtægter og omkostninger for produkt- vertikaler eller afdelinger.,
Cost Center Name,Omkostningsstednavn,
Parent Cost Center,Overordnet omkostningssted,
lft,LFT,
rgt,RGT,
Coupon Code,Kuponkode,
Coupon Name,Kuponnavn,
"e.g. ""Summer Holiday 2019 Offer 20""",f.eks. &quot;Sommerferie 2019-tilbud 20&quot;,
Coupon Type,Kupon type,
Promotional,Salgsfremmende,
Gift Card,Gavekort,
unique e.g. SAVE20  To be used to get discount,unik fx SAVE20 Bruges til at få rabat,
Validity and Usage,Gyldighed og brug,
Valid From,Gældende fra,
Valid Upto,Gyldig Upto,
Maximum Use,Maksimal brug,
Used,Brugt,
Coupon Description,Kuponbeskrivelse,
Discounted Invoice,Rabatfaktura,
Debit to,Debet til,
Exchange Rate Revaluation,Valutakursomskrivning,
Get Entries,Få indlæg,
Exchange Rate Revaluation Account,Valutakursomskrivningskonto,
Total Gain/Loss,Total gevinst / tab,
Balance In Account Currency,Balance i kontovaluta,
Current Exchange Rate,Aktuel valutakurs,
Balance In Base Currency,Balance i basisvaluta,
New Exchange Rate,Ny valutakurs,
New Balance In Base Currency,Ny balance i basisvaluta,
Gain/Loss,Gevinst / Tab,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Regnskabsår ** repræsenterer et regnskabsår. Alle regnskabsposteringer og andre større transaktioner spores mod ** regnskabsår **.,
Year Name,År navn,
"For e.g. 2012, 2012-13","Til fx 2012, 2012-13",
Year Start Date,Første dag i året,
Year End Date,Sidste dag i året,
Companies,Firmaer,
Auto Created,Automatisk oprettet,
Stock User,Lagerbruger,
Fiscal Year Company,Fiscal År Company,
Debit Amount,Debetbeløb,
Credit Amount,Kreditbeløb,
Debit Amount in Account Currency,Debetbeløb i Kontoens valuta,
Credit Amount in Account Currency,Credit Beløb i Konto Valuta,
Voucher Detail No,Voucher Detail Nej,
Is Opening,Er Åbning,
Is Advance,Er Advance,
To Rename,At omdøbe,
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 (dage),
Loan End Date,Lånets slutdato,
Bank Charges,Bankudgifter,
Short Term Loan Account,Kortfristet lånekonto,
Bank Charges Account,Bankkontokonto,
Accounts Receivable Credit Account,Tilgodehavende kreditkonto,
Accounts Receivable Discounted Account,Tilgodehavende tilgodehavende rabatkonto,
Accounts Receivable Unpaid Account,Kontoer Tilgodehavende Ubetalt konto,
Item Tax Template,Skat for en vare,
Tax Rates,Skattesatser,
Item Tax Template Detail,Skat af skabelon for detalje,
Entry Type,Posttype,
Inter Company Journal Entry,Inter Company Journal Entry,
Bank Entry,Bank indtastning,
Cash Entry,indtastning af kontanter,
Credit Card Entry,Credit Card indtastning,
Contra Entry,Contra indtastning,
Excise Entry,Excise indtastning,
Write Off Entry,Skriv Off indtastning,
Opening Entry,Åbningsbalance,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Bogføringsposter,
Total Debit,Samlet debet,
Total Credit,Samlet kredit,
Difference (Dr - Cr),Difference (Dr - Cr),
Make Difference Entry,Make Difference indtastning,
Total Amount Currency,Samlet beløb Valuta,
Total Amount in Words,Samlet beløb i Words,
Remark,Bemærkning,
Paid Loan,Betalt lån,
Inter Company Journal Entry Reference,Inter Company Journal Entry Reference,
Write Off Based On,Skriv Off baseret på,
Get Outstanding Invoices,Hent åbne fakturaer,
Write Off Amount,Afskriv beløb,
Printing Settings,Udskrivningsindstillinger,
Pay To / Recd From,Betal Til / RECD Fra,
Payment Order,Betalingsordre,
Subscription Section,Abonnementsafdeling,
Journal Entry Account,Kassekladde konto,
Account Balance,Konto saldo,
Party Balance,Selskabskonto Saldo,
Accounting Dimensions,Regnskabsmæssige dimensioner,
If Income or Expense,Hvis indtægter og omkostninger,
Exchange Rate,Vekselkurs,
Debit in Company Currency,Debet (firmavaluta),
Credit in Company Currency,Kredit (firmavaluta),
Payroll Entry,Lønning Entry,
Employee Advance,Ansatte Advance,
Reference Due Date,Reference Due Date,
Loyalty Program Tier,Loyalitetsprogram Tier,
Redeem Against,Indløse imod,
Expiry Date,Udløbsdato,
Loyalty Point Entry Redemption,Indfrielse af loyalitetspoint,
Redemption Date,Indløsningsdato,
Redeemed Points,Forladte point,
Loyalty Program Name,Loyalitetsprogramnavn,
Loyalty Program Type,Loyalitetsprogramtype,
Single Tier Program,Single Tier Program,
Multiple Tier Program,Multiple Tier Program,
Customer Territory,Kundeområde,
Auto Opt In (For all customers),Auto Opt In (For alle kunder),
Collection Tier,Collection Tier,
Collection Rules,Indsamlingsregler,
Redemption,Frelse,
Conversion Factor,Konverteringsfaktor,
1 Loyalty Points = How much base currency?,1 Loyalitetspoint = Hvor meget base valuta?,
Expiry Duration (in days),Udløbsperiode (i dage),
Help Section,Hjælp sektion,
Loyalty Program Help,Hjælp til loyalitetsprogram,
Loyalty Program Collection,Loyalitetsprogramindsamling,
Tier Name,Tiernavn,
Minimum Total Spent,Minimum samlet forbrug,
Collection Factor (=1 LP),Samlingsfaktor (= 1 LP),
For how much spent = 1 Loyalty Point,For hvor meget brugt = 1 Loyalitetspoint,
Mode of Payment Account,Betalingsmådekonto,
Default Account,Standard-konto,
Default account will be automatically updated in POS Invoice when this mode is selected.,"Standardkontoen opdateres automatisk i POS-faktura, når denne tilstand er valgt.",
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,"** Månedlig Distribution ** hjælper dig distribuere Budget / Mål på tværs af måneder, hvis du har sæsonudsving i din virksomhed.",
Distribution Name,Distribution Name,
Name of the Monthly Distribution,Navnet på den månedlige Distribution,
Monthly Distribution Percentages,Månedlige Distribution Procenter,
Monthly Distribution Percentage,Månedlig Distribution Procent,
Percentage Allocation,Procentvis fordeling,
Create Missing Party,Opret manglende Selskab,
Create missing customer or supplier.,Opret manglende kunde eller leverandør.,
Opening Invoice Creation Tool Item,Åbning af fakturaoprettelsesværktøj,
Temporary Opening Account,Midlertidig åbningskonto,
Party Account,Selskabskonto,
Type of Payment,Betalingsmåde,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Modtag,
Internal Transfer,Intern overførsel,
Payment Order Status,Betalingsordresstatus,
Payment Ordered,Betaling Bestilt,
Payment From / To,Betaling fra/til,
Company Bank Account,Virksomhedens bankkonto,
Party Bank Account,Party bankkonto,
Account Paid From,Konto Betalt Fra,
Account Paid To,Konto Betalt Til,
Paid Amount (Company Currency),Betalt beløb (firmavaluta),
Received Amount,modtaget Beløb,
Received Amount (Company Currency),Modtaget beløb (firmavaluta),
Get Outstanding Invoice,Få en enestående faktura,
Payment References,Betalingsreferencer,
Writeoff,Skrive af,
Total Allocated Amount,Samlet bevilgede beløb,
Total Allocated Amount (Company Currency),Samlet tildelte beløb (Company Currency),
Set Exchange Gain / Loss,Sæt Exchange Gevinst / Tab,
Difference Amount (Company Currency),Differencebeløb (firmavaluta),
Write Off Difference Amount,Skriv Off Forskel Beløb,
Deductions or Loss,Fradrag eller Tab,
Payment Deductions or Loss,Betalings Fradrag eller Tab,
Cheque/Reference Date,Anvendes ikke,
Payment Entry Deduction,Betaling indtastning Fradrag,
Payment Entry Reference,Betalingspost reference,
Allocated,Tildelt,
Payment Gateway Account,Betaling Gateway konto,
Payment Account,Betalingskonto,
Default Payment Request Message,Standard Betaling Request Message,
PMO-,PMO-,
Payment Order Type,Betalingsordres type,
Payment Order Reference,Betalingsordre Reference,
Bank Account Details,Bankkontooplysninger,
Payment Reconciliation,Afstemning af betalinger,
Receivable / Payable Account,Tilgodehavende / Betales konto,
Bank / Cash Account,Bank / kontantautomat konto,
From Invoice Date,Fra fakturadato,
To Invoice Date,Til fakturadato,
Minimum Invoice Amount,Mindste fakturabeløb,
Maximum Invoice Amount,Maksimalt fakturabeløb,
System will fetch all the entries if limit value is zero.,"Systemet henter alle poster, hvis grænseværdien er nul.",
Get Unreconciled Entries,Hent ikke-afstemte poster,
Unreconciled Payment Details,Ikke-afstemte Betalingsoplysninger,
Invoice/Journal Entry Details,Faktura / Kassekladdelinjer,
Payment Reconciliation Invoice,Betalingsafstemningsfaktura,
Invoice Number,Fakturanummer,
Payment Reconciliation Payment,Betaling Afstemning Betaling,
Reference Row,henvisning Row,
Allocated amount,Tildelte beløb,
Payment Request Type,Betalingsanmodning Type,
Outward,Udgående,
Inward,indad,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,overførselsdetaljer,
Amount in customer's currency,Beløb i kundens valuta,
Is a Subscription,Er en abonnement,
Transaction Currency,Transaktionsvaluta,
Subscription Plans,Abonnementsplaner,
SWIFT Number,SWIFT nummer,
Recipient Message And Payment Details,Modtager Besked Og Betalingsoplysninger,
Make Sales Invoice,Opret salgsfaktura,
Mute Email,Mute Email,
payment_url,payment_url,
Payment Gateway Details,Betaling Gateway Detaljer,
Payment Schedule,Betalingsplan,
Invoice Portion,Fakturaafdeling,
Payment Amount,Betaling Beløb,
Payment Term Name,Betalingsbetegnelsens navn,
Due Date Based On,Forfaldsdato baseret på,
Day(s) after invoice date,Dag (er) efter faktura dato,
Day(s) after the end of the invoice month,Dag (er) efter faktura månedens afslutning,
Month(s) after the end of the invoice month,Måned (e) efter afslutningen af faktura måned,
Credit Days,Kreditdage,
Credit Months,Kredit måneder,
Allocate Payment Based On Payment Terms,Tildel betaling baseret 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 dette afkrydsningsfelt er markeret, fordeles det betalte beløb og fordeles i henhold til beløbene i betalingsplanen mod hver betalingsperiode",
Payment Terms Template Detail,Betalingsbetingelser Skabelondetaljer,
Closing Fiscal Year,Lukning regnskabsår,
Closing Account Head,Lukning konto Hoved,
"The account head under Liability or Equity, in which Profit/Loss will be booked","Kontoen under passiver eller egenkapital, i hviken gevinst/tab vil blive bogført",
POS Customer Group,Kassesystem-kundegruppe,
POS Field,POS felt,
POS Item Group,Kassesystem-varegruppe,
Company Address,Virksomhedsadresse,
Update Stock,Opdatering Stock,
Ignore Pricing Rule,Ignorér prisfastsættelsesregel,
Applicable for Users,Gælder for brugere,
Sales Invoice Payment,Salgsfakturabetaling,
Item Groups,Varegrupper,
Only show Items from these Item Groups,Vis kun varer fra disse varegrupper,
Customer Groups,Kundegrupper,
Only show Customer of these Customer Groups,Vis kun kunde for disse kundegrupper,
Write Off Account,Skriv Off konto,
Write Off Cost Center,Afskriv omkostningssted,
Account for Change Amount,Konto for returbeløb,
Taxes and Charges,Moms,
Apply Discount On,Påfør Rabat på,
POS Profile User,POS profil bruger,
Apply On,Gælder for,
Price or Product Discount,Pris eller produktrabat,
Apply Rule On Item Code,Anvend regel om varekode,
Apply Rule On Item Group,Anvend regel om varegruppe,
Apply Rule On Brand,Anvend regel på brand,
Mixed Conditions,Blandede betingelser,
Conditions will be applied on all the selected items combined. ,Betingelserne anvendes på alle de valgte emner kombineret.,
Is Cumulative,Er kumulativ,
Coupon Code Based,Baseret på kuponkode,
Discount on Other Item,Rabat på anden vare,
Apply Rule On Other,Anvend regel på andet,
Party Information,Partyinformation,
Quantity and Amount,Mængde og mængde,
Min Qty,Minimum mængde,
Max Qty,Maksimal mængde,
Min Amt,Min Amt,
Max Amt,Max Amt,
Period Settings,Periodeindstillinger,
Margin,Margen,
Margin Type,Margin Type,
Margin Rate or Amount,Margin sats eller beløb,
Price Discount Scheme,Pris rabat ordning,
Rate or Discount,Pris eller rabat,
Discount Percentage,Discount Procent,
Discount Amount,Rabatbeløb,
For Price List,For prisliste,
Product Discount Scheme,Produktrabatningsordning,
Same Item,Samme vare,
Free Item,Gratis vare,
Threshold for Suggestion,Tærskel til forslag,
System will notify to increase or decrease quantity or amount ,Systemet giver besked om at øge eller mindske mængde eller mængde,
"Higher the number, higher the priority","Desto højere tallet er, jo højere prioritet",
Apply Multiple Pricing Rules,Anvend flere prisregler,
Apply Discount on Rate,Anvend rabat på sats,
Validate Applied Rule,Valider den anvendte regel,
Rule Description,Regelbeskrivelse,
Pricing Rule Help,Hjælp til prisfastsættelsesregel,
Promotional Scheme Id,Kampagnesystem-id,
Promotional Scheme,Salgsfremmende ordning,
Pricing Rule Brand,Prisregler Brand,
Pricing Rule Detail,Prissætningsdetaljer,
Child Docname,Underordnets navn,
Rule Applied,Anvendt regel,
Pricing Rule Item Code,Prisregler Produktkode,
Pricing Rule Item Group,Prisgruppe for vareposter,
Price Discount Slabs,Pris Rabatplader,
Promotional Scheme Price Discount,Salgspris rabat,
Product Discount Slabs,Produktrabatplader,
Promotional Scheme Product Discount,Salgsfremmende produkt rabat,
Min Amount,Min beløb,
Max Amount,Maks. Beløb,
Discount Type,Type rabat,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Skat tilbageholdende kategori,
Edit Posting Date and Time,Redigér bogføringsdato og -tid,
Is Paid,er betalt,
Is Return (Debit Note),Er retur (debit note),
Apply Tax Withholding Amount,Anvend Skat tilbageholdelsesbeløb,
Accounting Dimensions ,Regnskabsdimensioner,
Supplier Invoice Details,Leverandør fakturadetaljer,
Supplier Invoice Date,Leverandør fakturadato,
Return Against Purchase Invoice,Retur Against købsfaktura,
Select Supplier Address,Vælg leverandør Adresse,
Contact Person,Kontaktperson,
Select Shipping Address,Vælg leveringsadresse,
Currency and Price List,Valuta- og prisliste,
Price List Currency,Prisliste Valuta,
Price List Exchange Rate,Prisliste valutakurs,
Set Accepted Warehouse,Indstil accepteret lager,
Rejected Warehouse,Afvist lager,
Warehouse where you are maintaining stock of rejected items,"Lager, hvor du vedligeholder lager af afviste varer",
Raw Materials Supplied,Leverede råvarer,
Supplier Warehouse,Leverandør Warehouse,
Pricing Rules,Prisregler,
Supplied Items,Medfølgende varer,
Total (Company Currency),I alt (firmavaluta),
Net Total (Company Currency),Netto i alt (firmavaluta),
Total Net Weight,Samlet nettovægt,
Shipping Rule,Forsendelseregel,
Purchase Taxes and Charges Template,Indkøb Moms- og afgiftsskabelon,
Purchase Taxes and Charges,Indkøb Moms og afgifter,
Tax Breakup,Skatteafbrydelse,
Taxes and Charges Calculation,Skatter og Afgifter Beregning,
Taxes and Charges Added (Company Currency),Skatter og Afgifter Tilføjet (Company Valuta),
Taxes and Charges Deducted (Company Currency),Skatter og Afgifter Fratrukket (Company Valuta),
Total Taxes and Charges (Company Currency),Moms i alt (firmavaluta),
Taxes and Charges Added,Skatter og Afgifter Tilføjet,
Taxes and Charges Deducted,Skatter og Afgifter Fratrukket,
Total Taxes and Charges,Moms i alt,
Additional Discount,Ekstra rabat,
Apply Additional Discount On,Påfør Yderligere Rabat på,
Additional Discount Amount (Company Currency),Ekstra rabatbeløb (firmavaluta),
Additional Discount Percentage,Yderligere rabatprocent,
Additional Discount Amount,Yderligere rabatbeløb,
Grand Total (Company Currency),Beløb i alt (firmavaluta),
Rounding Adjustment (Company Currency),Afrundingsjustering (Company Valuta),
Rounded Total (Company Currency),Afrundet i alt (firmavaluta),
In Words (Company Currency),I Words (Company Valuta),
Rounding Adjustment,Afrundingsjustering,
In Words,I Words,
Total Advance,Samlet Advance,
Disable Rounded Total,Deaktiver Afrundet Total,
Cash/Bank Account,Kontant / Bankkonto,
Write Off Amount (Company Currency),Skriv Off Beløb (Company Valuta),
Set Advances and Allocate (FIFO),Indstil Advances and Allocate (FIFO),
Get Advances Paid,Få forskud,
Advances,Forskud,
Terms,Betingelser,
Terms and Conditions1,Vilkår og betingelser 1,
Group same items,Gruppe samme elementer,
Print Language,Udskrivningssprog,
"Once set, this invoice will be on hold till the set date","Når den er indstillet, vil denne faktura være i venteposition indtil den fastsatte dato",
Credit To,Credit Til,
Party Account Currency,Selskabskonto Valuta,
Against Expense Account,Mod udgiftskonto,
Inter Company Invoice Reference,Interfirma faktura Reference,
Is Internal Supplier,Er intern leverandør,
Start date of current invoice's period,Startdato for nuværende fakturaperiode,
End date of current invoice's period,Slutdato for aktuelle faktura menstruation,
Update Auto Repeat Reference,Opdater Auto Repeat Reference,
Purchase Invoice Advance,Købsfaktura Advance,
Purchase Invoice Item,Købsfaktura Item,
Quantity and Rate,Mængde og Pris,
Received Qty,Modtaget Antal,
Accepted Qty,Accepteret antal,
Rejected Qty,afvist Antal,
UOM Conversion Factor,UOM Conversion Factor,
Discount on Price List Rate (%),Rabat på prisliste Rate (%),
Price List Rate (Company Currency),Prisliste Rate (Company Valuta),
Rate ,Sats,
Rate (Company Currency),Sats (firmavaluta),
Amount (Company Currency),Beløb (firmavaluta),
Is Free Item,Er gratis vare,
Net Rate,Nettosats,
Net Rate (Company Currency),Nettosats (firmavaluta),
Net Amount (Company Currency),Nettobeløb (firmavaluta),
Item Tax Amount Included in Value,Varemomsbeløb inkluderet i værdien,
Landed Cost Voucher Amount,Landed Cost Voucher Beløb,
Raw Materials Supplied Cost,Raw Materials Leveres Cost,
Accepted Warehouse,Accepteret lager,
Serial No,Serienummer,
Rejected Serial No,Afvist serienummer,
Expense Head,Expense Hoved,
Is Fixed Asset,Er anlægsaktiv,
Asset Location,Aktiver placering,
Deferred Expense,Udskudt Udgift,
Deferred Expense Account,Udskudt udgiftskonto,
Service Stop Date,Service Stop Date,
Enable Deferred Expense,Aktivér udskudt udgift,
Service Start Date,Service Startdato,
Service End Date,Service Slutdato,
Allow Zero Valuation Rate,Tillad nulværdi,
Item Tax Rate,Varemoms-%,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Skat detalje tabel hentes fra post mester som en streng og opbevares i dette område. Bruges til skatter og afgifter,
Purchase Order Item,Indkøbsordre vare,
Purchase Receipt Detail,Køb af kvitteringsdetaljer,
Item Weight Details,Vægt Vægt Detaljer,
Weight Per Unit,Vægt pr. Enhed,
Total Weight,Totalvægt,
Weight UOM,Vægtenhed,
Page Break,Sideskift,
Consider Tax or Charge for,Overvej Skat eller Gebyr for,
Valuation and Total,Værdiansættelse og Total,
Valuation,Værdiansættelse,
Add or Deduct,Tilføje eller fratrække,
Deduct,Fratræk,
On Previous Row Amount,På Forrige Row Beløb,
On Previous Row Total,På Forrige Row Total,
On Item Quantity,Om varemængde,
Reference Row #,Henvisning Row #,
Is this Tax included in Basic Rate?,Er denne Tax inkluderet i Basic Rate?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Hvis markeret, vil momsbeløbet blive betragtet som allerede inkluderet i Print Sats / Print Beløb",
Account Head,Konto hoved,
Tax Amount After Discount Amount,Skat Beløb Efter Discount Beløb,
Item Wise Tax Detail ,Item Wise Tax Detail,
"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 momsskabelon, der kan anvendes på alle købstransaktioner. Denne skabelon kan indeholde liste over skatte- hoveder og også andre bekostning hoveder som ""Shipping"", ""forsikring"", ""Håndtering"" osv #### Bemærk Skatteprocenten du definerer her, vil være standard skattesats for alle ** Varer * *. Hvis der er ** Varer **, der har forskellige satser, skal de tilsættes i ** Item Skat ** bord i ** Item ** mester. #### Beskrivelse af kolonner 1. Beregning Type: - Dette kan være på ** Net Total ** (dvs. summen af grundbeløb). - ** På Forrige Row Total / Beløb ** (for kumulative skatter eller afgifter). Hvis du vælger denne mulighed, vil skatten blive anvendt som en procentdel af den forrige række (på skatteområdet tabel) beløb eller total. - ** Faktisk ** (som nævnt). 2. Konto Hoved: Account Finans hvorunder denne afgift vil være reserveret 3. Cost Center: Hvis skatten / afgiften er en indtægt (som shipping) eller omkostninger det skal reserveres mod en Cost Center. 4. Beskrivelse: Beskrivelse af skat (som vil blive trykt i fakturaer / citater). 5. Pris: Skatteprocent. 6. Beløb: Skat beløb. 7. Samlet: Kumulativ total til dette punkt. 8. Indtast Række: Hvis baseret på ""Forrige Row alt"" kan du vælge den række nummer, som vil blive taget som en base for denne beregning (standard er den forrige række). 9. Overvej Skat eller Gebyr for: I dette afsnit kan du angive, om skatten / afgiften er kun for værdiansættelse (ikke en del af det samlede) eller kun for total (ikke tilføre værdi til emnet) eller til begge. 10. Tilføj eller fratrække: Uanset om du ønsker at tilføje eller fratrække afgiften.",
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Medtag betaling (Kassesystem),
Offline POS Name,Offline-kassesystemnavn,
Is Return (Credit Note),Er Retur (Kredit Bemærk),
Return Against Sales Invoice,Retur mod salgsfaktura,
Update Billed Amount in Sales Order,Opdater billedbeløb i salgsordre,
Customer PO Details,Kunde PO Detaljer,
Customer's Purchase Order,Kundens indkøbsordre,
Customer's Purchase Order Date,Kundens indkøbsordredato,
Customer Address,Kundeadresse,
Shipping Address Name,Leveringsadressenavn,
Company Address Name,Virksomhedens adresse navn,
Rate at which Customer Currency is converted to customer's base currency,"Hastighed, hvormed kunden Valuta omdannes til kundens basisvaluta",
Rate at which Price list currency is converted to customer's base currency,"Hastighed, hvormed Prisliste valuta omregnes til kundens basisvaluta",
Set Source Warehouse,Indstil kildelager,
Packing List,Pakkeliste,
Packed Items,Pakkede varer,
Product Bundle Help,Produktpakkehjælp,
Time Sheet List,Timeregistreringsoversigt,
Time Sheets,Tidsregistreringer,
Total Billing Amount,Samlet faktureringsbeløb,
Sales Taxes and Charges Template,Salg Moms- og afgiftsskabelon,
Sales Taxes and Charges,Salg Moms og afgifter,
Loyalty Points Redemption,Loyalitetspoint Indfrielse,
Redeem Loyalty Points,Indløs loyalitetspoint,
Redemption Account,Indløsningskonto,
Redemption Cost Center,Indløsningsomkostningscenter,
In Words will be visible once you save the Sales Invoice.,"""I ord"" vil være synlig, når du gemmer salgsfakturaen.",
Allocate Advances Automatically (FIFO),Fordel automatisk Advance (FIFO),
Get Advances Received,Få forskud,
Base Change Amount (Company Currency),Base ændring beløb (Company Currency),
Write Off Outstanding Amount,Skriv Off Udestående beløb,
Terms and Conditions Details,Betingelsesdetaljer,
Is Internal Customer,Er intern kunde,
Is Discounted,Er nedsat,
Unpaid and Discounted,Ubetalt og nedsat,
Overdue and Discounted,Forfaldne og nedsatte,
Accounting Details,Regnskabsdetaljer,
Debit To,Debit Til,
Is Opening Entry,Åbningspost,
C-Form Applicable,C-anvendelig,
Commission Rate (%),Provisionssats (%),
Sales Team1,Salgs TEAM1,
Against Income Account,Imod Indkomst konto,
Sales Invoice Advance,Salgsfaktura Advance,
Advance amount,Advance Beløb,
Sales Invoice Item,Salgsfakturavare,
Customer's Item Code,Kundens varenr.,
Brand Name,Varemærkenavn,
Qty as per Stock UOM,Mængde pr. lagerenhed,
Discount and Margin,Rabat og Margin,
Rate With Margin,Vurder med margen,
Discount (%) on Price List Rate with Margin,Rabat (%) på prisliste med margen,
Rate With Margin (Company Currency),Rate med margen (Company Currency),
Delivered By Supplier,Leveret af Leverandøren,
Deferred Revenue,Udskudte indtægter,
Deferred Revenue Account,Udskudt indtjeningskonto,
Enable Deferred Revenue,Aktivér udskudt indtjening,
Stock Details,Stock Detaljer,
Customer Warehouse (Optional),Kundelager (valgfrit),
Available Batch Qty at Warehouse,Tilgængeligt batch-antal på lageret,
Available Qty at Warehouse,Tilgængeligt antal på lageret,
Delivery Note Item,Følgeseddelvare,
Base Amount (Company Currency),Base Beløb (Company Currency),
Sales Invoice Timesheet,Salgsfaktura tidsregistrering,
Time Sheet,Tidsregistrering,
Billing Hours,Fakturerede timer,
Timesheet Detail,Timeseddel Detaljer,
Tax Amount After Discount Amount (Company Currency),Skat Beløb Efter Discount Beløb (Company Valuta),
Item Wise Tax Detail,Item Wise Tax Detail,
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 skat skabelon, der kan anvendes på alle salgstransaktioner. Denne skabelon kan indeholde liste over skatte- hoveder og også andre udgifter / indtægter hoveder som &quot;Shipping&quot;, &quot;forsikring&quot;, &quot;Håndtering&quot; osv #### Bemærk Skatteprocenten du definerer her, vil være standard skattesats for alle ** Varer **. Hvis der er ** Varer **, der har forskellige satser, skal de tilsættes i ** Item Skat ** bord i ** Item ** mester. #### Beskrivelse af kolonner 1. Beregning Type: - Dette kan være på ** Net Total ** (dvs. summen af grundbeløb). - ** På Forrige Row Total / Beløb ** (for kumulative skatter eller afgifter). Hvis du vælger denne mulighed, vil skatten blive anvendt som en procentdel af den forrige række (på skatteområdet tabel) beløb eller total. - ** Faktisk ** (som nævnt). 2. Konto Hoved: Account Finans hvorunder denne afgift vil være reserveret 3. Cost Center: Hvis skatten / afgiften er en indtægt (som shipping) eller omkostninger det skal reserveres mod en Cost Center. 4. Beskrivelse: Beskrivelse af skat (som vil blive trykt i fakturaer / citater). 5. Pris: Skatteprocent. 6. Beløb: Skat beløb. 7. Samlet: Kumulativ total til dette punkt. 8. Indtast Række: Hvis baseret på &quot;Forrige Row alt&quot; kan du vælge den række nummer, som vil blive taget som en base for denne beregning (standard er den forrige række). 9. Er det Tax inkluderet i Basic Rate ?: Hvis du markerer dette, betyder det, at denne skat ikke vil blive vist under elementet bordet, men vil indgå i Basic Rate i din vigtigste punkt bordet. Dette er nyttigt, når du ønsker at give en flad pris (inklusive alle afgifter) pris til kunderne.",
* Will be calculated in the transaction.,* Vil blive beregnet i transaktionen.,
From No,Fra nr,
To No,Til nr,
Is Company,Er virksomhed,
Current State,Nuværende tilstand,
Purchased,købt,
From Shareholder,Fra Aktionær,
From Folio No,Fra Folio nr,
To Shareholder,Til aktionær,
To Folio No,Til Folio nr,
Equity/Liability Account,Egenkapital / Ansvarskonto,
Asset Account,Aktiver konto,
(including),(inklusive),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio nr.,
Address and Contacts,Adresse og kontaktpersoner,
Contact List,Kontakt liste,
Hidden list maintaining the list of contacts linked to Shareholder,"Skjult liste vedligeholdelse af listen over kontakter, der er knyttet til Aktionær",
Specify conditions to calculate shipping amount,Angiv betingelser for at beregne forsendelsesmængden,
Shipping Rule Label,Forsendelseregeltekst,
example: Next Day Shipping,eksempel: Næste dages levering,
Shipping Rule Type,Forsendelsesregel Type,
Shipping Account,Forsendelse konto,
Calculate Based On,Beregn baseret på,
Fixed,Fast,
Net Weight,Nettovægt,
Shipping Amount,Forsendelsesmængde,
Shipping Rule Conditions,Forsendelsesregelbetingelser,
Restrict to Countries,Begræns til lande,
Valid for Countries,Gælder for lande,
Shipping Rule Condition,Forsendelsesregelbetingelse,
A condition for a Shipping Rule,Betingelse for en forsendelsesregel,
From Value,Fra Value,
To Value,Til Value,
Shipping Rule Country,Forsendelsesregelland,
Subscription Period,Abonnementsperiode,
Subscription Start Date,Abonnements startdato,
Cancelation Date,Annulleringsdato,
Trial Period Start Date,Prøveperiode Startdato,
Trial Period End Date,Prøveperiode Slutdato,
Current Invoice Start Date,Nuværende faktura startdato,
Current Invoice End Date,Nuværende faktura Slutdato,
Days Until Due,Dage indtil forfaldsdato,
Number of days that the subscriber has to pay invoices generated by this subscription,"Antal dage, som abonnenten skal betale fakturaer genereret af dette abonnement",
Cancel At End Of Period,Annuller ved slutningen af perioden,
Generate Invoice At Beginning Of Period,Generer faktura ved begyndelsen af perioden,
Plans,Planer,
Discounts,Rabatter,
Additional DIscount Percentage,Ekstra rabatprocent,
Additional DIscount Amount,Ekstra rabatbeløb,
Subscription Invoice,Abonnementsfaktura,
Subscription Plan,Abonnementsplan,
Cost,Koste,
Billing Interval,Faktureringsinterval,
Billing Interval Count,Faktureringsintervaltælling,
"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","Antal intervaller for intervalfeltet, fx hvis Interval er &#39;Days&#39; og Billing Interval Count er 3, vil fakturaer blive genereret hver 3. dag",
Payment Plan,Betalingsplan,
Subscription Plan Detail,Abonnementsplandetaljer,
Plan,Plan,
Subscription Settings,Abonnementsindstillinger,
Grace Period,Afdragsfri periode,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,"Antal dage efter fakturadato er udløbet, før abonnement eller markeringsabonnement ophæves som ubetalt",
Prorate,prorate,
Tax Rule,Momsregel,
Tax Type,Skat Type,
Use for Shopping Cart,Bruges til Indkøbskurv,
Billing City,Fakturering By,
Billing County,Anvendes ikke,
Billing State,Anvendes ikke,
Billing Zipcode,Fakturering Postnummer,
Billing Country,Faktureringsland,
Shipping City,Forsendelse By,
Shipping County,Anvendes ikke,
Shipping State,Forsendelse stat,
Shipping Zipcode,Shipping Postnummer,
Shipping Country,Forsendelsesland,
Tax Withholding Account,Skat tilbageholdende konto,
Tax Withholding Rates,Skat tilbageholdelsessatser,
Rates,priser,
Tax Withholding Rate,Skattefradrag,
Single Transaction Threshold,Single Transaction Threshold,
Cumulative Transaction Threshold,Kumulativ transaktionstærskel,
Agriculture Analysis Criteria,Landbrugsanalyse kriterier,
Linked Doctype,Tilknyttet doktype,
Water Analysis,Vandanalyse,
Soil Analysis,Jordanalyse,
Plant Analysis,Plant Analyse,
Fertilizer,Gødning,
Soil Texture,Jordstruktur,
Weather,Vejr,
Agriculture Manager,Landbrugschef,
Agriculture User,Landbrug Bruger,
Agriculture Task,Landbrugsopgave,
Task Name,Opgavenavn,
Start Day,Start dag,
End Day,Slutdagen,
Holiday Management,Holiday Management,
Ignore holidays,Ignorer ferie,
Previous Business Day,Tidligere Erhvervsdag,
Next Business Day,Næste forretningsdag,
Urgent,Hurtigst muligt,
Crop Name,Beskær Navn,
Scientific Name,Videnskabeligt 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 de opgaver, der skal udføres for denne afgrøde her. Dagfeltet bruges til at nævne den dag, hvorpå opgaven skal udføres, 1 er 1. dag mv.",
Crop Spacing,Beskæringsafstand,
Crop Spacing UOM,Beskær afstanden UOM,
Row Spacing,Rækkevidde,
Row Spacing UOM,Rækkevidde UOM,
Perennial,Perennial,
Biennial,Biennalen,
Planting UOM,Plantning af UOM,
Planting Area,Planteområde,
Yield UOM,Udbytte UOM,
Materials Required,Materialer krævet,
Produced Items,Producerede varer,
Produce,Fremstille,
Byproducts,biprodukter,
Linked Location,Linked Location,
A link to all the Locations in which the Crop is growing,"Et link til alle de steder, hvor afgrøden vokser",
This will be day 1 of the crop cycle,Dette bliver dag 1 i afgrødecyklussen,
ISO 8601 standard,ISO 8601 standard,
Cycle Type,Cykeltype,
Less than a year,Mindre end et år,
The minimum length between each plant in the field for optimum growth,Minimale længde mellem hver plante i marken for optimal vækst,
The minimum distance between rows of plants for optimum growth,Den minimale afstand mellem rækker af planter for optimal vækst,
Detected Diseases,Opdagede sygdomme,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Liste over sygdomme opdaget på marken. Når den er valgt, tilføjer den automatisk en liste over opgaver for at håndtere sygdommen",
Detected Disease,Opdaget sygdom,
LInked Analysis,Analyseret,
Disease,Sygdom,
Tasks Created,Opgaver oprettet,
Common Name,Almindeligt navn,
Treatment Task,Behandlingstjeneste,
Treatment Period,Behandlingsperiode,
Fertilizer Name,Gødning Navn,
Density (if liquid),Tæthed (hvis væske),
Fertilizer Contents,Indhold af gødning,
Fertilizer Content,Gødning Indhold,
Linked Plant Analysis,Linked Plant Analysis,
Linked Soil Analysis,Linked Soil Analysis,
Linked Soil Texture,Sammenknyttet jordstruktur,
Collection Datetime,Samling Datetime,
Laboratory Testing Datetime,Laboratorietestning Datetime,
Result Datetime,Resultat Datetime,
Plant Analysis Criterias,Plant Analyse Kriterier,
Plant Analysis Criteria,Plant Analyse Kriterier,
Minimum Permissible Value,Mindste tilladelige værdi,
Maximum Permissible Value,Maksimum tilladt værdi,
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,Kriterier for jordanalyse,
Soil Type,Jordtype,
Loamy Sand,Loamy Sand,
Sandy Loam,Sandy Loam,
Loam,lerjord,
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 (%),Ler sammensætning (%),
Sand Composition (%),Sandkomposition (%),
Silt Composition (%),Silt Sammensætning (%),
Ternary Plot,Ternary Plot,
Soil Texture Criteria,Kriterier for jordstruktur,
Type of Sample,Type prøve,
Container,Beholder,
Origin,Oprindelse,
Collection Temperature ,Indsamlingstemperatur,
Storage Temperature,Stuetemperatur,
Appearance,Udseende,
Person Responsible,Person Ansvarlig,
Water Analysis Criteria,Vandanalyse Kriterier,
Weather Parameter,Vejr Parameter,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Aktiv ejer,
Asset Owner Company,Aktiver egen virksomhed,
Custodian,kontoførende,
Disposal Date,Salgsdato,
Journal Entry for Scrap,Kassekladde til skrot,
Available-for-use Date,Tilgængelig-til-brug-dato,
Calculate Depreciation,Beregn afskrivninger,
Allow Monthly Depreciation,Tillad månedlig afskrivning,
Number of Depreciations Booked,Antal Afskrivninger Reserveret,
Finance Books,Finansbøger,
Straight Line,Lineær afskrivning,
Double Declining Balance,Dobbelt Faldende Balance,
Manual,Manuel,
Value After Depreciation,Værdi efter afskrivninger,
Total Number of Depreciations,Samlet antal afskrivninger,
Frequency of Depreciation (Months),Hyppigheden af afskrivninger (måneder),
Next Depreciation Date,Næste afskrivningsdato,
Depreciation Schedule,Afskrivninger Schedule,
Depreciation Schedules,Afskrivninger Tidsplaner,
Insurance details,Forsikringsoplysninger,
Policy number,Policenummer,
Insurer,Forsikringsgiver,
Insured value,Forsikret værdi,
Insurance Start Date,Forsikrings Startdato,
Insurance End Date,Forsikrings Slutdato,
Comprehensive Insurance,Omfattende Forsikring,
Maintenance Required,Vedligeholdelse kræves,
Check if Asset requires Preventive Maintenance or Calibration,"Kontroller, om aktivet kræver forebyggende vedligeholdelse eller kalibrering",
Booked Fixed Asset,Reserveret Fixed Asset,
Purchase Receipt Amount,Købsmodtagelsesbeløb,
Default Finance Book,Standard Finance Book,
Quality Manager,Kvalitetschef,
Asset Category Name,Aktiver kategori navn,
Depreciation Options,Afskrivningsmuligheder,
Enable Capital Work in Progress Accounting,Aktivér igangværende bogføringsarbejde,
Finance Book Detail,Finans Bog Detail,
Asset Category Account,Aktiver kategori konto,
Fixed Asset Account,Anlægsaktivkonto,
Accumulated Depreciation Account,Akkumuleret Afskrivninger konto,
Depreciation Expense Account,Afskrivninger udgiftskonto,
Capital Work In Progress Account,Capital Work Progress Account,
Asset Finance Book,Aktiver finans bog,
Written Down Value,Skriftlig nedværdi,
Expected Value After Useful Life,Forventet værdi efter forventet brugstid,
Rate of Depreciation,Afskrivningsgrad,
In Percentage,I procent,
Maintenance Team,Vedligeholdelse Team,
Maintenance Manager Name,Maintenance Manager Navn,
Maintenance Tasks,Vedligeholdelsesopgaver,
Manufacturing User,Produktionsbruger,
Asset Maintenance Log,Aktiver vedligeholdelse log,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Vedligeholdelsestype,
Maintenance Status,Vedligeholdelsesstatus,
Planned,planlagt,
Has Certificate ,Har certifikat,
Certificate,Certifikat,
Actions performed,Handlinger udført,
Asset Maintenance Task,Aktiver vedligeholdelsesopgave,
Maintenance Task,Vedligeholdelsesopgave,
Preventive Maintenance,Forebyggende vedligeholdelse,
Calibration,Kalibrering,
2 Yearly,2 årligt,
Certificate Required,Certifikat er påkrævet,
Assign to Name,Tildel til navn,
Next Due Date,Næste Forfaldsdato,
Last Completion Date,Sidste sluttidspunkt,
Asset Maintenance Team,Aktiver vedligeholdelse hold,
Maintenance Team Name,Vedligeholdelsesnavn,
Maintenance Team Members,Vedligeholdelse Team Medlemmer,
Purpose,Formål,
Stock Manager,Stock manager,
Asset Movement Item,Element til bevægelse af aktiver,
Source Location,Kildeplacering,
From Employee,Fra Medarbejder,
Target Location,Målsted,
To Employee,Til medarbejder,
Asset Repair,Aktiver reparation,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Fejldato,
Assign To Name,Tildel til navn,
Repair Status,Reparation Status,
Error Description,Fejlbeskrivelse,
Downtime,nedetid,
Repair Cost,Reparationsomkostninger,
Manufacturing Manager,Produktionschef,
Current Asset Value,Aktuel aktivværdi,
New Asset Value,Ny aktivværdi,
Make Depreciation Entry,Foretag Afskrivninger indtastning,
Finance Book Id,Finans Bog ID,
Location Name,Navn på sted,
Parent Location,Forældre Placering,
Is Container,Er Container,
Check if it is a hydroponic unit,Kontroller om det er en hydroponisk enhed,
Location Details,Placering detaljer,
Latitude,Breddegrad,
Longitude,Længde,
Area,Areal,
Area UOM,Område UOM,
Tree Details,Tree Detaljer,
Maintenance Team Member,Vedligeholdelse Teammedlem,
Team Member,Medarbejder,
Maintenance Role,Vedligeholdelsesrolle,
Buying Settings,Indkøbsindstillinger,
Settings for Buying Module,Indstillinger til køb modul,
Supplier Naming By,Leverandørnavngivning af,
Default Supplier Group,Standardleverandørgruppe,
Default Buying Price List,Standard indkøbsprisliste,
Backflush Raw Materials of Subcontract Based On,Backflush råmaterialer af underentreprise baseret på,
Material Transferred for Subcontract,Materialet overført til underentreprise,
Over Transfer Allowance (%),Overførselsgodtgø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.,"Procentdel, du har lov til at overføre mere mod den bestilte mængde. For eksempel: Hvis du har bestilt 100 enheder. og din kvote er 10%, har du lov til at overføre 110 enheder.",
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Hent varer fra åbne materialeanmodninger,
Fetch items based on Default Supplier.,Hent varer baseret på standardleverandør.,
Required By,Kræves By,
Order Confirmation No,Bekræftelsesbekendtgørelse nr,
Order Confirmation Date,Ordrebekræftelsesdato,
Customer Mobile No,Kunde mobiltelefonnr.,
Customer Contact Email,Kundeservicekontakt e-mail,
Set Target Warehouse,Indstil Target Warehouse,
Sets 'Warehouse' in each row of the Items table.,Indstiller &#39;Lager&#39; i hver række i tabellen Varer.,
Supply Raw Materials,Supply råmaterialer,
Purchase Order Pricing Rule,Regler for prisfastsættelse af indkøb,
Set Reserve Warehouse,Indstil Reserve Warehouse,
In Words will be visible once you save the Purchase Order.,"""I Ord"" vil være synlig, når du gemmer indkøbsordren.",
Advance Paid,Forudbetalt,
Tracking,Sporing,
% Billed,% Faktureret,
% Received,% Modtaget,
Ref SQ,Ref SQ,
Inter Company Order Reference,Inter-firmaordrehenvisning,
Supplier Part Number,Leverandør Part Number,
Billed Amt,Billed Amt,
Warehouse and Reference,Lager og reference,
To be delivered to customer,Der skal leveres til kunden,
Material Request Item,Materialeanmodningsvare,
Supplier Quotation Item,Leverandør tibudt Varer,
Against Blanket Order,Mod tæppeordre,
Blanket Order,Tæppeordre,
Blanket Order Rate,Tæppe Ordre Rate,
Returned Qty,Returneret Antal,
Purchase Order Item Supplied,Indkøbsordre leveret vare,
BOM Detail No,BOM Detail Nej,
Stock Uom,Lagerenhed,
Raw Material Item Code,Råmateriale varenr.,
Supplied Qty,Medfølgende Antal,
Purchase Receipt Item Supplied,Købskvittering leveret vare,
Current Stock,Aktuel lagerbeholdning,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Til individuel leverandør,
Link to Material Requests,Link til materialeanmodninger,
Message for Supplier,Besked til leverandøren,
Request for Quotation Item,Anmodning om tilbud Varer,
Required Date,Forfaldsdato,
Request for Quotation Supplier,Anmodning om tilbud Leverandør,
Send Email,Send e-mail,
Quote Status,Citat Status,
Download PDF,Download PDF,
Supplier of Goods or Services.,Leverandør af varer eller tjenesteydelser.,
Name and Type,Navn og type,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Standard bankkonto,
Is Transporter,Er Transporter,
Represents Company,Representerer firma,
Supplier Type,Leverandørtype,
Allow Purchase Invoice Creation Without Purchase Order,Tillad oprettelse af købsfaktura uden indkøbsordre,
Allow Purchase Invoice Creation Without Purchase Receipt,Tillad oprettelse af købsfaktura uden købsmodtagelse,
Warn RFQs,Advar RFQ&#39;er,
Warn POs,Advarer PO&#39;er,
Prevent RFQs,Forebygg RFQs,
Prevent POs,Forhindre PO&#39;er,
Billing Currency,Fakturering Valuta,
Default Payment Terms Template,Standard betalingsbetingelser skabelon,
Block Supplier,Bloker leverandør,
Hold Type,Hold Type,
Leave blank if the Supplier is blocked indefinitely,"Forlad blank, hvis leverandøren er blokeret på ubestemt tid",
Default Payable Accounts,Standard betales Konti,
Mention if non-standard payable account,Angiv hvis ikke-standard betalingskonto,
Default Tax Withholding Config,Standard Skat tilbageholdende Config,
Supplier Details,Leverandør Detaljer,
Statutory info and other general information about your Supplier,Lovpligtig information og andre generelle oplysninger om din leverandør,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Leverandør Adresse,
Link to material requests,Link til materialeanmodninger,
Rounding Adjustment (Company Currency,Afrundingsjustering (Virksomhedsvaluta,
Auto Repeat Section,Automatisk gentag sektion,
Is Subcontracted,Underentreprise,
Lead Time in days,Gennemsnitlig leveringstid i dage,
Supplier Score,Leverandør score,
Indicator Color,Indikator Farve,
Evaluation Period,Evalueringsperiode,
Per Week,Per uge,
Per Month,Om måneden,
Per Year,Per år,
Scoring Setup,Scoring Setup,
Weighting Function,Vægtningsfunktion,
"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 bruges, samt: {total_score} (den samlede score fra den periode), {period_number} (antallet af perioder til nutidens dag)",
Scoring Standings,Scoring Standings,
Criteria Setup,Kriterier opsætning,
Load All Criteria,Indlæs alle kriterier,
Scoring Criteria,Scoringskriterier,
Scorecard Actions,Scorecard Actions,
Warn for new Request for Quotations,Advar om ny anmodning om tilbud,
Warn for new Purchase Orders,Advarer om nye indkøbsordrer,
Notify Supplier,Underret Leverandør,
Notify Employee,Underrette medarbejder,
Supplier Scorecard Criteria,Leverandør Scorecard Criteria,
Criteria Name,Kriterier Navn,
Max Score,Max score,
Criteria Formula,Kriterier Formel,
Criteria Weight,Kriterier Vægt,
Supplier Scorecard Period,Leverandør Scorecard Periode,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Periode score,
Calculations,Beregninger,
Criteria,Kriterier,
Variables,Variable,
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,orange,
Min Grade,Min Grade,
Max Grade,Max Grade,
Warn Purchase Orders,Advarer indkøbsordrer,
Prevent Purchase Orders,Forhindre indkøbsordrer,
Employee ,Medarbejder,
Supplier Scorecard Scoring Variable,Leverandør Scorecard Scoringsvariabel,
Variable Name,Variabelt navn,
Parameter Name,Parameternavn,
Supplier Scorecard Standing,Leverandør Scorecard Standing,
Notify Other,Underret Andet,
Supplier Scorecard Variable,Leverandør Scorecard Variable,
Call Log,Opkaldsliste,
Received By,Modtaget af,
Caller Information,Oplysninger om opkald,
Contact Name,Kontaktnavn,
Lead ,At føre,
Lead Name,Emnenavn,
Ringing,Ringetone,
Missed,Savnet,
Call Duration in seconds,Opkaldstid i sekunder,
Recording URL,Optagelses-URL,
Communication Medium,Kommunikation Medium,
Communication Medium Type,Kommunikation Medium Type,
Voice,Stemme,
Catch All,Fang alle,
"If there is no assigned timeslot, then communication will be handled by this group","Hvis der ikke er tildelt timeslot, håndteres kommunikation af denne gruppe",
Timeslots,tidsintervaller,
Communication Medium Timeslot,Kommunikation Medium Timeslot,
Employee Group,Medarbejdergruppe,
Appointment,Aftale,
Scheduled Time,Planlagt tid,
Unverified,Ubekræftet,
Customer Details,Kundedetaljer,
Phone Number,Telefonnummer,
Skype ID,Skype ID,
Linked Documents,Koblede dokumenter,
Appointment With,Aftale med,
Calendar Event,Kalenderbegivenhed,
Appointment Booking Settings,Indstillinger for aftalebestilling,
Enable Appointment Scheduling,Aktivér aftaleplanlægning,
Agent Details,Agentdetaljer,
Availability Of Slots,Tilgængelighed af slots,
Number of Concurrent Appointments,Antal samtidige aftaler,
Agents,Agenter,
Appointment Details,Detaljer om aftale,
Appointment Duration (In Minutes),Konsultationens varighed (antal minutter),
Notify Via Email,Underret via e-mail,
Notify customer and agent via email on the day of the appointment.,Underret kunden og agenten via e-mail på aftaledagen.,
Number of days appointments can be booked in advance,Antal dages aftaler kan reserveres på forhånd,
Success Settings,Indstillinger for succes,
Success Redirect URL,Webadresse til omdirigering af succes,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Lad være tomt til hjemmet. Dette er i forhold til websteds-URL, for eksempel &quot;vil&quot; omdirigere til &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Aftaler Booking Slots,
Day Of Week,Ugedag,
From Time ,Fra Time,
Campaign Email Schedule,Kampagne-e-mail-plan,
Send After (days),Send efter (dage),
Signed,Underskrevet,
Party User,Selskabs-bruger,
Unsigned,usigneret,
Fulfilment Status,Opfyldelsesstatus,
N/A,N / A,
Unfulfilled,uopfyldte,
Partially Fulfilled,Delvis opfyldt,
Fulfilled,opfyldt,
Lapsed,bortfaldet,
Contract Period,Kontraktperiode,
Signee Details,Signee Detaljer,
Signee,Signee,
Signed On,Logget på,
Contract Details,Kontrakt Detaljer,
Contract Template,Kontraktskabel,
Contract Terms,Kontraktvilkår,
Fulfilment Details,Opfyldelse Detaljer,
Requires Fulfilment,Kræver Opfyldelse,
Fulfilment Deadline,Opfyldelsesfrist,
Fulfilment Terms,Opfyldelsesbetingelser,
Contract Fulfilment Checklist,Kontrol Fulfillment Checklist,
Requirement,Krav,
Contract Terms and Conditions,Kontraktvilkår og betingelser,
Fulfilment Terms and Conditions,Opfyldelsesbetingelser,
Contract Template Fulfilment Terms,Kontraktskabelopfyldelsesbetingelser,
Email Campaign,E-mail-kampagne,
Email Campaign For ,E-mail-kampagne til,
Lead is an Organization,Bly er en organisation,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Navn,
Lost Quotation,Lost Citat,
Interested,Interesseret,
Converted,Konverteret,
Do Not Contact,Må ikke komme i kontakt,
From Customer,Fra kunde,
Campaign Name,Kampagne Navn,
Follow Up,Opfølgning,
Next Contact By,Næste kontakt af,
Next Contact Date,Næste kontakt d.,
Ends On,Ender på,
Address & Contact,Adresse og kontaktperson,
Mobile No.,Mobiltelefonnr.,
Lead Type,Emnetype,
Channel Partner,Channel Partner,
Consultant,Konsulent,
Market Segment,Markedssegment,
Industry,Branche,
Request Type,Anmodningstype,
Product Enquiry,Produkt Forespørgsel,
Request for Information,Anmodning om information,
Suggestions,Forslag,
Blog Subscriber,Blog Subscriber,
LinkedIn Settings,LinkedIn-indstillinger,
Company ID,Virksomheds-id,
OAuth Credentials,OAuth-legitimationsoplysninger,
Consumer Key,Forbrugernøgle,
Consumer Secret,Forbrugerhemmelighed,
User Details,Brugeroplysninger,
Person URN,Person URN,
Session Status,Sessionsstatus,
Lost Reason Detail,Detaljer om tabt årsag,
Opportunity Lost Reason,Mulighed mistet grund,
Potential Sales Deal,Potentielle Sales Deal,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Salgsmulighed fra,
Customer / Lead Name,Kunde / Emne navn,
Opportunity Type,Salgsmulighedstype,
Converted By,Konverteret af,
Sales Stage,Salgstrin,
Lost Reason,Tabsårsag,
Expected Closing Date,Forventet slutdato,
To Discuss,Samtaleemne,
With Items,Med varer,
Probability (%),Sandsynlighed (%),
Contact Info,Kontaktinformation,
Customer / Lead Address,Kunde / Emne Adresse,
Contact Mobile No,Kontakt mobiltelefonnr.,
Enter name of campaign if source of enquiry is campaign,"Indtast navnet på kampagne, hvis kilden undersøgelsesudvalg er kampagne",
Opportunity Date,Salgsmulighedsdato,
Opportunity Item,Salgsmulighed Vare,
Basic Rate,Grundlæggende Rate,
Stage Name,Kunstnernavn,
Social Media Post,Social Media Post,
Post Status,Post status,
Posted,Sendt,
Share On,Del på,
Twitter,Twitter,
LinkedIn,LinkedIn,
Twitter Post Id,Twitter-post-id,
LinkedIn Post Id,LinkedIn-post-id,
Tweet,Tweet,
Twitter Settings,Twitter-indstillinger,
API Secret Key,API-hemmelig nøgle,
Term Name,Betingelsesnavn,
Term Start Date,Betingelser startdato,
Term End Date,Betingelser slutdato,
Academics User,akademikere Bruger,
Academic Year Name,Skoleårsnavn,
Article,Genstand,
LMS User,LMS-bruger,
Assessment Criteria Group,Vurderingskriterier gruppe,
Assessment Group Name,Vurderings gruppe navn,
Parent Assessment Group,Parent Group Assessment,
Assessment Name,Vurdering Navn,
Grading Scale,karakterbekendtgørelsen,
Examiner,Censor,
Examiner Name,Censornavn,
Supervisor,Tilsynsførende,
Supervisor Name,supervisor Navn,
Evaluate,Vurdere,
Maximum Assessment Score,Maksimal Score Assessment,
Assessment Plan Criteria,Vurdering Plan Kriterier,
Maximum Score,Maksimal score,
Grade,Grad,
Assessment Result Detail,Vurdering resultat detalje,
Assessment Result Tool,Vurderings resultat værktøj,
Result HTML,resultat HTML,
Content Activity,Indholdsaktivitet,
Last Activity ,Sidste aktivitet,
Content Question,Indholdsspørgsmål,
Question Link,Spørgsmål Link,
Course Name,Kursusnavn,
Topics,Emner,
Hero Image,Heltebillede,
Default Grading Scale,Standard karakterbekendtgørelsen,
Education Manager,Uddannelsesleder,
Course Activity,Kursusaktivitet,
Course Enrollment,Kursus tilmelding,
Activity Date,Aktivitetsdato,
Course Assessment Criteria,Kriterier for kursusvurdering,
Weightage,Vægtning,
Course Content,Kursets indhold,
Quiz,Quiz,
Program Enrollment,Program Tilmelding,
Enrollment Date,Tilmelding Dato,
Instructor Name,Instruktør Navn,
EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
Course Scheduling Tool,Kursusplanlægningsværktøj,
Course Start Date,Kursusstartdato,
To TIme,Til Time,
Course End Date,Kursus slutdato,
Course Topic,Kursusemne,
Topic Name,Emnenavn,
Education Settings,Uddannelsesindstillinger,
Current Academic Year,Nuværende skoleår,
Current Academic Term,Nuværende akademisk betegnelse,
Attendance Freeze Date,Tilmelding senest d.,
Validate Batch for Students in Student Group,Valider batch for studerende i studentegruppe,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.",For Batch-baserede Studentegruppe bliver Student Batch Valideret for hver Student fra Programindskrivningen.,
Validate Enrolled Course for Students in Student Group,Valider indskrevet kursus for studerende i studentegruppe,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.",For kursusbaseret studentegruppe vil kurset blive valideret for hver elev fra de tilmeldte kurser i programtilmelding.,
Make Academic Term Mandatory,Gør faglig semester obligatorisk,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Hvis aktiveret, vil feltet Akademisk Term være obligatorisk i Programindskrivningsværktøjet.",
Skip User creation for new Student,Spring brugeroprettelse over for ny elev,
"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 oprettes der en ny bruger for hver ny elev. Hvis aktiveret, oprettes der ingen ny bruger, når en ny elev oprettes.",
Instructor Records to be created by,"Instruktør Records, der skal oprettes af",
Employee Number,Medarbejdernr.,
Fee Category,Gebyr Kategori,
Fee Component,Gebyr Component,
Fees Category,Gebyrer Kategori,
Fee Schedule,Fee Schedule,
Fee Structure,Gebyr struktur,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Fee Creation Status,
In Process,I Process,
Send Payment Request Email,Send betalingsanmodning e-mail,
Student Category,Studerendekategori,
Fee Breakup for each student,Fee Breakup for hver elev,
Total Amount per Student,Samlede beløb pr. Studerende,
Institution,Institution,
Fee Schedule Program,Fee Schedule Program,
Student Batch,Elevgruppe,
Total Students,Samlet Studerende,
Fee Schedule Student Group,Fee Schedule Student Group,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Inkluder betaling,
Send Payment Request,Send betalingsanmodning,
Student Details,Studentoplysninger,
Student Email,Student Email,
Grading Scale Name,Karakterbekendtgørelsen Navn,
Grading Scale Intervals,Grading Scale Intervaller,
Intervals,Intervaller,
Grading Scale Interval,Karakterskala Interval,
Grade Code,Grade kode,
Threshold,Grænseværdi,
Grade Description,Grade Beskrivelse,
Guardian,Guardian,
Guardian Name,Guardian Navn,
Alternate Number,Alternativ Number,
Occupation,Beskæftigelse,
Work Address,Arbejdsadresse,
Guardian Of ,Guardian Of,
Students,Studerende,
Guardian Interests,Guardian Interesser,
Guardian Interest,Guardian Renter,
Interest,Interesse,
Guardian Student,Guardian Student,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Instruktør Log,
Other details,Andre detaljer,
Option,Mulighed,
Is Correct,Er korrekt,
Program Name,Programnavn,
Program Abbreviation,Program Forkortelse,
Courses,Kurser,
Is Published,Udgives,
Allow Self Enroll,Tillad selvregistrering,
Is Featured,Er vist,
Intro Video,Introduktionsvideo,
Program Course,Kursusprogram,
School House,School House,
Boarding Student,Boarding Student,
Check this if the Student is residing at the Institute's Hostel.,"Tjek dette, hvis den studerende er bosiddende på instituttets Hostel.",
Walking,gåture,
Institute's Bus,Instituttets bus,
Self-Driving Vehicle,Selvkørende køretøj,
Pick/Drop by Guardian,Vælg / Drop af Guardian,
Enrolled courses,Indskrevne kurser,
Program Enrollment Course,Tilmeldingskursusprogramm,
Program Enrollment Fee,Program Tilmelding Gebyr,
Program Enrollment Tool,Program Tilmelding Tool,
Get Students From,Hent studerende fra,
Student Applicant,Student Ansøger,
Get Students,Hent studerende,
Enrollment Details,Indtastningsdetaljer,
New Program,nyt Program,
New Student Batch,Ny Student Batch,
Enroll Students,Tilmeld Studerende,
New Academic Year,Nyt skoleår,
New Academic Term,Ny akademisk term,
Program Enrollment Tool Student,Program Tilmelding Tool Student,
Student Batch Name,Elevgruppenavn,
Program Fee,Program Fee,
Question,Spørgsmål,
Single Correct Answer,Enkelt korrekt svar,
Multiple Correct Answer,Flere korrekte svar,
Quiz Configuration,Quiz-konfiguration,
Passing Score,Bestået score,
Score out of 100,Resultat ud af 100,
Max Attempts,Max forsøg,
Enter 0 to waive limit,Indtast 0 for at fravige grænsen,
Grading Basis,Karakterbasis,
Latest Highest Score,Seneste højeste score,
Latest Attempt,Seneste forsøg,
Quiz Activity,Quiz-aktivitet,
Enrollment,Tilmelding,
Pass,Passere,
Quiz Question,Quiz Spørgsmål,
Quiz Result,Quiz Resultat,
Selected Option,Valgt valg,
Correct,Korrekt,
Wrong,Forkert,
Room Name,Værelsesnavn,
Room Number,Værelsesnummer,
Seating Capacity,Seating Capacity,
House Name,Husnavn,
EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
Student Mobile Number,Studerende mobiltelefonnr.,
Blood Group,Blodtype,
A+,A +,
A-,A-,
B+,B +,
B-,B-,
O+,O +,
O-,O-,
AB+,AB +,
AB-,AB-,
Nationality,Nationalitet,
Home Address,Hjemmeadresse,
Guardian Details,Guardian Detaljer,
Guardians,Guardians,
Sibling Details,søskende Detaljer,
Siblings,Søskende,
Exit,Udgang,
Date of Leaving,Dato for Leaving,
Leaving Certificate Number,Leaving Certificate Number,
Reason For Leaving,Årsag til at forlade,
Student Admission,Studerende optagelse,
Admission Start Date,Optagelse Startdato,
Admission End Date,Optagelse Slutdato,
Eligibility and Details,Støtteberettigelse og detaljer,
Student Admission Program,Studenter Adgangsprogram,
Minimum Age,Mindstealder,
Maximum Age,Maksimal alder,
Application Fee,Tilmeldingsgebyr,
Naming Series (for Student Applicant),Navngivningsnummerserie (for elevansøger),
LMS Only,Kun LMS,
EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
Application Date,Ansøgningsdato,
Student Attendance Tool,Student Deltagelse Tool,
Group Based On,Gruppebaseret på,
Students HTML,Studerende HTML,
Group Based on,Gruppe baseret på,
Student Group Name,Elevgruppenavn,
Max Strength,Max Strength,
Set 0 for no limit,Sæt 0 for ingen grænse,
Instructors,Instruktører,
Student Group Creation Tool,Værktøj til dannelse af elevgrupper,
Leave blank if you make students groups per year,"Lad feltet stå tomt, hvis du laver elevergrupper hvert år",
Get Courses,Hent kurser,
Separate course based Group for every Batch,Separat kursusbaseret gruppe for hver batch,
Leave unchecked if you don't want to consider batch while making course based groups. ,"Markér ikke, hvis du ikke vil overveje batch mens du laver kursusbaserede grupper.",
Student Group Creation Tool Course,Elevgruppeværktøj til dannelse af fag,
Course Code,Kursuskode,
Student Group Instructor,Studentgruppeinstruktør,
Student Group Student,Elev i elevgruppe,
Group Roll Number,Gruppe Roll nummer,
Student Guardian,Student Guardian,
Relation,Relation,
Mother,Mor,
Father,Far,
Student Language,Student Sprog,
Student Leave Application,Student Leave Application,
Mark as Present,Markér som tilstede,
Student Log,Student Log,
Academic,Akademisk,
Achievement,Præstation,
Student Report Generation Tool,Student Report Generation Tool,
Include All Assessment Group,Inkluder alle vurderingsgrupper,
Show Marks,Vis mærker,
Add letterhead,Tilføj brevpapir,
Print Section,Udskrivningsafsnit,
Total Parents Teacher Meeting,Samlet forældreundervisningsmøde,
Attended by Parents,Deltaget af forældre,
Assessment Terms,Vurderingsbetingelser,
Student Sibling,Student Søskende,
Studying in Same Institute,At studere i samme institut,
NO,INGEN,
YES,JA,
Student Siblings,Student Søskende,
Topic Content,Emneindhold,
Amazon MWS Settings,Amazon MWS-indstillinger,
ERPNext Integrations,ERPNext Integrations,
Enable Amazon,Aktivér Amazon,
MWS Credentials,MWS Credentials,
Seller ID,Sælger ID,
AWS Access Key ID,AWS adgangsnøgle id,
MWS Auth Token,MWS Auth Token,
Market Place ID,Markedsplads ID,
AE,AE,
AU,AU,
BR,BR,
CA,CA,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
JP,JP,
IT,DET,
MX,MX,
UK,UK,
US,OS,
Customer Type,Kunde type,
Market Place Account Group,Market Place Account Group,
After Date,Efter dato,
Amazon will synch data updated after this date,Amazon vil synkronisere data opdateret efter denne dato,
Sync Taxes and Charges,Synkroniser skatter og afgifter,
Get financial breakup of Taxes and charges data by Amazon ,Få økonomisk opsplitning af skatter og afgifter data fra Amazon,
Sync Products,Synkroniser produkter,
Always sync your products from Amazon MWS before synching the Orders details,"Synkroniser altid dine produkter fra Amazon MWS, inden du synkroniserer ordredetaljerne",
Sync Orders,Synkroniser ordrer,
Click this button to pull your Sales Order data from Amazon MWS.,Klik på denne knap for at trække dine salgsordre data fra Amazon MWS.,
Enable Scheduled Sync,Aktivér planlagt synkronisering,
Check this to enable a scheduled Daily synchronization routine via scheduler,Marker dette for at aktivere en planlagt daglig synkroniseringsrutine via tidsplanlægger,
Max Retry Limit,Max Retry Limit,
Exotel Settings,Exotel-indstillinger,
Account SID,Konto SID,
API Token,API-token,
GoCardless Mandate,GoCardless Mandat,
Mandate,Mandat,
GoCardless Customer,GoCardless kunde,
GoCardless Settings,GoCardless Indstillinger,
Webhooks Secret,Webhooks Secret,
Plaid Settings,Plaid-indstillinger,
Synchronize all accounts every hour,Synkroniser alle konti hver time,
Plaid Client ID,Plaid Client ID,
Plaid Secret,Plaid Secret,
Plaid Environment,Plaid miljø,
sandbox,sandkasse,
development,udvikling,
production,produktion,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Applikationsindstillinger,
Token Endpoint,Token Endpoint,
Scope,Anvendelsesområde,
Authorization Settings,Autorisations indstillinger,
Authorization Endpoint,Autorisation endepunkt,
Authorization URL,Tilladelseswebadresse,
Quickbooks Company ID,Quickbooks Company ID,
Company Settings,Firmaindstillinger,
Default Shipping Account,Standard fragtkonto,
Default Warehouse,Standard-lager,
Default Cost Center,Standard omkostningssted,
Undeposited Funds Account,Undeposited Funds Account,
Shopify Log,Shopify Log,
Shopify Settings,Shopify Indstillinger,
status html,status html,
Enable Shopify,Aktivér Shopify,
App Type,App Type,
Last Sync Datetime,Sidste synkroniseringstidspunkt,
Shop URL,Shop URL,
eg: frappe.myshopify.com,fx: frappe.myshopify.com,
Shared secret,Delt hemmelighed,
Webhooks Details,Webhooks Detaljer,
Webhooks,Webhooks,
Customer Settings,Kundeindstillinger,
Default Customer,Standardkunden,
Customer Group will set to selected group while syncing customers from Shopify,"Kundegruppe vil indstille til den valgte gruppe, mens du synkroniserer kunder fra Shopify",
For Company,Til firma,
Cash Account will used for Sales Invoice creation,Kontantkonto bruges til oprettelse af salgsfaktura,
Update Price from Shopify To ERPNext Price List,Opdater pris fra Shopify til ERPNæste prisliste,
Default Warehouse to to create Sales Order and Delivery Note,Standardlager til at oprette salgsordre og leveringsnotat,
Sales Order Series,Salgsordre Serie,
Import Delivery Notes from Shopify on Shipment,Import leveringsnotater fra Shopify på forsendelse,
Delivery Note Series,Serie til leveringskort,
Import Sales Invoice from Shopify if Payment is marked,Import salgsfaktura fra Shopify hvis Betaling er markeret,
Sales Invoice Series,Salgsfaktura-serien,
Shopify Tax Account,Shopify Skatkonto,
Shopify Tax/Shipping Title,Shopify Skat / Fragt Titel,
ERPNext Account,ERPNæste konto,
Shopify Webhook Detail,Shopify Webhook Detail,
Webhook ID,Webhook ID,
Tally Migration,Tally Migration,
Master Data,Master Data,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Data eksporteret fra Tally, der består af kontoplanen, kunder, leverandører, adresser, varer og UOM&#39;er",
Is Master Data Processed,Behandles stamdata,
Is Master Data Imported,Importeres stamdata,
Tally Creditors Account,Tally kreditkonto,
Creditors Account set in Tally,Kreditorkonto angivet i Tally,
Tally Debtors Account,Tally Debtors Account,
Debtors Account set in Tally,Debitors konto angivet i Tally,
Tally Company,Tally Company,
Company Name as per Imported Tally Data,Firmanavn i henhold til importerede taldata,
Default UOM,Standard måleenhed,
UOM in case unspecified in imported data,UOM i tilfælde af uspecificeret i importerede data,
ERPNext Company,ERPNæxt Company,
Your Company set in ERPNext,Dit firma er angivet i ERPNext,
Processed Files,Behandlede filer,
Parties,parterne,
UOMs,Enheder,
Vouchers,Beviserne,
Round Off Account,Afrundningskonto,
Day Book Data,Dagbogsdata,
Day Book Data exported from Tally that consists of all historic transactions,"Dagbogsdata eksporteret fra Tally, der består af alle historiske transaktioner",
Is Day Book Data Processed,Behandles dagbogsdata,
Is Day Book Data Imported,Er dagbogsdata importeret,
Woocommerce Settings,Woocommerce Indstillinger,
Enable Sync,Aktivér synkronisering,
Woocommerce Server URL,Webadresse for WoCommerce Server,
Secret,Hemmelighed,
API consumer key,API forbrugernøgle,
API consumer secret,API forbruger hemmelighed,
Tax Account,Skatkonto,
Freight and Forwarding Account,Fragt og videresendelse konto,
Creation User,Oprettelsesbruger,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Brugeren, der vil blive brugt til at oprette kunder, varer og salgsordrer. Denne bruger skal have de relevante tilladelser.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Dette lager bruges til at oprette 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 firma vil blive brugt til at oprette salgsordrer.,
Delivery After (Days),Levering efter (dage),
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 standardforskydningen (dage) for leveringsdatoen i salgsordrer. Fallback-forskydningen er 7 dage fra bestillingsdato.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Dette er standard UOM brugt til varer og salgsordrer. Fallback UOM er &quot;Nej&quot;.,
Endpoints,endpoints,
Endpoint,Endpoint,
Antibiotic Name,Antibiotikum Navn,
Healthcare Administrator,Sundhedsadministrator,
Laboratory User,Laboratoriebruger,
Is Inpatient,Er ikke-indlagt patient,
Default Duration (In Minutes),Standard varighed (antal minutter),
Body Part,Kropsdel,
Body Part Link,Link til kropsdele,
HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
Procedure Template,Procedureskabelon,
Procedure Prescription,Procedure Recept,
Service Unit,Serviceenhed,
Consumables,Forbrugsstoffer,
Consume Stock,Forbruge lager,
Invoice Consumables Separately,Faktura forbrugsvarer separat,
Consumption Invoiced,Forbrug faktureret,
Consumable Total Amount,Forbrugbart samlet beløb,
Consumption Details,Forbrugsdetaljer,
Nursing User,Sygeplejerske bruger,
Clinical Procedure Item,Klinisk procedurevare,
Invoice Separately as Consumables,Faktura Separat som forbrugsstoffer,
Transfer Qty,Overførselsantal,
Actual Qty (at source/target),Faktiske Antal (ved kilden / mål),
Is Billable,Kan faktureres,
Allow Stock Consumption,Tillad lagerforbrug,
Sample UOM,Prøve UOM,
Collection Details,Indsamlingsdetaljer,
Change In Item,Ændring i vare,
Codification Table,Kodifikationstabel,
Complaints,klager,
Dosage Strength,Doseringsstyrke,
Strength,Styrke,
Drug Prescription,Lægemiddelrecept,
Drug Name / Description,Lægemiddelnavn,
Dosage,Dosering,
Dosage by Time Interval,Dosering efter tidsinterval,
Interval,Interval,
Interval UOM,Interval UOM,
Hour,Time,
Update Schedule,Opdateringsplan,
Exercise,Dyrke motion,
Difficulty Level,Sværhedsgrad,
Counts Target,Tæller mål,
Counts Completed,Tællinger afsluttet,
Assistance Level,Assistance niveau,
Active Assist,Aktiv assistent,
Exercise Name,Øvelsesnavn,
Body Parts,Kropsdele,
Exercise Instructions,Træningsinstruktioner,
Exercise Video,Træningsvideo,
Exercise Steps,Øvelsestrin,
Steps Table,Trin tabel,
Exercise Type Step,Træningstypetrin,
Max number of visit,Maks antal besøg,
Visited yet,Besøgt endnu,
Reference Appointments,Referenceaftaler,
Valid till,Gyldig til,
Fee Validity Reference,Henvisning til gebyrets gyldighed,
Basic Details,Grundlæggende detaljer,
HLC-PRAC-.YYYY.-,HLC-PRAC-.ÅÅÅÅ.-,
Mobile,Mobil,
Phone (R),Telefon (R),
Phone (Office),Telefon (kontor),
Employee and User Details,Medarbejder- og brugeroplysninger,
Hospital,Sygehus,
Appointments,Aftaler,
Practitioner Schedules,Practitioner Schedules,
Charges,Afgifter,
Out Patient Consulting Charge,Udgifter til patientrådgivning,
Default Currency,Standardvaluta,
Healthcare Schedule Time Slot,Healthcare Schedule Time Slot,
Parent Service Unit,Moderselskab,
Service Unit Type,Service Unit Type,
Allow Appointments,Tillad aftaler,
Allow Overlap,Tillad overlapning,
Inpatient Occupancy,Inpatient Occupancy,
Occupancy Status,Beboelsesstatus,
Vacant,Ledig,
Occupied,Optaget,
Item Details,Elementdetaljer,
UOM Conversion in Hours,UOM Konvertering i timer,
Rate / UOM,Rate / UOM,
Change in Item,Skift i vare,
Out Patient Settings,Ud patientindstillinger,
Patient Name By,Patientnavn By,
Patient Name,Patientnavn,
Link Customer to Patient,Link kunde til patient,
"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 markeret, oprettes en kunde, der er kortlagt til patienten. Patientfakturaer vil blive oprettet mod denne kunde. Du kan også vælge eksisterende kunde, mens du opretter patient.",
Default Medical Code Standard,Standard medicinsk kode,
Collect Fee for Patient Registration,Indsamle gebyr for patientregistrering,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,"Hvis du markerer dette, oprettes der som standard nye patienter med en deaktiveret status og aktiveres kun efter fakturering af registreringsgebyret.",
Registration Fee,Registreringsafgift,
Automate Appointment Invoicing,Automatiser aftalefakturering,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Administrer forsendelse af konsultationsfaktura og annullér automatisk for patientkonsultationen,
Enable Free Follow-ups,Aktivér gratis opfølgninger,
Number of Patient Encounters in Valid Days,Antal konsultationer i dage,
The number of free follow ups (Patient Encounters in valid days) allowed,Antal gratis opfølgninger tilladt (antal konsultationer i dage),
Valid Number of Days,Gyldigt antal dage,
Time period (Valid number of days) for free consultations,Tidsperiode (gyldigt antal dage) til gratis konsultationer,
Default Healthcare Service Items,Standard Sundhedsservicevarer,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Du kan konfigurere standardartikler til faktureringskonsultationsafgifter, procedureforbrugsposter og indlæggelsesbesøg",
Clinical Procedure Consumable Item,Klinisk procedure forbrugsartikel,
Default Accounts,Standardkonti,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,"Standardindkomstkonti, der skal bruges, hvis det ikke er fastsat i Healthcare Practitioner at bestille Aftaleomkostninger.",
Default receivable accounts to be used to book Appointment charges.,"Standardtilgodehavende konti, der skal bruges til at bogføre aftalegebyrer.",
Out Patient SMS Alerts,Out Patient SMS Alerts,
Patient Registration,Patientregistrering,
Registration Message,Registreringsmeddelelse,
Confirmation Message,Bekræftelsesmeddelelse,
Avoid Confirmation,Undgå bekræftelse,
Do not confirm if appointment is created for the same day,"Bekræft ikke, om en aftale er oprettet for samme dag",
Appointment Reminder,Aftale påmindelse,
Reminder Message,Påmindelsesmeddelelse,
Laboratory Settings,Laboratorieindstillinger,
Create Lab Test(s) on Sales Invoice Submission,Opret laboratorietest (e) på indsendelse af salgsfaktura,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,"Hvis du kontrollerer dette, oprettes laboratorietest (er), der er specificeret i salgsfakturaen ved indsendelse.",
Create Sample Collection document for Lab Test,Opret prøveindsamlingsdokument til laboratorietest,
Checking this will create a Sample Collection document  every time you create a Lab Test,"Hvis du markerer dette, oprettes et prøveindsamlingsdokument hver gang du opretter en laboratorietest",
Employee name and designation in print,Ansattes navn og betegnelse i print,
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.,"Marker dette, hvis du vil have navnet og betegnelsen på den medarbejder, der er tilknyttet den bruger, der indsender dokumentet, skal udskrives i laboratorietestrapporten.",
Do not print or email Lab Tests without Approval,Du må hverken udskrive eller sende laboratorieprøven pr. e-mail uden tilladelse,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Hvis du markerer dette, begrænses udskrivning og e-mailing af laboratorietestdokumenter, medmindre de har status som godkendt.",
Custom Signature in Print,Brugerdefineret signatur i udskrivning,
Laboratory SMS Alerts,Laboratorium SMS-beskeder,
Result Printed Message,Resultatudskrevet meddelelse,
Result Emailed Message,Resultat sendt via e-mail,
Check In,Check ind,
Check Out,Check ud,
HLC-INP-.YYYY.-,HLC np-.YYYY.-,
A Positive,A positiv,
A Negative,A negativ,
AB Positive,AB Positive,
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,Optagelse planlagt,
Discharge Scheduled,Udskrivning planlagt,
Discharged,Udskrevet,
Admission Schedule Date,Optagelse kalender Dato,
Admitted Datetime,Indlagt d.,
Expected Discharge,Forventet udledning,
Discharge Date,Udladningsdato,
Lab Prescription,Lab Prescription,
Lab Test Name,Laboratorieprøvenavn,
Test Created,Test oprettet,
Submitted Date,Indsendt dato,
Approved Date,Godkendt dato,
Sample ID,Prøve ID,
Lab Technician,Laboratorie tekniker,
Report Preference,Rapportindstilling,
Test Name,Testnavn,
Test Template,Test skabelon,
Test Group,Testgruppe,
Custom Result,Brugerdefineret resultat,
LabTest Approver,LabTest Approver,
Add Test,Tilføj test,
Normal Range,Normal rækkevidde,
Result Format,Resultatformat,
Single,Enkeltværelse,
Compound,Forbindelse,
Descriptive,Beskrivende,
Grouped,grupperet,
No Result,ingen Resultat,
This value is updated in the Default Sales Price List.,Denne værdi opdateres i standard salgsprislisten.,
Lab Routine,Lab Rutine,
Result Value,Resultatværdi,
Require Result Value,Kræver resultatværdi,
Normal Test Template,Normal testskabelon,
Patient Demographics,Patient Demografi,
HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
Middle Name (optional),Mellemnavn (valgfrit),
Inpatient Status,Inpatient Status,
"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;Link kunde til patient&quot; er markeret i Healthcare Settings, og en eksisterende kunde ikke er valgt, oprettes der en kunde til denne patient til registrering af transaktioner i kontomodulet.",
Personal and Social History,Personlig og social historie,
Marital Status,Civilstand,
Married,Gift,
Divorced,Skilt,
Widow,Enke,
Patient Relation,Patientrelation,
"Allergies, Medical and Surgical History","Allergier, medicinsk og kirurgisk historie",
Allergies,allergier,
Medication,Medicin,
Medical History,Medicinsk historie,
Surgical History,Kirurgisk historie,
Risk Factors,Risikofaktorer,
Occupational Hazards and Environmental Factors,Arbejdsfarer og miljøfaktorer,
Other Risk Factors,Andre risikofaktorer,
Patient Details,Patientdetaljer,
Additional information regarding the patient,Yderligere oplysninger om patienten,
HLC-APP-.YYYY.-,HLC-APP-.ÅÅÅÅ.-,
Patient Age,Patientalder,
Get Prescribed Clinical Procedures,Hent ordinerede kliniske procedurer,
Therapy,Terapi,
Get Prescribed Therapies,Hent ordinerede terapier,
Appointment Datetime,Konsultationstidlinje,
Duration (In Minutes),Varighed (antal minutter),
Reference Sales Invoice,Reference salgsfaktura,
More Info,Mere info,
Referring Practitioner,Refererende praktiserende læge,
HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
Assessment Template,Vurderingsskabelon,
Assessment Datetime,Vurderingstid,
Assessment Description,Vurdering Beskrivelse,
Assessment Sheet,Vurderingsark,
Total Score Obtained,Samlet score opnået,
Scale Min,Skala Min,
Scale Max,Skala maks,
Patient Assessment Detail,Patientvurderingsdetalje,
Assessment Parameter,Vurderingsparameter,
Patient Assessment Parameter,Patientvurderingsparameter,
Patient Assessment Sheet,Patientbedømmelsesark,
Patient Assessment Template,Patientvurderingsskabelon,
Assessment Parameters,Vurderingsparametre,
Parameters,Parametre,
Assessment Scale,Vurderingsskala,
Scale Minimum,Skala Minimum,
Scale Maximum,Skala maksimalt,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Encounter Date,
Encounter Time,Konsultationstidspunkt,
Encounter Impression,Encounter Impression,
Symptoms,Symptomer,
In print,Udskriv,
Medical Coding,Medicinsk kodning,
Procedures,Procedurer,
Therapies,Terapier,
Review Details,Gennemgå detaljer,
Patient Encounter Diagnosis,Diagnose,
Patient Encounter Symptom,Symptom,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Attach Medical Record,Vedhæft lægejournalen,
Spouse,Ægtefælle,
Family,Familie,
Schedule Details,Kalenderdetaljer,
Schedule Name,Kalendernavn,
Time Slots,Time Slots,
Practitioner Service Unit Schedule,Practitioner Service Unit Schedule,
Procedure Name,Procedure Navn,
Appointment Booked,Aftaler reserveret,
Procedure Created,Procedure oprettet,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Indsamlet af,
Particulars,Oplysninger,
Result Component,Resultat Komponent,
HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
Therapy Plan Details,Terapiplandetaljer,
Total Sessions,Samlede sessioner,
Total Sessions Completed,Samlede sessioner afsluttet,
Therapy Plan Detail,Terapiplandetalje,
No of Sessions,Antal konsultationer,
Sessions Completed,Sessioner afsluttet,
Tele,Tele,
Exercises,Øvelser,
Therapy For,Terapi for,
Add Exercises,Tilføj øvelser,
Body Temperature,Kropstemperatur,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Tilstedeværelse af feber (temp&gt; 38,5 ° C eller vedvarende temperatur&gt; 38 ° C / 100,4 ° F)",
Heart Rate / Pulse,Hjertefrekvens / puls,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Voksne pulsrate er overalt mellem 50 og 80 slag per minut.,
Respiratory rate,Respirationsfrekvens,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Normalt referenceområde for en voksen er 16-20 vejrtrækninger / minut (RCP 2012),
Tongue,Tunge,
Coated,coated,
Very Coated,Meget belagt,
Normal,Normal,
Furry,Furry,
Cuts,Cuts,
Abdomen,Mave,
Bloated,Oppustet,
Fluid,Væske,
Constipated,forstoppet,
Reflexes,reflekser,
Hyper,Hyper,
Very Hyper,Meget Hyper,
One Sided,Ensidigt,
Blood Pressure (systolic),Blodtryk (systolisk),
Blood Pressure (diastolic),Blodtryk (diastolisk),
Blood Pressure,Blodtryk,
"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Normal hvilende blodtryk hos en voksen er ca. 120 mmHg systolisk og 80 mmHg diastolisk, forkortet &quot;120/80 mmHg&quot;",
Nutrition Values,Ernæringsværdier,
Height (In Meter),Højde (i meter),
Weight (In Kilogram),Vægt (i kilogram),
BMI,BMI,
Hotel Room,Hotelværelse,
Hotel Room Type,Hotel Værelsestype,
Capacity,Kapacitet,
Extra Bed Capacity,Ekstra seng kapacitet,
Hotel Manager,Hotelbestyrer,
Hotel Room Amenity,Hotel Værelsesfaciliteter,
Billable,Faktureres,
Hotel Room Package,Hotelværelsepakke,
Amenities,Faciliteter,
Hotel Room Pricing,Hotel værelsespriser,
Hotel Room Pricing Item,Hotel Værelsestype,
Hotel Room Pricing Package,Hotel værelsesprispakke,
Hotel Room Reservation,Hotelværelse Reservation,
Guest Name,Gæste navn,
Late Checkin,Sen checkin,
Booked,Reserveret,
Hotel Reservation User,Hotel Reservation Bruger,
Hotel Room Reservation Item,Hotel Room Reservation Item,
Hotel Settings,Hotelindstillinger,
Default Taxes and Charges,Standard Skatter og Afgifter,
Default Invoice Naming Series,Standard faktura navngivningsserie,
HR,HR,
Date on which this component is applied,"Dato, hvorpå denne komponent anvendes",
Salary Slip,Lønseddel,
HR User,HR-bruger,
Job Applicant,Ansøger,
Body,Legeme,
Appraisal Template,Vurderingsskabelon,
Parent Department,Forældreafdeling,
Leave Block List,Blokér fraværsansøgninger,
Days for which Holidays are blocked for this department.,"Dage, for hvilke helligdage er blokeret for denne afdeling.",
Leave Approver,Fraværsgodkender,
Expense Approver,Udlægsgodkender,
Required Skills,Nødvendige færdigheder,
Skills,Skills,
Driver,Chauffør,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,Suspenderet,
Transporter,Transporter,
Applicable for external driver,Gælder for ekstern driver,
Cellphone Number,telefon nummer,
License Details,Licens Detaljer,
License Number,Licens nummer,
Issuing Date,Udstedelsesdato,
Driving License Categories,Kørekortskategorier,
Driving License Category,Kørekort kategori,
Fleet Manager,Fleet manager,
Driver licence class,Førerkortklasse,
HR-EMP-,HR-EMP-,
Employment Type,Beskæftigelsestype,
Emergency Contact,Emergency Kontakt,
Emergency Contact Name,Nødkontakt navn,
Emergency Phone,Emergency Phone,
ERPNext User,ERPNæste bruger,
"System User (login) ID. If set, it will become default for all HR forms.","System Bruger (login) ID. Hvis sat, vil det blive standard for alle HR-formularer.",
Create User Permission,Opret brugertilladelse,
This will restrict user access to other employee records,Dette vil begrænse brugeradgang til andre medarbejderposter,
Joining Details,Sammenføjning Detaljer,
Offer Date,Dato,
Confirmation Date,Bekræftet den,
Contract End Date,Kontrakt Slutdato,
Notice (days),Varsel (dage),
Date Of Retirement,Dato for pensionering,
Department and Grade,Afdeling og Grad,
Reports to,Rapporter til,
Attendance and Leave Details,Oplysninger om deltagelse og orlov,
Attendance Device ID (Biometric/RF tag ID),Deltagelsesenheds-id (biometrisk / RF-tag-id),
Applicable Holiday List,Gældende helligdagskalender,
Default Shift,Standardskift,
Salary Mode,Løn-tilstand,
Bank A/C No.,Bank A / C No.,
Health Insurance,Sygesikring,
Health Insurance Provider,Sundhedsforsikringsselskabet,
Health Insurance No,Sygesikring nr,
Prefered Email,foretrukket Email,
Personal Email,Personlig e-mail,
Permanent Address Is,Fast adresse,
Rented,Lejet,
Owned,Ejet,
Permanent Address,Permanent adresse,
Prefered Contact Email,Foretrukket kontakt e-mail,
Company Email,Firma e-mail,
Provide Email Address registered in company,Giv e-mailadresse registreret i selskab,
Current Address Is,Nuværende adresse er,
Current Address,Nuværende adresse,
Personal Bio,Personlig Bio,
Bio / Cover Letter,Bio / Cover Letter,
Short biography for website and other publications.,Kort biografi for hjemmesiden og andre publikationer.,
Passport Number,Pasnummer,
Date of Issue,Udstedt den,
Place of Issue,Udstedelsessted,
Widowed,Enke,
Family Background,Familiebaggrund,
"Here you can maintain family details like name and occupation of parent, spouse and children","Her kan du opretholde familiens detaljer såsom navn og beskæftigelse af forældre, ægtefælle og børn",
Health Details,Sundhedsdetaljer,
"Here you can maintain height, weight, allergies, medical concerns etc","Her kan du vedligeholde højde, vægt, allergier, medicinske problemer osv",
Educational Qualification,Uddannelseskvalifikation,
Previous Work Experience,Tidligere erhvervserfaring,
External Work History,Ekstern Work History,
History In Company,Historie I Company,
Internal Work History,Intern Arbejde Historie,
Resignation Letter Date,Udmeldelse Brev Dato,
Relieving Date,Lindre Dato,
Reason for Leaving,Årsag til Leaving,
Leave Encashed?,Skal fravær udbetales?,
Encashment Date,Indløsningsdato,
New Workplace,Ny Arbejdsplads,
Returned Amount,Returneret beløb,
Advance Account,Advance konto,
Benefits Applied,Fordele Anvendt,
Benefit Type and Amount,Fordelstype og beløb,
Task Weight,Opgavevægtning,
Employee Education,Medarbejder Uddannelse,
School/University,Skole / Universitet,
Graduate,Graduate,
Post Graduate,Post Graduate,
Under Graduate,Under Graduate,
Year of Passing,Forgangende år,
Class / Percentage,Klasse / Procent,
Major/Optional Subjects,Større / Valgfag,
Employee External Work History,Medarbejder Ekstern Work History,
Total Experience,Total Experience,
Default Leave Policy,Standard Afgangspolitik,
Employee Group Table,Tabel over medarbejdergrupper,
ERPNext User ID,ERPNæste bruger-id,
Employee Internal Work History,Medarbejder Intern Arbejde Historie,
Activities,Aktiviteter,
Employee Onboarding Activity,Medarbejder Onboarding Aktivitet,
Employee Promotion Detail,Medarbejderfremmende detaljer,
Employee Transfer Property,Medarbejderoverdragelsesejendom,
Unclaimed amount,Uopkrævet beløb,
Holiday List Name,Helligdagskalendernavn,
Total Holidays,Samlede helligdage,
Add Weekly Holidays,Tilføj ugentlige helligdage,
Weekly Off,Ugedag fri,
Add to Holidays,Tilføj til helligdage,
Holidays,Helligdage,
Clear Table,Ryd tabellen,
Retirement Age,Pensionsalder,
Enter retirement age in years,Indtast pensionsalderen i år,
Stop Birthday Reminders,Stop Fødselsdag Påmindelser,
Leave Settings,Forlad indstillinger,
Accepted,Accepteret,
Printing Details,Udskrivningsindstillinger,
Job Title,Titel,
Allocation,Tildeling,
Select Employees,Vælg Medarbejdere,
Allocate,Tildel fravær,
Max Leaves Allowed,Maks. Tilladte blade,
Maximum Continuous Days Applicable,Maksimale kontinuerlige dage gældende,
Select Payroll Period,Vælg Lønperiode,
Abbr,Forkortelse,
Condition and Formula,Tilstand og formel,
Total Working Hours,Arbejdstid i alt,
Hour Rate,Timesats,
Bank Account No.,Bankkonto No.,
Earning & Deduction,Tillæg & fradrag,
Loan repayment,Tilbagebetaling af lån,
Employee Loan,Medarbejderlån,
Total Principal Amount,Samlede hovedbeløb,
Total Interest Amount,Samlet rentebeløb,
Total Loan Repayment,Samlet lån til tilbagebetaling,
net pay info,nettoløn info,
Gross Pay - Total Deduction - Loan Repayment,Bruttoløn - Fradrag i alt - Tilbagebetaling af lån,
Net Pay (in words) will be visible once you save the Salary Slip.,"Nettoløn (i ord) vil være synlig, når du gemmer lønsedlen.",
Staffing Plan Details,Bemandingsplandetaljer,
Optional,Valgfri,
Costing,Koster,
Vehicle,Køretøj,
License Plate,Nummerplade,
Odometer Value (Last),Kilometerstand (sidste aflæsning),
Acquisition Date,Erhvervelsesdato,
Chassis No,Stelnummer,
Vehicle Value,Køretøjsværdi,
Insurance Details,Forsikring Detaljer,
Insurance Company,Forsikringsselskab,
Policy No,Politik Ingen,
Additional Details,Yderligere detaljer,
Fuel Type,Brændstofstype,
Petrol,Benzin,
Diesel,Diesel,
Natural Gas,Naturgas,
Electric,Elektrisk,
Fuel UOM,Brændstofsenhed,
Last Carbon Check,Sidste synsdato,
Wheels,Hjul,
Doors,Døre,
last Odometer Value ,sidste kilometertalværdi,
Service Detail,service Detail,
Hub Tracked Item,Hub Tracked Item,
Hub Node,Hub Node,
Image List,Billedliste,
Item Manager,Varechef,
Hub User,Navbruger,
Hub Password,Nav adgangskode,
Hub Users,Hub-brugere,
Marketplace Settings,Marketplace-indstillinger,
Disable Marketplace,Deaktiver Marketplace,
Marketplace URL (to hide and update label),Markedsplads-URL (for at skjule og opdatere etiket),
Registered,anbefalet,
Sync in Progress,Synkronisering i gang,
Hub Seller Name,Hub Sælger Navn,
Custom Data,Brugerdefinerede data,
Repay From Salary,Tilbagebetale fra Løn,
Regular Payment,Regelmæssig betaling,
Loan Closure,Lånelukning,
Rate of Interest (%) Yearly,Rente (%) Årlig,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Generer Schedule,
Schedules,Tidsplaner,
Maintenance Schedule Detail,Vedligeholdelsesplandetaljer,
Scheduled Date,Planlagt dato,
Actual Date,Faktisk dato,
Maintenance Schedule Item,Vedligeholdelse Skema Vare,
Random,Tilfældig,
No of Visits,Antal besøg,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Vedligeholdelsesdato,
Maintenance Time,Vedligeholdelsestid,
Completion Status,Afslutning status,
Partially Completed,Delvist afsluttet,
Fully Completed,Fuldt Afsluttet,
Unscheduled,Uplanlagt,
Breakdown,Sammenbrud,
Purposes,Formål,
Customer Feedback,Kundefeedback,
Maintenance Visit Purpose,Formål med vedligeholdelsesbesøg,
Work Done,Arbejdet udført,
Against Document No,Imod dokument nr,
Against Document Detail No,Imod Dokument Detalje Nr.,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Bestil Type,
Blanket Order Item,Tæppe Bestillingsartikel,
Ordered Quantity,Bestilt antal,
Item to be manufactured or repacked,"Element, der skal fremstilles eller forarbejdes",
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Mængde post opnået efter fremstilling / ompakning fra givne mængde råvarer,
Set rate of sub-assembly item based on BOM,Indstil sats for underenhedspost baseret på BOM,
Allow Alternative Item,Tillad alternativ vare,
Item UOM,Vareenhed,
Conversion Rate,Omregningskurs,
Rate Of Materials Based On,Rate Of materialer baseret på,
With Operations,Med Operations,
Manage cost of operations,Administrer udgifter til operationer,
Transfer Material Against,Overfør materiale mod,
Routing,Routing,
Materials,Materialer,
Quality Inspection Required,Kvalitetskontrol kræves,
Quality Inspection Template,Kvalitetskontrolskabelon,
Scrap,Skrot,
Scrap Items,Skrotvarer,
Operating Cost,Driftsomkostninger,
Raw Material Cost,Råmaterialeomkostninger,
Scrap Material Cost,Skrot materialeomkostninger,
Operating Cost (Company Currency),Driftsomkostninger (Company Valuta),
Raw Material Cost (Company Currency),Råvarepriser (virksomhedsvaluta),
Scrap Material Cost(Company Currency),Skrot materialeomkostninger (firmavaluta),
Total Cost,Omkostninger i alt,
Total Cost (Company Currency),Samlede omkostninger (virksomhedsvaluta),
Materials Required (Exploded),Nødvendige materialer (Sprængskitse),
Exploded Items,Eksploderede genstande,
Show in Website,Vis på webstedet,
Item Image (if not slideshow),Varebillede (hvis ikke lysbilledshow),
Thumbnail,Thumbnail,
Website Specifications,Website Specifikationer,
Show Items,Vis elementer,
Show Operations,Vis Operations,
Website Description,Hjemmesidebeskrivelse,
BOM Explosion Item,BOM Explosion Vare,
Qty Consumed Per Unit,Antal Consumed Per Unit,
Include Item In Manufacturing,Inkluder en vare i fremstillingen,
BOM Item,Styklistevarer,
Item operation,Vareoperation,
Rate & Amount,Pris &amp; Beløb,
Basic Rate (Company Currency),Basissats (firmavaluta),
Scrap %,Skrot-%,
Original Item,Originalelement,
BOM Operation,BOM Operation,
Operation Time ,Driftstid,
In minutes,Om få minutter,
Batch Size,Batch størrelse,
Base Hour Rate(Company Currency),Basistimesats (firmavaluta),
Operating Cost(Company Currency),Driftsomkostninger (Company Valuta),
BOM Scrap Item,Stykliste skrotvare,
Basic Amount (Company Currency),Grundbeløb (Company Currency),
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.","Udskift en bestemt BOM i alle andre BOM&#39;er, hvor den bruges. Det vil erstatte det gamle BOM-link, opdateringsomkostninger og genoprette &quot;BOM Explosion Item&quot; -tabellen som pr. Nye BOM. Det opdaterer også nyeste pris i alle BOM&#39;erne.",
Replace BOM,Udskift BOM,
Current BOM,Aktuel stykliste,
The BOM which will be replaced,Den stykliste som vil blive erstattet,
The new BOM after replacement,Den nye BOM efter udskiftning,
Replace,Udskift,
Update latest price in all BOMs,Opdater seneste pris i alle BOM&#39;er,
BOM Website Item,BOM Website Item,
BOM Website Operation,BOM Website Operation,
Operation Time,Operation Time,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Timing Detail,
Time Logs,Time Logs,
Total Time in Mins,Total tid i minutter,
Operation ID,Operation ID,
Transferred Qty,Overført antal,
Job Started,Job startede,
Started Time,Startet tid,
Current Time,Nuværende tid,
Job Card Item,Jobkort vare,
Job Card Time Log,Jobkort tidslogg,
Time In Mins,Tid i min,
Completed Qty,Afsluttet Antal,
Manufacturing Settings,Produktion Indstillinger,
Raw Materials Consumption,Forbrug af råvarer,
Allow Multiple Material Consumption,Tillad flere forbrug af materiale,
Backflush Raw Materials Based On,Backflush råstoffer baseret på,
Material Transferred for Manufacture,Materiale Overført til Fremstilling,
Capacity Planning,Kapacitetsplanlægning,
Disable Capacity Planning,Deaktiver kapacitetsplanlægning,
Allow Overtime,Tillad overarbejde,
Allow Production on Holidays,Tillad produktion på helligdage,
Capacity Planning For (Days),Kapacitet Planlægning For (dage),
Default Warehouses for Production,Standard lagerhuse til produktion,
Default Work In Progress Warehouse,Standard varer-i-arbejde-lager,
Default Finished Goods Warehouse,Standard færdigvarer Warehouse,
Default Scrap Warehouse,Standard skrotlager,
Overproduction Percentage For Sales Order,Overproduktionsprocent for salgsordre,
Overproduction Percentage For Work Order,Overproduktionsprocent for arbejdsordre,
Other Settings,Andre indstillinger,
Update BOM Cost Automatically,Opdater BOM omkostninger automatisk,
Material Request Plan Item,Materialeforespørgsel Planlægning,
Material Request Type,Materialeanmodningstype,
Material Issue,Materiale Issue,
Customer Provided,Leveret af kunden,
Minimum Order Quantity,Minimumsordrenummer,
Default Workstation,Standard Workstation,
Production Plan,Produktionsplan,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Hent varer fra,
Get Sales Orders,Hent salgsordrer,
Material Request Detail,Materialeforespørgsel Detail,
Get Material Request,Hent materialeanmodning,
Material Requests,Materialeanmodninger,
Get Items For Work Order,Få varer til arbejdsordre,
Material Request Planning,Materialeforespørgselsplanlægning,
Include Non Stock Items,Inkluder ikke-lagerartikler,
Include Subcontracted Items,Inkluder underleverancer,
Ignore Existing Projected Quantity,Ignorer det eksisterende forventede antal,
"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>.","<a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">Klik her for</a> at vide mere om den forventede mængde.",
Download Required Materials,Download krævede materialer,
Get Raw Materials For Production,Få råmaterialer til produktion,
Total Planned Qty,Samlet planlagt antal,
Total Produced Qty,I alt produceret antal,
Material Requested,Materiale krævet,
Production Plan Item,Produktion Plan Vare,
Make Work Order for Sub Assembly Items,Foretag arbejdsordre til undermonteringselementer,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Hvis det er aktiveret, opretter systemet arbejdsordren for de eksploderede elementer, som BOM er tilgængelig imod.",
Planned Start Date,Planlagt startdato,
Quantity and Description,Mængde og beskrivelse,
material_request_item,material_request_item,
Product Bundle Item,Produktpakkevare,
Production Plan Material Request,Produktionsplan-Materialeanmodning,
Production Plan Sales Order,Produktion Plan kundeordre,
Sales Order Date,Salgsordredato,
Routing Name,Routing Name,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Item Til Fremstilling,
Material Transferred for Manufacturing,Materiale Overført til Manufacturing,
Manufactured Qty,Fremstillet mængde,
Use Multi-Level BOM,Brug Multi-Level BOM,
Plan material for sub-assemblies,Plan materiale til sub-enheder,
Skip Material Transfer to WIP Warehouse,Spring overførsel af materiale til WIP Warehouse,
Check if material transfer entry is not required,"Kontroller, om materialetilførsel ikke er påkrævet",
Backflush Raw Materials From Work-in-Progress Warehouse,Backflush råmaterialer fra arbejdet i arbejde,
Update Consumed Material Cost In Project,Opdater forbrugsstofomkostninger i projektet,
Warehouses,Lagre,
This is a location where raw materials are available.,"Dette er et sted, hvor råmaterialer er tilgængelige.",
Work-in-Progress Warehouse,Work-in-Progress Warehouse,
This is a location where operations are executed.,"Dette er et sted, hvor handlinger udføres.",
This is a location where final product stored.,"Dette er et sted, hvor det endelige produkt gemmes.",
Scrap Warehouse,Skrotlager,
This is a location where scraped materials are stored.,"Dette er et sted, hvor skrabede materialer opbevares.",
Required Items,Nødvendige varer,
Actual Start Date,Faktisk startdato,
Planned End Date,Planlagt slutdato,
Actual End Date,Faktisk slutdato,
Operation Cost,Operation Cost,
Planned Operating Cost,Planlagte driftsomkostninger,
Actual Operating Cost,Faktiske driftsomkostninger,
Additional Operating Cost,Yderligere driftsomkostninger,
Total Operating Cost,Samlede driftsomkostninger,
Manufacture against Material Request,Produktion mod materialeanmodning,
Work Order Item,Arbejdsordre,
Available Qty at Source Warehouse,Tilgængelig mængde på hoved lager,
Available Qty at WIP Warehouse,Tilgængelig antal på WIP Warehouse,
Work Order Operation,Arbejdsordreoperation,
Operation Description,Operation Beskrivelse,
Operation completed for how many finished goods?,Operation afsluttet for hvor mange færdigvarer?,
Work in Progress,Varer i arbejde,
Estimated Time and Cost,Estimeret tid og omkostninger,
Planned Start Time,Planlagt starttime,
Planned End Time,Planlagt sluttid,
in Minutes,I minutter,
Actual Time and Cost,Aktuel leveringstid og omkostninger,
Actual Start Time,Faktisk starttid,
Actual End Time,Faktisk sluttid,
Updated via 'Time Log',Opdateret via &#39;Time Log&#39;,
Actual Operation Time,Faktiske Operation Time,
in Minutes\nUpdated via 'Time Log',i minutter Opdateret via &#39;Time Log&#39;,
(Hour Rate / 60) * Actual Operation Time,(Timesats / 60) * TidsforbrugIMinutter,
Workstation Name,Workstation Navn,
Production Capacity,Produktionskapacitet,
Operating Costs,Driftsomkostninger,
Electricity Cost,Elektricitetsomkostninger,
per hour,per time,
Consumable Cost,Forbrugsmaterialer Cost,
Rent Cost,Leje Omkostninger,
Wages,Løn,
Wages per hour,Timeløn,
Net Hour Rate,Netto timeløn,
Workstation Working Hour,Workstation Working Hour,
Certification Application,Certificeringsansøgning,
Name of Applicant,Ansøgerens navn,
Certification Status,Certificeringsstatus,
Yet to appear,Endnu at dukke op,
Certified,Certificeret,
Not Certified,Ikke certificeret,
USD,USD,
INR,INR,
Certified Consultant,Certificeret konsulent,
Name of Consultant,Navn på konsulent,
Certification Validity,Certificering Gyldighed,
Discuss ID,Diskuter ID,
GitHub ID,GitHub ID,
Non Profit Manager,Non Profit Manager,
Chapter Head,Kapitel Hoved,
Meetup Embed HTML,Meetup Embed HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,kapitler / kapitelnavn skal efterlades automatisk automatisk efter opbevaring af kapitel.,
Chapter Members,Kapitel Medlemmer,
Members,Medlemmer,
Chapter Member,Kapitel Medlem,
Website URL,Website URL,
Leave Reason,Forlad grunden,
Donor Name,Donornavn,
Donor Type,Donor Type,
Withdrawn,Trukket tilbage,
Grant Application Details ,Giv ansøgningsoplysninger,
Grant Description,Grant Beskrivelse,
Requested Amount,Ønsket beløb,
Has any past Grant Record,Har nogen tidligere Grant Record,
Show on Website,Vis på hjemmesiden,
Assessment  Mark (Out of 10),Vurderings mærke (ud af 10),
Assessment  Manager,Vurderingsleder,
Email Notification Sent,E-mail-meddelelse sendt,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Medlemskabets udløbsdato,
Razorpay Details,Razorpay Detaljer,
Subscription ID,Abonnements-id,
Customer ID,Kunde ID,
Subscription Activated,Abonnement aktiveret,
Subscription Start ,Abonnementsstart,
Subscription End,Abonnement slut,
Non Profit Member,Ikke-profitmedlem,
Membership Status,Medlemskabsstatus,
Member Since,Medlem siden,
Payment ID,Betalings-id,
Membership Settings,Medlemskabsindstillinger,
Enable RazorPay For Memberships,Aktivér RazorPay for medlemskaber,
RazorPay Settings,RazorPay-indstillinger,
Billing Cycle,Faktureringscyklus,
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.","Antallet af faktureringscyklusser, som kunden skal debiteres for. For eksempel, hvis en kunde køber et 1-årigt medlemskab, der skal faktureres månedligt, skal denne værdi være 12.",
Razorpay Plan ID,Razorpay plan-ID,
Volunteer Name,Frivilligt navn,
Volunteer Type,Frivilligtype,
Availability and Skills,Tilgængelighed og færdigheder,
Availability,tilgængelighed,
Weekends,weekender,
Availability Timeslot,Tilgængelighed tidsinterval,
Morning,Morgen,
Afternoon,Eftermiddag,
Evening,Aften,
Anytime,Når som helst,
Volunteer Skills,Frivillige Færdigheder,
Volunteer Skill,Frivillig Færdighed,
Homepage,Hjemmeside,
Hero Section Based On,Heltafsnittet er baseret på,
Homepage Section,Hjemmeside afsnit,
Hero Section,Heltesektion,
Tag Line,tag Linje,
Company Tagline for website homepage,Firma Tagline for website hjemmeside,
Company Description for website homepage,Firmabeskrivelse til hjemmesiden,
Homepage Slideshow,Hjemmeside Diasshow,
"URL for ""All Products""",URL til &quot;Alle produkter&quot;,
Products to be shown on website homepage,Produkter til at blive vist på hjemmesidens startside,
Homepage Featured Product,Hjemmeside Featured Product,
route,rute,
Section Based On,Sektion baseret på,
Section Cards,Sektionskort,
Number of Columns,Antal kolonner,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,"Antal kolonner for dette afsnit. 3 kort vises pr. Række, hvis du vælger 3 kolonner.",
Section HTML,Sektion HTML,
Use this field to render any custom HTML in the section.,Brug dette felt til at gengive enhver tilpasset HTML i sektionen.,
Section Order,Sektionsordre,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Rækkefølge i hvilke sektioner der skal vises. 0 er først, 1 er anden og så videre.",
Homepage Section Card,Hjemmesektionsafsnitskort,
Subtitle,Undertekst,
Products Settings,Produkter Indstillinger,
Home Page is Products,Home Page er Produkter,
"If checked, the Home page will be the default Item Group for the website","Hvis markeret, vil hjemmesiden være standard varegruppe til hjemmesiden",
Show Availability Status,Vis tilgængelighed Status,
Product Page,Produkt side,
Products per Page,Produkter pr. Side,
Enable Field Filters,Aktivér feltfiltre,
Item Fields,Varefelter,
Enable Attribute Filters,Aktivér attributfiltre,
Attributes,Attributter,
Hide Variants,Skjul varianter,
Website Attribute,Webstedsattribut,
Attribute,Attribut,
Website Filter Field,Felt for webstedets filter,
Activity Cost,Aktivitetsomkostninger,
Billing Rate,Faktureringssats,
Costing Rate,Costing Rate,
title,titel,
Projects User,Sagsbruger,
Default Costing Rate,Standard Costing Rate,
Default Billing Rate,Standard-faktureringssats,
Dependent Task,Afhængig opgave,
Project Type,Sagstype,
% Complete Method,%Komplet metode,
Task Completion,Opgaveafslutning,
Task Progress,Opgave-fremskridt,
% Completed,% afsluttet,
From Template,Fra skabelon,
Project will be accessible on the website to these users,Sagen vil være tilgængelig på hjemmesiden for disse brugere,
Copied From,Kopieret fra,
Start and End Dates,Start- og slutdato,
Actual Time in Hours (via Timesheet),Faktisk tid (i timer),
Costing and Billing,Omkostningsberegning og fakturering,
Total Costing Amount (via Timesheet),Samlet Omkostningsbeløb (via tidsskemaer),
Total Expense Claim (via Expense Claim),Udlæg ialt (via Udlæg),
Total Purchase Cost (via Purchase Invoice),Samlet anskaffelsespris (via købsfaktura),
Total Sales Amount (via Sales Order),Samlet Salgsbeløb (via salgsordre),
Total Billable Amount (via Timesheet),Samlet fakturerbart beløb (via timesheets),
Total Billed Amount (via Sales Invoice),Samlet faktureret beløb (via salgsfakturaer),
Total Consumed Material Cost (via Stock Entry),Samlet forbrugt materialeomkostning (via lagerindtastning),
Gross Margin,Gross Margin,
Gross Margin %,Gross Margin%,
Monitor Progress,Monitor Progress,
Collect Progress,Indsamle fremskridt,
Frequency To Collect Progress,Frekvens for at indsamle fremskridt,
Twice Daily,To gange dagligt,
First Email,Første Email,
Second Email,Anden Email,
Time to send,Tid til at sende,
Day to Send,Dag til afsendelse,
Message will be sent to the users to get their status on the Project,"En meddelelse vil blive sendt til brugerne, for at bede om deres status på projektet",
Projects Manager,Projekter manager,
Project Template,Projektskabelon,
Project Template Task,Projektskabelonopgave,
Begin On (Days),Begynd på (dage),
Duration (Days),Varighed (dage),
Project Update,Projektopdatering,
Project User,Sagsbruger,
View attachments,Se vedhæftede filer,
Projects Settings,Projekter Indstillinger,
Ignore Workstation Time Overlap,Ignorer arbejdstidens overlapning,
Ignore User Time Overlap,Ignorér overlapning af brugertid,
Ignore Employee Time Overlap,Ignorer medarbejdertidens overlapning,
Weight,Vægt,
Parent Task,Forældreopgave,
Timeline,Tidslinje,
Expected Time (in hours),Forventet tid (i timer),
% Progress,% fremskridt,
Is Milestone,Er Milestone,
Task Description,Opgavebeskrivelse,
Dependencies,Afhængigheder,
Dependent Tasks,Afhængige opgaver,
Depends on Tasks,Afhænger af opgaver,
Actual Start Date (via Timesheet),Faktisk startdato (via Tidsregistreringen),
Actual Time in Hours (via Timesheet),Faktisk tid (i timer),
Actual End Date (via Timesheet),Faktisk Slutdato (via Tidsregistreringen),
Total Expense Claim (via Expense Claim),Udlæg ialt (via Udlæg),
Review Date,Anmeldelse Dato,
Closing Date,Closing Dato,
Task Depends On,Opgave afhænger af,
Task Type,Opgavetype,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Medarbejderoplysninger,
Billing Details,Faktureringsoplysninger,
Total Billable Hours,Total fakturerbare timer,
Total Billed Hours,Total Billed Timer,
Total Costing Amount,Total Costing Beløb,
Total Billable Amount,Samlet faktureres Beløb,
Total Billed Amount,Samlet Faktureret beløb,
% Amount Billed,% Faktureret beløb,
Hrs,timer,
Costing Amount,Koster Beløb,
Corrective/Preventive,Korrigerende / Forebyggende,
Corrective,Korrigerende,
Preventive,Forebyggende,
Resolution,Løsning,
Resolutions,beslutninger,
Quality Action Resolution,Kvalitetshandlingsopløsning,
Quality Feedback Parameter,Parameter for feedback af kvalitet,
Quality Feedback Template Parameter,Skabelonparameter for kvalitet,
Quality Goal,Kvalitetsmål,
Monitoring Frequency,Overvågningsfrekvens,
Weekday,Ugedag,
Objectives,mål,
Quality Goal Objective,Kvalitetsmål Mål,
Objective,Objektiv,
Agenda,Dagsorden,
Minutes,minutter,
Quality Meeting Agenda,Dagsorden for kvalitetsmøde,
Quality Meeting Minutes,Mødemøde for kvalitet,
Minute,Minut,
Parent Procedure,Forældreprocedure,
Processes,Processer,
Quality Procedure Process,Kvalitetsprocedure,
Process Description,Procesbeskrivelse,
Link existing Quality Procedure.,Kobl den eksisterende kvalitetsprocedure.,
Additional Information,Yderligere Information,
Quality Review Objective,Mål for kvalitetsgennemgang,
DATEV Settings,DATEV-indstillinger,
Regional,Regional,
Consultant ID,Konsulent ID,
GST HSN Code,GST HSN-kode,
HSN Code,HSN kode,
GST Settings,GST-indstillinger,
GST Summary,GST Sammendrag,
GSTIN Email Sent On,GSTIN Email Sent On,
GST Accounts,GST-konti,
B2C Limit,B2C Limit,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Angiv faktura værdi for B2C. B2CL og B2CS beregnet ud fra denne faktura værdi.,
GSTR 3B Report,GSTR 3B-rapport,
January,januar,
February,februar,
March,marts,
April,April,
August,august,
September,september,
October,oktober,
November,november,
December,december,
JSON Output,JSON Output,
Invoices with no Place Of Supply,Fakturaer uden forsyningssted,
Import Supplier Invoice,Importer leverandørfaktura,
Invoice Series,Fakturaserie,
Upload XML Invoices,Upload 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.,"Klik på knappen Importer fakturaer, når zip-filen er knyttet til dokumentet. Eventuelle fejl relateret til behandling vises i fejlloggen.",
Lower Deduction Certificate,Lavere fradragsbevis,
Certificate Details,Certifikatoplysninger,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194I,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,Certifikat nr,
Deductee Details,Fradragte detaljer,
PAN No,PAN Nej,
Validity Details,Gyldighedsoplysninger,
Rate Of TDS As Per Certificate,TDS-sats pr. Certifikat,
Certificate Limit,Certifikatgrænse,
Invoice Series Prefix,Faktura Serie Prefix,
Active Menu,Aktiv Menu,
Restaurant Menu,Restaurant Menu,
Price List (Auto created),Prisliste (Auto oprettet),
Restaurant Manager,Restaurantchef,
Restaurant Menu Item,Restaurant menupunkt,
Restaurant Order Entry,Restaurant Order Entry,
Restaurant Table,Restaurantbord,
Click Enter To Add,Klik på Enter for at tilføje,
Last Sales Invoice,Sidste salgsfaktura,
Current Order,Nuværende ordre,
Restaurant Order Entry Item,Restaurant Bestillingsartikel,
Served,serveret,
Restaurant Reservation,Restaurant Reservation,
Waitlisted,venteliste,
No Show,Ingen Vis,
No of People,Ingen af mennesker,
Reservation Time,Reservationstid,
Reservation End Time,Reservation Slut Tid,
No of Seats,Ingen pladser,
Minimum Seating,Mindste plads,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Hold styr på salgskampagner. Hold styr på emner, tilbud, salgsordrer osv fra kampagne til Return on Investment.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Kampagneplaner,
Buyer of Goods and Services.,Køber af varer og tjenesteydelser.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Standard virksomheds bankkonto,
From Lead,Fra Emne,
Account Manager,Kundechef,
Allow Sales Invoice Creation Without Sales Order,Tillad oprettelse af salgsfaktura uden salgsordre,
Allow Sales Invoice Creation Without Delivery Note,Tillad oprettelse af salgsfaktura uden leveringsnota,
Default Price List,Standardprisliste,
Primary Address and Contact Detail,Primæradresse og kontaktdetaljer,
"Select, to make the customer searchable with these fields","Vælg, for at gøre kunden søgbar med disse felter",
Customer Primary Contact,Kunde primær kontakt,
"Reselect, if the chosen contact is edited after save","Vælg, hvis den valgte kontakt redigeres efter gem",
Customer Primary Address,Kunde primære adresse,
"Reselect, if the chosen address is edited after save","Vælg igen, hvis den valgte adresse redigeres efter gem",
Primary Address,Primæradresse,
Mention if non-standard receivable account,"Nævne, hvis ikke-standard tilgodehavende konto",
Credit Limit and Payment Terms,Kreditgrænse og betalingsbetingelser,
Additional information regarding the customer.,Yderligere oplysninger om kunden.,
Sales Partner and Commission,Forhandler og provision,
Commission Rate,Provisionssats,
Sales Team Details,Salgs Team Detaljer,
Customer POS id,Kundens POS-id,
Customer Credit Limit,Kreditkreditgrænse,
Bypass Credit Limit Check at Sales Order,Bypass kreditgrænse tjek på salgsordre,
Industry Type,Branchekode,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Installation Dato,
Installation Time,Installation Time,
Installation Note Item,Installation Bemærk Vare,
Installed Qty,Antal installeret,
Lead Source,Lead Source,
Period Start Date,Periode Startdato,
Period End Date,Periode Slutdato,
Cashier,Kasserer,
Difference,Forskel,
Modes of Payment,Betalingsmåder,
Linked Invoices,Tilknyttede fakturaer,
POS Closing Voucher Details,POS Closing Voucher Detaljer,
Collected Amount,Samlet beløb,
Expected Amount,Forventet beløb,
POS Closing Voucher Invoices,POS Closing Voucher Fakturaer,
Quantity of Items,Mængde af varer,
"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","Samlede gruppe af ** varer ** samlet i en  anden **vare**. Dette er nyttigt, hvis du vil sammenføre et bestemt antal **varer** i en pakke, og du kan bevare en status over de pakkede **varer** og ikke den samlede **vare**. Pakken **vare** vil have ""Er lagervarer"" som ""Nej"" og ""Er salgsvare"" som ""Ja"". For eksempel: Hvis du sælger Laptops og Rygsække separat og har en særlig pris, hvis kunden køber begge, så vil Laptop + Rygsæk vil være en ny Produktpakke-vare.",
Parent Item,Overordnet vare,
List items that form the package.,"Vis varer, der er indeholdt i pakken.",
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Tilbud til,
Rate at which customer's currency is converted to company's base currency,"Hastighed, hvormed kundens valuta omregnes til virksomhedens basisvaluta",
Rate at which Price list currency is converted to company's base currency,"Hastighed, hvormed Prisliste valuta omregnes til virksomhedens basisvaluta",
Additional Discount and Coupon Code,Yderligere rabat- og kuponkode,
Referral Sales Partner,Henvisning Salgspartner,
In Words will be visible once you save the Quotation.,"""I Ord"" vil være synlig, når du gemmer tilbuddet.",
Term Details,Betingelsesdetaljer,
Quotation Item,Tilbudt vare,
Against Doctype,Imod DOCTYPE,
Against Docname,Imod Docname,
Additional Notes,Ekstra Noter,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Spring over leveringsnotat,
In Words will be visible once you save the Sales Order.,"""I Ord"" vil være synlig, når du gemmer salgsordren.",
Track this Sales Order against any Project,Spor denne salgsordre mod enhver sag,
Billing and Delivery Status,Fakturering og leveringsstatus,
Not Delivered,Ikke leveret,
Fully Delivered,Fuldt Leveres,
Partly Delivered,Delvist leveret,
Not Applicable,ikke gældende,
%  Delivered,% Leveret,
% of materials delivered against this Sales Order,% Af materialer leveret mod denne Sales Order,
% of materials billed against this Sales Order,% af materialer faktureret mod denne salgsordre,
Not Billed,Ikke faktureret,
Fully Billed,Fuldt Billed,
Partly Billed,Delvist faktureret,
Ensure Delivery Based on Produced Serial No,Sørg for levering baseret på produceret serienummer,
Supplier delivers to Customer,Leverandøren leverer til Kunden,
Delivery Warehouse,Levering Warehouse,
Planned Quantity,Planlagt mængde,
For Production,For Produktion,
Work Order Qty,Arbejdsordre Antal,
Produced Quantity,Produceret Mængde,
Used for Production Plan,Bruges til Produktionsplan,
Sales Partner Type,Salgspartartype,
Contact No.,Kontaktnr.,
Contribution (%),Bidrag (%),
Contribution to Net Total,Bidrag til Net Total,
Selling Settings,Salgsindstillinger,
Settings for Selling Module,Indstillinger for salgsmodul,
Customer Naming By,Kundenavngivning af,
Campaign Naming By,Kampagne Navngivning Af,
Default Customer Group,Standard kundegruppe,
Default Territory,Standardområde,
Close Opportunity After Days,Luk salgsmulighed efter dage,
Default Quotation Validity Days,Standard Quotation Gyldighedsdage,
Sales Update Frequency,Salgsopdateringsfrekvens,
Each Transaction,Hver transaktion,
SMS Center,SMS-center,
Send To,Send til,
All Contact,Alle Kontakt,
All Customer Contact,Alle kundekontakter,
All Supplier Contact,Alle Leverandør Kontakt,
All Sales Partner Contact,Alle forhandlerkontakter,
All Lead (Open),Alle emner (åbne),
All Employee (Active),Alle medarbejdere (aktive),
All Sales Person,Alle salgsmedarbejdere,
Create Receiver List,Opret Modtager liste,
Receiver List,Modtageroversigt,
Messages greater than 160 characters will be split into multiple messages,Beskeder større end 160 tegn vil blive opdelt i flere meddelelser,
Total Characters,Total tegn,
Total Message(s),Besked (er) i alt,
Authorization Control,Autorisation kontrol,
Authorization Rule,Autorisation regl,
Average Discount,Gennemsnitlig rabat,
Customerwise Discount,Customerwise Discount,
Itemwise Discount,Itemwise Discount,
Customer or Item,Kunde eller vare,
Customer / Item Name,Kunde / Varenavn,
Authorized Value,Autoriseret Værdi,
Applicable To (Role),Gælder for (Rolle),
Applicable To (Employee),Gælder for (Medarbejder),
Applicable To (User),Gælder for (Bruger),
Applicable To (Designation),Gælder for (Betegnelse),
Approving Role (above authorized value),Godkendelse (over autoriserede værdi) Rolle,
Approving User  (above authorized value),Godkendelse Bruger (over autoriserede værdi),
Brand Defaults,Mærkeindstillinger,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Juridisk enhed / Datterselskab med en separat Kontoplan tilhører organisationen.,
Change Abbreviation,Skift Forkortelse,
Parent Company,Moderselskab,
Default Values,Standardværdier,
Default Holiday List,Standard helligdagskalender,
Default Selling Terms,Standard salgsbetingelser,
Default Buying Terms,Standard købsbetingelser,
Create Chart Of Accounts Based On,Opret kontoplan baseret på,
Standard Template,Standardskabelon,
Existing Company,Eksisterende virksomhed,
Chart Of Accounts Template,Kontoplan Skabelon,
Existing Company ,Eksisterende firma,
Date of Establishment,Dato for etablering,
Sales Settings,Salgsindstillinger,
Monthly Sales Target,Månedligt salgsmål,
Sales Monthly History,Salg Månedlig historie,
Transactions Annual History,Transaktioner Årlig Historie,
Total Monthly Sales,Samlet salg pr. måned,
Default Cash Account,Standard Kontant konto,
Default Receivable Account,Standard Tilgodehavende konto,
Round Off Cost Center,Afrundningsomkostningssted,
Discount Allowed Account,Tilladt rabatkonto,
Discount Received Account,Modtaget rabatkonto,
Exchange Gain / Loss Account,Exchange Gevinst / Tab konto,
Unrealized Exchange Gain/Loss Account,Urealiseret Exchange Gain / Loss-konto,
Allow Account Creation Against Child Company,Tillad oprettelse af konto mod børneselskab,
Default Payable Account,Standard Betales konto,
Default Employee Advance Account,Standardansatskonto,
Default Cost of Goods Sold Account,Standard vareforbrug konto,
Default Income Account,Standard Indkomst konto,
Default Deferred Revenue Account,Standard udskudt indtjeningskonto,
Default Deferred Expense Account,Standard udskudt udgiftskonto,
Default Payroll Payable Account,Standard Payroll Betales konto,
Default Expense Claim Payable Account,Standardudgiftskrav Betalbar konto,
Stock Settings,Lagerindstillinger,
Enable Perpetual Inventory,Aktiver evigt lager,
Default Inventory Account,Standard lagerkonto,
Stock Adjustment Account,Stock Justering konto,
Fixed Asset Depreciation Settings,Anlægsaktiv nedskrivning Indstillinger,
Series for Asset Depreciation Entry (Journal Entry),Serie for Asset Depreciation Entry (Journal Entry),
Gain/Loss Account on Asset Disposal,Gevinst/tabskonto vedr. salg af anlægsaktiv,
Asset Depreciation Cost Center,Aktiver afskrivninger omkostninger center,
Budget Detail,Budget Detail,
Exception Budget Approver Role,Undtagelse Budget Approver Rol,
Company Info,Firmainformation,
For reference only.,Kun til reference.,
Company Logo,Firma Logo,
Date of Incorporation,Oprindelsesdato,
Date of Commencement,Dato for påbegyndelse,
Phone No,Telefonnr.,
Company Description,Virksomhedsbeskrivelse,
Registration Details,Registrering Detaljer,
Company registration numbers for your reference. Tax numbers etc.,Firma registreringsnumre til din reference. Skat numre etc.,
Delete Company Transactions,Slet Company Transaktioner,
Currency Exchange,Valutaveksling,
Specify Exchange Rate to convert one currency into another,Angiv Exchange Rate til at konvertere en valuta til en anden,
From Currency,Fra Valuta,
To Currency,Til Valuta,
For Buying,Til køb,
For Selling,Til salg,
Customer Group Name,Kundegruppenavn,
Parent Customer Group,Overordnet kundegruppe,
Only leaf nodes are allowed in transaction,Kun blade noder er tilladt i transaktionen,
Mention if non-standard receivable account applicable,"Nævne, hvis ikke-standard tilgodehavende konto gældende",
Credit Limits,Kreditgrænser,
Email Digest,E-mail nyhedsbrev,
Send regular summary reports via Email.,Send regelmæssige sammenfattende rapporter via e-mail.,
Email Digest Settings,Indstillinger for e-mail nyhedsbreve,
How frequently?,Hvor ofte?,
Next email will be sent on:,Næste email vil blive sendt på:,
Note: Email will not be sent to disabled users,Bemærk: E-mail vil ikke blive sendt til deaktiverede brugere,
Profit & Loss,Profit &amp; Loss,
New Income,Ny Indkomst,
New Expenses,Nye udgifter,
Annual Income,Årlige indkomst,
Annual Expenses,Årlige omkostninger,
Bank Balance,Bank Balance,
Bank Credit Balance,Bankkredittsaldo,
Receivables,Tilgodehavender,
Payables,Gæld,
Sales Orders to Bill,Salgsordrer til Bill,
Purchase Orders to Bill,Købsordrer til Bill,
New Sales Orders,Nye salgsordrer,
New Purchase Orders,Nye indkøbsordrer,
Sales Orders to Deliver,Salgsordrer til levering,
Purchase Orders to Receive,Indkøbsordrer til modtagelse,
New Purchase Invoice,Ny købsfaktura,
New Quotations,Nye tilbud,
Open Quotations,Åben citat,
Open Issues,Åbn problemer,
Open Projects,Åbn projekter,
Purchase Orders Items Overdue,Indkøbsordrer Varer Forfaldne,
Upcoming Calendar Events,Kommende kalenderbegivenheder,
Open To Do,Åben for at gøre,
Add Quote,Tilføj tilbud,
Global Defaults,Globale indstillinger,
Default Company,Standardfirma,
Current Fiscal Year,Indeværende regnskabsår,
Default Distance Unit,Standard Distance Unit,
Hide Currency Symbol,Skjul Valuta Symbol,
Do not show any symbol like $ etc next to currencies.,Vis ikke valutasymbol (fx. $) ved siden af valutaen.,
"If disable, 'Rounded Total' field will not be visible in any transaction","Hvis deaktivere, &#39;Afrundet Total&#39; felt, vil ikke være synlig i enhver transaktion",
Disable In Words,Deaktiver i ord,
"If disable, 'In Words' field will not be visible in any transaction","Hvis deaktivere, &#39;I Words&#39; område vil ikke være synlig i enhver transaktion",
Item Classification,Item Klassifikation,
General Settings,Generelle indstillinger,
Item Group Name,Varegruppenavn,
Parent Item Group,Overordnet varegruppe,
Item Group Defaults,Vare gruppe standard,
Item Tax,Varemoms,
Check this if you want to show in website,"Markér dette, hvis du ønsker at vise det på hjemmesiden",
Show this slideshow at the top of the page,Vis denne slideshow øverst på siden,
HTML / Banner that will show on the top of product list.,"HTML / Banner, der vil vise på toppen af produktliste.",
Set prefix for numbering series on your transactions,Sæt præfiks for nummerering serie om dine transaktioner,
Setup Series,Opsætning af nummerserier,
Update Series,Opdatering Series,
Change the starting / current sequence number of an existing series.,Skift start / aktuelle sekvensnummer af en eksisterende serie.,
Quotation Lost Reason,Tilbud afvist - årsag,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,"En distributør, forhandler, sælger eller butik, der sælger firmaets varer og tjenesteydelser mod en provision.",
Sales Partner Name,Forhandlernavn,
Partner Type,Partnertype,
Address & Contacts,Adresse & kontaktpersoner,
Address Desc,Adresse,
Contact Desc,Kontaktbeskrivelse,
Sales Partner Target,Forhandlermål,
Targets,Mål,
Show In Website,Vis på hjemmesiden,
Referral Code,Henvisningskode,
To Track inbound purchase,For at spore indgående køb,
Logo,Logo,
Partner website,Partner hjemmeside,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Alt salg Transaktioner kan mærkes mod flere ** Salgs Personer **, så du kan indstille og overvåge mål.",
Name and Employee ID,Navn og medarbejdernr.,
Sales Person Name,Salgsmedarbejdernavn,
Parent Sales Person,Parent Sales Person,
Select company name first.,Vælg firmanavn først.,
Sales Person Targets,Salgs person Mål,
Set targets Item Group-wise for this Sales Person.,Fastsatte mål Item Group-wise for denne Sales Person.,
Supplier Group Name,Leverandørgruppens navn,
Parent Supplier Group,Moderselskabets leverandørgruppe,
Target Detail,Target Detail,
Target Qty,Target Antal,
Target  Amount,Målbeløbet,
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år og -betingelser, der kan føjes til salg og køb. Eksempler: 1. gyldighed for tilbuddet. 1. Betalingsbetingelser (på forhånd, på kredit, delvist på forhånd osv). 1. Hvad er ekstra (eller skal betales af kunden). 1. Sikkerhed / forbrugerinformation. 1. Garanti (hvis nogen). 1. Returpolitik. 1. Betingelser for skibsfart (hvis relevant). 1. Håndtering af tvister, erstatning, ansvar mv 1. Adresse og kontakt i din virksomhed.",
Applicable Modules,Anvendelige moduler,
Terms and Conditions Help,Hjælp til vilkår og betingelser,
Classification of Customers by region,Klassifikation af kunder efter region,
Territory Name,Områdenavn,
Parent Territory,Overordnet område,
Territory Manager,Områdechef,
For reference,For reference,
Territory Targets,Områdemål,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Sæt varegruppe-budgetter på dette område. Du kan også medtage sæsonudsving ved at sætte Distribution.,
UOM Name,Enhedsnavn,
Check this to disallow fractions. (for Nos),Markér dette for at forbyde fraktioner. (For NOS),
Website Item Group,Hjemmeside-varegruppe,
Cross Listing of Item in multiple groups,Cross Notering af Item i flere grupper,
Default settings for Shopping Cart,Standardindstillinger for Indkøbskurv,
Enable Shopping Cart,Aktiver Indkøbskurv,
Display Settings,Skærmindstillinger,
Show Public Attachments,Vis offentlige vedhæftede filer,
Show Price,Vis pris,
Show Stock Availability,Vis lager tilgængelighed,
Show Contact Us Button,Vis Kontakt os-knap,
Show Stock Quantity,Vis lager Antal,
Show Apply Coupon Code,Vis Anvend kuponkode,
Allow items not in stock to be added to cart,"Tillad, at varer, der ikke er på lager, lægges i indkøbskurven",
Prices will not be shown if Price List is not set,"Priserne vil ikke blive vist, hvis prisliste ikke er indstillet",
Quotation Series,Tilbudsnummer,
Checkout Settings,Kassen Indstillinger,
Enable Checkout,Aktiver bestilling,
Payment Success Url,Betaling gennemført URL,
After payment completion redirect user to selected page.,Efter betaling afslutning omdirigere brugeren til valgte side.,
Batch Details,Batchoplysninger,
Batch ID,Parti-id,
image,billede,
Parent Batch,Overordnet parti,
Manufacturing Date,Fremstillingsdato,
Batch Quantity,Batchmængde,
Batch UOM,Batch UOM,
Source Document Type,Kilde dokumenttype,
Source Document Name,Kildedokumentnavn,
Batch Description,Partibeskrivelse,
Bin,Bin,
Reserved Quantity,Reserveret mængde,
Actual Quantity,Faktiske Mængde,
Requested Quantity,Anmodet mængde,
Reserved Qty for sub contract,Reserveret antal til underentreprise,
Moving Average Rate,Glidende gennemsnit Rate,
FCFS Rate,FCFS Rate,
Customs Tariff Number,Toldtarif nummer,
Tariff Number,Tarif nummer,
Delivery To,Levering Til,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,Er Return,
Issue Credit Note,Udstedelse af kreditnota,
Return Against Delivery Note,Retur mod følgeseddel,
Customer's Purchase Order No,Kundens indkøbsordrenr.,
Billing Address Name,Faktureringsadressenavn,
Required only for sample item.,Kræves kun 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 oprettet en standardskabelon under Salg Moms- og afgiftsskabelon, skal du vælge en, og klik på knappen nedenfor.",
In Words will be visible once you save the Delivery Note.,"""I ord"" vil være synlig, når du gemmer følgesedlen.",
In Words (Export) will be visible once you save the Delivery Note.,"I ord (udlæsning) vil være synlig, når du gemmer følgesedlen.",
Transporter Info,Transporter Info,
Driver Name,Drivernavn,
Track this Delivery Note against any Project,Spor denne følgeseddel mod en hvilken som helst sag,
Inter Company Reference,Inter Company Reference,
Print Without Amount,Print uden Beløb,
% Installed,% Installeret,
% of materials delivered against this Delivery Note,% af materialer leveret mod denne følgeseddel,
Installation Status,Installation status,
Excise Page Number,Excise Sidetal,
Instructions,Instruktioner,
From Warehouse,Fra lager,
Against Sales Order,Mod kundeordre,
Against Sales Order Item,Imod salgs ordre vare,
Against Sales Invoice,Mod salgsfaktura,
Against Sales Invoice Item,Mod salgsfakturavarer,
Available Batch Qty at From Warehouse,Tilgængeligt batch-antal fra lageret,
Available Qty at From Warehouse,Tilgængeligt antal fra vores lager,
Delivery Settings,Leveringsindstillinger,
Dispatch Settings,Dispatch Settings,
Dispatch Notification Template,Forsendelsesbeskedskabelon,
Dispatch Notification Attachment,Dispatch Notification Attachment,
Leave blank to use the standard Delivery Note format,Forlad blanket for at bruge standardleveringsformatet,
Send with Attachment,Send med vedhæftet fil,
Delay between Delivery Stops,Forsinkelse mellem Leveringsstop,
Delivery Stop,Leveringsstop,
Lock,Låse,
Visited,besøgte,
Order Information,Ordreinformation,
Contact Information,Kontakt information,
Email sent to,E-mail til,
Dispatch Information,Dispatch Information,
Estimated Arrival,Forventet ankomst,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Indledende Email Notification Sent,
Delivery Details,Levering Detaljer,
Driver Email,Driver-e-mail,
Driver Address,Driveradresse,
Total Estimated Distance,Samlet estimeret afstand,
Distance UOM,Afstand UOM,
Departure Time,Afgangstid,
Delivery Stops,Levering stopper,
Calculate Estimated Arrival Times,Beregn Anslåede ankomsttider,
Use Google Maps Direction API to calculate estimated arrival times,Brug Google Maps Direction API til at beregne anslåede ankomsttider,
Optimize Route,Optimer ruten,
Use Google Maps Direction API to optimize route,Brug Google Maps Direction API til at optimere ruten,
In Transit,Undervejs,
Fulfillment User,Fulfillment User,
"A Product or a Service that is bought, sold or kept in stock.","En vare eller tjenesteydelse, der købes, sælges eller opbevares på lager.",
STO-ITEM-.YYYY.-,STO-item-.YYYY.-,
Variant Of,Variant af,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Hvis varen er en variant af et andet element derefter beskrivelse, billede, prissætning, skatter mv vil blive fastsat fra skabelonen medmindre det udtrykkeligt er angivet",
Is Item from Hub,Er vare fra nav,
Default Unit of Measure,Standard Måleenhed,
Maintain Stock,Vedligehold lageret,
Standard Selling Rate,Standard salgspris,
Auto Create Assets on Purchase,Automatisk oprettelse af aktiver ved køb,
Asset Naming Series,Aktiver navngivnings serie,
Over Delivery/Receipt Allowance (%),Overlevering / kvitteringsgodtgørelse (%),
Barcodes,Stregkoder,
Shelf Life In Days,Holdbarhed i dage,
End of Life,End of Life,
Default Material Request Type,Standard materialeanmodningstype,
Valuation Method,Værdiansættelsesmetode,
FIFO,FIFO,
Moving Average,Glidende gennemsnit,
Warranty Period (in days),Garantiperiode (i dage),
Auto re-order,Auto genbestil,
Reorder level based on Warehouse,Genbestil niveau baseret på Warehouse,
Will also apply for variants unless overrridden,"Vil også gælde for varianter, medmindre overrridden",
Units of Measure,Måleenheder,
Will also apply for variants,Vil også gælde for varianter,
Serial Nos and Batches,Serienummer og partier,
Has Batch No,Har partinr.,
Automatically Create New Batch,Opret automatisk et nyt parti,
Batch Number Series,Batch Nummer 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 indstillet og Batch nr ikke er nævnt i transaktioner, oprettes automatisk batchnummer baseret på denne serie. Hvis du altid vil udtrykkeligt nævne Batch nr for dette emne, skal du lade dette være tomt. Bemærk: Denne indstilling vil have prioritet i forhold til Naming Series Prefix i lagerindstillinger.",
Has Expiry Date,Har udløbsdato,
Retain Sample,Behold prøve,
Max Sample Quantity,Max prøve antal,
Maximum sample quantity that can be retained,"Maksimal prøvemængde, der kan opbevares",
Has Serial No,Har serienummer,
Serial Number Series,Serienummer-nummerserie,
"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 nummerserien er indstillet, og serienummeret ikke fremkommer i transaktionerne, så vil serienummeret automatisk blive oprettet på grundlag af denne nummerserie. Hvis du altid ønsker, eksplicit at angive serienumre for denne vare, skal du lade dette felt være blankt.",
Variants,Varianter,
Has Variants,Har Varianter,
"If this item has variants, then it cannot be selected in sales orders etc.","Hvis denne vare har varianter, kan den ikke vælges i salgsordrer mv",
Variant Based On,Variant Based On,
Item Attribute,Item Attribut,
"Sales, Purchase, Accounting Defaults","Salg, køb, regnskabsstandarder",
Item Defaults,Standardindstillinger,
"Purchase, Replenishment Details","Køb, detaljer om påfyldning",
Is Purchase Item,Er Indkøbsvare,
Default Purchase Unit of Measure,Standardindkøbsenhed,
Minimum Order Qty,Minimum ordremængde,
Minimum quantity should be as per Stock UOM,Minimumsmængde skal være pr. Lager UOM,
Average time taken by the supplier to deliver,Gennemsnitlig tid taget af leverandøren til at levere,
Is Customer Provided Item,Er kunde leveret vare,
Delivered by Supplier (Drop Ship),Leveret af Leverandøren (Drop Ship),
Supplier Items,Leverandør Varer,
Foreign Trade Details,Udenrigshandel Detaljer,
Country of Origin,Oprindelsesland,
Sales Details,Salg Detaljer,
Default Sales Unit of Measure,Standard salgsforanstaltning,
Is Sales Item,Er salgsvare,
Max Discount (%),Maksimal rabat (%),
No of Months,Antal måneder,
Customer Items,Kundevarer,
Inspection Criteria,Kontrolkriterier,
Inspection Required before Purchase,Kontrol påkrævet før køb,
Inspection Required before Delivery,Kontrol påkrævet før levering,
Default BOM,Standard stykliste,
Supply Raw Materials for Purchase,Supply råstoffer til Indkøb,
If subcontracted to a vendor,Hvis underentreprise til en sælger,
Customer Code,Kundekode,
Default Item Manufacturer,Standardvareproducent,
Default Manufacturer Part No,Standard producent varenr,
Show in Website (Variant),Vis på hjemmesiden (Variant),
Items with higher weightage will be shown higher,Elementer med højere weightage vises højere,
Show a slideshow at the top of the page,Vis et diasshow på toppen af siden,
Website Image,Webstedets billede,
Website Warehouse,Hjemmeside-lager,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Vis &quot;På lager&quot; eller &quot;Ikke på lager&quot; baseret på lager til rådighed i dette lager.,
Website Item Groups,Hjemmeside-varegrupper,
List this Item in multiple groups on the website.,Liste denne vare i flere grupper på hjemmesiden.,
Copy From Item Group,Kopier fra varegruppe,
Website Content,Indhold på webstedet,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Du kan bruge enhver gyldig Bootstrap 4-markering i dette felt. Det vises på din vareside.,
Total Projected Qty,Den forventede samlede Antal,
Hub Publishing Details,Hub Publishing Detaljer,
Publish in Hub,Offentliggør i Hub,
Publish Item to hub.erpnext.com,Udgive Vare til hub.erpnext.com,
Hub Category to Publish,Hub kategori til udgivelse,
Hub Warehouse,Hub Lager,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Udgiv &quot;På lager&quot; eller &quot;Ikke på lager&quot; på Hub baseret på lager tilgængelig på dette lager.,
Synced With Hub,Synkroniseret med Hub,
Item Alternative,Vare Alternativ,
Alternative Item Code,Alternativ varekode,
Two-way,To-vejs,
Alternative Item Name,Alternativt varenavn,
Attribute Name,Attribut Navn,
Numeric Values,Numeriske værdier,
From Range,Fra Range,
Increment,Tilvækst,
To Range,At Rækkevidde,
Item Attribute Values,Item Egenskab Værdier,
Item Attribute Value,Item Attribut Værdi,
Attribute Value,Attribut Værdi,
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 blive føjet til varen af varianten. For eksempel, hvis dit forkortelse er ""SM"", og varenummeret er ""T-SHIRT"", så vil variantens varenummer blive ""T-SHIRT-SM""",
Item Barcode,Item Barcode,
Barcode Type,Stregkode Type,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Item Customer Detail,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Af hensyn til kunderne, kan disse koder bruges i udskriftsformater ligesom fakturaer og følgesedler",
Ref Code,Ref Code,
Item Default,Element Standard,
Purchase Defaults,Indkøbsvalg,
Default Buying Cost Center,Standard købsomkostningssted,
Default Supplier,Standard Leverandør,
Default Expense Account,Standard udgiftskonto,
Sales Defaults,Salgsstandarder,
Default Selling Cost Center,Standard salgsomkostningssted,
Item Manufacturer,element Manufacturer,
Item Price,Varepris,
Packing Unit,Pakningsenhed,
Quantity  that must be bought or sold per UOM,"Mængde, der skal købes eller sælges pr. UOM",
Item Quality Inspection Parameter,Kvalitetskontrolparameter,
Acceptance Criteria,Accept kriterier,
Item Reorder,Genbestil vare,
Check in (group),Check i (gruppe),
Request for,Anmodning om,
Re-order Level,Re-Order Level,
Re-order Qty,Re-prisen evt,
Item Supplier,Vareleverandør,
Item Variant,Varevariant,
Item Variant Attribute,Item Variant Attribut,
Do not update variants on save,Opdater ikke varianter ved at gemme,
Fields will be copied over only at time of creation.,Felter vil blive kopieret over kun på tidspunktet for oprettelsen.,
Allow Rename Attribute Value,Tillad omdøbe attributværdi,
Rename Attribute Value in Item Attribute.,Omdøb attributværdi i vareattribut.,
Copy Fields to Variant,Kopier felt til variant,
Item Website Specification,Varebeskrivelse til hjemmesiden,
Table for Item that will be shown in Web Site,"Tabel til Vare, der vil blive vist i Web Site",
Landed Cost Item,Landed Cost Vare,
Receipt Document Type,Kvittering Dokumenttype,
Receipt Document,Kvittering dokument,
Applicable Charges,Gældende gebyrer,
Purchase Receipt Item,Købskvittering vare,
Landed Cost Purchase Receipt,Landed Cost købskvittering,
Landed Cost Taxes and Charges,Landede Cost Skatter og Afgifter,
Landed Cost Voucher,Landed Cost Voucher,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Købskvitteringer,
Purchase Receipt Items,Købskvittering varer,
Get Items From Purchase Receipts,Hent varer fra købskvitteringer,
Distribute Charges Based On,Distribuere afgifter baseret på,
Landed Cost Help,Landed Cost Hjælp,
Manufacturers used in Items,"Producenter, der anvendes i artikler",
Limited to 12 characters,Begrænset til 12 tegn,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Partially Ordered,Delvist bestilt,
Transferred,overført,
% Ordered,% Bestilt,
Terms and Conditions Content,Vilkår og -betingelsesindhold,
Quantity and Warehouse,Mængde og lager,
Lead Time Date,Leveringstid Dato,
Min Order Qty,Min. ordremængde,
Packed Item,Pakket vare,
To Warehouse (Optional),Til lager (valgfrit),
Actual Batch Quantity,Faktisk batchmængde,
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.","Generer pakkesedler til pakker, der skal leveres. Pakkesedlen indeholder pakkenummer, pakkens indhold og dens vægt.",
Indicates that the package is a part of this delivery (Only Draft),"Angiver, at pakken er en del af denne leverance (Kun udkast)",
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Fra pakkenr.,
Identification of the package for the delivery (for print),Identifikation af emballagen for levering (til print),
To Package No.,Til pakkenr.,
If more than one package of the same type (for print),Hvis mere end én pakke af samme type (til udskrivning),
Package Weight Details,Pakkevægtdetaljer,
The net weight of this package. (calculated automatically as sum of net weight of items),Nettovægten af denne pakke. (Beregnes automatisk som summen af nettovægt på poster),
Net Weight UOM,Nettovægt vægtenhed,
Gross Weight,Bruttovægt,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Bruttovægt af pakken. Normalt nettovægt + emballagematerialevægt. (til udskrivning),
Gross Weight UOM,Bruttovægtenhed,
Packing Slip Item,Pakkeseddelvare,
DN Detail,DN Detail,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Materiale Transfer til Fremstilling,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Mængde råvarer afgøres på baggrund af antallet af færdige varer,
Parent Warehouse,Forældre Warehouse,
Items under this warehouse will be suggested,Varer under dette lager vil blive foreslået,
Get Item Locations,Hent vareplaceringer,
Item Locations,Vareplaceringer,
Pick List Item,Vælg listeelement,
Picked Qty,Valgt antal,
Price List Master,Master-Prisliste,
Price List Name,Prislistenavn,
Price Not UOM Dependent,Pris ikke UOM-afhængig,
Applicable for Countries,Gældende for lande,
Price List Country,Prislisteland,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Leverandør levering Note,
Time at which materials were received,"Tidspunkt, hvor materialer blev modtaget",
Return Against Purchase Receipt,Retur mod købskvittering,
Rate at which supplier's currency is converted to company's base currency,"Hastighed, hvormed leverandørens valuta omregnes til virksomhedens basisvaluta",
Sets 'Accepted Warehouse' in each row of the items table.,Indstiller &#39;Accepteret lager&#39; i hver række i varetabellen.,
Sets 'Rejected Warehouse' in each row of the items table.,Indstiller &#39;Afvist lager&#39; i hver række i varetabellen.,
Raw Materials Consumed,Forbrugte råvarer,
Get Current Stock,Hent aktuel lagerbeholdning,
Consumed Items,Forbrugte varer,
Add / Edit Taxes and Charges,Tilføj / rediger Skatter og Afgifter,
Auto Repeat Detail,Automatisk gentag detaljer,
Transporter Details,Transporter Detaljer,
Vehicle Number,Køretøjsnummer,
Vehicle Date,Køretøj dato,
Received and Accepted,Modtaget og accepteret,
Accepted Quantity,Mængde,
Rejected Quantity,Afvist Mængde,
Accepted Qty as per Stock UOM,Accepteret antal pr. Lager UOM,
Sample Quantity,Prøvekvantitet,
Rate and Amount,Sats og Beløb,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Rapporteringsdato,
Inspection Type,Kontroltype,
Item Serial No,Serienummer til varer,
Sample Size,Sample Size,
Inspected By,Kontrolleret af,
Readings,Aflæsninger,
Quality Inspection Reading,Kvalitetskontrol-aflæsning,
Reading 1,Læsning 1,
Reading 2,Reading 2,
Reading 3,Reading 3,
Reading 4,Reading 4,
Reading 5,Reading 5,
Reading 6,Læsning 6,
Reading 7,Reading 7,
Reading 8,Reading 8,
Reading 9,Reading 9,
Reading 10,Reading 10,
Quality Inspection Template Name,Kvalitetsinspektionsskabelon,
Quick Stock Balance,Hurtig lagerbalance,
Available Quantity,Tilgængeligt antal,
Distinct unit of an Item,Særskilt enhed af et element,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,"Lager kan kun ændres via lagerindtastning, følgeseddel eller købskvittering",
Purchase / Manufacture Details,Indkøbs- og produktionsdetaljer,
Creation Document Type,Oprettet dokumenttype,
Creation Document No,Oprettet med dok.-nr.,
Creation Date,Oprettet d.,
Creation Time,Creation Time,
Asset Details,Aktiver oplysninger,
Asset Status,Aktiver status,
Delivery Document Type,Levering Dokumenttype,
Delivery Document No,Levering dokument nr,
Delivery Time,Leveringstid,
Invoice Details,Faktura detaljer,
Warranty / AMC Details,Garanti / Artrogrypose-detaljer,
Warranty Expiry Date,Garanti udløbsdato,
AMC Expiry Date,AMC Udløbsdato,
Under Warranty,Under garanti,
Out of Warranty,Garanti udløbet,
Under AMC,Under AMC,
Out of AMC,Ud af AMC,
Warranty Period (Days),Garantiperiode (dage),
Serial No Details,Serienummeroplysninger,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Lagerindtastningstype,
Stock Entry (Outward GIT),Lagerindgang (udadgående GIT),
Material Consumption for Manufacture,Materialeforbrug til fremstilling,
Repack,Pak om,
Send to Subcontractor,Send til underleverandør,
Delivery Note No,Følgeseddelnr.,
Sales Invoice No,Salgsfakturanr.,
Purchase Receipt No,Købskvitteringsnr.,
Inspection Required,Inspection Nødvendig,
From BOM,Fra stykliste,
For Quantity,For Mængde,
As per Stock UOM,pr. lagerenhed,
Including items for sub assemblies,Herunder elementer til sub forsamlinger,
Default Source Warehouse,Standardkildelager,
Source Warehouse Address,Source Warehouse Address,
Default Target Warehouse,Standard Target Warehouse,
Target Warehouse Address,Mållagerhusadresse,
Update Rate and Availability,Opdatér priser og tilgængelighed,
Total Incoming Value,Samlet værdi indgående,
Total Outgoing Value,Samlet værdi udgående,
Total Value Difference (Out - In),Samlet værdi (difference udgående - indgående),
Additional Costs,Yderligere omkostninger,
Total Additional Costs,Yderligere omkostninger i alt,
Customer or Supplier Details,Kunde- eller leverandørdetaljer,
Per Transferred,Per overført,
Stock Entry Detail,Lagerindtastningsdetaljer,
Basic Rate (as per Stock UOM),Grundlæggende sats (som pr. lagerenhed),
Basic Amount,Grundbeløb,
Additional Cost,Yderligere omkostning,
Serial No / Batch,Serienummer / Parti,
BOM No. for a Finished Good Item,Styklistenr. for en færdigvare,
Material Request used to make this Stock Entry,Materialeanmodning brugt til denne lagerpost,
Subcontracted Item,Underentreprise,
Against Stock Entry,Mod aktieindtastning,
Stock Entry Child,Lagerindgangsbarn,
PO Supplied Item,PO leveret vare,
Reference Purchase Receipt,Referencekøbskvittering,
Stock Ledger Entry,Lagerpost,
Outgoing Rate,Udgående Rate,
Actual Qty After Transaction,Aktuel Antal Efter Transaktion,
Stock Value Difference,Stock Value Forskel,
Stock Queue (FIFO),Stock kø (FIFO),
Is Cancelled,Er Annulleret,
Stock Reconciliation,Lagerafstemning,
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 værktøj hjælper dig med at opdatere eller fastsætte mængden og værdiansættelse på lager i systemet. Det bruges typisk til at synkronisere systemets værdier og hvad der rent faktisk eksisterer i dine lagre.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Afstemning JSON,
Stock Reconciliation Item,Lagerafstemningsvare,
Before reconciliation,Før forsoning,
Current Serial No,Aktuelt serienr,
Current Valuation Rate,Aktuel Værdiansættelsesbeløb,
Current Amount,Det nuværende beløb,
Quantity Difference,Mængdeforskel,
Amount Difference,Differencebeløb,
Item Naming By,Item Navngivning By,
Default Item Group,Standard varegruppe,
Default Stock UOM,Standard lagerenhed,
Sample Retention Warehouse,Prøveopbevaringslager,
Default Valuation Method,Standard værdiansættelsesmetode,
Show Barcode Field,Vis stregkodefelter,
Convert Item Description to Clean HTML,Konverter varebeskrivelse for at rydde HTML,
Allow Negative Stock,Tillad negativ lagerbeholdning,
Automatically Set Serial Nos based on FIFO,Angiv serienumrene automatisk baseret på FIFO-princippet,
Auto Material Request,Automatisk materialeanmodning,
Inter Warehouse Transfer Settings,Indstillinger for interlageroverførsel,
Freeze Stock Entries,Frys Stock Entries,
Stock Frozen Upto,Stock Frozen Op,
Batch Identification,Batchidentifikation,
Use Naming Series,Brug navngivningsserie,
Naming Series Prefix,Navngivning Serie Prefix,
UOM Category,UOM kategori,
UOM Conversion Detail,UOM Konvertering Detail,
Variant Field,Variant Field,
A logical Warehouse against which stock entries are made.,Et logisk lager hvor lagerændringer foretages.,
Warehouse Detail,Lagerinformation,
Warehouse Name,Lagernavn,
Warehouse Contact Info,Lagerkontaktinformation,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Oprettet af (e-mail),
Issue Type,Udstedelsestype,
Issue Split From,Udgave opdelt fra,
Service Level,Serviceniveau,
Response By,Svar af,
Response By Variance,Svar af variation,
Ongoing,Igangværende,
Resolution By,Opløsning af,
Resolution By Variance,Opløsning efter variation,
Service Level Agreement Creation,Oprettelse af serviceniveauaftale,
First Responded On,Først svarede den,
Resolution Details,Løsningsdetaljer,
Opening Date,Åbning Dato,
Opening Time,Åbning tid,
Resolution Date,Løsningsdato,
Via Customer Portal,Via kundeportalen,
Support Team,Supportteam,
Issue Priority,Udgaveprioritet,
Service Day,Servicedag,
Workday,arbejdsdagen,
Default Priority,Standardprioritet,
Priorities,prioriteter,
Support Hours,Support timer,
Support and Resolution,Support og opløsning,
Default Service Level Agreement,Standard serviceniveauaftale,
Entity,Enhed,
Agreement Details,Aftaledetaljer,
Response and Resolution Time,Svar og opløsningstid,
Service Level Priority,Prioritet på serviceniveau,
Resolution Time,Opløsningstid,
Support Search Source,Support Søg kilde,
Source Type,Kilde Type,
Query Route String,Query Route String,
Search Term Param Name,Søg term Param Navn,
Response Options,Respons Options,
Response Result Key Path,Response Result Key Path,
Post Route String,Post Rute String,
Post Route Key List,Post rute nøgle liste,
Post Title Key,Posttitelnøgle,
Post Description Key,Indlæg Beskrivelse Nøgle,
Link Options,Link muligheder,
Source DocType,Kilde DocType,
Result Title Field,Resultat Titel Field,
Result Preview Field,Resultatforhåndsvisningsfelt,
Result Route Field,Resultatrutefelt,
Service Level Agreements,Aftaler om serviceniveau,
Track Service Level Agreement,Spor serviceniveauaftale,
Allow Resetting Service Level Agreement,Tillad nulstilling af serviceniveauaftale,
Close Issue After Days,Luk Issue efter dage,
Auto close Issue after 7 days,Auto luk problem efter 7 dage,
Support Portal,Support Portal,
Get Started Sections,Kom i gang sektioner,
Show Latest Forum Posts,Vis seneste forumindlæg,
Forum Posts,Forumindlæg,
Forum URL,Forum-URL,
Get Latest Query,Få seneste forespørgsel,
Response Key List,Response Key List,
Post Route Key,Indtast rute nøgle,
Search APIs,Søg API&#39;er,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Udstedelsesdagen,
Item and Warranty Details,Item og garanti Detaljer,
Warranty / AMC Status,Garanti / AMC status,
Resolved By,Løst af,
Service Address,Tjeneste Adresse,
If different than customer address,Hvis anderledes end kundeadresse,
Raised By,Oprettet af,
From Company,Fra firma,
Rename Tool,Omdøb Tool,
Utilities,Forsyningsvirksomheder,
Type of document to rename.,Type dokument omdøbe.,
File to Rename,Fil der skal omdøbes,
"Attach .csv file with two columns, one for the old name and one for the new name","Vedhæft .csv fil med to kolonner, en for det gamle navn og et til det nye navn",
Rename Log,Omdøb log,
SMS Log,SMS Log,
Sender Name,Afsendernavn,
Sent On,Sendt On,
No of Requested SMS,Antal  af forespurgte SMS'er,
Requested Numbers,Anmodet Numbers,
No of Sent SMS,Antal afsendte SMS'er,
Sent To,Sendt Til,
Absent Student Report,Ikke-tilstede studerende rapport,
Assessment Plan Status,Evalueringsplan Status,
Asset Depreciation Ledger,Aktiver afskrivningers hovedbog,
Asset Depreciations and Balances,Aktiver afskrivninger og balancer,
Available Stock for Packing Items,Tilgængelig lager til emballerings- Varer,
Bank Clearance Summary,Bank Clearance Summary,
Batch Item Expiry Status,Partivare-udløbsstatus,
Batch-Wise Balance History,Historik sorteret pr. parti,
BOM Explorer,BOM Explorer,
BOM Search,BOM Søg,
BOM Stock Calculated,BOM lager Beregnet,
BOM Variance Report,BOM Variance Report,
Campaign Efficiency,Kampagneeffektivitet,
Cash Flow,Pengestrøm,
Completed Work Orders,Afsluttede arbejdsordrer,
To Produce,At producere,
Produced,Produceret,
Consolidated Financial Statement,Koncernregnskab,
Course wise Assessment Report,Kursusbaseret vurderingsrapport,
Customer Acquisition and Loyalty,Kundetilgang og -loyalitet,
Customer Credit Balance,Customer Credit Balance,
Customer Ledger Summary,Oversigt over kundehovedbog,
Customer-wise Item Price,Kundemæssig vare pris,
Customers Without Any Sales Transactions,Kunder uden salgstransaktioner,
Daily Timesheet Summary,Daglig Tidsregisteringsoversigt,
DATEV,DATEV,
Delayed Item Report,Forsinket artikelrapport,
Delayed Order Report,Forsinket ordrerapport,
Delivered Items To Be Billed,Leverede varer at blive faktureret,
Delivery Note Trends,Følgeseddel Tendenser,
Electronic Invoice Register,Elektronisk fakturaregister,
Employee Billing Summary,Resume af fakturering af medarbejdere,
Employee Birthday,Medarbejder Fødselsdag,
Employee Information,Medarbejder Information,
Employee Leave Balance,Medarbejder Leave Balance,
Employee Leave Balance Summary,Oversigt over saldo for medarbejderorlov,
Eway Bill,Eway Bill,
Expiring Memberships,Udfaldne Medlemskaber,
Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
Final Assessment Grades,Afsluttende bedømmelse,
Fixed Asset Register,Fast aktivregister,
Gross and Net Profit Report,Brutto- og resultatopgørelse,
GST Itemised Purchase Register,GST Itemized Purchase Register,
GST Itemised Sales Register,GST Itemized Sales Register,
GST Purchase Register,GST købsregistrering,
GST Sales Register,GST salgsregistrering,
GSTR-1,GSTR-1,
GSTR-2,GSTR-2,
Hotel Room Occupancy,Hotelværelse Occupancy,
HSN-wise-summary of outward supplies,HSN-wise-sammendrag af ydre forsyninger,
Inactive Customers,Inaktive kunder,
Inactive Sales Items,Inaktive salgsartikler,
IRS 1099,IRS 1099,
Issued Items Against Work Order,Udstedte varer mod arbejdsordre,
Projected Quantity as Source,Forventet mængde som kilde,
Item Balance (Simple),Varebalance (Enkel),
Item Price Stock,Vare pris lager,
Item Prices,Varepriser,
Item Shortage Report,Item Mangel Rapport,
Item Variant Details,Varevarianter Detaljer,
Item-wise Price List Rate,Item-wise Prisliste Rate,
Item-wise Purchase History,Vare-wise Købshistorik,
Item-wise Purchase Register,Vare-wise Purchase Tilmeld,
Item-wise Sales History,Vare-wise Sales History,
Item-wise Sales Register,Vare-wise Sales Register,
Items To Be Requested,Varer til bestilling,
Reserved,Reserveret,
Itemwise Recommended Reorder Level,Itemwise Anbefalet genbestillings Level,
Lead Details,Emnedetaljer,
Lead Owner Efficiency,Lederegenskaber Effektivitet,
Lost Opportunity,Mistet mulighed,
Maintenance Schedules,Vedligeholdelsesplaner,
Material Requests for which Supplier Quotations are not created,Materialeanmodninger under hvilke leverandørtilbud ikke er oprettet,
Open Work Orders,Åbne arbejdsordrer,
Qty to Deliver,Antal at levere,
Patient Appointment Analytics,Patientaftaleanalyse,
Payment Period Based On Invoice Date,Betaling Periode Baseret på Fakturadato,
Pending SO Items For Purchase Request,Afventende salgsordre-varer til indkøbsanmodning,
Procurement Tracker,Indkøb Tracker,
Product Bundle Balance,Produktbundtbalance,
Production Analytics,Produktionsanalyser,
Profit and Loss Statement,Resultatopgørelse,
Profitability Analysis,Lønsomhedsanalyse,
Project Billing Summary,Projekt faktureringsoversigt,
Project wise Stock Tracking,Projektmæssig aktiesporing,
Project wise Stock Tracking ,Opfølgning på lager sorteret efter sager,
Prospects Engaged But Not Converted,Udsigter Engageret men ikke konverteret,
Purchase Analytics,Indkøbsanalyser,
Purchase Invoice Trends,Købsfaktura Trends,
Qty to Receive,Antal til Modtag,
Received Qty Amount,Modtaget antal,
Billed Qty,Faktureret antal,
Purchase Order Trends,Indkøbsordre Trends,
Purchase Receipt Trends,Købskvittering Tendenser,
Purchase Register,Indkøb Register,
Quotation Trends,Tilbud trends,
Received Items To Be Billed,Modtagne varer skal faktureres,
Qty to Order,Antal til ordre,
Requested Items To Be Transferred,"Anmodet Varer, der skal overføres",
Qty to Transfer,Antal til Transfer,
Sales Analytics,Salgsanalyser,
Sales Invoice Trends,Salgsfaktura Trends,
Sales Order Trends,Salgsordre Trends,
Sales Partner Commission Summary,Sammendrag af salgspartnerkommission,
Sales Partner Target Variance based on Item Group,Salgspartner Målvariation baseret på varegruppe,
Sales Partner Transaction Summary,Salgspartnertransaktionsoversigt,
Sales Partners Commission,Forhandlerprovision,
Invoiced Amount (Exclusive Tax),Faktureret beløb (eksklusiv skat),
Average Commission Rate,Gennemsnitlig provisionssats,
Sales Payment Summary,Salgsbetalingsoversigt,
Sales Person Commission Summary,Salgs personkommissionsoversigt,
Sales Person Target Variance Based On Item Group,Salgsmål Målvariation baseret på varegruppe,
Sales Person-wise Transaction Summary,SalgsPerson Transaktion Totaler,
Sales Register,Salgs Register,
Serial No Service Contract Expiry,Serienummer Servicekontrakt-udløb,
Serial No Status,Serienummerstatus,
Serial No Warranty Expiry,Serienummer garantiudløb,
Stock Ageing,Stock Ageing,
Stock and Account Value Comparison,Sammenligning af lager og konto,
Stock Projected Qty,Stock Forventet Antal,
Student and Guardian Contact Details,Studerende og Guardian Kontaktoplysninger,
Student Batch-Wise Attendance,Fremmøde efter elevgrupper,
Student Fee Collection,Student afgiftsopkrævning,
Student Monthly Attendance Sheet,Student Månedlig Deltagelse Sheet,
Subcontracted Item To Be Received,"Underleverandør, der skal modtages",
Subcontracted Raw Materials To Be Transferred,"Underentrepriser Råmaterialer, der skal overføres",
Supplier Ledger Summary,Oversigt over leverandørbok,
Supplier-Wise Sales Analytics,Salgsanalyser pr. leverandør,
Support Hour Distribution,Support Time Distribution,
TDS Computation Summary,TDS-beregningsoversigt,
TDS Payable Monthly,TDS betales månedligt,
Territory Target Variance Based On Item Group,Territoriummålvariation baseret på varegruppe,
Territory-wise Sales,Territoriumsmæssigt salg,
Total Stock Summary,Samlet lageroversigt,
Trial Balance,Trial Balance,
Trial Balance (Simple),Testbalance (enkel),
Trial Balance for Party,Prøvebalance for Selskab,
Warehouse wise Item Balance Age and Value,Lagerbetydende varebalance Alder og værdi,
Work Order Stock Report,Arbejdsordre lagerrapport,
Work Orders in Progress,Arbejdsordrer i gang,
Automatically Process Deferred Accounting Entry,Behandl automatisk udskudt bogføring,
Bank Clearance,Bankgodkendelse,
Bank Clearance Detail,Bankklaringsdetalje,
Update Cost Center Name / Number,Opdater navn / nummer på omkostningscenter,
Journal Entry Template,Kasseklasseskabelon,
Template Title,Skabelonnavn,
Journal Entry Type,Journalposttype,
Journal Entry Template Account,Konto for journalindtastning,
Process Deferred Accounting,Behandle udskudt bogføring,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,"Manuel indtastning kan ikke oprettes! Deaktiver automatisk indtastning for udskudt bogføring i kontoindstillinger, og prøv igen",
End date cannot be before start date,Slutdatoen kan ikke være før startdatoen,
Total Counts Targeted,Samlet antal målrettede,
Total Counts Completed,Samlede antal tællinger afsluttet,
Counts Targeted: {0},Måltællinger: {0},
Material Request Warehouse,Materialeanmodningslager,
Select warehouse for material requests,Vælg lager til materialeanmodninger,
Transfer Materials For Warehouse {0},Overfør materiale til lager {0},
Production Plan Material Request Warehouse,Produktionsplan Materialeanmodningslager,
Sets 'Source Warehouse' in each row of the items table.,Indstiller &#39;Source Warehouse&#39; i hver række i varetabellen.,
Sets 'Target Warehouse' in each row of the items table.,Indstiller &#39;Target Warehouse&#39; i hver række i varetabellen.,
Show Cancelled Entries,Vis annullerede poster,
Backdated Stock Entry,Backdateret lagerindgang,
Row #{}: Currency of {} - {} doesn't matches company currency.,Række nr. {}: Valuta for {} - {} matcher ikke virksomhedens valuta.,
{} Assets created for {},{} Aktiver oprettet for {},
{0} Number {1} is already used in {2} {3},{0} Nummer {1} bruges allerede i {2} {3},
Update Bank Clearance Dates,Opdater bankafklaringsdatoer,
Healthcare Practitioner: ,Sundhedspleje:,
Lab Test Conducted: ,Lab test udført:,
Lab Test Event: ,Lab testbegivenhed:,
Lab Test Result: ,Resultat af laboratorietest:,
Clinical Procedure conducted: ,Klinisk procedure gennemført:,
Therapy Session Charges: {0},Terapikonsultationsgebyrer: {0},
Therapy: ,Terapi:,
Therapy Plan: ,Terapiplan:,
Total Counts Targeted: ,Samlet antal målrettede mål:,
Total Counts Completed: ,Samlede antal tællinger afsluttet:,
Is Mandatory,Er obligatorisk,
Service Received But Not Billed,"Tjeneste modtaget, men ikke faktureret",
Deferred Accounting Settings,Udskudte regnskabsindstillinger,
Book Deferred Entries Based On,Book udskudte poster baseret på,
Days,Dage,
Months,Måneder,
Book Deferred Entries Via Journal Entry,Book udskudte poster via journalindlæg,
Submit Journal Entries,Indsend journalindlæg,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Hvis dette ikke er markeret, gemmes journalposter i kladdetilstand og skal indsendes manuelt",
Enable Distributed Cost Center,Aktivér distribueret omkostningscenter,
Distributed Cost Center,Distribueret omkostningscenter,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Forfaldne dage,
Dunning Type,Dunning Type,
Dunning Fee,Dunning-gebyr,
Dunning Amount,Dunning beløb,
Resolved,Løst,
Unresolved,Uafklaret,
Printing Setting,Udskrivningsindstilling,
Body Text,Brødtekst,
Closing Text,Afslutning af tekst,
Resolve,Beslutte,
Dunning Letter Text,Dunning Letter Text,
Is Default Language,Er standardsprog,
Letter or Email Body Text,Tekst til brev eller e-mail,
Letter or Email Closing Text,Lukning af brev eller e-mail,
Body and Closing Text Help,Hjælp til brødtekst og afsluttende tekst,
Overdue Interval,Forsinket interval,
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.","Dette afsnit giver brugeren mulighed for at indstille brødtekstens og lukningsteksten til Dunning Letter for Dunning Type baseret på sprog, som kan bruges i Print.",
Reference Detail No,Reference detaljer nr,
Custom Remarks,Brugerdefinerede bemærkninger,
Please select a Company first.,Vælg først et firma.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Række nr. {0}: Referencedokumenttypen skal være en af salgsordren, salgsfakturaen, journalindgangen eller dunning",
POS Closing Entry,POS-afslutningspost,
POS Opening Entry,POS åbningsindgang,
POS Transactions,POS-transaktioner,
POS Closing Entry Detail,POS-afslutningsindgangsdetalje,
Opening Amount,Åbningsbeløb,
Closing Amount,Afslutningsbeløb,
POS Closing Entry Taxes,POS Afslutningsindgangsskatter,
POS Invoice,POS-faktura,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Konsolideret salgsfaktura,
Return Against POS Invoice,Returner mod POS-faktura,
Consolidated,Konsolideret,
POS Invoice Item,POS-fakturapost,
POS Invoice Merge Log,POS-fakturafletningslog,
POS Invoices,POS-fakturaer,
Consolidated Credit Note,Konsolideret kreditnota,
POS Invoice Reference,POS-fakturahenvisning,
Set Posting Date,Indstil bogføringsdato,
Opening Balance Details,Åbningsbalancedetaljer,
POS Opening Entry Detail,POS-åbningsindgangsdetalje,
POS Payment Method,POS-betalingsmetode,
Payment Methods,betalingsmetoder,
Process Statement Of Accounts,Procesregnskab,
General Ledger Filters,Hovedboksfiltre,
Customers,Kunder,
Select Customers By,Vælg Kunder efter,
Fetch Customers,Hent kunder,
Send To Primary Contact,Send til primær kontakt,
Print Preferences,Udskriftsindstillinger,
Include Ageing Summary,Inkluder aldringsoversigt,
Enable Auto Email,Aktivér automatisk e-mail,
Filter Duration (Months),Filtervarighed (måneder),
CC To,CC til,
Help Text,Hjælp Tekst,
Emails Queued,E-mails i kø,
Process Statement Of Accounts Customer,Procesopgørelse af kontokunde,
Billing Email,Fakturerings-e-mail,
Primary Contact Email,Primær kontakt-e-mail,
PSOA Cost Center,PSOA-omkostningscenter,
PSOA Project,PSOA-projekt,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Leverandør GSTIN,
Place of Supply,Leveringssted,
Select Billing Address,Vælg faktureringsadresse,
GST Details,GST detaljer,
GST Category,GST-kategori,
Registered Regular,Registreret regelmæssigt,
Registered Composition,Registreret sammensætning,
Unregistered,Uregistreret,
SEZ,SEZ,
Overseas,Oversøisk,
UIN Holders,UIN-indehavere,
With Payment of Tax,Med betaling af skat,
Without Payment of Tax,Uden betaling af skat,
Invoice Copy,Fakturakopi,
Original for Recipient,Original til modtager,
Duplicate for Transporter,Duplicate for Transporter,
Duplicate for Supplier,Kopi for leverandør,
Triplicate for Supplier,Triplikat for leverandør,
Reverse Charge,Omvendt opladning,
Y,Y,
N,N,
E-commerce GSTIN,E-handel GSTIN,
Reason For Issuing document,Årsag til udstedelse af dokument,
01-Sales Return,01-salgsafkast,
02-Post Sale Discount,Rabat på 02-post-salg,
03-Deficiency in services,03-Mangel på tjenester,
04-Correction in Invoice,04-Korrektion i faktura,
05-Change in POS,05-Ændring i POS,
06-Finalization of Provisional assessment,06-Afslutning af foreløbig vurdering,
07-Others,07-Andre,
Eligibility For ITC,Støtteberettigelse til ITC,
Input Service Distributor,Input Service Distributør,
Import Of Service,Import af service,
Import Of Capital Goods,Import af kapitalvarer,
Ineligible,Uberettiget,
All Other ITC,Alt andet ITC,
Availed ITC Integrated Tax,Availed ITC Integrated Tax,
Availed ITC Central Tax,Tilgængelig ITC-centralafgift,
Availed ITC State/UT Tax,Tilgængelig ITC-stat / UT-skat,
Availed ITC Cess,Availed ITC Cess,
Is Nil Rated or Exempted,Er nul vurderet eller undtaget,
Is Non GST,Er ikke GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,E-vejs regning nr.,
Is Consolidated,Er konsolideret,
Billing Address GSTIN,Faktureringsadresse GSTIN,
Customer GSTIN,Kunde GSTIN,
GST Transporter ID,GST-transportør-ID,
Distance (in km),Afstand (i km),
Road,Vej,
Air,Luft,
Rail,Skinne,
Ship,Skib,
GST Vehicle Type,GST køretøjstype,
Over Dimensional Cargo (ODC),Overdimensionel last (ODC),
Consumer,Forbruger,
Deemed Export,Anses for eksport,
Port Code,Port kode,
 Shipping Bill Number,Forsendelsesregningsnummer,
Shipping Bill Date,Forsendelsesregningsdato,
Subscription End Date,Abonnements slutdato,
Follow Calendar Months,Følg kalendermåneder,
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 markeret, oprettes efterfølgende nye fakturaer på kalendermåned og kvartals startdatoer uanset den aktuelle fakturastartdato",
Generate New Invoices Past Due Date,Generer nye fakturaer forfaldsdato,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Nye fakturaer genereres efter planen, selvom aktuelle fakturaer er ubetalte eller forfaldne",
Document Type ,dokument type,
Subscription Price Based On,Abonnementspris Baseret på,
Fixed Rate,Fast pris,
Based On Price List,Baseret på prisliste,
Monthly Rate,Månedlig sats,
Cancel Subscription After Grace Period,Annuller abonnement efter nådeperiode,
Source State,Kildetilstand,
Is Inter State,Er mellemstat,
Purchase Details,Købsoplysninger,
Depreciation Posting Date,Dato for afskrivning,
"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 indstillet i henhold til det indtastede leverandørnavn. Hvis du ønsker, at leverandører skal navngives af en",
 choose the 'Naming Series' option.,vælg &#39;Navngivningsserie&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,"Konfigurer standardprislisten, når du opretter en ny købstransaktion. Varepriser hentes fra denne prisliste.",
"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 denne indstilling er konfigureret &#39;Ja&#39;, forhindrer ERPNext dig i at oprette en købsfaktura eller kvittering uden først at oprette en indkøbsordre. Denne konfiguration kan tilsidesættes for en bestemt leverandør ved at aktivere afkrydsningsfeltet &#39;Tillad oprettelse af købsfaktura uden indkøbsordre&#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 denne indstilling er konfigureret &#39;Ja&#39;, forhindrer ERPNext dig i at oprette en købsfaktura uden først at oprette en købsmodtagelse. Denne konfiguration kan tilsidesættes for en bestemt leverandør ved at aktivere afkrydsningsfeltet &#39;Tillad oprettelse af købsfaktura uden købsmodtagelse&#39; i leverandørmasteren.",
Quantity & Stock,Mængde og lager,
Call Details,Opkaldsdetaljer,
Authorised By,Autoriseret af,
Signee (Company),Underskrevet (firma),
Signed By (Company),Underskrevet af (firma),
First Response Time,Første svartid,
Request For Quotation,Anmodning om tilbud,
Opportunity Lost Reason Detail,Mulighed for mistet årsag,
Access Token Secret,Adgang Token Secret,
Add to Topics,Føj til emner,
...Adding Article to Topics,... Tilføjelse af artikler til emner,
Add Article to Topics,Føj artikel til emner,
This article is already added to the existing topics,Denne artikel er allerede føjet til de eksisterende emner,
Add to Programs,Føj til programmer,
Programs,Programmer,
...Adding Course to Programs,... Tilføjelse af kursus til programmer,
Add Course to Programs,Føj kursus til programmer,
This course is already added to the existing programs,Dette kursus er allerede føjet til de eksisterende programmer,
Learning Management System Settings,Indstillinger for læringsstyringssystem,
Enable Learning Management System,Aktivér Learning Management System,
Learning Management System Title,Learning Management System Titel,
...Adding Quiz to Topics,... Tilføjelse af quiz til emner,
Add Quiz to Topics,Føj quiz til emner,
This quiz is already added to the existing topics,Denne quiz er allerede føjet til de eksisterende emner,
Enable Admission Application,Aktiver ansøgning om optagelse,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Markering af fremmøde,
Add Guardians to Email Group,Føj værger til e-mail-gruppe,
Attendance Based On,Deltagelse baseret 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,"Marker dette for at markere den studerende som til stede, hvis den studerende under ingen omstændigheder deltager i instituttet for at deltage eller repræsentere instituttet.",
Add to Courses,Føj til kurser,
...Adding Topic to Courses,... Tilføjelse af emne til kurser,
Add Topic to Courses,Føj emne til kurser,
This topic is already added to the existing courses,Dette emne er allerede føjet til de eksisterende kurser,
"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 under synkronisering af ordrene betragte standardkunden for ordren",
The accounts are set by the system automatically but do confirm these defaults,"Kontiene indstilles automatisk af systemet, men bekræfter disse standardindstillinger",
Default Round Off Account,Standard afrundingskonto,
Failed Import Log,Mislykket importlog,
Fixed Error Log,Fast fejllog,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Virksomhed {0} findes allerede. Fortsat overskriver virksomheden og kontoplanen,
Meta Data,Metadata,
Unresolve,Uopklar,
Create Document,Opret dokument,
Mark as unresolved,Marker som uløst,
TaxJar Settings,TaxJar-indstillinger,
Sandbox Mode,Sandkassetilstand,
Enable Tax Calculation,Aktivér skatteberegning,
Create TaxJar Transaction,Opret TaxJar-transaktion,
Credentials,Legitimationsoplysninger,
Live API Key,Live API-nøgle,
Sandbox API Key,Sandbox API-nøgle,
Configuration,Konfiguration,
Tax Account Head,Skattekontohoved,
Shipping Account Head,Fragtkontohoved,
Practitioner Name,Praktiserens navn,
Enter a name for the Clinical Procedure Template,Indtast et navn til skabelonen til klinisk procedure,
Set the Item Code which will be used for billing the Clinical Procedure.,"Indstil den varekode, der skal bruges til fakturering af den kliniske procedure.",
Select an Item Group for the Clinical Procedure Item.,Vælg en varegruppe til den kliniske procedureemne.,
Clinical Procedure Rate,Klinisk procedure,
Check this if the Clinical Procedure is billable and also set the rate.,"Kontroller dette, hvis den kliniske procedure er fakturerbar, og angiv også satsen.",
Check this if the Clinical Procedure utilises consumables. Click ,"Kontroller dette, hvis den kliniske procedure bruger forbrugsvarer. Klik på",
 to know more,at vide mere,
"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å indstille den medicinske afdeling til skabelonen. Efter lagring af dokumentet oprettes der automatisk en vare til fakturering af denne kliniske procedure. Du kan derefter bruge denne skabelon, mens du opretter kliniske procedurer for patienter. Skabeloner sparer dig for at udfylde overflødige data hver eneste gang. Du kan også oprette skabeloner til andre operationer som laboratorietests, terapisessioner osv.",
Descriptive Test Result,Beskrivende testresultat,
Allow Blank,Tillad tom,
Descriptive Test Template,Beskrivende testskabelon,
"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ønningsliste og andre HRMS-operationer for en Practitoner, skal du oprette en medarbejder og linke den her.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,"Indstil den praktiserende tidsplan, du lige har oprettet. Dette vil blive brugt under bestilling af aftaler.",
Create a service item for Out Patient Consulting.,Opret en servicepost til Out Patient Consulting.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Hvis denne sundhedsperson udfører arbejde for indlæggelsesafdelingen, skal du oprette en servicepost til indlæggelsesbesøg.",
Set the Out Patient Consulting Charge for this Practitioner.,Angiv gebyret for patientrådgivning for denne praktiserende læge.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Hvis denne sundhedsplejeudøver også arbejder for indlæggelsesafdelingen, skal du indstille gebyret for indlæggelsesbesøg for denne praktiserende læge.",
"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 dette er markeret, oprettes der en kunde for hver patient. Patientfakturaer oprettes mod denne kunde. Du kan også vælge eksisterende kunde, mens du opretter en patient. Dette felt er markeret som standard.",
Collect Registration Fee,Saml 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 din sundhedsfacilitet fakturerer registrering af patienter, kan du kontrollere dette og indstille registreringsgebyret i nedenstående felt. Hvis du markerer dette, oprettes der som standard nye patienter med en deaktiveret status og aktiveres kun efter fakturering af registreringsgebyret.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Hvis du markerer dette, oprettes der automatisk en salgsfaktura, hver gang der er bestilt en aftale for en patient.",
Healthcare Service Items,Artikler i sundhedsvæsenet,
"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 oprette et servicepost til Inpatient Visit Charge og indstille det her. På samme måde kan du oprette andre sundhedsydelser til fakturering i dette afsnit. Klik på,
Set up default Accounts for the Healthcare Facility,Opret standardkonti til sundhedsfaciliteten,
"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 tilsidesætte standardindstillinger for konti og konfigurere indkomst- og tilgodehavenskonti for Healthcare, kan du gøre det her.",
Out Patient SMS alerts,Uden SMS-advarsler,
"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 en SMS-besked om patientregistrering, kan du aktivere denne mulighed. På samme måde kan du konfigurere Out Patient SMS-alarmer for andre funktioner i dette afsnit. Klik på",
Admission Order Details,Adgangsbestillingsoplysninger,
Admission Ordered For,Adgang bestilt til,
Expected Length of Stay,Forventet opholdslængde,
Admission Service Unit Type,Adgangstjenesteenhedstype,
Healthcare Practitioner (Primary),Sundhedspleje (primær),
Healthcare Practitioner (Secondary),Healthcare Practitioner (Secondary),
Admission Instruction,Adgangsinstruktion,
Chief Complaint,Hovedanklagen,
Medications,Medicin,
Investigations,Undersøgelser,
Discharge Detials,Afladning af detials,
Discharge Ordered Date,Afgangsbestilt dato,
Discharge Instructions,Instruktioner om udledning,
Follow Up Date,Opfølgningsdato,
Discharge Notes,Noter om udledning,
Processing Inpatient Discharge,Behandling af indlæggelsesudskrivning,
Processing Patient Admission,Behandling af patientindlæggelse,
Check-in time cannot be greater than the current time,Check-in tid kan ikke være længere end det aktuelle tidspunkt,
Process Transfer,Processoverførsel,
HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
Expected Result Date,Forventet resultatdato,
Expected Result Time,Forventet resultattid,
Printed on,Trykt på,
Requesting Practitioner,Anmodende praktiserende læge,
Requesting Department,Anmodende afdeling,
Employee (Lab Technician),Medarbejder (laboratorietekniker),
Lab Technician Name,Navn på laboratorietekniker,
Lab Technician Designation,Lab Technician Betegnelse,
Compound Test Result,Sammensat testresultat,
Organism Test Result,Organismetestresultat,
Sensitivity Test Result,Følsomhedstestresultat,
Worksheet Print,Udskrivning af regneark,
Worksheet Instructions,Vejledning til regneark,
Result Legend Print,Resultat Forklaring Udskriv,
Print Position,Udskriv position,
Both,Begge,
Result Legend,Resultatforklaring,
Lab Tests,Lab test,
No Lab Tests found for the Patient {0},Ingen laboratorietests fundet for patienten {0},
"Did not send SMS, missing patient mobile number or message content.","Sendte ikke sms, manglende patientens mobilnummer eller beskedindhold.",
No Lab Tests created,Ingen laboratorietests oprettet,
Creating Lab Tests...,Oprettelse af laboratorietests ...,
Lab Test Group Template,Lab Test Group Template,
Add New Line,Tilføj 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>Single</b> : Resultater, der kun kræver en enkelt input.<br> <b>Forbindelse</b> : Resultater, der kræver flere hændelsesindgange.<br> <b>Beskrivende</b> : Test, der har flere resultatkomponenter med manuel resultatindtastning.<br> <b>Grupperet</b> : Testskabeloner, som er en gruppe af andre testskabeloner.<br> <b>Intet resultat</b> : Test uden resultater, kan bestilles og faktureres, men der oprettes ingen laboratorietest. f.eks. Undertest for grupperede 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 markeret, vil varen ikke være tilgængelig i fakturaer til fakturering, men kan bruges til oprettelse af gruppetest.",
Description ,Beskrivelse,
Descriptive Test,Beskrivende test,
Group Tests,Gruppetest,
Instructions to be printed on the worksheet,"Instruktioner, der skal udskrives på regnearket",
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.","Oplysninger, der let hjælper med at fortolke testrapporten, udskrives som en del af laboratorietestresultatet.",
Normal Test Result,Normalt testresultat,
Secondary UOM Result,Sekundært UOM-resultat,
Italic,Kursiv,
Underline,Understrege,
Organism,Organisme,
Organism Test Item,Organisme Test Element,
Colony Population,Kolonibefolkning,
Colony UOM,Koloni UOM,
Tobacco Consumption (Past),Tobaksforbrug (tidligere),
Tobacco Consumption (Present),Tobaksforbrug (nuværende),
Alcohol Consumption (Past),Alkoholforbrug (tidligere),
Alcohol Consumption (Present),Alkoholforbrug (nuværende),
Billing Item,Faktureringsvare,
Medical Codes,Medicinske koder,
Clinical Procedures,Kliniske procedurer,
Order Admission,Bestil optagelse,
Scheduling Patient Admission,Planlægning af patientindlæggelse,
Order Discharge,Bestil udledning,
Sample Details,Prøveoplysninger,
Collected On,Samlet på,
No. of prints,Antal udskrifter,
Number of prints required for labelling the samples,Antal krævede udskrifter til mærkning af prøverne,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
Payroll Cost Center,Lønomkostningscenter,
Approvers,Approverser,
The first Approver in the list will be set as the default Approver.,Den første godkender på listen indstilles som standardgodkenderen.,
Shift Request Approver,Godkendelse af skiftanmodning,
Provident Fund Account,Provident Fund-konto,
MICR Code,MICR-kode,
Repay unclaimed amount from salary,Tilbagebetal ikke-krævet beløb fra løn,
Deduction from salary,Fradrag fra løn,
If this is not checked the loan by default will be considered as a Demand Loan,"Hvis dette ikke er markeret, vil lånet som standard blive betragtet som et behovslån",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Denne konto bruges til at booke tilbagebetaling af lån fra låntager og også udbetale lån til låntager,
This account is capital account which is used to allocate capital for loan disbursal account ,"Denne konto er en kapitalkonto, der bruges til at allokere kapital til udbetaling af lånekonto",
This account will be used for booking loan interest accruals,Denne konto vil blive brugt til reservation af lånerenter,
This account will be used for booking penalties levied due to delayed repayments,Denne konto vil blive brugt til booking af bøder på grund af forsinket tilbagebetaling,
Variant BOM,Variant BOM,
Template Item,Skabelonelement,
Select template item,Vælg skabelonelement,
Select variant item code for the template item {0},Vælg variantvarekode for skabelonelementet {0},
Downtime Entry,Indgang til nedetid,
DT-,DT-,
Workstation / Machine,Arbejdsstation / maskine,
Operator,Operatør,
In Mins,In Mins,
Downtime Reason,Årsag til nedetid,
Stop Reason,Stop grund,
Excessive machine set up time,Overdreven opsætningstid for maskinen,
Unplanned machine maintenance,Uplanlagt vedligeholdelse af maskinen,
On-machine press checks,Tryk på kontrol på maskinen,
Machine operator errors,Maskinoperatørfejl,
Machine malfunction,Maskinfunktion,
Electricity down,Elektricitet nede,
Operation Row Number,Operation række nummer,
Operation {0} added multiple times in the work order {1},Handling {0} tilføjet flere gange i arbejdsordren {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 afkrydset, kan flere materialer bruges til en enkelt arbejdsordre. Dette er nyttigt, hvis der fremstilles et eller flere tidskrævende produkter.",
Backflush Raw Materials,Rygmaterialer til tilbagespoling,
"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.","Lagerindgangen af typen &#39;Fremstilling&#39; kaldes tilbagespoling. Råmaterialer, der forbruges til fremstilling af færdige varer, kaldes tilbagespoling.<br><br> Når du opretter fremstillingsindgang, tilbagesprøjtes råmaterialeartikler baseret på produktionsdelens BOM. Hvis du vil have, at råmaterialeartikler skal tilbagesprøjtes baseret på Materialeoverførsel, der er foretaget mod den arbejdsordre i stedet, kan du indstille det under dette felt.",
Work In Progress Warehouse,Igangværende lager,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Dette lager opdateres automatisk i feltet Work In Progress Warehouse med arbejdsordrer.,
Finished Goods Warehouse,Færdigvarelager,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Dette lager opdateres automatisk i feltet Mållager i arbejdsordren.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Hvis dette er markeret, opdateres BOM-prisen automatisk baseret på værdiansættelsesgrad / prislistehastighed / sidste købsrate for råvarer.",
Source Warehouses (Optional),Kildelagre (valgfrit),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","System afhenter materialerne fra de valgte lagre. Hvis ikke angivet, opretter systemet materialeanmodning om køb.",
Lead Time,Ledetid,
PAN Details,PAN-detaljer,
Create Customer,Opret kunde,
Invoicing,Fakturering,
Enable Auto Invoicing,Aktivér automatisk fakturering,
Send Membership Acknowledgement,Send medlemskabsbekræftelse,
Send Invoice with Email,Send faktura med e-mail,
Membership Print Format,Udskrivningsformat for medlemskab,
Invoice Print Format,Fakturaudskrivningsformat,
Revoke <Key></Key>,Tilbagekald&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,Du kan lære mere om medlemskaber i manualen.,
ERPNext Docs,ERPNext Docs,
Regenerate Webhook Secret,Genopret Webhook Secret,
Generate Webhook Secret,Generer Webhook Secret,
Copy Webhook URL,Kopier Webhook URL,
Linked Item,Tilknyttet vare,
Feedback By,Feedback af,
Manufacturing Section,Produktionssektion,
"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 indstillet i henhold til det indtastede fulde navn. Hvis du ønsker, at kunder skal navngives af en",
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,"Konfigurer standardprislisten, når du opretter en ny salgstransaktion. Varepriser hentes fra denne prisliste.",
"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 denne indstilling er konfigureret &#39;Ja&#39;, forhindrer ERPNext dig i at oprette en salgsfaktura eller en leveringsnote uden først at oprette en salgsordre. Denne konfiguration kan tilsidesættes for en bestemt kunde ved at aktivere afkrydsningsfeltet &#39;Tillad oprettelse af salgsfaktura uden salgsordre&#39; 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 denne indstilling er konfigureret &#39;Ja&#39;, forhindrer ERPNext dig i at oprette en salgsfaktura uden først at oprette en leveringsnote. Denne konfiguration kan tilsidesættes for en bestemt kunde ved at aktivere afkrydsningsfeltet &#39;Tillad oprettelse af salgsfaktura uden leveringsnote&#39; i kundemasteren.",
Default Warehouse for Sales Return,Standardlager til salgsafkast,
Default In Transit Warehouse,Standard i transitlager,
Enable Perpetual Inventory For Non Stock Items,"Aktiver evigvarende beholdning for varer, der ikke er på lager",
HRA Settings,HRA-indstillinger,
Basic Component,Grundlæggende komponent,
HRA Component,HRA-komponent,
Arrear Component,Arranger komponent,
Please enter the company name to confirm,Indtast firmaets navn for at bekræfte,
Quotation Lost Reason Detail,Citat Mistet grund Detalje,
Enable Variants,Aktivér varianter,
Save Quotations as Draft,Gem tilbud som kladde,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Vælg en kunde,
Against Delivery Note Item,Mod leveringsnote,
Is Non GST ,Er ikke GST,
Image Description,Billedbeskrivelse,
Transfer Status,Overfør status,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Spor denne købskvittering mod ethvert projekt,
Please Select a Supplier,Vælg en leverandør,
Add to Transit,Føj til transit,
Set Basic Rate Manually,Indstil grundlæggende sats 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 indstillet i henhold til den indtastede varekode. Hvis du vil have genstande navngivet af en,
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Indstil et standardlager til lagertransaktioner. Dette hentes i 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 gør det muligt for lagervarer at blive vist i negative værdier. Brug af denne mulighed afhænger af din brugssag. Når denne indstilling ikke er markeret, advarer systemet, inden det forhindrer en transaktion, der forårsager negativ beholdning.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Vælg mellem FIFO og Moving Average Valuation Methods. Klik på,
 to know more about them.,at vide mere om dem.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Vis &#39;Scan stregkode&#39; felt over hver underordnet tabel for let at indsætte emner.,
"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 på lager indstilles automatisk baseret på de indtastede varer baseret på først ind først ud i transaktioner som indkøbs- / salgsfakturaer, leveringsnoter osv.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Hvis det er tomt, betragtes modervarehuskonto eller virksomheds misligholdelse i transaktioner",
Service Level Agreement Details,Oplysninger om serviceniveauaftale,
Service Level Agreement Status,Status for serviceniveauaftale,
On Hold Since,På vent siden,
Total Hold Time,Samlet holdtid,
Response Details,Svardetaljer,
Average Response Time,Gennemsnitlig svartid,
User Resolution Time,Brugeropløsningstid,
SLA is on hold since {0},SLA er i venteposition siden {0},
Pause SLA On Status,SLA SLA på status,
Pause SLA On,SLA SLA på,
Greetings Section,Hilsen sektion,
Greeting Title,Hilsen titel,
Greeting Subtitle,Hilsen undertekst,
Youtube ID,Youtube ID,
Youtube Statistics,Youtube-statistik,
Views,Visninger,
Dislikes,Kan ikke lide,
Video Settings,Videoindstillinger,
Enable YouTube Tracking,Aktivér YouTube-sporing,
30 mins,30 minutter,
1 hr,1 time,
6 hrs,6 timer,
Patient Progress,Patientens fremskridt,
Targetted,Målrettet,
Score Obtained,Resultat opnået,
Sessions,Sessioner,
Average Score,Gennemsnitlig score,
Select Assessment Template,Vælg vurderingsskabelon,
 out of ,ud af,
Select Assessment Parameter,Vælg vurderingsparameter,
Gender: ,Køn:,
Contact: ,Kontakt:,
Total Therapy Sessions: ,Samlede terapisessioner:,
Monthly Therapy Sessions: ,Månedlige terapisessioner:,
Patient Profile,Patientprofil,
Point Of Sale,Salgsstedet,
Email sent successfully.,E-mail sendt med succes.,
Search by invoice id or customer name,Søg efter faktura-id eller kundenavn,
Invoice Status,Fakturastatus,
Filter by invoice status,Filtrer efter fakturastatus,
Select item group,Vælg varegruppe,
No items found. Scan barcode again.,Ingen varer fundet. Scan stregkoden igen.,
"Search by customer name, phone, email.","Søg efter kundenavn, telefon, e-mail.",
Enter discount percentage.,Indtast rabatprocent.,
Discount cannot be greater than 100%,Rabatten må ikke være større end 100%,
Enter customer's email,Indtast kundens e-mail,
Enter customer's phone number,Indtast kundens telefonnummer,
Customer contact updated successfully.,Kundekontakt opdateret.,
Item will be removed since no serial / batch no selected.,"Element fjernes, da ingen seriel / batch-nr er valgt.",
Discount (%),Rabat (%),
You cannot submit the order without payment.,Du kan ikke afgive ordren uden betaling.,
You cannot submit empty order.,Du kan ikke afgive tom ordre.,
To Be Paid,At blive betalt,
Create POS Opening Entry,Opret POS-åbningsindgang,
Please add Mode of payments and opening balance details.,Tilføj venligst betalingsmetode og åbningsbalanceoplysninger.,
Toggle Recent Orders,Skift nylige ordrer,
Save as Draft,Gem som kladde,
You must add atleast one item to save it as draft.,Du skal mindst tilføje et element for at gemme det som kladde.,
There was an error saving the document.,Der opstod en fejl under lagring af dokumentet.,
You must select a customer before adding an item.,"Du skal vælge en kunde, før du tilføjer en vare.",
Please Select a Company,Vælg et firma,
Active Leads,Aktive kundeemner,
Please Select a Company.,Vælg et firma.,
BOM Operations Time,BOM-driftstid,
BOM ID,BOM-ID,
BOM Item Code,BOM-varekode,
Time (In Mins),Tid (i minutter),
Sub-assembly BOM Count,Undermonteret BOM-antal,
View Type,Visningstype,
Total Delivered Amount,Samlet leveret beløb,
Downtime Analysis,Analyse af nedetid,
Machine,Maskine,
Downtime (In Hours),Nedetid (i timevis),
Employee Analytics,Medarbejderanalyse,
"""From date"" can not be greater than or equal to ""To date""",&quot;Fra dato&quot; kan ikke være større end eller lig med &quot;Til dato&quot;,
Exponential Smoothing Forecasting,Eksponentiel udjævningsprognose,
First Response Time for Issues,Første svartid for problemer,
First Response Time for Opportunity,Første svartid for mulighed,
Depreciatied Amount,Afskrevet beløb,
Period Based On,Periode baseret på,
Date Based On,Dato baseret på,
{0} and {1} are mandatory,{0} og {1} er obligatoriske,
Consider Accounting Dimensions,Overvej regnskabsmæssige dimensioner,
Reserved Quantity for Production,Reserveret mængde til produktion,
Projected Quantity,Projiceret mængde,
 Total Sales Amount,Samlet salgsbeløb,
Job Card Summary,Jobkortoversigt,
Id,Id,
Time Required (In Mins),Påkrævet tid (i minutter),
From Posting Date,Fra bogføringsdato,
To Posting Date,Til bogføringsdato,
No records found,Ingen optegnelser fundet,
Customer/Lead Name,Kunde / kundenavn,
Production Planning Report,Produktionsplanlægningsrapport,
Order Qty,Bestil antal,
Raw Material Code,Råvarekode,
Raw Material Name,Råmateriale navn,
Allotted Qty,Tildelt antal,
Expected Arrival Date,Forventet ankomstdato,
Arrival Quantity,Ankomstmængde,
Raw Material Warehouse,Råvarelager,
Order By,Bestil efter,
Include Sub-assembly Raw Materials,Inkluder underkonstruktionsråmaterialer,
Program wise Fee Collection,Programklogt opkrævning af gebyrer,
Fees Collected,Gebyrer opkrævet,
Project Summary,Projektoversigt,
Total Tasks,Samlet antal opgaver,
Tasks Completed,Opgaver afsluttet,
Tasks Overdue,Opgaver forsinket,
Completion,Færdiggørelse,
Purchase Order Analysis,Indkøbsordreanalyse,
From and To Dates are required.,Fra og til datoer kræves.,
To Date cannot be before From Date.,Til dato kan ikke være før fra dato.,
Qty to Bill,Antal til Bill,
Group by Purchase Order,Gruppér efter indkøbsordre,
 Purchase Value,Købsværdi,
Total Received Amount,Samlet modtaget beløb,
Quality Inspection Summary,Oversigt over kvalitetskontrol,
 Quoted Amount,Citeret beløb,
Lead Time (Days),Leveringstid (dage),
Include Expired,Inkluder udløbet,
Requested Items to Order and Receive,Anmodede varer at bestille og modtage,
Sales Order Analysis,Analyse af salgsordrer,
Amount Delivered,Leveret beløb,
Delay (in Days),Forsinkelse (i dage),
Group by Sales Order,Gruppér efter salgsordre,
 Sales Value,Salgsværdi,
Stock Qty vs Serial No Count,Antal på lager versus serie nr. Antal,
Serial No Count,Serienummer ikke tæller,
Work Order Summary,Arbejdsordresammendrag,
Produce Qty,Producer antal,
Lead Time (in mins),Leveringstid (i minutter),
Charts Based On,Kort baseret på,
YouTube Interactions,YouTube-interaktioner,
Published Date,Udgivelsesdato,
Barnch,Barnch,
Select a Company,Vælg et firma,
Opportunity {0} created,Mulighed {0} oprettet,
Kindly select the company first,Vælg først virksomheden,
Please enter From Date and To Date to generate JSON,Indtast venligst Fra dato og til dato for at generere JSON,
Download DATEV File,Download DATEV-fil,
Numero has not set in the XML file,Numero er ikke indstillet i XML-filen,
Inward Supplies(liable to reverse charge),Indvendige forsyninger (tilbageføringspligtig),
This is based on the course schedules of this Instructor,Dette er baseret på kursusplanerne for denne instruktør,
Course and Assessment,Kursus og vurdering,
Course {0} has been added to all the selected programs successfully.,Kursus {0} er blevet tilføjet til alle de valgte programmer med succes.,
Programs updated,Programmer opdateret,
Program and Course,Program og kursus,
{0} or {1} is mandatory,{0} eller {1} er obligatorisk,
Mandatory Fields,Obligatoriske felter,
Student {0}: {1} does not belong to Student Group {2},Elev {0}: {1} tilhører ikke elevgruppen {2},
Student Attendance record {0} already exists against the Student {1},Studenterdeltagelsesrekord {0} findes allerede mod eleven {1},
Course and Fee,Kursus og gebyr,
Not eligible for the admission in this program as per Date Of Birth,Ikke berettiget til optagelse i dette program pr. Fødselsdato,
Topic {0} has been added to all the selected courses successfully.,Emne {0} er blevet tilføjet til alle de valgte kurser med succes.,
Courses updated,Kurser opdateret,
{0} {1} has been added to all the selected topics successfully.,{0} {1} er føjet til alle de valgte emner med succes.,
Topics updated,Emner opdateret,
Academic Term and Program,Akademisk termin og program,
Please remove this item and try to submit again or update the posting time.,"Fjern denne vare, og prøv at indsende igen eller opdater opdateringstidspunktet.",
Failed to Authenticate the API key.,Kunne ikke godkende API-nøglen.,
Invalid Credentials,Ugyldige legitimationsoplysninger,
URL can only be a string,URL kan kun være en streng,
"Here is your webhook secret, this will be shown to you only once.","Her er din webhook-hemmelighed, denne vises kun én gang for dig.",
The payment for this membership is not paid. To generate invoice fill the payment details,Betalingen for dette medlemskab betales ikke. For at generere faktura skal du udfylde betalingsoplysningerne,
An invoice is already linked to this document,En faktura er allerede knyttet til dette dokument,
No customer linked to member {},Ingen kunde linket til medlem {},
You need to set <b>Debit Account</b> in Membership Settings,Du skal indstille <b>betalingskonto</b> i medlemskabsindstillinger,
You need to set <b>Default Company</b> for invoicing in Membership Settings,Du skal indstille <b>standardfirma</b> til fakturering i medlemsindstillinger,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Du skal aktivere <b>Send kvitterings-e-mail</b> i medlemskabsindstillinger,
Error creating membership entry for {0},Fejl ved oprettelse af medlemskabspost for {0},
A customer is already linked to this Member,En kunde er allerede knyttet til dette medlem,
End Date must not be lesser than Start Date,Slutdatoen må ikke være mindre end startdatoen,
Employee {0} already has Active Shift {1}: {2},Medarbejder {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},Indstil {0} for medarbejderen eller for afdelingen: {1},
Employee Onboarding: {0} is already for Job Applicant: {1},Onboarding af medarbejdere: {0} er allerede til jobansøger: {1},
Asset Value Analytics,Analyse af aktivværdi,
Category-wise Asset Value,Kategorimæssig aktivværdi,
Total Assets,Samlede aktiver,
New Assets (This Year),Nye aktiver (i år),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Række nr. {}: Afskrivningsdato for afskrivning bør ikke være lig med Tilgængelig til brugsdato.,
Incorrect Date,Forkert dato,
Invalid Gross Purchase Amount,Ugyldigt bruttokøbbeløb,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,"Der er aktiv vedligeholdelse eller reparationer af aktivet. Du skal udfylde dem alle, før du annullerer aktivet.",
% Complete,% Fuldført,
Back to Course,Tilbage til kurset,
Finish Topic,Afslut emne,
Mins,Min,
by,ved,
Back to,Tilbage til,
Enrolling...,Tilmelding ...,
You have successfully enrolled for the program ,Du har tilmeldt dig programmet,
Enrolled,indskrevet,
Watch Intro,Se introduktion,
We're here to help!,Vi er her for at hjælpe!,
Frequently Read Articles,Ofte læste artikler,
Please set a default company address,Angiv en standardfirmaadresse,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,"{0} er ikke en gyldig tilstand! Kontroller for typografier, eller indtast ISO-koden for din tilstand.",
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,"Der opstod en fejl under parsing af kontoplan: Sørg for, at der ikke er to konti med samme navn",
Plaid invalid request error,Plaid ugyldig anmodning fejl,
Please check your Plaid client ID and secret values,Kontroller dit Plaid-klient-id og hemmelige værdier,
Bank transaction creation error,Fejl ved oprettelse af banktransaktioner,
Unit of Measurement,Måleenhed,
Fiscal Year {0} Does Not Exist,Regnskabsår {0} eksisterer ikke,
Row # {0}: Returned Item {1} does not exist in {2} {3},Række nr. {0}: Returneret vare {1} findes ikke i {2} {3},
Valuation type charges can not be marked as Inclusive,Gebyrer for værdiansættelse kan ikke markeres som inklusiv,
You do not have permissions to {} items in a {}.,Du har ikke tilladelse til {} varer i en {}.,
Insufficient Permissions,Utilstrækkelige tilladelser,
You are not allowed to update as per the conditions set in {} Workflow.,"Du har ikke tilladelse til at opdatere i henhold til de betingelser, der er angivet i {} Workflow.",
Expense Account Missing,Udgiftskonto mangler,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} er ikke en gyldig værdi for attribut {1} for vare {2}.,
Invalid Value,Ugyldig værdi,
The value {0} is already assigned to an existing Item {1}.,Værdien {0} er allerede tildelt en eksisterende vare {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.",For at fortsætte med at redigere denne attributværdi skal du aktivere {0} i Indstillinger for varianter.,
Edit Not Allowed,Rediger ikke tilladt,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Række nr. {0}: Vare {1} er allerede modtaget fuldt ud i indkøbsordren {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Du kan ikke oprette eller annullere regnskabsposter med i den lukkede regnskabsperiode {0},
POS Invoice should have {} field checked.,POS-faktura skal have {} felt kontrolleret.,
Invalid Item,Ugyldig vare,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Række nr. {}: Du kan ikke tilføje postive mængder i en returfaktura. Fjern varen {} for at fuldføre returneringen.,
The selected change account {} doesn't belongs to Company {}.,Den valgte ændringskonto {} tilhører ikke virksomheden {}.,
Atleast one invoice has to be selected.,Der skal mindst vælges én faktura.,
Payment methods are mandatory. Please add at least one payment method.,Betalingsmetoder er obligatoriske. Tilføj mindst en betalingsmetode.,
Please select a default mode of payment,Vælg en standard betalingsmetode,
You can only select one mode of payment as default,Du kan kun vælge en betalingsmetode som standard,
Missing Account,Manglende konto,
Customers not selected.,Kunder ikke valgt.,
Statement of Accounts,Kontoudtog,
Ageing Report Based On ,Aldringsrapport baseret på,
Please enter distributed cost center,Indtast venligst distribueret omkostningscenter,
Total percentage allocation for distributed cost center should be equal to 100,Den samlede procentsats for fordelt omkostningscenter skal være lig med 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,"Kan ikke aktivere distribueret omkostningscenter for et omkostningscenter, der allerede er tildelt i et andet distribueret omkostningscenter",
Parent Cost Center cannot be added in Distributed Cost Center,Forældreomkostningscenter kan ikke tilføjes i distribueret omkostningscenter,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Et distribueret omkostningscenter kan ikke tilføjes i tildelingstabellen Distribueret omkostningscenter.,
Cost Center with enabled distributed cost center can not be converted to group,Omkostningscenter med aktiveret distribueret omkostningscenter kan ikke konverteres til gruppe,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,"Omkostningscenter, der allerede er tildelt i et distribueret omkostningscenter, kan ikke konverteres til gruppe",
Trial Period Start date cannot be after Subscription Start Date,Testperiode Startdato kan ikke være efter abonnements startdato,
Subscription End Date must be after {0} as per the subscription plan,Abonnements slutdato skal være efter {0} i henhold til abonnementsplanen,
Subscription End Date is mandatory to follow calendar months,Abonnements slutdato er obligatorisk for at følge kalendermåneder,
Row #{}: POS Invoice {} is not against customer {},Række nr. {}: POS-faktura {} er ikke imod kunde {},
Row #{}: POS Invoice {} is not submitted yet,Række nr. {}: POS-faktura {} er ikke indsendt endnu,
Row #{}: POS Invoice {} has been {},Række nr. {}: POS-faktura {} har været {},
No Supplier found for Inter Company Transactions which represents company {0},"Ingen leverandør fundet for Inter Company Transactions, der repræsenterer firma {0}",
No Customer found for Inter Company Transactions which represents company {0},"Ingen kunde fundet for Inter Company Transactions, der repræsenterer firma {0}",
Invalid Period,Ugyldig periode,
Selected POS Opening Entry should be open.,Den valgte POS-åbning skal være åben.,
Invalid Opening Entry,Ugyldig åbningsindgang,
Please set a Company,Angiv et firma,
"Sorry, this coupon code's validity has not started","Beklager, gyldigheden af denne kuponkode er ikke startet",
"Sorry, this coupon code's validity has expired","Beklager, denne kuponkodes gyldighed er udløbet",
"Sorry, this coupon code is no longer valid","Beklager, denne kuponkode er ikke længere gyldig",
For the 'Apply Rule On Other' condition the field {0} is mandatory,I betingelsen &#39;Anvend regel på andet&#39; er feltet {0} obligatorisk,
{1} Not in Stock,{1} Ikke på lager,
Only {0} in Stock for item {1},Kun {0} på lager for vare {1},
Please enter a coupon code,Indtast en kuponkode,
Please enter a valid coupon code,Indtast venligst en gyldig kuponkode,
Invalid Child Procedure,Ugyldig procedure til børn,
Import Italian Supplier Invoice.,Importér italiensk leverandørfaktura.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Værdiansættelsesgrad for varen {0} kræves for at foretage regnskabsposter for {1} {2}.,
 Here are the options to proceed:,Her er mulighederne for at gå videre:,
"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 nulværdiansættelsesdel i denne post, skal du aktivere &#39;Tillad nul værdiansættelsesfrekvens&#39; i {0} varetabellen.",
"If not, you can Cancel / Submit this entry ","Hvis ikke, kan du annullere / indsende denne post",
 performing either one below:,udfører en af nedenstående:,
Create an incoming stock transaction for the Item.,Opret en indgående lagertransaktion for varen.,
Mention Valuation Rate in the Item master.,Nævn værdiansættelsesfrekvens i varemasteren.,
Valuation Rate Missing,Værdiansættelsesgrad mangler,
Serial Nos Required,Serienumre kræves,
Quantity Mismatch,Mængdefejl,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.",Genopfyld varer og opdater plukkelisten for at fortsætte. For at afslutte skal du annullere pluklisten.,
Out of Stock,Udsolgt,
{0} units of Item {1} is not available.,{0} enheder af vare {1} er ikke tilgængelige.,
Item for row {0} does not match Material Request,Element for række {0} matcher ikke materialeanmodning,
Warehouse for row {0} does not match Material Request,Lager til række {0} matcher ikke materialeanmodning,
Accounting Entry for Service,Regnskabspost for service,
All items have already been Invoiced/Returned,Alle varer er allerede blevet faktureret / returneret,
All these items have already been Invoiced/Returned,Alle disse varer er allerede blevet faktureret / returneret,
Stock Reconciliations,Aktieafstemninger,
Merge not allowed,Fletning ikke tilladt,
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 findes i varianter, men ikke i skabelonen. Du kan enten slette varianterne eller beholde attributterne i skabelonen.",
Variant Items,Variantelementer,
Variant Attribute Error,Variantattributfejl,
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},Der blev ikke fundet nogen batch mod {0}: {1},
Completed Operation,Afsluttet operation,
Work Order Analysis,Analyse af arbejdsordre,
Quality Inspection Analysis,Kvalitetsinspektionsanalyse,
Pending Work Order,Afventende arbejdsordre,
Last Month Downtime Analysis,Sidste måned nedetid analyse,
Work Order Qty Analysis,Antal ordrer på arbejdsordre,
Job Card Analysis,Jobkortanalyse,
Monthly Total Work Orders,Månedlige samlede arbejdsordrer,
Monthly Completed Work Orders,Månedlige gennemførte arbejdsordrer,
Ongoing Job Cards,Løbende jobkort,
Monthly Quality Inspections,Månedlige kvalitetsinspektioner,
(Forecast),(Vejrudsigt),
Total Demand (Past Data),Samlet efterspørgsel (tidligere data),
Total Forecast (Past Data),Samlet prognose (tidligere data),
Total Forecast (Future Data),Total prognose (fremtidige data),
Based On Document,Baseret på dokument,
Based On Data ( in years ),Baseret på data (i år),
Smoothing Constant,Udjævningskonstant,
Please fill the Sales Orders table,Udfyld tabellen Salgsordrer,
Sales Orders Required,Salgsordrer kræves,
Please fill the Material Requests table,Udfyld materialeanmodningstabellen,
Material Requests Required,Materialeanmodninger krævet,
Items to Manufacture are required to pull the Raw Materials associated with it.,"Varer, der skal fremstilles, kræves for at trække de råmaterialer, der er knyttet til det.",
Items Required,Elementer påkrævet,
Operation {0} does not belong to the work order {1},Handling {0} tilhører ikke arbejdsordren {1},
Print UOM after Quantity,Udskriv UOM efter antal,
Set default {0} account for perpetual inventory for non stock items,"Indstil standard {0} -konto for evigvarende beholdning for varer, der ikke er på lager",
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,"Række nr. {0}: Underordnet vare bør ikke være en produktpakke. Fjern element {1}, og gem",
Credit limit reached for customer {0},Kreditgrænse nået for kunde {0},
Could not auto create Customer due to the following missing mandatory field(s):,Kunne ikke automatisk oprette kunde på grund af følgende manglende obligatoriske felter:,
Please create Customer from Lead {0}.,Opret 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 end til dato.,
Row #{0}: Please enter the result value for {1},Række nr. {0}: Indtast resultatværdien for {1},
Mandatory Results,Obligatoriske resultater,
Sales Invoice or Patient Encounter is required to create Lab Tests,Salgsfaktura eller patientmøde er påkrævet for at oprette laboratorietests,
Insufficient Data,Utilstrækkelige data,
Lab Test(s) {0} created successfully,Lab test (er) {0} oprettet med succes,
Test :,Test:,
Sample Collection {0} has been created,Prøvesamling {0} er oprettet,
Normal Range: ,Normal rækkevidde:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Række nr. {0}: Udtjekningsdato kan ikke være mindre end indtjekningsdato,
"Missing required details, did not create Inpatient Record","Manglende påkrævede detaljer, oprettede ikke indlægspost",
Unbilled Invoices,Ubrugte fakturaer,
Standard Selling Rate should be greater than zero.,Standard salgsrate bør være større end nul.,
Conversion Factor is mandatory,Konverteringsfaktor er obligatorisk,
Row #{0}: Conversion Factor is mandatory,Række nr. {0}: Konverteringsfaktor er obligatorisk,
Sample Quantity cannot be negative or 0,Prøvemængde kan ikke være negativ eller 0,
Invalid Quantity,Ugyldigt antal,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Angiv standardværdier for kundegruppe, territorium og salgsprisliste i salgsindstillinger",
{0} on {1},{0} den {1},
{0} with {1},{0} med {1},
Appointment Confirmation Message Not Sent,Aftalebekræftelsesmeddelelse ikke sendt,
"SMS not sent, please check SMS Settings",SMS ikke sendt. Kontroller SMS-indstillinger,
Healthcare Service Unit Type cannot have both {0} and {1},Type af sundhedstjenesteenhed kan ikke have både {0} og {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Enhedstype for sundhedstjeneste skal mindst tillade en blandt {0} og {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Indstil svartid og opløsningstid for prioritet {0} i række {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Svartid for {0} prioritet i række {1} kan ikke være længere end opløsningstid.,
{0} is not enabled in {1},{0} er ikke aktiveret i {1},
Group by Material Request,Gruppér efter materialeanmodning,
Email Sent to Supplier {0},E-mail sendt til leverandør {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.",Adgangen til anmodning om tilbud fra portal er deaktiveret. For at give adgang skal du aktivere den i portalindstillinger.,
Supplier Quotation {0} Created,Leverandørstilbud {0} Oprettet,
Valid till Date cannot be before Transaction Date,Gyldig till-dato kan ikke være før transaktionsdato,
Unlink Advance Payment on Cancellation of Order,Fjern link til forskud ved annullering af ordren,
"Simple Python Expression, Example: territory != 'All Territories'","Enkel Python-udtryk, Eksempel: territorium! = &#39;Alle territorier&#39;",
Sales Contributions and Incentives,Salgsbidrag og incitamenter,
Sourced by Supplier,Oprindelig fra leverandør,
Total weightage assigned should be 100%.<br>It is {0},Den samlede tildelte vægt skal være 100%.<br> Det er {0},
Account {0} exists in parent company {1}.,Konto {0} findes i moderselskabet {1}.,
"To overrule this, enable '{0}' in company {1}",For at tilsidesætte dette skal du aktivere &#39;{0}&#39; i firmaet {1},
Invalid condition expression,Ugyldigt udtryk for tilstand,
Please Select a Company First,Vælg først et firma,
Please Select Both Company and Party Type First,Vælg både firma og festtype først,
Provide the invoice portion in percent,Angiv fakturadelen i procent,
Give number of days according to prior selection,Angiv antal dage i henhold til forudgående valg,
Email Details,E-mail-oplysninger,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Vælg en hilsen til modtageren. F.eks. Hr., Fru osv.",
Preview Email,Eksempel på e-mail,
Please select a Supplier,Vælg en leverandør,
Supplier Lead Time (days),Leveringstid (dage),
"Home, Work, etc.","Hjem, arbejde osv.",
Exit Interview Held On,Afslut interview afholdt,
Sets 'Target Warehouse' in each row of the Items table.,Indstiller &#39;Target Warehouse&#39; i hver række i varetabellen.,
Sets 'Source Warehouse' in each row of the Items table.,Indstiller &#39;Source Warehouse&#39; i hver række i tabellen Items.,
POS Register,POS-register,
"Can not filter based on POS Profile, if grouped by POS Profile","Kan ikke filtrere baseret på POS-profil, hvis grupperet efter POS-profil",
"Can not filter based on Customer, if grouped by Customer","Kan ikke filtrere baseret på kunde, hvis grupperet efter kunde",
"Can not filter based on Cashier, if grouped by Cashier","Kan ikke filtrere baseret på kasser, hvis grupperet efter kasser",
Payment Method,Betalingsmetode,
"Can not filter based on Payment Method, if grouped by Payment Method","Kan ikke filtrere baseret på betalingsmetode, hvis grupperet efter betalingsmetode",
Supplier Quotation Comparison,Sammenligning af tilbud fra leverandører,
Price per Unit (Stock UOM),Pris pr. Enhed (lager UOM),
Group by Supplier,Grupper efter leverandør,
Group by Item,Gruppér efter vare,
Remember to set {field_label}. It is required by {regulation}.,Husk at indstille {field_label}. Det kræves af {regulering}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},Tilmeldingsdato kan ikke være før startdatoen for det akademiske år {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},Tilmeldingsdato kan ikke være efter slutdatoen for den akademiske periode {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},Tilmeldingsdato kan ikke være før startdatoen for den akademiske periode {0},
Future Posting Not Allowed,Fremtidig udstationering ikke tilladt,
"To enable Capital Work in Progress Accounting, ","For at aktivere Capital Work in Progress Accounting,",
you must select Capital Work in Progress Account in accounts table,du skal vælge Capital Work in Progress konto i kontotabellen,
You can also set default CWIP account in Company {},Du kan også indstille CWIP-standardkonto i Company {},
The Request for Quotation can be accessed by clicking on the following button,Anmodningen om tilbud kan fås ved at klikke på følgende knap,
Regards,Hilsen,
Please click on the following button to set your new password,Klik på følgende knap for at indstille din nye adgangskode,
Update Password,Opdater adgangskode,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Række nr. {}: Sælgeraten for varen {} er lavere end dens {}. Salg {} skal mindst være {},
You can alternatively disable selling price validation in {} to bypass this validation.,Du kan alternativt deaktivere validering af salgspris i {} for at omgå denne validering.,
Invalid Selling Price,Ugyldig salgspris,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adresse skal knyttes til et firma. Tilføj en række for firma i tabellen Links.,
Company Not Linked,Virksomhed 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',Udført antal kan ikke være større end &#39;Antal til fremstilling&#39;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email",Række {0}: For leverandør {1} kræves e-mail-adresse for at sende en e-mail,
"If enabled, the system will post accounting entries for inventory automatically","Hvis det er aktiveret, bogfører systemet automatisk regnskabsposter for beholdningen",
Accounts Frozen Till Date,Konti frossen till dato,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Regnskabsposter er frosset indtil denne dato. Ingen kan oprette eller ændre poster undtagen brugere med rollen angivet nedenfor,
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Roll tilladt til at indstille frosne konti og redigere frosne poster,
Address used to determine Tax Category in transactions,"Adresse, der bruges til at bestemme skattekategori i transaktioner",
"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 ","Den procentdel, du har lov til at fakturere mere mod det bestilte beløb. For eksempel, hvis ordreværdien er $ 100 for en vare, og tolerancen er sat til 10%, har du lov til at fakturere op til $ 110",
This role is allowed to submit transactions that exceed credit limits,"Denne rolle er tilladt at indsende transaktioner, der overstiger kreditgrænser",
"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 der vælges &quot;Måneder&quot;, bogføres et fast beløb som udskudt omsætning eller udgift for hver måned uanset antallet af dage i en måned. Det vil blive forholdsmæssigt beregnet, hvis udskudt omsætning eller udgift ikke er bogfø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 markeret, oprettes direkte GL-poster for at bogføre udskudt omsætning eller udgift",
Show Inclusive Tax in Print,Vis inklusiv skat i tryk,
Only select this if you have set up the Cash Flow Mapper documents,"Vælg kun dette, hvis du har konfigureret Cash Flow Mapper-dokumenterne",
Payment Channel,Betalingskanal,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Er indkøbsordre påkrævet for indkøb af faktura og modtagelse af kvittering?,
Is Purchase Receipt Required for Purchase Invoice Creation?,Er købskvittering påkrævet for oprettelse af købsfaktura?,
Maintain Same Rate Throughout the Purchase Cycle,Oprethold samme hastighed gennem hele indkøbscyklussen,
Allow Item To Be Added Multiple Times in a Transaction,"Tillad, at varen tilføjes flere gange i en transaktion",
Suppliers,Leverandører,
Send Emails to Suppliers,Send e-mails til leverandører,
Select a Supplier,Vælg en leverandør,
Cannot mark attendance for future dates.,Kan ikke markere fremmøde til fremtidige datoer.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Vil du opdatere fremmøde?<br> Til stede: {0}<br> Fraværende: {1},
Mpesa Settings,Mpesa-indstillinger,
Initiator Name,Initiativtagernavn,
Till Number,Till nummer,
Sandbox,Sandkasse,
 Online PassKey,Online PassKey,
Security Credential,Sikkerhedsoplysninger,
Get Account Balance,Få kontosaldo,
Please set the initiator name and the security credential,Indstil initiatornavnet og sikkerhedsoplysningerne,
Inpatient Medication Entry,Indlæggelse af lægemiddelindlæg,
HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
Item Code (Drug),Varekode (narkotika),
Medication Orders,Medicinordrer,
Get Pending Medication Orders,Få ventende medicinordrer,
Inpatient Medication Orders,Indlæggelsesmedicinske ordrer,
Medication Warehouse,Medicinlager,
Warehouse from where medication stock should be consumed,"Lager, hvorfra medicinlager skal forbruges",
Fetching Pending Medication Orders,Henter afventende medicinordrer,
Inpatient Medication Entry Detail,Indlæggelsesdetalje for indlæggelse af medicin,
Medication Details,Medicinoplysninger,
Drug Code,Narkotikakode,
Drug Name,Lægemiddelnavn,
Against Inpatient Medication Order,Mod indlæggelsesmedicinsk ordre,
Against Inpatient Medication Order Entry,Mod indlæggelsesmedicinsk ordreindgang,
Inpatient Medication Order,Bestilling til indlæggelse af medicin,
HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
Total Orders,Samlede ordrer,
Completed Orders,Gennemførte ordrer,
Add Medication Orders,Tilføj medicinordrer,
Adding Order Entries,Tilføjelse af ordreindgange,
{0} medication orders completed,{0} medicinordrer afsluttet,
{0} medication order completed,{0} medicinordren er afsluttet,
Inpatient Medication Order Entry,Indlæggelse af ordre til indlæggelse af medicin,
Is Order Completed,Er ordren gennemført,
Employee Records to Be Created By,"Medarbejderoptegnelser, der skal oprettes af",
Employee records are created using the selected field,Medarbejderregistreringer oprettes ved hjælp af det valgte felt,
Don't send employee birthday reminders,Send ikke medarbejderens fødselsdagspåmindelser,
Restrict Backdated Leave Applications,Begræns Backdaterede orlovsapplikationer,
Sequence ID,Sekvens-ID,
Sequence Id,Sekvens Id,
Allow multiple material consumptions against a Work Order,Tillad flere materielle forbrug mod en arbejdsordre,
Plan time logs outside Workstation working hours,Planlæg tidslogfiler uden for arbejdstids arbejdstid,
Plan operations X days in advance,Planlæg operationer X dage i forvejen,
Time Between Operations (Mins),Tid mellem operationer (minutter),
Default: 10 mins,Standard: 10 minutter,
Overproduction for Sales and Work Order,Overproduktion til salg og arbejdsordre,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Opdater styklisteomkostninger automatisk via planlægger, baseret på den seneste værdiansættelsesrate / prislistehastighed / sidste købsrate for råvarer",
Purchase Order already created for all Sales Order items,"Indkøbsordre, der allerede er oprettet for alle salgsordrer",
Select Items,Vælg emner,
Against Default Supplier,Mod standardleverandør,
Auto close Opportunity after the no. of days mentioned above,Automatisk lukning af mulighed efter nr. af de ovennævnte dage,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Er salgsordre påkrævet for oprettelse af salgsfaktura og leveringsnote?,
Is Delivery Note Required for Sales Invoice Creation?,Er leveringsnote påkrævet for oprettelse af salgsfaktura?,
How often should Project and Company be updated based on Sales Transactions?,Hvor ofte skal Project og Company opdateres baseret på salgstransaktioner?,
Allow User to Edit Price List Rate in Transactions,Tillad bruger at redigere prislistehastighed i transaktioner,
Allow Item to Be Added Multiple Times in a Transaction,"Tillad, at varen tilføjes flere gange i en transaktion",
Allow Multiple Sales Orders Against a Customer's Purchase Order,Tillad flere salgsordrer mod en kundes indkøbsordre,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Valider salgsprisen for varen mod købs- eller vurderingssats,
Hide Customer's Tax ID from Sales Transactions,Skjul kundens skatte-id fra salgstransaktioner,
"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.","Den procentdel, du har lov til at modtage eller levere mere mod den bestilte mængde. For eksempel, hvis du har bestilt 100 enheder, og din kvote er 10%, har du lov til at modtage 110 enheder.",
Action If Quality Inspection Is Not Submitted,"Handling, hvis der ikke indsendes kvalitetsinspektion",
Auto Insert Price List Rate If Missing,"Indsæt automatisk prisliste, hvis der mangler",
Automatically Set Serial Nos Based on FIFO,Indstil automatisk serienumre baseret på FIFO,
Set Qty in Transactions Based on Serial No Input,Indstil antal i transaktioner baseret på seriel intet input,
Raise Material Request When Stock Reaches Re-order Level,"Hæv materialeanmodning, når lager når ombestillingsniveau",
Notify by Email on Creation of Automatic Material Request,Meddel via e-mail om oprettelse af automatisk materialeanmodning,
Allow Material Transfer from Delivery Note to Sales Invoice,Tillad materialeoverførsel fra leveringsnote til salgsfaktura,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Tillad væsentlig overførsel fra købskvittering til købsfaktura,
Freeze Stocks Older Than (Days),"Frys lager, der er ældre end (dage)",
Role Allowed to Edit Frozen Stock,Roll tilladt til at redigere frossen bestand,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Det ikke-allokerede beløb af betalingsindgang {0} er større end banktransaktionens ikke-tildelte beløb,
Payment Received,Betaling modtaget,
Attendance cannot be marked outside of Academic Year {0},Deltagelse kan ikke markeres uden for akademisk år {0},
Student is already enrolled via Course Enrollment {0},Studerende er allerede tilmeldt via kursusindmelding {0},
Attendance cannot be marked for future dates.,Deltagelse kan ikke markeres for fremtidige datoer.,
Please add programs to enable admission application.,Tilføj venligst programmer for at muliggøre optagelsesansøgning.,
The following employees are currently still reporting to {0}:,Følgende medarbejdere rapporterer i øjeblikket stadig til {0}:,
Please make sure the employees above report to another Active employee.,"Sørg for, at medarbejderne ovenfor rapporterer til en anden aktiv medarbejder.",
Cannot Relieve Employee,Kan ikke frigøre medarbejder,
Please enter {0},Indtast venligst {0},
Please select another payment method. Mpesa does not support transactions in currency '{0}',Vælg en anden betalingsmetode. Mpesa understøtter ikke transaktioner i valutaen &#39;{0}&#39;,
Transaction Error,Transaktionsfejl,
Mpesa Express Transaction Error,Mpesa Express-transaktionsfejl,
"Issue detected with Mpesa configuration, check the error logs for more details","Problem registreret med Mpesa-konfiguration, tjek fejllogfilerne for flere detaljer",
Mpesa Express Error,Mpesa Express-fejl,
Account Balance Processing Error,Fejl ved behandling af kontosaldo,
Please check your configuration and try again,"Kontroller din konfiguration, og prøv igen",
Mpesa Account Balance Processing Error,Fejl ved behandling af Mpesa-kontosaldo,
Balance Details,Balanceoplysninger,
Current Balance,Nuværende balance,
Available Balance,Disponibel saldo,
Reserved Balance,Reserveret saldo,
Uncleared Balance,Uklart balance,
Payment related to {0} is not completed,Betaling relateret til {0} er ikke afsluttet,
Row #{}: Item Code: {} is not available under warehouse {}.,Række nr. {}: Varekode: {} er ikke tilgængelig under lager {}.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Række nr. {}: Mængde på lager ikke til varekode: {} under lager {}. Tilgængelig mængde {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Række nr. {}: Vælg et serienummer og et parti mod varen: {} eller fjern det for at gennemføre transaktionen.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,"Række nr. {}: Intet serienummer er valgt mod elementet: {}. Vælg en, eller fjern den for at gennemføre transaktionen.",
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,"Række nr. {}: Der er ikke valgt nogen batch mod element: {}. Vælg et parti, eller fjern det for at gennemføre transaktionen.",
Payment amount cannot be less than or equal to 0,Betalingsbeløbet kan ikke være mindre end eller lig med 0,
Please enter the phone number first,Indtast først telefonnummeret,
Row #{}: {} {} does not exist.,Række nr. {}: {} {} Findes ikke.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Række nr. {0}: {1} kræves for at oprette de indledende {2} fakturaer,
You had {} errors while creating opening invoices. Check {} for more details,Du havde {} fejl under oprettelsen af åbningsfakturaer. Se {} for at få flere oplysninger,
Error Occured,Fejl opstået,
Opening Invoice Creation In Progress,Åbning af oprettelse af faktura i gang,
Creating {} out of {} {},Opretter {} ud af {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,"(Serienr.: {0}) kan ikke forbruges, da den er forbeholdt fuld udfylde salgsordre {1}.",
Item {0} {1},Vare {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Sidste lagertransaktion for vare {0} under lager {1} var den {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Lagertransaktioner for vare {0} under lager {1} kan ikke bogføres før dette tidspunkt.,
Posting future stock transactions are not allowed due to Immutable Ledger,Det er ikke tilladt at bogføre fremtidige aktietransaktioner på grund af Immutable Ledger,
A BOM with name {0} already exists for item {1}.,Der findes allerede en stykliste med navnet {0} for varen {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Omdøbte du varen? Kontakt administrator / teknisk support,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},I række nr. {0}: sekvens-id&#39;et {1} kan ikke være mindre end det foregående rækkefølge-id {2},
The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) skal være lig med {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, fuldfør operationen {1} før operationen {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,"Kan ikke sikre levering med serienummer, da vare {0} er tilføjet med og uden at sikre levering ved serienummer.",
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Vare {0} har ikke serienr. Kun serilialiserede varer kan leveres baseret på serienummer,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Ingen aktiv stykliste fundet for element {0}. Levering med serienr. Kan ikke sikres,
No pending medication orders found for selected criteria,Der blev ikke fundet nogen ventende medicinordrer til udvalgte kriterier,
From Date cannot be after the current date.,Fra dato kan ikke være efter den aktuelle dato.,
To Date cannot be after the current date.,Til dato kan ikke være efter den aktuelle dato.,
From Time cannot be after the current time.,Fra tid kan ikke være efter det aktuelle tidspunkt.,
To Time cannot be after the current time.,To Time kan ikke være efter det aktuelle tidspunkt.,
Stock Entry {0} created and ,Lagerpost {0} oprettet og,
Inpatient Medication Orders updated successfully,Indlægsmedicinske ordrer opdateret,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Række {0}: Kan ikke oprette indlæggelse af indlæggelsesmedicin mod annulleret bestilling af indlæggelsesmedicin {1},
Row {0}: This Medication Order is already marked as completed,Række {0}: Denne medicinordre er allerede markeret som afsluttet,
Quantity not available for {0} in warehouse {1},"Mængde, der ikke er tilgængeligt for {0} på lageret {1}",
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Aktivér Tillad negativ beholdning i lagerindstillinger, eller opret lagerindgang for at fortsætte.",
No Inpatient Record found against patient {0},Der blev ikke fundet nogen indlæggelsesjournal over patienten {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Der findes allerede en ordre om indlæggelse af medicin {0} mod patientmøde {1}.,
Allow In Returns,Tillad returnerer,
Hide Unavailable Items,Skjul ikke-tilgængelige poster,
Apply Discount on Discounted Rate,Anvend rabat på nedsat sats,
Therapy Plan Template,Terapiplan skabelon,
Fetching Template Details,Henter skabelondetaljer,
Linked Item Details,Sammenkædede varedetaljer,
Therapy Types,Terapi Typer,
Therapy Plan Template Detail,Terapi plan skabelon detaljer,
Non Conformance,Manglende overensstemmelse,
Process Owner,Proces ejer,
Corrective Action,Korrigerende handling,
Preventive Action,Forebyggende handling,
Problem,Problem,
Responsible,Ansvarlig,
Completion By,Afslutning af,
Process Owner Full Name,Processejerens fulde navn,
Right Index,Højre indeks,
Left Index,Venstre indeks,
Sub Procedure,Underprocedure,
Passed,Bestået,
Print Receipt,Udskriv kvittering,
Edit Receipt,Rediger kvittering,
Focus on search input,Fokuser på søgeinput,
Focus on Item Group filter,Fokuser på varegruppefilter,
Checkout Order / Submit Order / New Order,Kasseordre / Afgiv ordre / Ny ordre,
Add Order Discount,Tilføj ordrerabat,
Item Code: {0} is not available under warehouse {1}.,Varekode: {0} er ikke tilgængelig under lageret {1}.,
Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serienumre er ikke tilgængelige for vare {0} under lager {1}. Prøv at skifte lager.,
Fetched only {0} available serial numbers.,Hentede kun {0} tilgængelige serienumre.,
Switch Between Payment Modes,Skift mellem betalingsformer,
Enter {0} amount.,Indtast {0} beløb.,
You don't have enough points to redeem.,Du har ikke nok point til at indløse.,
You can redeem upto {0}.,Du kan indløse op til {0}.,
Enter amount to be redeemed.,"Indtast det beløb, der skal indløses.",
You cannot redeem more than {0}.,Du kan ikke indløse mere end {0}.,
Open Form View,Åbn formularvisning,
POS invoice {0} created succesfully,POS-faktura {0} oprettet med succes,
Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Lagermængde ikke nok til varekode: {0} under lager {1}. Tilgængelig mængde {2}.,
Serial No: {0} has already been transacted into another POS Invoice.,Serienr.: {0} er allerede blevet overført til en anden POS-faktura.,
Balance Serial No,Balance Serienr,
Warehouse: {0} does not belong to {1},Lager: {0} tilhører ikke {1},
Please select batches for batched item {0},Vælg batcher til batchvaren {0},
Please select quantity on row {0},Vælg antal på række {0},
Please enter serial numbers for serialized item {0},Indtast serienumre for serienummeret {0},
Batch {0} already selected.,Batch {0} er allerede valgt.,
Please select a warehouse to get available quantities,Vælg et lager for at få tilgængelige mængder,
"For transfer from source, selected quantity cannot be greater than available quantity",For overførsel fra kilde kan den valgte mængde ikke være større end den tilgængelige mængde,
Cannot find Item with this Barcode,Kan ikke finde element med denne stregkode,
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} er obligatorisk. Måske oprettes der ikke valutaudveksling for {1} til {2},
{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} har indsendt aktiver tilknyttet det. Du skal annullere aktiverne for at oprette køberetur.,
Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Dette dokument kan ikke annulleres, da det er knyttet til det indsendte aktiv {0}. Annuller det for at fortsætte.",
Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Række nr. {}: Serienr. {} Er allerede overført til en anden POS-faktura. Vælg gyldigt serienummer.,
Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Række nr. {}: Serienumre. {} Er allerede blevet overført til en anden POS-faktura. Vælg gyldigt serienummer.,
Item Unavailable,Varen er ikke tilgængelig,
Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Række nr. {}: Serienr. {} Kan ikke returneres, da den ikke blev behandlet i original faktura {}",
Please set default Cash or Bank account in Mode of Payment {},Indstil standard kontanter eller bankkonto i betalingsmetode {},
Please set default Cash or Bank account in Mode of Payments {},Angiv standard kontanter eller bankkonto i betalingsmetode {},
Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Sørg for, at {} kontoen er en balancekonto. Du kan ændre moderkontoen til en balancekonto eller vælge en anden konto.",
Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Sørg for, at {} kontoen er en konto, der skal betales. Skift kontotype til Betales, eller vælg en anden konto.",
Row {}: Expense Head changed to {} ,Række {}: Omkostningshoved ændret til {},
because account {} is not linked to warehouse {} ,fordi konto {} ikke er knyttet til lager {},
or it is not the default inventory account,eller det er ikke standardlagerkontoen,
Expense Head Changed,Omkostningshoved ændret,
because expense is booked against this account in Purchase Receipt {},fordi udgift bogføres på denne konto i købskvittering {},
as no Purchase Receipt is created against Item {}. ,da der ikke oprettes nogen købskvittering mod varen {}.,
This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Dette gøres for at håndtere bogføring af tilfælde, hvor købsmodtagelse oprettes efter købsfaktura",
Purchase Order Required for item {},Indkøbsordre påkrævet for vare {},
To submit the invoice without purchase order please set {} ,For at indsende fakturaen uden indkøbsordre skal du angive {},
as {} in {},som i {},
Mandatory Purchase Order,Obligatorisk indkøbsordre,
Purchase Receipt Required for item {},Købskvittering påkrævet for vare {},
To submit the invoice without purchase receipt please set {} ,For at indsende fakturaen uden købskvittering skal du angive {},
Mandatory Purchase Receipt,Obligatorisk købskvittering,
POS Profile {} does not belongs to company {},POS-profil {} tilhører ikke firma {},
User {} is disabled. Please select valid user/cashier,Bruger {} er deaktiveret. Vælg gyldig bruger / kasserer,
Row #{}: Original Invoice {} of return invoice {} is {}. ,Række nr. {}: Originalfaktura {} af returfaktura {} er {}.,
Original invoice should be consolidated before or along with the return invoice.,Originalfaktura skal konsolideres før eller sammen med returfakturaen.,
You can add original invoice {} manually to proceed.,Du kan tilføje originalfaktura {} manuelt for at fortsætte.,
Please ensure {} account is a Balance Sheet account. ,"Sørg for, at {} kontoen er en balancekonto.",
You can change the parent account to a Balance Sheet account or select a different account.,Du kan ændre moderkontoen til en balancekonto eller vælge en anden konto.,
Please ensure {} account is a Receivable account. ,"Sørg for, at {} kontoen er en konto, der kan modtages.",
Change the account type to Receivable or select a different account.,"Skift kontotype til Modtagelig, eller vælg en anden konto.",
{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} kan ikke annulleres, da de optjente loyalitetspoint er blevet indløst. Annuller først {} Nej {}",
already exists,eksisterer allerede,
POS Closing Entry {} against {} between selected period,POS-afslutningspost {} mod {} mellem den valgte periode,
POS Invoice is {},POS-faktura er {},
POS Profile doesn't matches {},POS-profil matcher ikke {},
POS Invoice is not {},POS-faktura er ikke {},
POS Invoice isn't created by user {},POS-faktura oprettes ikke af brugeren {},
Row #{}: {},Række nr. {}: {},
Invalid POS Invoices,Ugyldige POS-fakturaer,
Please add the account to root level Company - {},Føj kontoen til rodniveau Virksomhed - {},
"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Under oprettelsen af en konto til Child Company {0} blev forældrekontoen {1} ikke fundet. Opret forældrekontoen i den tilsvarende COA,
Account Not Found,Konto ikke fundet,
"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Under oprettelsen af en konto til Child Company {0} blev forældrekontoen {1} fundet som en hovedkontokonto.,
Please convert the parent account in corresponding child company to a group account.,Konverter moderkontoen i det tilsvarende underordnede selskab til en gruppekonto.,
Invalid Parent Account,Ugyldig moderkonto,
"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Omdøbning er kun tilladt via moderselskabet {0} for at undgå uoverensstemmelse.,
"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Hvis du {0} {1} mængder af varen {2}, anvendes ordningen {3} på varen.",
"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Hvis du {0} {1} har værdi {2}, anvendes ordningen {3} på varen.",
"As the field {0} is enabled, the field {1} is mandatory.","Da feltet {0} er aktiveret, er feltet {1} obligatorisk.",
"As the field {0} is enabled, the value of the field {1} should be more than 1.","Da feltet {0} er aktiveret, skal værdien af feltet {1} være mere end 1.",
Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Kan ikke levere serienummer {0} af varen {1}, da den er forbeholdt fuldt udfyldt salgsordre {2}",
"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Salgsordre {0} har reservation for varen {1}, du kan kun levere reserveret {1} mod {0}.",
{0} Serial No {1} cannot be delivered,{0} Serienummer {1} kan ikke leveres,
Row {0}: Subcontracted Item is mandatory for the raw material {1},Række {0}: Vare i underentreprise er obligatorisk for råmaterialet {1},
"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Da der er tilstrækkelige råmaterialer, kræves der ikke materialeanmodning til lager {0}.",
" If you still want to proceed, please enable {0}.","Hvis du stadig vil fortsætte, skal du aktivere {0}.",
The item referenced by {0} - {1} is already invoiced,"Den vare, der henvises til af {0} - {1}, faktureres allerede",
Therapy Session overlaps with {0},Terapisession overlapper med {0},
Therapy Sessions Overlapping,Terapisessioner overlapper hinanden,
Therapy Plans,Terapiplaner,
"Item Code, warehouse, quantity are required on row {0}","Varekode, lager, antal kræves i række {0}",
Get Items from Material Requests against this Supplier,Få varer fra materialeanmodninger mod denne leverandør,
Enable European Access,Aktiver europæisk adgang,
Creating Purchase Order ...,Opretter indkøbsordre ...,
"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.","Vælg en leverandør fra standardleverandørerne af nedenstående varer. Ved valg foretages en indkøbsordre kun mod varer, der tilhører den valgte leverandør.",
Row #{}: You must select {} serial numbers for item {}.,Række nr. {}: Du skal vælge {} serienumre for varen {}.,
Add Comment,Tilføj kommentar,
More...,Mere...,
Notes,Noter,
Payment Gateway,Betaling Gateway,
Payment Gateway Name,Betalings gateway navn,
Payments,Betalinger,
Plan Name,Plan navn,
Portal,Portal,
Scan Barcode,Scan stregkode,
Some information is missing,Der mangler nogle oplysninger,
Successful,Vellykket,
Tools,Værktøj,
Use Sandbox,Brug Sandbox,
Busy,Travl,
Completed By,Færdiggjort af,
Payment Failed,Betaling mislykkedes,
Column {0},Kolonne {0},
Field Mapping,Feltkortlægning,
Not Specified,Ikke specificeret,
Update Type,Opdateringstype,
Dr,Dr.,
End Time,End Time,
Fetching...,Henter ...,
"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.",Det ser ud som om der er et problem med serverens stribekonfiguration. I tilfælde af fejl bliver beløbet refunderet til din konto.,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Ligner nogen har sendt dig til en ufuldstændig webadresse. Spørg dem om at se på det.,
Master,Master,
Pay,Betale,
You can also copy-paste this link in your browser,Du kan også kopiere-indsætte dette link i din browser,
Verified By,Bekræftet af,
Invalid naming series (. missing) for {0},Ugyldig navneserie (. Mangler) for {0},
Phone Number,Telefonnummer,
Account SID,Konto SID,
Global Defaults,Globale indstillinger,
Is Mandatory,Er obligatorisk,
WhatsApp,WhatsApp,
Make a call,Ringe,
Approve,Godkende,
Reject,Afvise,
