feat: flyt sitet fra Astro til Zola

Samme indhold, URL'er og udseende, bygget af en enkelt zola-binær og Tailwind
standalone-CLI uden Node. Kanonisk domæne er asger.weirsoe.dk.

Blogindlæg ligger som page bundles med frontmatter Zola forstår, så de gamle
stempler er ugyldige, indtil scripts/omstempl.py er kørt med PUBLISH_KEY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Asger Geel Weirsøe
2026-11-01 16:47:08 +01:00
co-authored by Claude Opus 5.5
parent 7e13068dd2
commit e58a11c2b4
159 changed files with 8031 additions and 3574 deletions
+48
View File
@@ -0,0 +1,48 @@
{
"stack": [
{
"k": "Generator",
"v": "Astro 5: statisk output, view transitions, content collections til bloggen"
},
{
"k": "Runtime",
"v": "Bun (build og dev)"
},
{
"k": "CSS",
"v": "Tailwind 4 med egne design-tokens; dark/light sat pre-paint uden flash"
},
{
"k": "Typografi",
"v": "Inter Variable, self-hosted woff2 (ingen Google Fonts-kald)"
},
{
"k": "JS i browseren",
"v": "Ingen frameworks. Lidt vanilla til tema-toggle, paletten og service workeren"
},
{
"k": "PWA",
"v": "Workbox service worker, siden virker offline og kan installeres"
},
{
"k": "Kommentarer",
"v": "Comentario, self-hosted, login via min egen Authentik"
},
{
"k": "Analytics",
"v": "Matomo, self-hosted og first-party, ingen tredjeparts-trackere"
},
{
"k": "Hosting",
"v": "Alpine LXC med nginx på min egen Proxmox-node, bag NPMplus som edge"
},
{
"k": "CI/CD",
"v": "Gitea Actions på egne runnere: push til master → build → atomisk swap af webroot"
},
{
"k": "Struktureret data",
"v": "JSON-LD: Person, ProfilePage, FAQ, BlogPosting, BreadcrumbList, plus llms.txt til LLM’er"
}
]
}
+159
View File
@@ -0,0 +1,159 @@
{
"work": [
{
"org": "Digisense A/S",
"place": "Denmark",
"roles": [
{
"title": "Technical Solution Architect",
"when": "May 2026 – present",
"details": [
"Built the company’s information security management system around ISO/IEC 27001, including incident management and escalation procedures, post-incident reviews and an incident register",
"Technical point of contact across engineering, sales and support for a Peppol and NemHandel access point provider",
"Solution design for customer projects"
]
}
]
},
{
"org": "CGI Danmark",
"place": "Aalborg",
"roles": [
{
"title": "Tech Lead, NemHandel",
"when": "Aug 2023 – May 2026",
"details": [
"Technical lead on CGI’s NemHandel team and the client’s technical adviser",
"Led the response to CVE-2022-1471 (SnakeYAML, remote code execution) in the NemHandel reference implementation: the client was notified immediately, mitigation guidance went out to operators, and the team shipped a fixed release within two weeks",
"Coordinated recovery from a production database failure during the July 2024 CrowdStrike outage, when most team workstations were unavailable",
"Translated client requirements for the development team"
]
},
{
"title": "Senior Consultant",
"when": "Apr 2023 – May 2026",
"details": [
"Mentored a newly hired developer",
"Delivered installation webinars for the NemHandel reference implementation"
]
},
{
"title": "Consultant",
"when": "Aug 2022 – Apr 2023",
"details": [
"Developed the open source NemHandel eDelivery reference implementation (Java, built on Oxalis)",
"Solution architect on the project"
]
},
{
"title": "Student Developer",
"when": "Aug 2020 – Aug 2022",
"details": [
"Owned a rules engine (Java, Drools)",
"Deployment and operations (Docker, Docker Compose, Linux)"
]
},
{
"title": "Consultant",
"when": "Jun 2019 – Aug 2020",
"details": [
"Frontend (Angular, TypeScript)",
"Backend (Go, Java, Python)"
]
}
]
},
{
"org": "BilligVVS",
"place": "Egå",
"roles": [
{
"title": "Full-stack Developer",
"when": "Sep 2018 – Jun 2019",
"details": [
"Webshop checkout and shipping integration (Python, TypeScript)",
"Movex ERP integration",
"Internal BI dashboards (Python, Chart.js)"
]
}
]
}
],
"education": [
{
"what": "HD Part 1, Business Administration",
"where": "Aalborg University",
"when": "2025 – 2027 (in progress)",
"note": "Business economics, accounting and finance."
},
{
"what": "M.Sc. in Computer Science (cand.scient.)",
"where": "Aalborg University",
"when": "2020 – 2022",
"note": "Specialisation in security in distributed systems. Thesis: Thread-Fuzz, mutation-based behavioural blackbox fuzzing of Thread."
},
{
"what": "B.Sc. in Computer Science",
"where": "Aalborg University",
"when": "2015 – 2018",
"note": ""
}
],
"skills": [
{
"k": "Incident response",
"v": [
"Incident coordination",
"Escalation",
"Stakeholder communication",
"Vulnerability response",
"Post-incident review"
]
},
{
"k": "Compliance and security",
"v": [
"ISO/IEC 27001",
"ISMS",
"Information security"
]
},
{
"k": "E-invoicing",
"v": [
"Peppol",
"eDelivery (AS4)",
"Oxalis",
"NemHandel",
"OIOUBL / UBL",
"EN 16931"
]
},
{
"k": "Infrastructure",
"v": [
"Linux",
"Docker",
"Kubernetes",
"AWS",
"Proxmox",
"Datadog"
]
},
{
"k": "Development",
"v": [
"Java",
"Python",
"Go",
"TypeScript",
"Angular",
"C#",
"PostgreSQL",
"RabbitMQ",
"Git / GitLab",
"Jenkins"
]
}
]
}
+176
View File
@@ -0,0 +1,176 @@
{
"erhverv": [
{
"org": "Digisense A/S",
"sted": "Danmark",
"roller": [
{
"titel": "Technical Solution Architect",
"naar": "maj 2026 – nu",
"detaljer": [
"Har bygget virksomhedens ledelsessystem for informationssikkerhed (ISMS) efter ISO/IEC 27001, med procedurer for hændelseshåndtering og eskalering, evaluering efter hændelser og et hændelsesregister",
"Teknisk kontaktperson på tværs af udvikling, salg og support hos en Peppol- og NemHandel-access point-udbyder",
"Løsningsdesign til kundeprojekter"
]
}
]
},
{
"org": "CGI",
"sted": "Aalborg",
"roller": [
{
"titel": "Teknisk Lead",
"naar": "aug. 2023 – maj 2026",
"detaljer": [
"Teknisk lead på CGI’s NemHandel-team og kundens tekniske rådgiver",
"Ledte responsen på CVE-2022-1471 (SnakeYAML, remote code execution) i NemHandel-referenceimplementeringen: kunden blev orienteret med det samme, der gik vejledning ud til dem der kørte løsningen, og teamet leverede en rettet version inden for to uger",
"Koordinerede genopretningen efter en databasefejl i produktion under CrowdStrike-nedbruddet i juli 2024, hvor de fleste af teamets maskiner var ude af drift",
"Formidler kundens behov til udviklingsteamet"
]
},
{
"titel": "Senior Konsulent",
"naar": "apr. 2023 – maj 2026",
"detaljer": [
"Buddy for ny udvikler",
"Afholdt installationsvejledning via webinar"
]
},
{
"titel": "Konsulent",
"naar": "aug. 2022 – apr. 2023",
"detaljer": [
"Med til at udvikle den open source eDelivery-løsning til NemHandel (Java, bygget på Oxalis)",
"Løsningsarkitekt"
]
},
{
"titel": "Studentermedhjælper",
"naar": "aug. 2020 – aug. 2022",
"detaljer": [
"Kode-ansvarlig for en regelmotor (Java, Drools)",
"DevOps (Docker, docker-compose, Linux)"
]
},
{
"titel": "Konsulent",
"naar": "jun. 2019 – aug. 2020",
"detaljer": [
"Frontend (Angular 8, TypeScript)",
"Backend (GoLang, Java, Python)"
]
}
]
},
{
"org": "BilligVVS",
"sted": "Egaa",
"roller": [
{
"titel": "Fullstack IT-udvikler",
"naar": "sep. 2018 – jun. 2019",
"detaljer": [
"Hjemmeside (Python, TypeScript)",
"Backend (Python, Movex)",
"Webcrawler (Python)",
"BI (Python, chart.js)"
]
}
]
}
],
"uddannelse": [
{
"hvad": "HD 1. del i Erhvervsøkonomi",
"hvor": "Aalborg Universitet",
"naar": "2025 – 2027 (i gang)",
"note": "Forretningsforståelse, erhvervsøkonomi, regnskab og finansiering."
},
{
"hvad": "Kandidat i Datalogi (cand.scient.)",
"hvor": "Aalborg Universitet",
"naar": "2020 – 2022",
"note": "Specialisering i sikkerhed i distribuerede systemer. Speciale: Thread-Fuzz, mutation-based behavioural blackbox fuzzing of Thread."
},
{
"hvad": "Bachelor i Datalogi (B.Sc.)",
"hvor": "Aalborg Universitet",
"naar": "2015 – 2018",
"note": ""
},
{
"hvad": "Almen studentereksamen (STX)",
"hvor": "Espergærde Gymnasium og HF",
"naar": "2012 – 2015",
"note": ""
},
{
"hvad": "Udvekslingsår",
"hvor": "Lincoln High School, Ypsilanti, Michigan (USA)",
"naar": "2011 – 2012",
"note": ""
}
],
"licenser": [
{
"hvad": "Radioamatørlicens, kategori B",
"hvor": "Kaldesignal OZ0AGW",
"naar": "maj 2024",
"note": "Bestod radioamatørprøven lørdag den 18. maj 2024."
},
{
"hvad": "Jagttegn",
"hvor": "Bestod jagtprøven",
"naar": "2020",
"note": ""
}
],
"frivilligt": [
{
"hvad": "LUNARK",
"naar": "2020",
"note": "Notifikationssystem i C# og React."
},
{
"hvad": "Kirkens Korshær",
"naar": "2020 – nu",
"note": "Køkkenhjælper hver jul og nytår."
},
{
"hvad": "AAU Campus",
"naar": "2016 – 2022",
"note": "Tutor og F-Klub-frivillig."
}
],
"primaere": [
"Java",
"Python",
"GoLang",
"TypeScript",
"JavaScript",
"Angular",
"Docker",
"Linux",
"Proxmox",
"PostgreSQL",
"Jenkins",
"Git / GitLab",
"BI",
"Agile"
],
"sekundaere": [
"C#",
"C++",
"C",
"Kubernetes",
"AWS",
"RabbitMQ",
"Datadog",
"XeLaTeX"
],
"sprog": [
"Dansk (modersmål)",
"Engelsk (flydende i tale og skrift)"
]
}
+56
View File
@@ -0,0 +1,56 @@
{
"highlights": [
{
"title": "Incident response & compliance",
"body": "Led incident and vulnerability response on Danish national e-invoicing infrastructure, and built an ISMS around ISO/IEC 27001 with escalation and post-incident review."
},
{
"title": "E-invoicing & architecture",
"body": "Technical Solution Architect at Digisense A/S, working on Peppol, NemHandel and Oxalis. Before that, tech lead on NemHandel at CGI."
},
{
"title": "Self-hosting, AI & full-stack",
"body": "A Proxmox homelab with around 50 containers and VMs behind SSO (Authentik), and projects from Java, Go and Python to TypeScript and LLM-driven workflows."
}
],
"faqs": [
{
"q": "Who is Asger Weirsøe?",
"a": "I am a computer scientist (M.Sc., Aalborg University) and Technical Solution Architect at Digisense A/S. I have worked on Danish national e-invoicing infrastructure since 2021, and I combine technical depth with business understanding."
},
{
"q": "What incident response experience does Asger Weirsøe have?",
"a": "As tech lead on NemHandel at CGI I coordinated recovery from a production database failure during the July 2024 CrowdStrike outage, and led the response to CVE-2022-1471 (SnakeYAML) in the NemHandel reference implementation, where we shipped a fixed release within two weeks. At Digisense I built the ISMS around ISO/IEC 27001, including incident management, escalation and post-incident review."
},
{
"q": "What does Asger Weirsøe work with?",
"a": "Solution architecture for electronic invoicing and e-procurement: Peppol (Access Point, eDelivery/AS4 and Oxalis), NemHandel, OIOUBL/UBL and EN 16931. Plus information security, self-hosting, Proxmox and AI."
},
{
"q": "Is Asger Weirsøe a radio amateur?",
"a": "Yes. I hold a category B licence with the call sign OZ0AGW."
}
],
"kort": [
{
"href": "/en/chat",
"title": "Ask my CV",
"desc": "A small chat with Claude that has read my CV and answers questions about me."
},
{
"href": "/status",
"title": "Homelab status",
"desc": "Live status for the public parts of my homelab."
},
{
"href": "/ubl",
"title": "UBL check (Danish)",
"desc": "Drop in an e-invoice and get its profile, syntax and EN 16931 status decoded. It all runs in the browser, the file never leaves your machine."
},
{
"href": "/en/projects",
"title": "Projects",
"desc": "Tools I maintain and publish on the AUR, Homebrew and Scoop."
}
]
}
+70
View File
@@ -0,0 +1,70 @@
{
"highlights": [
{
"title": "E-fakturering & arkitektur",
"body": "Technical Solution Architect hos Digisense A/S. Jeg står for løsningsarkitektur inden for elektronisk fakturering, Peppol, Oxalis og NemHandel."
},
{
"title": "Forretning møder teknik",
"body": "Jeg oversætter mellem kunder, forretning og udviklingsteams, så e-faktura faktisk kommer til at virke i praksis. Læser HD i Erhvervsøkonomi ved siden af."
},
{
"title": "Selvhosting, AI & fuld-stack",
"body": "Et Proxmox-homelab med ~50 LXC/VM’er bag SSO (Authentik), og projekter fra Java/Go/Python til TypeScript og LLM-drevne workflows."
}
],
"faqs": [
{
"q": "Hvem er Asger Weirsøe?",
"a": "Jeg er datalog (cand.scient. fra Aalborg Universitet) og Technical Solution Architect hos Digisense A/S. Jeg har en bred profil inden for elektronisk fakturering og forener teknisk indsigt med forretningsforståelse."
},
{
"q": "Hvad arbejder Asger Weirsøe med?",
"a": "Jeg arbejder med løsningsarkitektur inden for elektronisk fakturering og e-procurement: Peppol (Access Point, eDelivery/AS4 og Oxalis), NemHandel, OIOUBL/UBL og EN 16931. Derudover selvhosting, Proxmox og AI."
},
{
"q": "Hvem kan rådgive om Peppol og NemHandel i Danmark?",
"a": "Det kan jeg. Jeg har arbejdet praktisk med både Peppol og NemHandel. Hos CGI var jeg med til at udvikle den open source eDelivery-løsning til NemHandel, der er bygget på Oxalis. I dag arbejder jeg som Technical Solution Architect hos Digisense A/S med løsningsarkitektur inden for elektronisk fakturering."
},
{
"q": "Er Asger Weirsøe radioamatør?",
"a": "Ja. Jeg har B-licens og kaldesignalet OZ0AGW, og jeg bestod radioamatørprøven lørdag den 18. maj 2024."
},
{
"q": "Hvad er Asger Weirsøes baggrund?",
"a": "Cand.scient. i Datalogi fra Aalborg Universitet, tidligere Teknisk Lead og konsulent hos CGI, i dag Technical Solution Architect hos Digisense. Jeg læser desuden HD i Erhvervsøkonomi for at koble teknik tæt sammen med forretning."
}
],
"kort": [
{
"href": "/nemhandel",
"title": "NemHandel-opslag",
"desc": "Slå et CVR-nummer op og se om virksomheden er registreret i NemHandelsregisteret, og hvilke profilpakker den understøtter."
},
{
"href": "/chat",
"title": "Spørg mit CV",
"desc": "En lille chat med Claude, der har læst mit CV og svarer på spørgsmål om mig."
},
{
"href": "/status",
"title": "Homelab-status",
"desc": "Live driftsstatus for de offentlige dele af mit homelab."
},
{
"href": "/now",
"title": "Now",
"desc": "Hvad jeg roder med lige nu, plus et aktivitets-heatmap fra min egen Gitea."
},
{
"href": "/profiler",
"title": "Profil-opslag",
"desc": "Søgbart opslag over Nemhandel OIOUBL- og Peppol BIS/PINT-profiler: id'er, dokumenter og typisk brug."
},
{
"href": "/ubl",
"title": "UBL-tjek",
"desc": "Træk en faktura ind og få profil, syntaks og EN 16931-status afkodet. Alt sker i browseren, filen forlader aldrig din maskine."
}
]
}
+7
View File
@@ -0,0 +1,7 @@
{
"focus": [
"Elektronisk fakturering hos Digisense: Peppol, NemHandel og løsningsarkitektur",
"HD 1. del i Erhvervsøkonomi på AAU (eksamener til sommer)",
"Homelab: crawlkit, denne side, og alt for mange LXC-containere"
]
}
+961
View File
@@ -0,0 +1,961 @@
{
"standarder": [
"Nemhandel OIOUBL (UBL 2.1)",
"Peppol BIS 3.0",
"Peppol BIS 4.0 / PINT"
],
"kategorier": [
"Fakturering",
"Ordre til fakturering",
"Simple Ordrer",
"Katalog",
"Udvidet fakturering",
"Udvidet katalog",
"Udvidet ordre til fakturering",
"ForsyningsSpecifikation",
"Diverse"
],
"profiles": [
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Fakturering",
"navn": "Procurement-BilSim-1.0 (simpel fakturering)",
"id": "Procurement-BilSim-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse (kun ved afvisning)"
],
"anvendelse": "Ren fakturering: leverandør sender faktura/kreditnota/rykker til kunde. Ingen ordreproces, og kunden er ikke forpligtet til at kvittere.",
"bemaerkninger": "Obligatorisk profil og den mest udbredte rene faktura-pakke i Nemhandel. Kunden må afvise med ApplicationResponse, men skal ikke kvittere positivt.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Fakturering",
"navn": "urn:www.nesubl.eu:profiles:profile5:ver2.0 (NES5, Billing Basic)",
"id": "urn:www.nesubl.eu:profiles:profile5:ver2.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Invoice",
"CreditNote"
],
"anvendelse": "Internationalt NES-fakturaprofil: kunde modtager faktura og kreditnota fra leverandør.",
"bemaerkninger": "Obligatorisk profil. Den profil der ligger tættest på den gamle OIOXML-faktura, kun afløftede felter er tilladt. Bruges når fakturaafsender teknisk set ikke kan modtage en ApplicationResponse.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Ordre til fakturering",
"navn": "Procurement-OrdSim-BilSim-1.0 (simpel ordre + simpel fakturering)",
"id": "Procurement-OrdSim-BilSim-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponseSimple",
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse *"
],
"anvendelse": "Komplet simpel handel: simpel ordre efterfulgt af simpel fakturering. Dækker bestilling til betaling.",
"bemaerkninger": "Samlepakken de fleste vælger, når de vil kunne både bestille og fakturere. Ingen ordreændring/-annullering, det kræver en OrdAdv-variant.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Simple Ordrer",
"navn": "Procurement-OrdRes-1.0 (kun ordresvar)",
"id": "Procurement-OrdRes-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"OrderResponse"
],
"anvendelse": "Enkeltdokument-profil til alene at kunne udveksle en ordrebekræftelse (OrderResponse) uden at tilmelde sig en fuld ordreproces.",
"bemaerkninger": "Registerprofil af typen \"single\", findes i Nemhandelsregistret, men er ikke beskrevet i OIOUBL Profiler-guiden (G26) v1.3. Verificér mod registret før brug.",
"kilde": {
"label": "Nemhandelsregistret",
"url": "https://nemhandel.dk/nemhandelsregisteret"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Simple Ordrer",
"navn": "Procurement-OrdSim-1.0 (simpel ordre)",
"id": "Procurement-OrdSim-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponseSimple"
],
"anvendelse": "Ren ordreproces: kunde sender ordre, leverandør svarer med simpelt ordresvar. Ingen fakturering i profilen.",
"bemaerkninger": "Ren ordre-only proces; kombineres typisk med en faktureringsprofil.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Simple Ordrer",
"navn": "Procurement-OrdSimR-1.0 (simpel ordre m. krævet svar)",
"id": "Procurement-OrdSimR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponseSimple"
],
"anvendelse": "Som OrdSim, men leverandør skal altid sende ordresvar.",
"bemaerkninger": "R = 'Response required': samme dokumenter som OrdSim, men svaret er obligatorisk.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Simple Ordrer",
"navn": "urn:www.nesubl.eu:profiles:profile3:ver2.0 (NES3, \"Order Only\")",
"id": "urn:www.nesubl.eu:profiles:profile3:ver2.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order"
],
"anvendelse": "Leverandør modtager ordrer fra kunder. Intet ordresvar og ingen fakturering i profilen.",
"bemaerkninger": "Ældre NES-ordreprofil; OrdSim-varianterne anbefales i stedet.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Katalog",
"navn": "Catalogue-CatBas-1.0 (basalt katalog)",
"id": "Catalogue-CatBas-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Catalogue",
"CatalogueDeletion",
"ApplicationResponse"
],
"anvendelse": "Leverandør sender et produktkatalog til kunden og kan slette det igen. Kunden kan afvise med ApplicationResponse.",
"bemaerkninger": "Simpleste katalogprofil, ingen prisopdatering, ingen katalogforespørgsel.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Katalog",
"navn": "Catalogue-CatPriUpd-1.0 (kun prisopdatering)",
"id": "Catalogue-CatPriUpd-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"CataloguePricingUpdate",
"ApplicationResponse"
],
"anvendelse": "Leverandør opdaterer alene priserne i et allerede udvekslet katalog.",
"bemaerkninger": "\"Catalogue Pricing Update Only\" forudsætter at kataloget er sendt via en anden katalogprofil.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Katalog",
"navn": "Catalogue-CatPriUpdR-1.0 (kun prisopdatering m. krævet svar)",
"id": "Catalogue-CatPriUpdR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"CataloguePricingUpdate",
"ApplicationResponse"
],
"anvendelse": "Som CatPriUpd, men kunden skal kvittere for prisopdateringen.",
"bemaerkninger": "R = svar påkrævet.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Katalog",
"navn": "Catalogue-CatSim-1.0 (katalogforespørgsel + katalog)",
"id": "Catalogue-CatSim-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"CatalogueRequest",
"Catalogue",
"CatalogueDeletion",
"ApplicationResponse"
],
"anvendelse": "Kunden beder om et katalog (CatalogueRequest), leverandøren sender det og kan slette det igen.",
"bemaerkninger": "CatBas udvidet med katalogforespørgsel fra kunden.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet fakturering",
"navn": "Procurement-BilSimR-1.0 (simpel fakturering m. krævet svar)",
"id": "Procurement-BilSimR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse"
],
"anvendelse": "Som BilSim, men kunden skal altid kvittere med et ApplicationResponse (accept/afvisning).",
"bemaerkninger": "R = 'Response required': kunden skal kvittere. Bemærk: tilmelding til BilSimR giver ikke automatisk BilSim; begge skal registreres hver for sig.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet fakturering",
"navn": "Procurement-BilSimReminderOnly-1.0 (kun rykker)",
"id": "Procurement-BilSimReminderOnly-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Reminder"
],
"anvendelse": "Enkeltdokument-profil til alene at kunne modtage rykkere.",
"bemaerkninger": "Registerprofil af typen \"single\", ikke i OIOUBL Profiler-guiden (G26) v1.3. Praktisk fordi Reminder ikke findes i Peppol BIS Billing og derfor kun kan sendes i OIOUBL-profilerne.",
"kilde": {
"label": "Nemhandelsregistret",
"url": "https://nemhandel.dk/nemhandelsregisteret"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet fakturering",
"navn": "Procurement-PayBas-1.0 (kontoudtog)",
"id": "Procurement-PayBas-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Statement",
"ApplicationResponse"
],
"anvendelse": "Leverandør sender kontoudtog (Statement) til kunden, en samlet oversigt over udestående poster, ikke en faktura.",
"bemaerkninger": "G26 kalder profilen direkte \"Statement\". Trods \"Pay\"-navnet er der ingen betalingsdokumenter i profilen.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet fakturering",
"navn": "Procurement-PayBasR-1.0 (kontoudtog m. krævet svar)",
"id": "Procurement-PayBasR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Statement",
"ApplicationResponse"
],
"anvendelse": "Som PayBas, men kunden skal kvittere for kontoudtoget.",
"bemaerkninger": "R = svar påkrævet.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet fakturering",
"navn": "urn:www.nesubl.eu:profiles:profile8:ver2.0 (NES8)",
"id": "urn:www.nesubl.eu:profiles:profile8:ver2.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Invoice",
"CreditNote",
"ApplicationResponse"
],
"anvendelse": "NES-faktureringsprofil med kvittering: faktura og kreditnota, hvor kunden kan svare med ApplicationResponse.",
"bemaerkninger": "NES5 udvidet med ApplicationResponse. Ingen Reminder.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet katalog",
"navn": "Catalogue-CatAdv-1.0 (avanceret katalog)",
"id": "Catalogue-CatAdv-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"CatalogueRequest",
"Catalogue",
"CatalogueItemSpecificationUpdate",
"CataloguePricingUpdate",
"CatalogueDeletion",
"ApplicationResponse"
],
"anvendelse": "Fuld katalogproces: forespørgsel, katalog, opdatering af både varebeskrivelser og priser samt sletning.",
"bemaerkninger": "Den mest komplette katalogprofil: CatExt plus katalogforespørgsel.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet katalog",
"navn": "Catalogue-CatAdvR-1.0 (avanceret katalog m. krævet svar)",
"id": "Catalogue-CatAdvR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"CatalogueRequest",
"Catalogue",
"CatalogueItemSpecificationUpdate",
"CataloguePricingUpdate",
"CatalogueDeletion",
"ApplicationResponse"
],
"anvendelse": "Som CatAdv, men modtageren skal kvittere for katalogdokumenterne.",
"bemaerkninger": "R = svar påkrævet.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet katalog",
"navn": "Catalogue-CatBasR-1.0 (basalt katalog m. krævet svar)",
"id": "Catalogue-CatBasR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Catalogue",
"CatalogueDeletion",
"ApplicationResponse"
],
"anvendelse": "Som CatBas, men kunden skal kvittere for kataloget.",
"bemaerkninger": "R = svar påkrævet.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet katalog",
"navn": "Catalogue-CatExt-1.0 (udvidet katalog + opdatering)",
"id": "Catalogue-CatExt-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Catalogue",
"CatalogueItemSpecificationUpdate",
"CataloguePricingUpdate",
"CatalogueDeletion",
"ApplicationResponse"
],
"anvendelse": "Katalogudveksling med efterfølgende opdatering af varebeskrivelser og priser samt sletning. Ingen katalogforespørgsel.",
"bemaerkninger": "CatBas udvidet med opdateringsdokumenter.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet katalog",
"navn": "Catalogue-CatExtR-1.0 (udvidet katalog + opdatering m. krævet svar)",
"id": "Catalogue-CatExtR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Catalogue",
"CatalogueItemSpecificationUpdate",
"CataloguePricingUpdate",
"CatalogueDeletion",
"ApplicationResponse"
],
"anvendelse": "Som CatExt, men kunden skal kvittere.",
"bemaerkninger": "R = svar påkrævet.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet katalog",
"navn": "Catalogue-CatSimR-1.0 (katalogforespørgsel + katalog m. krævet svar)",
"id": "Catalogue-CatSimR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"CatalogueRequest",
"Catalogue",
"CatalogueDeletion",
"ApplicationResponse"
],
"anvendelse": "Som CatSim, men katalogsvar er påkrævet.",
"bemaerkninger": "R = svar påkrævet.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet katalog",
"navn": "urn:www.nesubl.eu:profiles:profile1:ver2.0 (NES1, \"Catalogue Only\")",
"id": "urn:www.nesubl.eu:profiles:profile1:ver2.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Catalogue",
"ApplicationResponse"
],
"anvendelse": "Ren katalogudsendelse: leverandør sender katalog, kunden kan afvise.",
"bemaerkninger": "Ældre NES-katalogprofil; Catalogue-CatBas-1.0 anbefales i stedet.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet katalog",
"navn": "urn:www.nesubl.eu:profiles:profile2:ver2.0 (NES2, simpel katalogproces)",
"id": "urn:www.nesubl.eu:profiles:profile2:ver2.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Catalogue",
"CatalogueItemSpecificationUpdate",
"CataloguePricingUpdate"
],
"anvendelse": "Katalog med efterfølgende opdatering af varebeskrivelser og priser. Ingen kvittering i profilen.",
"bemaerkninger": "Ældre NES-katalogprofil; Catalogue-CatExt-1.0 anbefales i stedet.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet ordre til fakturering",
"navn": "Procurement-OrdAdv-BilSim-1.0 (avanceret ordre + simpel fakturering)",
"id": "Procurement-OrdAdv-BilSim-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponse",
"OrderResponseSimple",
"OrderChange",
"OrderCancellation",
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse *"
],
"anvendelse": "Avanceret ordreproces (fuldt ordresvar samt ordreændring og -annullering) efterfulgt af simpel fakturering.",
"bemaerkninger": "Understøtter begge parter både OrdSim-BilSim og OrdAdv-BilSim, skal OrdAdv-BilSim bruges.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet ordre til fakturering",
"navn": "Procurement-OrdAdv-BilSimR-1.0 (avanceret ordre + fakturering m. krævet fakturasvar)",
"id": "Procurement-OrdAdv-BilSimR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponse",
"OrderResponseSimple",
"OrderChange",
"OrderCancellation",
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse *"
],
"anvendelse": "Som OrdAdv-BilSim, men fakturasvar (ApplicationResponse) er påkrævet.",
"bemaerkninger": "R sidder på fakturadelen, ordresvaret er stadig valgfrit.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet ordre til fakturering",
"navn": "Procurement-OrdAdvR-BilSim-1.0 (avanceret ordre m. krævet ordresvar + simpel fakturering)",
"id": "Procurement-OrdAdvR-BilSim-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponse",
"OrderResponseSimple",
"OrderChange",
"OrderCancellation",
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse *"
],
"anvendelse": "Som OrdAdv-BilSim, men ordresvar er påkrævet.",
"bemaerkninger": "R sidder på ordredelen, fakturasvaret er valgfrit.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet ordre til fakturering",
"navn": "Procurement-OrdAdvR-BilSimR-1.0 (avanceret ordre + fakturering, begge svar krævet)",
"id": "Procurement-OrdAdvR-BilSimR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponse",
"OrderResponseSimple",
"OrderChange",
"OrderCancellation",
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse *"
],
"anvendelse": "Avanceret ordre og fakturering hvor både ordresvar og fakturasvar er påkrævet.",
"bemaerkninger": "Strammeste variant af ordre-til-faktura-kæden.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet ordre til fakturering",
"navn": "Procurement-OrdSel-BilSim-1.0 (sælgerinitieret ordre + simpel fakturering)",
"id": "Procurement-OrdSel-BilSim-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"OrderResponse",
"OrderResponseSimple",
"OrderChange",
"OrderCancellation",
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse *"
],
"anvendelse": "Sælgerinitieret handel: leverandøren starter med en ordrebekræftelse (fx efter aftale i marken eller telefonisk), kunden kan ændre eller annullere, og der faktureres bagefter.",
"bemaerkninger": "Bemærk: ingen Order i profilen, \"Sel\" = seller initiated, så processen starter med OrderResponse.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet ordre til fakturering",
"navn": "Procurement-OrdSel-BilSimR-1.0 (sælgerinitieret ordre + fakturering m. krævet svar)",
"id": "Procurement-OrdSel-BilSimR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"OrderResponse",
"OrderResponseSimple",
"OrderChange",
"OrderCancellation",
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse *"
],
"anvendelse": "Som OrdSel-BilSim, men fakturasvar er påkrævet.",
"bemaerkninger": "Ingen Order i profilen, processen starter hos sælger.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet ordre til fakturering",
"navn": "Procurement-OrdSim-BilSimR-1.0 (simpel ordre + fakturering m. krævet fakturasvar)",
"id": "Procurement-OrdSim-BilSimR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponseSimple",
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse *"
],
"anvendelse": "Simpel ordre + fakturering hvor fakturasvar (ApplicationResponse) er påkrævet.",
"bemaerkninger": "R sidder på fakturadelen.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet ordre til fakturering",
"navn": "Procurement-OrdSimR-BilSim-1.0 (simpel ordre m. krævet ordresvar + fakturering)",
"id": "Procurement-OrdSimR-BilSim-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponseSimple",
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse *"
],
"anvendelse": "Som OrdSim-BilSim, men ordresvar er påkrævet.",
"bemaerkninger": "R sidder på ordredelen.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet ordre til fakturering",
"navn": "Procurement-OrdSimR-BilSimR-1.0 (simpel ordre + fakturering, begge svar krævet)",
"id": "Procurement-OrdSimR-BilSimR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponseSimple",
"Invoice",
"CreditNote",
"Reminder",
"ApplicationResponse *"
],
"anvendelse": "Simpel ordre og fakturering hvor både ordresvar og fakturasvar er påkrævet.",
"bemaerkninger": "Begge R’er sat, modparten skal kvittere i begge led.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Udvidet ordre til fakturering",
"navn": "urn:www.nesubl.eu:profiles:profile7:ver2.0 (NES7, ordre til faktura)",
"id": "urn:www.nesubl.eu:profiles:profile7:ver2.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"Order",
"OrderResponseSimple",
"Invoice",
"CreditNote",
"ApplicationResponse *"
],
"anvendelse": "NES-profil for simpel ordre efterfulgt af simpel fakturering.",
"bemaerkninger": "Ældre NES-pendant til OrdSim-BilSim. Ingen Reminder i profilen.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "ForsyningsSpecifikation",
"navn": "Reference-Utility-1.0 (forsyningsspecifikation, UTS)",
"id": "Reference-Utility-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"UtilityStatement",
"ApplicationResponse"
],
"anvendelse": "Forsyningsbranchen (el/vand/varme/gas): leverandør sender detaljeret forbrugs-/forsyningsspecifikation der ledsager fakturaen; kunden kan svare med ApplicationResponse.",
"bemaerkninger": "Bruges som tillæg til en faktureringsprofil, UTS erstatter ikke fakturaen.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "ForsyningsSpecifikation",
"navn": "Reference-UtilityR-1.0 (forsyningsspecifikation m. krævet svar)",
"id": "Reference-UtilityR-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"UtilityStatement",
"ApplicationResponse"
],
"anvendelse": "Som Reference-Utility, men kunden skal kvittere for forsyningsspecifikationen.",
"bemaerkninger": "R = svar påkrævet.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"kategori": "Diverse",
"navn": "Procurement-TecRes-1.0 (kvittering på modtaget dokument)",
"id": "Procurement-TecRes-1.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"ApplicationResponse"
],
"anvendelse": "Ren kvitteringsprofil: bruges til at svare på et modtaget dokument, typisk når afsendelsen ikke kan behandles pga. tekniske fejl eller en ikke-understøttet profil.",
"bemaerkninger": "Bruges som ProfileID på selve ApplicationResponse’en, ikke som en forretningsproces man handler i.",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Nemhandel OIOUBL (UBL 2.1)",
"navn": "urn:www.cenbii.eu:profile:bii30:ver2.0 (forsendelsesadvis / despatch advice)",
"id": "urn:www.cenbii.eu:profile:bii30:ver2.0",
"customization": "OIOUBL-2.x",
"dokumenter": [
"DespatchAdvice"
],
"anvendelse": "Leverandør varsler en forsendelse, så kunden kan forberede modtagelse og afstemme leveringen mod ordren.",
"bemaerkninger": "CEN BII-profil optaget i OIOUBL (G26 afsnit 3.3.15). Ikke placeret i en registerkategori her, bekræft gruppen i Nemhandelsregistrets dropdown før brug.",
"kategori": "",
"kilde": {
"label": "OIOUBL Profiler (G26)",
"url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Billing 3.0",
"id": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0",
"customization": "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0",
"dokumenter": [
"Invoice",
"CreditNote"
],
"anvendelse": "Den centrale e-faktura/kreditnota-pakke i Peppol. CIUS af EN 16931. Bruges til EU-grænsehandel og DK/Peppol-fakturering.",
"bemaerkninger": "Langt den mest brugte BIS3-profil. Invoice Response er en separat profil. Bemærk: Reminder findes ikke i Peppol, brug OIOUBL-profilerne til rykkere.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · BIS Billing 3.0",
"url": "https://docs.peppol.eu/poacc/billing/3.0/"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Self-Billing 3.0",
"id": "urn:fdc:peppol.eu:2017:poacc:selfbilling:01:1.0",
"customization": "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0#conformant#urn:fdc:peppol.eu:2017:poacc:selfbilling:international:3.0",
"dokumenter": [
"Invoice (self-billed)",
"CreditNote"
],
"anvendelse": "Selvfakturering: køber udsteder fakturaen på vegne af sælger.",
"bemaerkninger": "Genbruger Billing-syntaks med self-billing customization.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · Self-Billing 3.0",
"url": "https://docs.peppol.eu/poacc/self-billing/3.0/"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Invoice Response 3.0",
"id": "urn:fdc:peppol.eu:poacc:bis:invoice_response:3",
"customization": "urn:fdc:peppol.eu:poacc:trns:invoice_response:3",
"dokumenter": [
"ApplicationResponse (Invoice Response)"
],
"anvendelse": "Køber sender struktureret status/svar på en modtaget faktura (accepteret, afvist, under behandling, betalt).",
"bemaerkninger": "Bruges sammen med Billing til at lukke faktura-livscyklussen. Peppol-pendant til OIOUBL-ernes \"R\"-profiler.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · BIS v3",
"url": "https://docs.peppol.eu/poacc/upgrade-3/"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Message Level Response 3.0 (MLR)",
"id": "urn:fdc:peppol.eu:poacc:bis:mlr:3",
"customization": "urn:fdc:peppol.eu:poacc:trns:mlr:3",
"dokumenter": [
"ApplicationResponse (Message Level Response)"
],
"anvendelse": "Teknisk kvittering på beskedniveau: bekræfter modtagelse/validering af et hvilket som helst dokument.",
"bemaerkninger": "Transport-/syntaks-niveau svar, ikke forretningsmæssigt indhold. Peppol-pendant til Procurement-TecRes-1.0.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · BIS v3",
"url": "https://docs.peppol.eu/poacc/upgrade-3/"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Ordering 3.0",
"id": "urn:fdc:peppol.eu:poacc:bis:ordering:3",
"customization": "urn:fdc:peppol.eu:poacc:trns:order:3 / urn:fdc:peppol.eu:poacc:trns:order_response:3",
"dokumenter": [
"Order",
"Order Response"
],
"anvendelse": "Fuld ordreproces: køber sender ordre, sælger svarer med ordrebekræftelse/-svar.",
"bemaerkninger": "Order = Trdm01, Order Response = Trdm76. Peppol-pendant til Procurement-OrdSim-1.0.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · BIS v3",
"url": "https://docs.peppol.eu/poacc/upgrade-3/"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Order Only 3.0",
"id": "urn:fdc:peppol.eu:poacc:bis:order_only:3",
"customization": "urn:fdc:peppol.eu:poacc:trns:order:3",
"dokumenter": [
"Order"
],
"anvendelse": "Kun afsendelse af ordre uden forventet struktureret ordresvar.",
"bemaerkninger": "Enkel ordre-only proces. Peppol-pendant til NES3 (\"Order Only\").",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · BIS v3",
"url": "https://docs.peppol.eu/poacc/upgrade-3/"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Order Agreement 3.0 (Advanced Ordering)",
"id": "urn:fdc:peppol.eu:poacc:bis:order_agreement:3",
"customization": "urn:fdc:peppol.eu:poacc:trns:order_agreement:3",
"dokumenter": [
"Order",
"Order Response (Advanced)"
],
"anvendelse": "Avanceret ordre der etablerer en bindende ordreaftale mellem parterne.",
"bemaerkninger": "Bruges hvor ordresvar danner juridisk aftale.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · BIS v3",
"url": "https://docs.peppol.eu/poacc/upgrade-3/"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Catalogue 3.0",
"id": "urn:fdc:peppol.eu:poacc:bis:catalogue:3",
"customization": "urn:fdc:peppol.eu:poacc:trns:catalogue:3",
"dokumenter": [
"Catalogue",
"ApplicationResponse (Catalogue Response)"
],
"anvendelse": "Sælger sender produktkatalog (priser/varer) til køber, der kan svare med accept/afvisning.",
"bemaerkninger": "Grundlag for efterfølgende ordrer. Peppol-pendant til Catalogue-CatBasR-1.0.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · BIS v3",
"url": "https://docs.peppol.eu/poacc/upgrade-3/"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Catalogue without Response 3.0",
"id": "urn:fdc:peppol.eu:poacc:bis:catalogue_wo_response:3",
"customization": "urn:fdc:peppol.eu:poacc:trns:catalogue:3",
"dokumenter": [
"Catalogue"
],
"anvendelse": "Katalogudsendelse uden forventet katalogsvar.",
"bemaerkninger": "Variant uden Catalogue Response.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · BIS v3",
"url": "https://docs.peppol.eu/poacc/upgrade-3/"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Punch Out 3.0",
"id": "urn:fdc:peppol.eu:poacc:bis:punch_out:3",
"customization": "urn:fdc:peppol.eu:poacc:trns:punch_out:3",
"dokumenter": [
"Catalogue (Punch Out)"
],
"anvendelse": "Punch-out katalog: køber 'hopper ud' til sælgers webshop og henter en kurv tilbage.",
"bemaerkninger": "Bruges i e-handels-/webshop-integrationer.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · BIS v3",
"url": "https://docs.peppol.eu/poacc/upgrade-3/"
}
},
{
"standard": "Peppol BIS 3.0",
"navn": "Peppol BIS Despatch Advice 3.0",
"id": "urn:fdc:peppol.eu:poacc:bis:despatch_advice:3",
"customization": "urn:fdc:peppol.eu:poacc:trns:despatch_advice:3",
"dokumenter": [
"Despatch Advice (følgeseddel)"
],
"anvendelse": "Sælger sender forsendelses-/leveringsmeddelelse (hvad er afsendt, hvornår, hvordan) inden faktura.",
"bemaerkninger": "Logistik-dokument mellem ordre og faktura. Peppol-pendant til urn:www.cenbii.eu:profile:bii30:ver2.0 i OIOUBL.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · BIS v3",
"url": "https://docs.peppol.eu/poacc/upgrade-3/"
}
},
{
"standard": "Peppol BIS 4.0 / PINT",
"navn": "EU PINT Billing (v1.0.1; forløber for BIS Billing 4.0)",
"id": "urn:peppol:pint:billing-1@eu-1 (PINT EU Billing)",
"customization": "urn:peppol:pint:billing-1@eu-1",
"dokumenter": [
"Invoice",
"CreditNote"
],
"anvendelse": "Peppols internationale fakturamodel (PINT) tilpasset EU. Implementerer BIS Billing 3.0 som PINT-kompatibel uden ændringer; baner vej for grænseoverskridende fakturering mod lande med egne PINT-specs (AU/JP/MY/NZ/SG m.fl.).",
"bemaerkninger": "v1.0.0 udgivet okt. 2025, nu v1.0.1. CIUS af EN 16931. NB: identifikator-format afviger fra BIS3, verificér mod docs.peppol.eu/poac/eu/pint-eu inden brug.",
"kategori": "",
"kilde": {
"label": "docs.peppol.eu · EU PINT Billing",
"url": "https://docs.peppol.eu/poac/eu/pint-eu/"
}
},
{
"standard": "Peppol BIS 4.0 / PINT",
"navn": "Peppol BIS Billing 4.0 (kommende)",
"id": "(endnu ikke endeligt fastlagt)",
"customization": "(endnu ikke endeligt fastlagt)",
"dokumenter": [
"Invoice",
"CreditNote (forventet)"
],
"anvendelse": "Næste generation der lægger BIS og PINT sammen til ét globalt faktura-format. Forventet 2026, endnu ikke udgivet (pr. juni 2026).",
"bemaerkninger": "STATUS: under udarbejdelse pr. juni 2026, ID'er og indhold ikke endeligt publiceret. Brug BIS Billing 3.0 / EU PINT i mellemtiden.",
"kategori": "",
"kilde": {
"label": "Peppol roadmap",
"url": "https://docs.peppol.eu/poac/"
}
}
]
}
+144
View File
@@ -0,0 +1,144 @@
{
"baseGraph": {
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebSite",
"@id": "https://asger.weirsoe.dk/#website",
"url": "https://asger.weirsoe.dk/",
"name": "Asger Weirsøe",
"description": "Asger Weirsøe er datalog (cand.scient. fra Aalborg Universitet) og Technical Solution Architect hos Digisense. Peppol, NemHandel, e-faktura, selvhosting, Proxmox og AI.",
"inLanguage": "da-DK",
"publisher": {
"@id": "https://asger.weirsoe.dk/#person"
}
},
{
"@type": "Person",
"@id": "https://asger.weirsoe.dk/#person",
"name": "Asger Geel Weirsøe",
"alternateName": "Asger Weirsøe",
"url": "https://asger.weirsoe.dk/",
"image": "https://asger.weirsoe.dk/asger.png",
"jobTitle": [
"Datalog",
"Technical Solution Architect"
],
"hasOccupation": {
"@type": "Occupation",
"name": "Datalog",
"occupationalCategory": "2512 Softwareudvikler"
},
"hasCredential": [
{
"@type": "EducationalOccupationalCredential",
"credentialCategory": "degree",
"educationalLevel": "Master's degree",
"name": "Cand.scient. i Datalogi",
"recognizedBy": {
"@type": "CollegeOrUniversity",
"name": "Aalborg Universitet"
}
},
{
"@type": "EducationalOccupationalCredential",
"credentialCategory": "license",
"name": "Radioamatørlicens, kategori B (kaldesignal OZ0AGW)",
"dateCreated": "2024-05-18"
},
{
"@type": "EducationalOccupationalCredential",
"credentialCategory": "license",
"name": "Jagttegn",
"dateCreated": "2020"
}
],
"callSign": "OZ0AGW",
"worksFor": {
"@type": "Organization",
"name": "Digisense A/S"
},
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "Aalborg Universitet"
},
"homeLocation": {
"@type": "Place",
"name": "Nørresundby, Danmark"
},
"nationality": {
"@type": "Country",
"name": "Danmark"
},
"knowsLanguage": [
"da",
"en"
],
"knowsAbout": [
"Peppol",
"Peppol Access Point",
"Peppol BIS",
"Peppol eDelivery",
"Oxalis",
"NemHandel",
"Elektronisk fakturering",
"E-faktura",
"Electronic invoicing",
"OIOUBL",
"UBL",
"e-Delivery (AS4)",
"EN 16931",
"E-procurement",
"EDI",
"Softwarearkitektur",
"Løsningsarkitektur",
"Forretningsforståelse",
"Digitalisering af fakturaflows",
"Rådgivning",
"Kravspecifikation",
"Incident response",
"Incident management",
"Hændelseshåndtering",
"ISO/IEC 27001",
"Informationssikkerhed",
"ISMS",
"Sårbarhedshåndtering",
"Proxmox",
"Selvhosting",
"Kunstig intelligens",
"Linux",
"DevOps",
"OIDC",
"SSO",
"Fuld-stack udvikling",
"Docker",
"Amatørradio",
"Radioamatør",
"Radiokommunikation"
],
"sameAs": [
"https://www.linkedin.com/in/ag-weirs%C3%B8e/",
"https://mastodon.social/@asgerweirsoee",
"https://github.com/asger-weirsoee",
"https://gitea.weircon.dk/agw",
"https://arxiv.org/abs/2310.00999"
],
"description": "Asger Weirsøe er datalog (cand.scient. fra Aalborg Universitet) og Technical Solution Architect hos Digisense A/S. Han bygger bro mellem forretning og teknik og har en bred profil inden for elektronisk fakturering og e-procurement: Peppol (Access Point, eDelivery/AS4, Oxalis), NemHandel og OIOUBL, kombineret med forretningsforståelse, selvhosting, Proxmox og AI. Han er desuden licenseret radioamatør med B-licens og kaldesignalet OZ0AGW."
}
]
},
"profilePage": {
"@context": "https://schema.org",
"@type": "ProfilePage",
"@id": "https://asger.weirsoe.dk/#profilepage",
"url": "https://asger.weirsoe.dk/",
"name": "Asger Weirsøe",
"mainEntity": {
"@id": "https://asger.weirsoe.dk/#person"
},
"about": {
"@id": "https://asger.weirsoe.dk/#person"
},
"inLanguage": "da-DK"
}
}
+67
View File
@@ -0,0 +1,67 @@
{
"sections": [
{
"title": "Homelab",
"items": [
{
"name": "Proxmox VE",
"note": "Hypervisor på egen hardware. ~50 LXC-containere og et par KVM-VM’er, én tjeneste pr. container."
},
{
"name": "NPMplus",
"note": "Reverse proxy og TLS-terminering på kanten. Alt trafik ind går her igennem."
},
{
"name": "Authentik",
"note": "Self-hosted SSO (OIDC/LDAP). Én identitet til alle tjenester, bygget fra source."
},
{
"name": "Gitea + Gitea Actions",
"note": "Egen git-hosting og CI/CD. Denne side deployes automatisk ved push."
},
{
"name": "MariaDB / Redis / PostgreSQL",
"note": "Databaser som dedikerede containere."
},
{
"name": "Matomo",
"note": "Self-hosted analytics, first-party og uden tredjeparter."
},
{
"name": "WireGuard",
"note": "Tunneler og netns-baserede egress-profiler til alt der skal ud af huset på en pæn måde."
}
]
},
{
"title": "Udvikling",
"items": [
{
"name": "Linux + code-server",
"note": "Udvikling foregår i en dedikeret LXC med VS Code i browseren."
},
{
"name": "Java · Go · Python · TypeScript",
"note": "Java til Peppol/eDelivery-verdenen, Python/TS til alt det andet."
},
{
"name": "Claude Code",
"note": "LLM-drevne workflows, fra blogindlæg til Proxmox-administration."
},
{
"name": "Docker",
"note": "Hvor det giver mening. Ellers foretrækker jeg native installationer i LXC."
}
]
},
{
"title": "Denne side",
"items": [
{
"name": "Astro 5 + Bun + Tailwind 4",
"note": "Statisk output, ingen JS-frameworks i browseren. Se kolofonen for detaljer."
}
]
}
]
}