"""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 FB 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 overridden,"Vil også gælde for varianter, medmindre overridden",
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,
