From 6ad2c819737bec1134426ab1dfa9f52ebf9c6293 Mon Sep 17 00:00:00 2001 From: Joel Solano Date: Mon, 8 Jun 2026 21:51:28 +0200 Subject: [PATCH 1/3] chore: initial commit --- .cspell.jsonc | 18 + .github/ISSUE_TEMPLATE/bug_report.yml | 73 - .github/ISSUE_TEMPLATE/feature_request.yml | 30 - .github/dependabot.yml | 47 + .github/renovate.json5 | 33 + .github/workflows/ci.yml | 156 +- .github/workflows/e2e.yml | 156 + .github/workflows/preview.yml | 35 - .github/workflows/release.yml | 64 - .gitignore | 202 +- .npmignore | 11 - .nvmrc | 1 + .vscode/settings.json | 32 - CODE_OF_CONDUCT.md | 128 - CONTRIBUTING.md | 8 - LICENSE.md | 21 - README.md | 115 - biome.json | 149 +- bump.config.ts | 6 - dev/bun/package.json | 22 - .../@node-zugferd-api.postman_collection.json | 97 - dev/bun/src/client.ts | 4 - dev/bun/src/index.ts | 8 - dev/bun/src/invoicer.tsx | 24 - dev/bun/tsconfig.json | 31 - dev/node/package.json | 14 - dev/node/src/index.ts | 152 - dev/node/tsconfig.json | 31 - docs/.env.example | 1 - docs/.gitignore | 28 - docs/README.md | 22 - docs/components.json | 21 - docs/content/docs/basic-usage.mdx | 153 - docs/content/docs/codelists/allowance.mdx | 196 - .../content/docs/codelists/characteristic.mdx | 4472 --- docs/content/docs/codelists/charge.mdx | 1468 - docs/content/docs/codelists/country.mdx | 2052 -- docs/content/docs/codelists/currency.mdx | 1468 - docs/content/docs/codelists/date.mdx | 70 - docs/content/docs/codelists/eas.mdx | 822 - docs/content/docs/codelists/fiscal-id.mdx | 51 - docs/content/docs/codelists/icd.mdx | 1924 - docs/content/docs/codelists/incoterms.mdx | 148 - docs/content/docs/codelists/item.mdx | 1524 - docs/content/docs/codelists/language.mdx | 3908 -- docs/content/docs/codelists/line-reason.mdx | 68 - docs/content/docs/codelists/line-status.mdx | 1357 - docs/content/docs/codelists/mime.mdx | 78 - docs/content/docs/codelists/payment.mdx | 972 - docs/content/docs/codelists/text.mdx | 3252 -- docs/content/docs/codelists/time.mdx | 67 - docs/content/docs/codelists/transport.mdx | 165 - docs/content/docs/codelists/unit.mdx | 30320 ---------------- docs/content/docs/codelists/untdid-1001.mdx | 730 - docs/content/docs/codelists/untdid-1153.mdx | 6588 ---- docs/content/docs/codelists/untdid-3035.mdx | 6207 ---- docs/content/docs/codelists/untdid-3139.mdx | 982 - docs/content/docs/codelists/untdid-5305.mdx | 146 - docs/content/docs/codelists/vat-cat.mdx | 663 - docs/content/docs/codelists/vat-id.mdx | 51 - docs/content/docs/codelists/vatex.mdx | 1006 - .../docs/guides/create-your-first-profile.mdx | 106 - docs/content/docs/introduction.mdx | 17 - docs/content/docs/plugins/api.mdx | 585 - docs/content/docs/profiles/basic-wl.mdx | 101 - docs/content/docs/profiles/basic.mdx | 92 - docs/content/docs/profiles/en16931.mdx | 92 - docs/content/docs/profiles/extended.mdx | 95 - docs/content/docs/profiles/minimum.mdx | 97 - docs/content/docs/reference/contributing.mdx | 173 - docs/content/docs/reference/options.mdx | 86 - docs/content/docs/reference/resources.mdx | 59 - docs/next.config.mjs | 36 - docs/package.json | 64 - docs/postcss.config.mjs | 5 - .../public/favicon/android-chrome-192x192.png | Bin 14544 -> 0 bytes .../public/favicon/android-chrome-512x512.png | Bin 54526 -> 0 bytes docs/public/favicon/apple-touch-icon.png | Bin 14414 -> 0 bytes docs/public/favicon/favicon-16x16.png | Bin 520 -> 0 bytes docs/public/favicon/favicon-32x32.png | Bin 1389 -> 0 bytes docs/public/favicon/favicon.ico | Bin 15406 -> 0 bytes .../favicon/light/android-chrome-192x192.png | Bin 14729 -> 0 bytes .../favicon/light/android-chrome-512x512.png | Bin 54624 -> 0 bytes .../public/favicon/light/apple-touch-icon.png | Bin 14518 -> 0 bytes docs/public/favicon/light/favicon-16x16.png | Bin 553 -> 0 bytes docs/public/favicon/light/favicon-32x32.png | Bin 1357 -> 0 bytes docs/public/favicon/light/favicon.ico | Bin 15406 -> 0 bytes docs/public/favicon/light/site.webmanifest | 19 - docs/public/favicon/site.webmanifest | 19 - docs/source.config.ts | 36 - docs/src/app/(home)/client.tsx | 69 - docs/src/app/(home)/layout.tsx | 13 - docs/src/app/(home)/page.tsx | 23 - docs/src/app/api/og/route.tsx | 136 - docs/src/app/api/search/route.ts | 4 - docs/src/app/docs/[[...slug]]/page.tsx | 320 - docs/src/app/docs/layout.tsx | 41 - docs/src/app/docs/lib/get-llm-text.ts | 39 - docs/src/app/global.css | 265 - docs/src/app/layout.config.tsx | 21 - docs/src/app/layout.tsx | 45 - docs/src/app/llms.txt/[...slug]/route.ts | 23 - docs/src/app/llms.txt/route.ts | 11 - docs/src/app/not-found.tsx | 39 - docs/src/app/robots.ts | 10 - docs/src/app/sitemap.ts | 22 - docs/src/app/source.ts | 7 - docs/src/assets/Geist.ttf | Bin 106024 -> 0 bytes docs/src/assets/GeistMono.ttf | Bin 114088 -> 0 bytes docs/src/components/blocks/api-features.tsx | 41 - docs/src/components/blocks/features.tsx | 79 - docs/src/components/blocks/need-help.tsx | 28 - docs/src/components/blocks/profile-tree.tsx | 85 - docs/src/components/device/device.tsx | 9 - docs/src/components/device/index.ts | 5 - docs/src/components/footer.tsx | 37 - docs/src/components/github-info.tsx | 104 - docs/src/components/landing/features.tsx | 234 - docs/src/components/landing/hero.tsx | 378 - docs/src/components/llm-copy-button.tsx | 77 - docs/src/components/nav-bar.tsx | 181 - docs/src/components/nav-mobile.tsx | 265 - docs/src/components/resource-card.tsx | 71 - docs/src/components/resource.tsx | 74 - docs/src/components/side-bar-link.tsx | 43 - docs/src/components/side-bar.tsx | 182 - docs/src/components/ui/accordion.tsx | 66 - docs/src/components/ui/aurora-background.tsx | 80 - docs/src/components/ui/badge.tsx | 46 - docs/src/components/ui/button.tsx | 119 - docs/src/components/ui/in-view.tsx | 57 - docs/src/components/ui/input.tsx | 21 - docs/src/components/ui/popover.tsx | 48 - docs/src/components/ui/select.tsx | 181 - docs/src/components/ui/tooltip.tsx | 61 - docs/src/components/view-options.tsx | 122 - .../data/sidebar-items/codelist-items.gen.ts | 32 - docs/src/data/sidebar-items/index.tsx | 197 - docs/src/lib/metadata.ts | 21 - docs/src/lib/utils.ts | 44 - docs/src/types/content.ts | 14 - docs/src/types/helper.ts | 1 - docs/tailwind.config.ts | 57 - docs/tsconfig.json | 30 - examples/todo.md => e2e/integration/.gitkeep | 0 e2e/profiles/basic-wl/package.json | 12 + .../basic-wl/src/data/valid/booking-guide.ts | 91 + .../basic-wl/src/data/valid/simple.ts | 91 + e2e/profiles/basic-wl/src/index.test.ts | 14 + e2e/profiles/basic-wl/src/invoicer.ts | 16 + e2e/profiles/basic-wl/tsconfig.json | 14 + e2e/profiles/basic-wl/vitest.config.ts | 3 + e2e/profiles/basic/package.json | 12 + .../src/data/valid/invoice-correction.ts | 231 + e2e/profiles/basic/src/data/valid/simple.ts | 135 + .../basic/src/data/valid/taxi-ride.ts | 151 + e2e/profiles/basic/src/index.test.ts | 16 + e2e/profiles/basic/src/invoicer.ts | 16 + e2e/profiles/basic/tsconfig.json | 14 + e2e/profiles/basic/vitest.config.ts | 3 + e2e/profiles/en-16931/package.json | 13 + .../en-16931/src/data/valid/credit-note.ts | 183 + .../src/data/valid/deviating-payee.ts | 190 + .../en-16931/src/data/valid/discounts.ts | 306 + .../en-16931/src/data/valid/electron.ts | 213 + .../src/data/valid/electronic-address.ts | 327 + .../data/valid/intra-community-supplies.ts | 232 + .../src/data/valid/invoice-correction.ts | 245 + .../src/data/valid/invoice-transfer.ts | 327 + .../liability-insurance-insurance-tax.ts | 165 + .../valid/motor-insurance-gross-prices.ts | 167 + .../src/data/valid/partial-invoice-1.ts | 311 + .../src/data/valid/partial-invoice-2.ts | 147 + .../en-16931/src/data/valid/photovoltaic.ts | 176 + .../src/data/valid/physiotherapist.ts | 165 + .../src/data/valid/public-transport.ts | 128 + e2e/profiles/en-16931/src/data/valid/rent.ts | 324 + .../src/data/valid/sepa-prenotification.ts | 190 + .../data/valid/service-charge-statement.ts | 162 + .../src/data/valid/simple-due-date.ts | 177 + .../data/valid/simple-negative-payment-due.ts | 174 + .../en-16931/src/data/valid/simple.ts | 178 + ...small-business-owner-without-vat-number.ts | 136 + .../valid/tax-exempt-international-supply.ts | 194 + .../tax-rate-applicable-property-insurance.ts | 142 + .../src/data/valid/travel-expense-report.ts | 286 + e2e/profiles/en-16931/src/index.test.ts | 78 + e2e/profiles/en-16931/src/invoicer.ts | 16 + e2e/profiles/en-16931/tsconfig.json | 14 + e2e/profiles/en-16931/vitest.config.ts | 7 + e2e/profiles/extended/package.json | 13 + .../data/valid/collective-invoice-3-orders.ts | 693 + .../src/data/valid/cost-accounting.ts | 418 + .../src/data/valid/final-project-invoice.ts | 224 + .../src/data/valid/foreign-currency.ts | 282 + .../extended/src/data/valid/goods-invoice.ts | 600 + .../intra-community-supply-multiple-orders.ts | 272 + .../src/data/valid/invoice-correction.ts | 314 + .../src/data/valid/machine-serial-no.ts | 221 + ...customs-tariff-HS_UNSPSC_TST_eClass_STQ.ts | 662 + ...simple-construction-pro-forma-invoice-1.ts | 263 + ...simple-construction-pro-forma-invoice-2.ts | 361 + .../simple-final-construction-invoice.ts | 461 + .../valid/small-business-owner-without-vat.ts | 157 + .../sub-invoice-line-coffee-bundle-set.ts | 422 + .../sub-invoice-line-fall-protection-set.ts | 372 + .../data/valid/sub-invoice-line-hardware.ts | 412 + .../valid/sub-invoice-line-office-supplies.ts | 492 + .../sub-invoice-line-pro-forma-invoice.ts | 421 + .../valid/tax-free-intra-community-supply.ts | 361 + e2e/profiles/extended/src/index.test.ts | 83 + e2e/profiles/extended/src/invoicer.ts | 16 + e2e/profiles/extended/tsconfig.json | 14 + e2e/profiles/extended/vitest.config.ts | 7 + e2e/profiles/factory.ts | 29 + e2e/profiles/minimum/package.json | 12 + .../minimum/src/data/valid/booking-guide.ts | 43 + .../minimum/src/data/valid/invoice.ts | 43 + e2e/profiles/minimum/src/index.test.ts | 14 + e2e/profiles/minimum/src/invoicer.ts | 16 + e2e/profiles/minimum/tsconfig.json | 14 + e2e/profiles/minimum/vitest.config.ts | 3 + e2e/profiles/package.json | 16 + e2e/profiles/tsconfig.json | 15 + e2e/smoke/package.json | 12 + .../tsconfig-declaration/package.json | 12 + .../tsconfig-declaration/src/index.ts | 12 + .../tsconfig-declaration/tsconfig.json | 20 + .../package.json | 12 + .../src/index.ts | 12 + .../tsconfig.json | 12 + .../package.json | 12 + .../src/index.ts | 12 + .../tsconfig.json | 19 + .../package.json | 12 + .../src/index.ts | 12 + .../tsconfig.json | 12 + e2e/smoke/test/typecheck.spec.ts | 33 + e2e/smoke/tsconfig.json | 14 + knip.jsonc | 29 + package.json | 77 +- packages/api/package.json | 190 - packages/api/src/api/call.ts | 26 - packages/api/src/api/generate-pdf.ts | 96 - packages/api/src/api/index.ts | 167 - packages/api/src/api/middlewares/index.ts | 1 - .../src/api/middlewares/origin-check.test.ts | 50 - .../api/src/api/middlewares/origin-check.ts | 129 - packages/api/src/api/routes/create.test.ts | 81 - packages/api/src/api/routes/create.ts | 62 - packages/api/src/api/routes/index.ts | 3 - packages/api/src/api/routes/ok.ts | 17 - packages/api/src/api/routes/preview.test.ts | 58 - packages/api/src/api/routes/preview.ts | 49 - packages/api/src/api/to-api-endpoints.test.ts | 18 - packages/api/src/client/index.ts | 50 - packages/api/src/index.ts | 88 - packages/api/src/init.ts | 52 - packages/api/src/integrations/next-js.ts | 15 - packages/api/src/integrations/node.ts | 12 - packages/api/src/integrations/solid-start.ts | 15 - packages/api/src/integrations/svelte-kit.ts | 56 - packages/api/src/renderer/react.tsx | 18 - packages/api/src/renderer/solid.tsx | 25 - packages/api/src/renderer/svelte.ts | 27 - packages/api/src/renderer/vanilla.ts | 15 - packages/api/src/renderer/vue.ts | 20 - packages/api/src/test-utils/data/basic-wl.ts | 85 - packages/api/src/test-utils/data/basic.ts | 124 - packages/api/src/test-utils/data/en16931.ts | 134 - packages/api/src/test-utils/data/extended.ts | 197 - packages/api/src/test-utils/data/minimum.ts | 71 - packages/api/src/test-utils/test-instance.tsx | 95 - packages/api/src/types/api.ts | 23 - packages/api/src/types/context.ts | 6 - packages/api/src/types/helper.ts | 1 - packages/api/src/types/index.ts | 5 - packages/api/src/types/options.ts | 41 - packages/api/src/types/renderer.ts | 69 - packages/api/src/utils/hide-metadata.ts | 3 - packages/api/src/utils/index.ts | 2 - packages/api/src/utils/url.ts | 70 - packages/api/src/utils/wildcard-match.ts | 251 - packages/api/tsconfig.json | 27 - packages/api/tsup.config.ts | 27 - packages/api/vitest.config.ts | 6 - packages/codelists/allowance/package.json | 34 + packages/codelists/allowance/src/index.ts | 57 + packages/codelists/allowance/tsconfig.json | 12 + packages/codelists/allowance/tsdown.config.ts | 8 + packages/codelists/allowance/vitest.config.ts | 8 + .../codelists/characteristic/package.json | 34 + .../characteristic/src/index.ts} | 1952 +- .../codelists/characteristic/tsconfig.json | 12 + .../codelists/characteristic/tsdown.config.ts | 8 + .../codelists/characteristic/vitest.config.ts | 8 + packages/codelists/charge/package.json | 34 + packages/codelists/charge/src/index.ts | 372 + packages/codelists/charge/tsconfig.json | 12 + packages/codelists/charge/tsdown.config.ts | 8 + packages/codelists/charge/vitest.config.ts | 8 + packages/codelists/country/package.json | 34 + packages/codelists/country/src/index.ts | 413 + packages/codelists/country/tsconfig.json | 12 + packages/codelists/country/tsdown.config.ts | 8 + packages/codelists/country/vitest.config.ts | 8 + packages/codelists/currency/package.json | 34 + packages/codelists/currency/src/index.ts | 256 + packages/codelists/currency/tsconfig.json | 12 + packages/codelists/currency/tsdown.config.ts | 8 + packages/codelists/currency/vitest.config.ts | 8 + packages/codelists/eas/package.json | 34 + .../eas.gen.ts => codelists/eas/src/index.ts} | 350 +- packages/codelists/eas/tsconfig.json | 12 + packages/codelists/eas/tsdown.config.ts | 8 + packages/codelists/eas/vitest.config.ts | 8 + packages/codelists/icd/package.json | 34 + .../icd.gen.ts => codelists/icd/src/index.ts} | 844 +- packages/codelists/icd/tsconfig.json | 12 + packages/codelists/icd/tsdown.config.ts | 8 + packages/codelists/icd/vitest.config.ts | 8 + packages/codelists/incoterms/package.json | 34 + .../incoterms/src/index.ts} | 90 +- packages/codelists/incoterms/tsconfig.json | 12 + packages/codelists/incoterms/tsdown.config.ts | 8 + packages/codelists/incoterms/vitest.config.ts | 8 + packages/codelists/item/package.json | 34 + .../item/src/index.ts} | 650 +- packages/codelists/item/tsconfig.json | 12 + packages/codelists/item/tsdown.config.ts | 8 + packages/codelists/item/vitest.config.ts | 8 + packages/codelists/language/package.json | 34 + packages/codelists/language/src/index.ts | 75 + packages/codelists/language/tsconfig.json | 12 + packages/codelists/language/tsdown.config.ts | 8 + packages/codelists/language/vitest.config.ts | 8 + packages/codelists/line-reason/package.json | 34 + packages/codelists/line-reason/src/index.ts | 25 + packages/codelists/line-reason/tsconfig.json | 12 + .../codelists/line-reason/tsdown.config.ts | 8 + .../codelists/line-reason/vitest.config.ts | 8 + packages/codelists/line-status/package.json | 34 + .../line-status/src/index.ts} | 514 +- packages/codelists/line-status/tsconfig.json | 12 + .../codelists/line-status/tsdown.config.ts | 8 + .../codelists/line-status/vitest.config.ts | 8 + packages/codelists/payment/package.json | 34 + .../payment/src/index.ts} | 469 +- packages/codelists/payment/tsconfig.json | 12 + packages/codelists/payment/tsdown.config.ts | 8 + packages/codelists/payment/vitest.config.ts | 8 + packages/codelists/text/package.json | 34 + .../text/src/index.ts} | 1238 +- packages/codelists/text/tsconfig.json | 12 + packages/codelists/text/tsdown.config.ts | 8 + packages/codelists/text/vitest.config.ts | 8 + packages/codelists/time/package.json | 34 + packages/codelists/time/src/index.ts | 21 + packages/codelists/time/tsconfig.json | 12 + packages/codelists/time/tsdown.config.ts | 8 + packages/codelists/time/vitest.config.ts | 8 + packages/codelists/transport/package.json | 34 + packages/codelists/transport/src/index.ts | 78 + packages/codelists/transport/tsconfig.json | 12 + packages/codelists/transport/tsdown.config.ts | 8 + packages/codelists/transport/vitest.config.ts | 8 + packages/codelists/unit/package.json | 34 + .../unit/src/index.ts} | 15281 +++----- packages/codelists/unit/tsconfig.json | 12 + packages/codelists/unit/tsdown.config.ts | 8 + packages/codelists/unit/vitest.config.ts | 8 + packages/codelists/untdid-1001/package.json | 34 + .../untdid-1001/src/index.ts} | 289 +- packages/codelists/untdid-1001/tsconfig.json | 12 + .../codelists/untdid-1001/tsdown.config.ts | 8 + .../codelists/untdid-1001/vitest.config.ts | 8 + packages/codelists/untdid-1153/package.json | 34 + .../untdid-1153/src/index.ts} | 2856 +- packages/codelists/untdid-1153/tsconfig.json | 12 + .../codelists/untdid-1153/tsdown.config.ts | 8 + .../codelists/untdid-1153/vitest.config.ts | 8 + packages/codelists/untdid-2005/package.json | 34 + packages/codelists/untdid-2005/src/index.ts | 5163 +++ packages/codelists/untdid-2005/tsconfig.json | 12 + .../codelists/untdid-2005/tsdown.config.ts | 8 + .../codelists/untdid-2005/vitest.config.ts | 8 + packages/codelists/untdid-3035/package.json | 34 + .../untdid-3035/src/index.ts} | 1724 +- packages/codelists/untdid-3035/tsconfig.json | 12 + .../codelists/untdid-3035/tsdown.config.ts | 8 + .../codelists/untdid-3035/vitest.config.ts | 8 + packages/codelists/untdid-3139/package.json | 34 + .../untdid-3139/src/index.ts} | 466 +- packages/codelists/untdid-3139/tsconfig.json | 12 + .../codelists/untdid-3139/tsdown.config.ts | 8 + .../codelists/untdid-3139/vitest.config.ts | 8 + packages/codelists/untdid-4053/package.json | 34 + packages/codelists/untdid-4053/src/index.ts | 28 + packages/codelists/untdid-4053/tsconfig.json | 12 + .../codelists/untdid-4053/tsdown.config.ts | 8 + .../codelists/untdid-4053/vitest.config.ts | 8 + packages/codelists/untdid-5305/package.json | 34 + packages/codelists/untdid-5305/src/index.ts | 68 + packages/codelists/untdid-5305/tsconfig.json | 12 + .../codelists/untdid-5305/tsdown.config.ts | 8 + .../codelists/untdid-5305/vitest.config.ts | 8 + packages/codelists/vat-cat/package.json | 34 + .../vat-cat/src/index.ts} | 266 +- packages/codelists/vat-cat/tsconfig.json | 12 + packages/codelists/vat-cat/tsdown.config.ts | 8 + packages/codelists/vat-cat/vitest.config.ts | 8 + packages/codelists/vatex/package.json | 34 + .../vatex/src/index.ts} | 514 +- packages/codelists/vatex/tsconfig.json | 12 + packages/codelists/vatex/tsdown.config.ts | 8 + packages/codelists/vatex/vitest.config.ts | 8 + packages/core/package.json | 55 + packages/core/src/build-helper.ts | 84 + packages/core/src/data-types/config.ts | 11 + packages/core/src/data-types/dataset.ts | 66 + packages/core/src/data-types/index.ts | 4 + packages/core/src/data-types/issue.ts | 94 + packages/core/src/data-types/schema.ts | 46 + packages/core/src/error/error.ts | 6 + packages/core/src/error/index.ts | 2 + packages/core/src/error/validation-error.ts | 13 + packages/core/src/index.ts | 2 + packages/core/src/types/codelist.ts | 4 + packages/core/src/types/context.ts | 95 + packages/core/src/types/index.ts | 6 + packages/core/src/types/options.ts | 19 + packages/core/src/types/plugin.ts | 18 + packages/core/src/types/profile.ts | 97 + packages/core/src/types/utils.ts | 40 + packages/core/src/utils/index.ts | 1 + .../src/utils/logger.ts | 82 +- packages/core/tsconfig.json | 5 + packages/core/tsdown.config.ts | 14 + packages/core/vitest.config.ts | 8 + packages/data-types/package.json | 34 + packages/data-types/src/actions/index.ts | 3 + packages/data-types/src/actions/metadata.ts | 20 + packages/data-types/src/actions/min-length.ts | 71 + packages/data-types/src/actions/sort-items.ts | 33 + packages/data-types/src/actions/types.ts | 3 + packages/data-types/src/index.ts | 5 + .../data-types/src/methods/get-default.ts | 48 + .../data-types/src/methods/get-metadata.ts | 88 + packages/data-types/src/methods/index.ts | 5 + packages/data-types/src/methods/parse.ts | 45 + packages/data-types/src/methods/pipe.ts | 536 + packages/data-types/src/methods/safe-parse.ts | 72 + packages/data-types/src/schemas/amount.ts | 136 + packages/data-types/src/schemas/array.ts | 231 + packages/data-types/src/schemas/as-array.ts | 116 + .../data-types/src/schemas/binary-object.ts | 95 + packages/data-types/src/schemas/boolean.ts | 52 + packages/data-types/src/schemas/code.ts | 70 + packages/data-types/src/schemas/date.ts | 64 + packages/data-types/src/schemas/identifier.ts | 265 + packages/data-types/src/schemas/index.ts | 16 + .../data-types/src/schemas/intersect.test.ts | 426 + packages/data-types/src/schemas/intersect.ts | 407 + packages/data-types/src/schemas/literal.ts | 60 + packages/data-types/src/schemas/nullish.ts | 137 + packages/data-types/src/schemas/number.ts | 60 + packages/data-types/src/schemas/object.ts | 382 + packages/data-types/src/schemas/percentage.ts | 63 + packages/data-types/src/schemas/string.ts | 55 + packages/data-types/src/schemas/union.ts | 269 + packages/data-types/src/storages/codelist.ts | 30 + .../data-types/src/storages/identifier.ts | 296 + packages/data-types/src/storages/index.ts | 1 + packages/data-types/src/storages/utils.ts | 20 + packages/data-types/src/types/default.ts | 59 + packages/data-types/src/types/index.ts | 15 + packages/data-types/src/types/infer.ts | 44 + .../data-types/src/types/intersect-merge.ts | 215 + packages/data-types/src/types/metadata.ts | 12 + packages/data-types/src/types/pipe.ts | 38 + .../data-types/src/types/transformation.ts | 50 + packages/data-types/src/types/validation.ts | 50 + packages/data-types/src/utils/add-issue.ts | 89 + .../data-types/src/utils/cardinality-plan.ts | 183 + packages/data-types/src/utils/config.ts | 6 + packages/data-types/src/utils/join-expects.ts | 9 + packages/data-types/src/utils/schema-shape.ts | 151 + .../data-types/src/utils/standard-props.ts | 42 + packages/data-types/src/utils/stringify.ts | 13 + packages/data-types/tsconfig.json | 9 + packages/data-types/tsdown.config.ts | 8 + packages/data-types/vitest.config.ts | 8 + packages/node-zugferd/README.md | 115 - packages/node-zugferd/package.json | 512 +- .../node-zugferd/scripts/codelists/README.md | 14 - .../scripts/codelists/allowance/index.ts | 65 - .../scripts/codelists/characteristic/index.ts | 85 - .../scripts/codelists/charge/index.ts | 66 - .../scripts/codelists/country/index.ts | 67 - .../scripts/codelists/currency/index.ts | 64 - .../scripts/codelists/date/index.ts | 61 - .../scripts/codelists/date/output.xml | 14 - .../scripts/codelists/eas/index.ts | 69 - .../scripts/codelists/eas/map.xml | 11 - .../scripts/codelists/filename/index.ts | 47 - .../scripts/codelists/filename/map.xml | 13 - .../scripts/codelists/filename/output.xml | 17 - .../scripts/codelists/fiscal-id/index.ts | 58 - .../scripts/codelists/fiscal-id/map.xml | 11 - .../scripts/codelists/fiscal-id/output.xml | 7 - .../scripts/codelists/generate.ts | 188 - .../codelists/hybrid-conformance/index.ts | 52 - .../codelists/hybrid-conformance/map.xml | 15 - .../codelists/hybrid-conformance/output.xml | 41 - .../codelists/hybrid-document/index.ts | 47 - .../scripts/codelists/hybrid-document/map.xml | 13 - .../codelists/hybrid-document/output.xml | 23 - .../scripts/codelists/hybrid-version/index.ts | 47 - .../scripts/codelists/hybrid-version/map.xml | 13 - .../codelists/hybrid-version/output.xml | 28 - .../scripts/codelists/icd/index.ts | 65 - .../scripts/codelists/icd/map.xml | 11 - .../scripts/codelists/incoterms/index.ts | 66 - .../scripts/codelists/incoterms/map.xml | 11 - .../node-zugferd/scripts/codelists/index.ts | 705 - .../scripts/codelists/item/index.ts | 65 - .../scripts/codelists/item/map.xml | 11 - .../scripts/codelists/language/index.ts | 64 - .../scripts/codelists/language/map.xml | 11 - .../scripts/codelists/language/output.xml | 1935 - .../scripts/codelists/line-reason/index.ts | 65 - .../scripts/codelists/line-reason/map.xml | 11 - .../scripts/codelists/line-status/index.ts | 71 - .../scripts/codelists/mime/index.ts | 48 - .../scripts/codelists/mime/map.xml | 9 - .../scripts/codelists/mime/output.xml | 27 - .../scripts/codelists/payment/index.ts | 72 - .../scripts/codelists/text/index.ts | 65 - .../scripts/codelists/text/map.xml | 11 - .../scripts/codelists/time/index.ts | 59 - .../scripts/codelists/time/map.xml | 11 - .../scripts/codelists/transport/index.ts | 60 - .../scripts/codelists/transport/map.xml | 13 - .../scripts/codelists/unit/index.ts | 78 - .../scripts/codelists/untdid-1001/index.ts | 68 - .../scripts/codelists/untdid-1153/index.ts | 66 - .../scripts/codelists/untdid-1153/map.xml | 11 - .../scripts/codelists/untdid-3035/index.ts | 48 - .../scripts/codelists/untdid-3139/index.ts | 49 - .../scripts/codelists/untdid-5305/index.ts | 64 - .../scripts/codelists/vat-cat/index.ts | 64 - .../scripts/codelists/vat-id/index.ts | 58 - .../scripts/codelists/vat-id/map.xml | 11 - .../scripts/codelists/vat-id/output.xml | 7 - .../scripts/codelists/vatex/index.ts | 71 - .../scripts/codelists/vatex/output.xml | 387 - .../src/assets/Factur-X_1.07.3_EXTENDED.xsd | 20 - .../src/codelists/allowance.gen.ts | 75 - .../node-zugferd/src/codelists/charge.gen.ts | 390 - .../node-zugferd/src/codelists/country.gen.ts | 431 - .../src/codelists/currency.gen.ts | 274 - .../node-zugferd/src/codelists/date.gen.ts | 44 - .../src/codelists/filename.gen.ts | 42 - .../src/codelists/fiscal-id.gen.ts | 31 - .../src/codelists/hybrid-conformance.gen.ts | 75 - .../src/codelists/hybrid-document.gen.ts | 46 - .../src/codelists/hybrid-version.gen.ts | 55 - packages/node-zugferd/src/codelists/index.ts | 37 - .../src/codelists/language.gen.ts | 687 - .../src/codelists/line-reason.gen.ts | 43 - .../node-zugferd/src/codelists/mime.gen.ts | 33 - .../node-zugferd/src/codelists/time.gen.ts | 37 - .../src/codelists/transport.gen.ts | 95 - .../src/codelists/untdid-5305.gen.ts | 85 - .../src/codelists/untdid1001.gen.ts | 405 - .../src/codelists/untdid1153.gen.ts | 3194 -- .../src/codelists/untdid3035.gen.ts | 3611 -- .../src/codelists/untdid3139.gen.ts | 592 - .../src/codelists/untdid5305.gen.ts | 85 - .../node-zugferd/src/codelists/vat-id.gen.ts | 31 - packages/node-zugferd/src/context.ts | 35 + packages/node-zugferd/src/document/create.ts | 135 - .../node-zugferd/src/document/validate.ts | 22 - packages/node-zugferd/src/error.ts | 12 - .../src/formatter/pdf/formatter.ts | 390 - .../node-zugferd/src/formatter/pdf/index.ts | 1 - .../src/formatter/xml/formatter.test.ts | 226 - .../src/formatter/xml/formatter.ts | 501 - .../node-zugferd/src/formatter/xml/index.ts | 1 - packages/node-zugferd/src/index.test.ts | 43 - packages/node-zugferd/src/index.ts | 98 +- packages/node-zugferd/src/init.ts | 83 - .../src/internal-plugins/create.ts | 164 + .../src/internal-plugins/index.ts | 8 + .../node-zugferd/src/pdf/color-profile.ts | 164 + packages/node-zugferd/src/pdf/index.ts | 1 + packages/node-zugferd/src/pdf/pdfa.ts | 156 + packages/node-zugferd/src/pdf/types.ts | 27 + packages/node-zugferd/src/pdf/xmp.ts | 91 + .../src/profiles/basic-wl/index.ts | 21 - .../src/profiles/basic-wl/mask.ts | 284 - .../src/profiles/basic-wl/schema.ts | 2766 -- .../node-zugferd/src/profiles/basic/index.ts | 22 - .../node-zugferd/src/profiles/basic/mask.ts | 375 - .../node-zugferd/src/profiles/basic/schema.ts | 980 - .../src/profiles/en16931/index.ts | 25 - .../node-zugferd/src/profiles/en16931/mask.ts | 491 - .../src/profiles/en16931/schema.ts | 1221 - .../src/profiles/extended/index.ts | 22 - .../src/profiles/extended/mask.ts | 1384 - .../src/profiles/extended/schema.ts | 11712 ------ packages/node-zugferd/src/profiles/factory.ts | 57 - packages/node-zugferd/src/profiles/index.ts | 8 - .../src/profiles/minimum/index.ts | 19 - .../node-zugferd/src/profiles/minimum/mask.ts | 77 - .../src/profiles/minimum/schema.ts | 740 - .../src/test-utils/data/basic-wl.ts | 85 - .../node-zugferd/src/test-utils/data/basic.ts | 124 - .../src/test-utils/data/en16931.ts | 134 - .../src/test-utils/data/extended.ts | 197 - .../src/test-utils/data/minimum.ts | 71 - .../node-zugferd/src/test-utils/input.pdf | Bin 28017 -> 0 bytes packages/node-zugferd/src/test-utils/pdf.ts | 8 - .../src/test-utils/test-instance.ts | 26 - packages/node-zugferd/src/types/helper.ts | 12 - packages/node-zugferd/src/types/index.ts | 6 - packages/node-zugferd/src/types/options.ts | 10 - packages/node-zugferd/src/types/plugins.ts | 5 - packages/node-zugferd/src/types/profile.ts | 41 - packages/node-zugferd/src/types/schema.ts | 118 - packages/node-zugferd/src/utils.ts | 30 + packages/node-zugferd/src/utils/asset.ts | 25 - .../node-zugferd/src/utils/color-profile.ts | 56 - packages/node-zugferd/src/utils/helper.ts | 18 - packages/node-zugferd/src/zugferd.ts | 69 - packages/node-zugferd/tsconfig.json | 34 +- packages/node-zugferd/tsdown.config.ts | 8 + packages/node-zugferd/tsup.config.ts | 55 - packages/node-zugferd/vitest.config.ts | 8 + packages/parser/_package.json | 29 + packages/parser/tsconfig.json | 5 + packages/parser/tsdown.config.ts | 8 + packages/parser/vitest.config.ts | 8 + packages/profiles/basic-wl/package.json | 47 + packages/profiles/basic-wl/src/index.ts | 1318 + packages/profiles/basic-wl/src/schema.ts | 1095 + packages/profiles/basic-wl/tsconfig.json | 42 + packages/profiles/basic-wl/tsdown.config.ts | 8 + packages/profiles/basic-wl/vitest.config.ts | 8 + packages/profiles/basic/package.json | 43 + packages/profiles/basic/src/index.ts | 330 + packages/profiles/basic/src/schema.ts | 340 + packages/profiles/basic/tsconfig.json | 27 + packages/profiles/basic/tsdown.config.ts | 8 + packages/profiles/basic/vitest.config.ts | 8 + packages/profiles/en-16931/package.json | 39 + packages/profiles/en-16931/src/index.ts | 986 + packages/profiles/en-16931/src/schema.ts | 611 + packages/profiles/en-16931/tsconfig.json | 18 + packages/profiles/en-16931/tsdown.config.ts | 8 + packages/profiles/en-16931/vitest.config.ts | 8 + packages/profiles/extended/package.json | 58 + packages/profiles/extended/src/index.ts | 7959 ++++ packages/profiles/extended/src/schema.ts | 5639 +++ packages/profiles/extended/tsconfig.json | 75 + packages/profiles/extended/tsdown.config.ts | 8 + packages/profiles/extended/vitest.config.ts | 8 + packages/profiles/minimum/package.json | 41 + packages/profiles/minimum/src/index.ts | 324 + packages/profiles/minimum/src/schema.ts | 348 + packages/profiles/minimum/tsconfig.json | 24 + packages/profiles/minimum/tsdown.config.ts | 8 + packages/profiles/minimum/vitest.config.ts | 8 + packages/utils/package.json | 35 + packages/utils/src/base64.ts | 17 + packages/utils/src/index.ts | 2 + .../utils/src/profile.inference.test-d.ts | 218 + packages/utils/src/profile.ts | 281 + packages/utils/tsconfig.json | 12 + packages/utils/tsdown.config.ts | 8 + packages/utils/vitest.config.ts | 8 + packages/validators/mustang/.gitignore | 1 + packages/validators/mustang/package.json | 41 + packages/validators/mustang/src/bin.ts | 9 + packages/validators/mustang/src/index.ts | 228 + packages/validators/mustang/src/isomorph.ts | 11 + packages/validators/mustang/src/setup.ts | 121 + packages/validators/mustang/src/types.ts | 28 + packages/validators/mustang/tsconfig.json | 9 + packages/validators/mustang/tsdown.config.ts | 15 + packages/validators/mustang/vitest.config.ts | 8 + packages/validators/xsd/package.json | 34 + .../schemas/CrossIndustryInvoice_100pD22B.xsd | 25 + ...EDIFICAS-EU_AccountingAccountType_D11A.xsd | 18 + ..._EDIFICAS-EU_AccountingAmountType_D11A.xsd | 17 + ...d_ISO_ISO3AlphaCurrencyCode_2012-08-31.xsd | 191 + ...odelist_standard_UNECE_ActionCode_D22A.xsd | 130 + ...delist_standard_UNECE_AddressType_D22A.xsd | 19 + ...E_AdjustmentReasonDescriptionCode_D22A.xsd | 116 + ...AllowanceChargeIdentificationCode_D22A.xsd | 116 + ...d_UNECE_AllowanceChargeReasonCode_D22A.xsd | 116 + ...CE_AutomaticDataCaptureMethodCode_D22A.xsd | 21 + ...NECE_CargoOperationalCategoryCode_D22A.xsd | 36 + ...dard_UNECE_CargoTypeCode_1996Rev2Final.xsd | 20 + ...UNECE_CommodityIdentificationCode_D22A.xsd | 12 + ..._UNECE_CommunicationMeansTypeCode_D22A.xsd | 58 + ...tandard_UNECE_ContactFunctionCode_D22A.xsd | 114 + ...d_UNECE_DangerousGoodsPackingCode_D22A.xsd | 15 + ...NECE_DangerousGoodsRegulationCode_D22A.xsd | 35 + ...standard_UNECE_DateOnlyFormatCode_D21B.xsd | 21 + ..._standard_UNECE_DeliveryTermsCode_2020.xsd | 24 + ...d_UNECE_DeliveryTermsFunctionCode_D22A.xsd | 19 + ..._standard_UNECE_DimensionTypeCode_D22A.xsd | 35 + ...UNECE_DocumentNameCode_Accounting_D22A.xsd | 35 + ...t_standard_UNECE_DocumentNameCode_D22A.xsd | 819 + ...standard_UNECE_DocumentStatusCode_D22A.xsd | 61 + ...standard_UNECE_DutyTaxFeeTypeCode_D22A.xsd | 67 + ..._UNECE_DutyorTaxorFeeCategoryCode_D22A.xsd | 33 + ...imeReferenceCodePaymentTermsEvent_D22A.xsd | 16 + ...dard_UNECE_EventTimeReferenceCode_D22A.xsd | 76 + ...reightChargeQuantityUnitBasisCode_D22A.xsd | 12 + ...ard_UNECE_FreightChargeTariffCode_D22A.xsd | 25 + ...list_standard_UNECE_GoodsTypeCode_D22A.xsd | 12 + ...dard_UNECE_GoodsTypeExtensionCode_D22A.xsd | 12 + ...andard_UNECE_LocationFunctionCode_D22A.xsd | 326 + ...NECE_MeasurementUnitCommonCodeLinear_4.xsd | 17 + ...NECE_MeasurementUnitCommonCodeVolume_4.xsd | 18 + ...NECE_MeasurementUnitCommonCodeWeight_4.xsd | 15 + ...tandard_UNECE_MessageFunctionCode_D22A.xsd | 84 + ...st_standard_UNECE_PackageTypeCode_2006.xsd | 416 + ...andard_UNECE_PackagingMarkingCode_D22A.xsd | 63 + ..._UNECE_PartyRoleCode_ChargePaying_D22A.xsd | 32 + ...list_standard_UNECE_PartyRoleCode_D22A.xsd | 635 + ...d_UNECE_PaymentGuaranteeMeansCode_D22A.xsd | 23 + ...ard_UNECE_PaymentMeansChannelCode_D22A.xsd | 27 + ...t_standard_UNECE_PaymentMeansCode_D22A.xsd | 94 + ...andard_UNECE_PaymentTermsTypeCode_D22A.xsd | 90 + ...list_standard_UNECE_PriceTypeCode_D22A.xsd | 50 + ..._standard_UNECE_ReferenceTypeCode_D22A.xsd | 828 + ..._standard_UNECE_SealConditionCode_D22A.xsd | 16 + ...andard_UNECE_SealingPartyRoleCode_D22A.xsd | 18 + ...odelist_standard_UNECE_StatusCode_D22A.xsd | 527 + ...riptionCode_AccountingDebitCredit_D22A.xsd | 18 + ...standard_UNECE_TimeOnlyFormatCode_D21B.xsd | 16 + ...tandard_UNECE_TimePointFormatCode_D21B.xsd | 17 + ...CE_TransportEquipmentCategoryCode_D22A.xsd | 107 + ...CE_TransportEquipmentFullnessCode_D22A.xsd | 24 + ...dard_UNECE_TransportMeansTypeCode_2007.xsd | 145 + ...ist_standard_UNECE_TransportModeCode_2.xsd | 21 + ..._UNECE_TransportMovementStageCode_D22A.xsd | 41 + ...E_TransportPaymentArrangementCode_D22A.xsd | 15 + ...ct_data_standard_QualifiedDataType_100.xsd | 818 + ...AggregateBusinessInformationEntity_100.xsd | 6176 ++++ ..._data_standard_UnqualifiedDataType_100.xsd | 144 + ...wo-letterCountryCode_SecondEdition2006.xsd | 260 + ...rlist_standard_UNECE_FreightCostCode_4.xsd | 1722 + ...PaymentTermsDescriptionIdentifier_D22A.xsd | 18 + .../xsd/schemas/FACTUR-X_BASIC-WL.xsd} | 6 +- ...t_data_standard_QualifiedDataType_100.xsd} | 0 ...ggregateBusinessInformationEntity_100.xsd} | 4 +- ...data_standard_UnqualifiedDataType_100.xsd} | 2 +- .../xsd/schemas/FACTUR-X_BASIC.xsd} | 6 +- ...t_data_standard_QualifiedDataType_100.xsd} | 0 ...ggregateBusinessInformationEntity_100.xsd} | 4 +- ...data_standard_UnqualifiedDataType_100.xsd} | 2 +- .../xsd/schemas/FACTUR-X_EN16931.xsd} | 6 +- ...t_data_standard_QualifiedDataType_100.xsd} | 0 ...ggregateBusinessInformationEntity_100.xsd} | 4 +- ...data_standard_UnqualifiedDataType_100.xsd} | 2 +- .../xsd/schemas/FACTUR-X_EXTENDED.xsd} | 6 +- ...t_data_standard_QualifiedDataType_100.xsd} | 0 ...ggregateBusinessInformationEntity_100.xsd} | 28 +- ...data_standard_UnqualifiedDataType_100.xsd} | 2 +- .../xsd/schemas/FACTUR-X_MINIMUM.xsd | 20 + ...t_data_standard_QualifiedDataType_100.xsd} | 0 ...ggregateBusinessInformationEntity_100.xsd} | 4 +- ...data_standard_UnqualifiedDataType_100.xsd} | 2 +- packages/validators/xsd/src/index.ts | 129 + packages/validators/xsd/src/isomorph.ts | 11 + packages/validators/xsd/src/types.ts | 20 + packages/validators/xsd/tsconfig.json | 9 + packages/validators/xsd/tsdown.config.ts | 14 + packages/validators/xsd/vitest.config.ts | 8 + pnpm-lock.yaml | 10931 +++--- pnpm-workspace.yaml | 16 +- .../generators/codelist/allowance/index.ts | 28 + .../generators/codelist}/allowance/map.xml | 6 +- .../generators/codelist}/allowance/output.xml | 4 +- .../codelist/characteristic/index.ts | 29 + .../codelist}/characteristic/map.xml | 2 +- .../codelist}/characteristic/output.xml | 382 +- scripts/generators/codelist/charge/index.ts | 28 + .../generators/codelist/charge}/map.xml | 2 +- .../generators/codelist}/charge/output.xml | 4 +- scripts/generators/codelist/country/index.ts | 28 + .../generators/codelist/country}/map.xml | 6 +- .../generators/codelist}/country/output.xml | 4 +- scripts/generators/codelist/currency/index.ts | 28 + .../generators/codelist/currency}/map.xml | 2 +- .../generators/codelist}/currency/output.xml | 4 +- scripts/generators/codelist/eas/index.ts | 28 + scripts/generators/codelist/eas/map.xml | 11 + .../generators/codelist}/eas/output.xml | 28 +- scripts/generators/codelist/generator.ts | 112 + scripts/generators/codelist/icd/index.ts | 28 + scripts/generators/codelist/icd/map.xml | 11 + .../generators/codelist}/icd/output.xml | 73 +- .../generators/codelist/incoterms/index.ts | 28 + scripts/generators/codelist/incoterms/map.xml | 11 + .../generators/codelist}/incoterms/output.xml | 4 +- scripts/generators/codelist/item/index.ts | 28 + scripts/generators/codelist/item/map.xml | 11 + .../generators/codelist}/item/output.xml | 4 +- scripts/generators/codelist/language/index.ts | 28 + scripts/generators/codelist/language/map.xml | 11 + .../generators/codelist/language/output.xml | 55 + .../generators/codelist/line-reason/index.ts | 28 + .../generators/codelist/line-reason/map.xml | 11 + .../codelist}/line-reason/output.xml | 4 +- .../generators/codelist/line-status/index.ts | 29 + .../generators/codelist/line-status}/map.xml | 2 +- .../codelist}/line-status/output.xml | 124 +- scripts/generators/codelist/payment/index.ts | 28 + .../generators/codelist}/payment/map.xml | 2 +- .../generators/codelist}/payment/output.xml | 4 +- scripts/generators/codelist/template.hbs | 13 + scripts/generators/codelist/text/index.ts | 28 + scripts/generators/codelist/text/map.xml | 11 + .../generators/codelist}/text/output.xml | 4 +- scripts/generators/codelist/time/index.ts | 28 + scripts/generators/codelist/time/map.xml | 11 + .../generators/codelist}/time/output.xml | 4 +- .../generators/codelist/transport/index.ts | 29 + .../generators/codelist/transport}/map.xml | 2 +- .../generators/codelist}/transport/output.xml | 4 +- scripts/generators/codelist/unit/index.ts | 30 + .../generators/codelist}/unit/map.xml | 2 +- .../generators/codelist}/unit/output.xml | 82 +- .../generators/codelist/untdid-1001/index.ts | 29 + .../generators/codelist}/untdid-1001/map.xml | 2 +- .../codelist}/untdid-1001/output.xml | 4 +- .../generators/codelist/untdid-1153/index.ts | 28 + .../generators/codelist/untdid-1153/map.xml | 11 + .../codelist}/untdid-1153/output.xml | 4 +- .../generators/codelist/untdid-2005/index.ts | 15 + .../generators/codelist/untdid-3035/index.ts | 15 + .../generators/codelist/untdid-3139/index.ts | 15 + .../generators/codelist/untdid-4053/index.ts | 15 + .../generators/codelist/untdid-5305/index.ts | 30 + .../generators/codelist}/untdid-5305/map.xml | 2 +- .../codelist}/untdid-5305/output.xml | 4 +- scripts/generators/codelist/utils.ts | 87 + scripts/generators/codelist/vat-cat/index.ts | 29 + .../generators/codelist/vat-cat}/map.xml | 2 +- .../generators/codelist}/vat-cat/output.xml | 109 +- scripts/generators/codelist/vatex/index.ts | 29 + .../generators/codelist}/vatex/map.xml | 2 +- scripts/generators/codelist/vatex/output.xml | 527 + scripts/generators/config.ts | 6 + scripts/generators/helper.ts | 16 + tsconfig.base.json | 28 + tsconfig.json | 145 +- turbo.json | 126 +- vitest.config.ts | 13 + 864 files changed, 84393 insertions(+), 142507 deletions(-) create mode 100644 .cspell.jsonc delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/dependabot.yml create mode 100644 .github/renovate.json5 create mode 100644 .github/workflows/e2e.yml delete mode 100644 .github/workflows/preview.yml delete mode 100644 .github/workflows/release.yml delete mode 100644 .npmignore create mode 100644 .nvmrc delete mode 100644 .vscode/settings.json delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 LICENSE.md delete mode 100644 README.md delete mode 100644 bump.config.ts delete mode 100644 dev/bun/package.json delete mode 100644 dev/bun/src/@node-zugferd-api.postman_collection.json delete mode 100644 dev/bun/src/client.ts delete mode 100644 dev/bun/src/index.ts delete mode 100644 dev/bun/src/invoicer.tsx delete mode 100644 dev/bun/tsconfig.json delete mode 100644 dev/node/package.json delete mode 100644 dev/node/src/index.ts delete mode 100644 dev/node/tsconfig.json delete mode 100644 docs/.env.example delete mode 100644 docs/.gitignore delete mode 100644 docs/README.md delete mode 100644 docs/components.json delete mode 100644 docs/content/docs/basic-usage.mdx delete mode 100644 docs/content/docs/codelists/allowance.mdx delete mode 100644 docs/content/docs/codelists/characteristic.mdx delete mode 100644 docs/content/docs/codelists/charge.mdx delete mode 100644 docs/content/docs/codelists/country.mdx delete mode 100644 docs/content/docs/codelists/currency.mdx delete mode 100644 docs/content/docs/codelists/date.mdx delete mode 100644 docs/content/docs/codelists/eas.mdx delete mode 100644 docs/content/docs/codelists/fiscal-id.mdx delete mode 100644 docs/content/docs/codelists/icd.mdx delete mode 100644 docs/content/docs/codelists/incoterms.mdx delete mode 100644 docs/content/docs/codelists/item.mdx delete mode 100644 docs/content/docs/codelists/language.mdx delete mode 100644 docs/content/docs/codelists/line-reason.mdx delete mode 100644 docs/content/docs/codelists/line-status.mdx delete mode 100644 docs/content/docs/codelists/mime.mdx delete mode 100644 docs/content/docs/codelists/payment.mdx delete mode 100644 docs/content/docs/codelists/text.mdx delete mode 100644 docs/content/docs/codelists/time.mdx delete mode 100644 docs/content/docs/codelists/transport.mdx delete mode 100644 docs/content/docs/codelists/unit.mdx delete mode 100644 docs/content/docs/codelists/untdid-1001.mdx delete mode 100644 docs/content/docs/codelists/untdid-1153.mdx delete mode 100644 docs/content/docs/codelists/untdid-3035.mdx delete mode 100644 docs/content/docs/codelists/untdid-3139.mdx delete mode 100644 docs/content/docs/codelists/untdid-5305.mdx delete mode 100644 docs/content/docs/codelists/vat-cat.mdx delete mode 100644 docs/content/docs/codelists/vat-id.mdx delete mode 100644 docs/content/docs/codelists/vatex.mdx delete mode 100644 docs/content/docs/guides/create-your-first-profile.mdx delete mode 100644 docs/content/docs/introduction.mdx delete mode 100644 docs/content/docs/plugins/api.mdx delete mode 100644 docs/content/docs/profiles/basic-wl.mdx delete mode 100644 docs/content/docs/profiles/basic.mdx delete mode 100644 docs/content/docs/profiles/en16931.mdx delete mode 100644 docs/content/docs/profiles/extended.mdx delete mode 100644 docs/content/docs/profiles/minimum.mdx delete mode 100644 docs/content/docs/reference/contributing.mdx delete mode 100644 docs/content/docs/reference/options.mdx delete mode 100644 docs/content/docs/reference/resources.mdx delete mode 100644 docs/next.config.mjs delete mode 100644 docs/package.json delete mode 100644 docs/postcss.config.mjs delete mode 100644 docs/public/favicon/android-chrome-192x192.png delete mode 100644 docs/public/favicon/android-chrome-512x512.png delete mode 100644 docs/public/favicon/apple-touch-icon.png delete mode 100644 docs/public/favicon/favicon-16x16.png delete mode 100644 docs/public/favicon/favicon-32x32.png delete mode 100644 docs/public/favicon/favicon.ico delete mode 100644 docs/public/favicon/light/android-chrome-192x192.png delete mode 100644 docs/public/favicon/light/android-chrome-512x512.png delete mode 100644 docs/public/favicon/light/apple-touch-icon.png delete mode 100644 docs/public/favicon/light/favicon-16x16.png delete mode 100644 docs/public/favicon/light/favicon-32x32.png delete mode 100644 docs/public/favicon/light/favicon.ico delete mode 100644 docs/public/favicon/light/site.webmanifest delete mode 100644 docs/public/favicon/site.webmanifest delete mode 100644 docs/source.config.ts delete mode 100644 docs/src/app/(home)/client.tsx delete mode 100644 docs/src/app/(home)/layout.tsx delete mode 100644 docs/src/app/(home)/page.tsx delete mode 100644 docs/src/app/api/og/route.tsx delete mode 100644 docs/src/app/api/search/route.ts delete mode 100644 docs/src/app/docs/[[...slug]]/page.tsx delete mode 100644 docs/src/app/docs/layout.tsx delete mode 100644 docs/src/app/docs/lib/get-llm-text.ts delete mode 100644 docs/src/app/global.css delete mode 100644 docs/src/app/layout.config.tsx delete mode 100644 docs/src/app/layout.tsx delete mode 100644 docs/src/app/llms.txt/[...slug]/route.ts delete mode 100644 docs/src/app/llms.txt/route.ts delete mode 100644 docs/src/app/not-found.tsx delete mode 100644 docs/src/app/robots.ts delete mode 100644 docs/src/app/sitemap.ts delete mode 100644 docs/src/app/source.ts delete mode 100644 docs/src/assets/Geist.ttf delete mode 100644 docs/src/assets/GeistMono.ttf delete mode 100644 docs/src/components/blocks/api-features.tsx delete mode 100644 docs/src/components/blocks/features.tsx delete mode 100644 docs/src/components/blocks/need-help.tsx delete mode 100644 docs/src/components/blocks/profile-tree.tsx delete mode 100644 docs/src/components/device/device.tsx delete mode 100644 docs/src/components/device/index.ts delete mode 100644 docs/src/components/footer.tsx delete mode 100644 docs/src/components/github-info.tsx delete mode 100644 docs/src/components/landing/features.tsx delete mode 100644 docs/src/components/landing/hero.tsx delete mode 100644 docs/src/components/llm-copy-button.tsx delete mode 100644 docs/src/components/nav-bar.tsx delete mode 100644 docs/src/components/nav-mobile.tsx delete mode 100644 docs/src/components/resource-card.tsx delete mode 100644 docs/src/components/resource.tsx delete mode 100644 docs/src/components/side-bar-link.tsx delete mode 100644 docs/src/components/side-bar.tsx delete mode 100644 docs/src/components/ui/accordion.tsx delete mode 100644 docs/src/components/ui/aurora-background.tsx delete mode 100644 docs/src/components/ui/badge.tsx delete mode 100644 docs/src/components/ui/button.tsx delete mode 100644 docs/src/components/ui/in-view.tsx delete mode 100644 docs/src/components/ui/input.tsx delete mode 100644 docs/src/components/ui/popover.tsx delete mode 100644 docs/src/components/ui/select.tsx delete mode 100644 docs/src/components/ui/tooltip.tsx delete mode 100644 docs/src/components/view-options.tsx delete mode 100644 docs/src/data/sidebar-items/codelist-items.gen.ts delete mode 100644 docs/src/data/sidebar-items/index.tsx delete mode 100644 docs/src/lib/metadata.ts delete mode 100644 docs/src/lib/utils.ts delete mode 100644 docs/src/types/content.ts delete mode 100644 docs/src/types/helper.ts delete mode 100644 docs/tailwind.config.ts delete mode 100644 docs/tsconfig.json rename examples/todo.md => e2e/integration/.gitkeep (100%) create mode 100644 e2e/profiles/basic-wl/package.json create mode 100644 e2e/profiles/basic-wl/src/data/valid/booking-guide.ts create mode 100644 e2e/profiles/basic-wl/src/data/valid/simple.ts create mode 100644 e2e/profiles/basic-wl/src/index.test.ts create mode 100644 e2e/profiles/basic-wl/src/invoicer.ts create mode 100644 e2e/profiles/basic-wl/tsconfig.json create mode 100644 e2e/profiles/basic-wl/vitest.config.ts create mode 100644 e2e/profiles/basic/package.json create mode 100644 e2e/profiles/basic/src/data/valid/invoice-correction.ts create mode 100644 e2e/profiles/basic/src/data/valid/simple.ts create mode 100644 e2e/profiles/basic/src/data/valid/taxi-ride.ts create mode 100644 e2e/profiles/basic/src/index.test.ts create mode 100644 e2e/profiles/basic/src/invoicer.ts create mode 100644 e2e/profiles/basic/tsconfig.json create mode 100644 e2e/profiles/basic/vitest.config.ts create mode 100644 e2e/profiles/en-16931/package.json create mode 100644 e2e/profiles/en-16931/src/data/valid/credit-note.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/deviating-payee.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/discounts.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/electron.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/electronic-address.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/intra-community-supplies.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/invoice-correction.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/invoice-transfer.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/liability-insurance-insurance-tax.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/motor-insurance-gross-prices.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/partial-invoice-1.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/partial-invoice-2.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/photovoltaic.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/physiotherapist.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/public-transport.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/rent.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/sepa-prenotification.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/service-charge-statement.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/simple-due-date.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/simple-negative-payment-due.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/simple.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/small-business-owner-without-vat-number.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/tax-exempt-international-supply.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/tax-rate-applicable-property-insurance.ts create mode 100644 e2e/profiles/en-16931/src/data/valid/travel-expense-report.ts create mode 100644 e2e/profiles/en-16931/src/index.test.ts create mode 100644 e2e/profiles/en-16931/src/invoicer.ts create mode 100644 e2e/profiles/en-16931/tsconfig.json create mode 100644 e2e/profiles/en-16931/vitest.config.ts create mode 100644 e2e/profiles/extended/package.json create mode 100644 e2e/profiles/extended/src/data/valid/collective-invoice-3-orders.ts create mode 100644 e2e/profiles/extended/src/data/valid/cost-accounting.ts create mode 100644 e2e/profiles/extended/src/data/valid/final-project-invoice.ts create mode 100644 e2e/profiles/extended/src/data/valid/foreign-currency.ts create mode 100644 e2e/profiles/extended/src/data/valid/goods-invoice.ts create mode 100644 e2e/profiles/extended/src/data/valid/intra-community-supply-multiple-orders.ts create mode 100644 e2e/profiles/extended/src/data/valid/invoice-correction.ts create mode 100644 e2e/profiles/extended/src/data/valid/machine-serial-no.ts create mode 100644 e2e/profiles/extended/src/data/valid/origin-country-customs-tariff-HS_UNSPSC_TST_eClass_STQ.ts create mode 100644 e2e/profiles/extended/src/data/valid/simple-construction-pro-forma-invoice-1.ts create mode 100644 e2e/profiles/extended/src/data/valid/simple-construction-pro-forma-invoice-2.ts create mode 100644 e2e/profiles/extended/src/data/valid/simple-final-construction-invoice.ts create mode 100644 e2e/profiles/extended/src/data/valid/small-business-owner-without-vat.ts create mode 100644 e2e/profiles/extended/src/data/valid/sub-invoice-line-coffee-bundle-set.ts create mode 100644 e2e/profiles/extended/src/data/valid/sub-invoice-line-fall-protection-set.ts create mode 100644 e2e/profiles/extended/src/data/valid/sub-invoice-line-hardware.ts create mode 100644 e2e/profiles/extended/src/data/valid/sub-invoice-line-office-supplies.ts create mode 100644 e2e/profiles/extended/src/data/valid/sub-invoice-line-pro-forma-invoice.ts create mode 100644 e2e/profiles/extended/src/data/valid/tax-free-intra-community-supply.ts create mode 100644 e2e/profiles/extended/src/index.test.ts create mode 100644 e2e/profiles/extended/src/invoicer.ts create mode 100644 e2e/profiles/extended/tsconfig.json create mode 100644 e2e/profiles/extended/vitest.config.ts create mode 100644 e2e/profiles/factory.ts create mode 100644 e2e/profiles/minimum/package.json create mode 100644 e2e/profiles/minimum/src/data/valid/booking-guide.ts create mode 100644 e2e/profiles/minimum/src/data/valid/invoice.ts create mode 100644 e2e/profiles/minimum/src/index.test.ts create mode 100644 e2e/profiles/minimum/src/invoicer.ts create mode 100644 e2e/profiles/minimum/tsconfig.json create mode 100644 e2e/profiles/minimum/vitest.config.ts create mode 100644 e2e/profiles/package.json create mode 100644 e2e/profiles/tsconfig.json create mode 100644 e2e/smoke/package.json create mode 100644 e2e/smoke/test/fixtures/tsconfig-declaration/package.json create mode 100644 e2e/smoke/test/fixtures/tsconfig-declaration/src/index.ts create mode 100644 e2e/smoke/test/fixtures/tsconfig-declaration/tsconfig.json create mode 100644 e2e/smoke/test/fixtures/tsconfig-exact-optional-property-types/package.json create mode 100644 e2e/smoke/test/fixtures/tsconfig-exact-optional-property-types/src/index.ts create mode 100644 e2e/smoke/test/fixtures/tsconfig-exact-optional-property-types/tsconfig.json create mode 100644 e2e/smoke/test/fixtures/tsconfig-isolated-module-bundler/package.json create mode 100644 e2e/smoke/test/fixtures/tsconfig-isolated-module-bundler/src/index.ts create mode 100644 e2e/smoke/test/fixtures/tsconfig-isolated-module-bundler/tsconfig.json create mode 100644 e2e/smoke/test/fixtures/tsconfig-verbatim-module-syntax-node10/package.json create mode 100644 e2e/smoke/test/fixtures/tsconfig-verbatim-module-syntax-node10/src/index.ts create mode 100644 e2e/smoke/test/fixtures/tsconfig-verbatim-module-syntax-node10/tsconfig.json create mode 100644 e2e/smoke/test/typecheck.spec.ts create mode 100644 e2e/smoke/tsconfig.json create mode 100644 knip.jsonc delete mode 100644 packages/api/package.json delete mode 100644 packages/api/src/api/call.ts delete mode 100644 packages/api/src/api/generate-pdf.ts delete mode 100644 packages/api/src/api/index.ts delete mode 100644 packages/api/src/api/middlewares/index.ts delete mode 100644 packages/api/src/api/middlewares/origin-check.test.ts delete mode 100644 packages/api/src/api/middlewares/origin-check.ts delete mode 100644 packages/api/src/api/routes/create.test.ts delete mode 100644 packages/api/src/api/routes/create.ts delete mode 100644 packages/api/src/api/routes/index.ts delete mode 100644 packages/api/src/api/routes/ok.ts delete mode 100644 packages/api/src/api/routes/preview.test.ts delete mode 100644 packages/api/src/api/routes/preview.ts delete mode 100644 packages/api/src/api/to-api-endpoints.test.ts delete mode 100644 packages/api/src/client/index.ts delete mode 100644 packages/api/src/index.ts delete mode 100644 packages/api/src/init.ts delete mode 100644 packages/api/src/integrations/next-js.ts delete mode 100644 packages/api/src/integrations/node.ts delete mode 100644 packages/api/src/integrations/solid-start.ts delete mode 100644 packages/api/src/integrations/svelte-kit.ts delete mode 100644 packages/api/src/renderer/react.tsx delete mode 100644 packages/api/src/renderer/solid.tsx delete mode 100644 packages/api/src/renderer/svelte.ts delete mode 100644 packages/api/src/renderer/vanilla.ts delete mode 100644 packages/api/src/renderer/vue.ts delete mode 100644 packages/api/src/test-utils/data/basic-wl.ts delete mode 100644 packages/api/src/test-utils/data/basic.ts delete mode 100644 packages/api/src/test-utils/data/en16931.ts delete mode 100644 packages/api/src/test-utils/data/extended.ts delete mode 100644 packages/api/src/test-utils/data/minimum.ts delete mode 100644 packages/api/src/test-utils/test-instance.tsx delete mode 100644 packages/api/src/types/api.ts delete mode 100644 packages/api/src/types/context.ts delete mode 100644 packages/api/src/types/helper.ts delete mode 100644 packages/api/src/types/index.ts delete mode 100644 packages/api/src/types/options.ts delete mode 100644 packages/api/src/types/renderer.ts delete mode 100644 packages/api/src/utils/hide-metadata.ts delete mode 100644 packages/api/src/utils/index.ts delete mode 100644 packages/api/src/utils/url.ts delete mode 100644 packages/api/src/utils/wildcard-match.ts delete mode 100644 packages/api/tsconfig.json delete mode 100644 packages/api/tsup.config.ts delete mode 100644 packages/api/vitest.config.ts create mode 100644 packages/codelists/allowance/package.json create mode 100644 packages/codelists/allowance/src/index.ts create mode 100644 packages/codelists/allowance/tsconfig.json create mode 100644 packages/codelists/allowance/tsdown.config.ts create mode 100644 packages/codelists/allowance/vitest.config.ts create mode 100644 packages/codelists/characteristic/package.json rename packages/{node-zugferd/src/codelists/characteristic.gen.ts => codelists/characteristic/src/index.ts} (86%) create mode 100644 packages/codelists/characteristic/tsconfig.json create mode 100644 packages/codelists/characteristic/tsdown.config.ts create mode 100644 packages/codelists/characteristic/vitest.config.ts create mode 100644 packages/codelists/charge/package.json create mode 100644 packages/codelists/charge/src/index.ts create mode 100644 packages/codelists/charge/tsconfig.json create mode 100644 packages/codelists/charge/tsdown.config.ts create mode 100644 packages/codelists/charge/vitest.config.ts create mode 100644 packages/codelists/country/package.json create mode 100644 packages/codelists/country/src/index.ts create mode 100644 packages/codelists/country/tsconfig.json create mode 100644 packages/codelists/country/tsdown.config.ts create mode 100644 packages/codelists/country/vitest.config.ts create mode 100644 packages/codelists/currency/package.json create mode 100644 packages/codelists/currency/src/index.ts create mode 100644 packages/codelists/currency/tsconfig.json create mode 100644 packages/codelists/currency/tsdown.config.ts create mode 100644 packages/codelists/currency/vitest.config.ts create mode 100644 packages/codelists/eas/package.json rename packages/{node-zugferd/src/codelists/eas.gen.ts => codelists/eas/src/index.ts} (56%) create mode 100644 packages/codelists/eas/tsconfig.json create mode 100644 packages/codelists/eas/tsdown.config.ts create mode 100644 packages/codelists/eas/vitest.config.ts create mode 100644 packages/codelists/icd/package.json rename packages/{node-zugferd/src/codelists/icd.gen.ts => codelists/icd/src/index.ts} (53%) create mode 100644 packages/codelists/icd/tsconfig.json create mode 100644 packages/codelists/icd/tsdown.config.ts create mode 100644 packages/codelists/icd/vitest.config.ts create mode 100644 packages/codelists/incoterms/package.json rename packages/{node-zugferd/src/codelists/incoterms.gen.ts => codelists/incoterms/src/index.ts} (61%) create mode 100644 packages/codelists/incoterms/tsconfig.json create mode 100644 packages/codelists/incoterms/tsdown.config.ts create mode 100644 packages/codelists/incoterms/vitest.config.ts create mode 100644 packages/codelists/item/package.json rename packages/{node-zugferd/src/codelists/item.gen.ts => codelists/item/src/index.ts} (68%) create mode 100644 packages/codelists/item/tsconfig.json create mode 100644 packages/codelists/item/tsdown.config.ts create mode 100644 packages/codelists/item/vitest.config.ts create mode 100644 packages/codelists/language/package.json create mode 100644 packages/codelists/language/src/index.ts create mode 100644 packages/codelists/language/tsconfig.json create mode 100644 packages/codelists/language/tsdown.config.ts create mode 100644 packages/codelists/language/vitest.config.ts create mode 100644 packages/codelists/line-reason/package.json create mode 100644 packages/codelists/line-reason/src/index.ts create mode 100644 packages/codelists/line-reason/tsconfig.json create mode 100644 packages/codelists/line-reason/tsdown.config.ts create mode 100644 packages/codelists/line-reason/vitest.config.ts create mode 100644 packages/codelists/line-status/package.json rename packages/{node-zugferd/src/codelists/line-status.gen.ts => codelists/line-status/src/index.ts} (90%) create mode 100644 packages/codelists/line-status/tsconfig.json create mode 100644 packages/codelists/line-status/tsdown.config.ts create mode 100644 packages/codelists/line-status/vitest.config.ts create mode 100644 packages/codelists/payment/package.json rename packages/{node-zugferd/src/codelists/payment.gen.ts => codelists/payment/src/index.ts} (52%) create mode 100644 packages/codelists/payment/tsconfig.json create mode 100644 packages/codelists/payment/tsdown.config.ts create mode 100644 packages/codelists/payment/vitest.config.ts create mode 100644 packages/codelists/text/package.json rename packages/{node-zugferd/src/codelists/text.gen.ts => codelists/text/src/index.ts} (54%) create mode 100644 packages/codelists/text/tsconfig.json create mode 100644 packages/codelists/text/tsdown.config.ts create mode 100644 packages/codelists/text/vitest.config.ts create mode 100644 packages/codelists/time/package.json create mode 100644 packages/codelists/time/src/index.ts create mode 100644 packages/codelists/time/tsconfig.json create mode 100644 packages/codelists/time/tsdown.config.ts create mode 100644 packages/codelists/time/vitest.config.ts create mode 100644 packages/codelists/transport/package.json create mode 100644 packages/codelists/transport/src/index.ts create mode 100644 packages/codelists/transport/tsconfig.json create mode 100644 packages/codelists/transport/tsdown.config.ts create mode 100644 packages/codelists/transport/vitest.config.ts create mode 100644 packages/codelists/unit/package.json rename packages/{node-zugferd/src/codelists/unit.gen.ts => codelists/unit/src/index.ts} (61%) create mode 100644 packages/codelists/unit/tsconfig.json create mode 100644 packages/codelists/unit/tsdown.config.ts create mode 100644 packages/codelists/unit/vitest.config.ts create mode 100644 packages/codelists/untdid-1001/package.json rename packages/{node-zugferd/src/codelists/untdid-1001.gen.ts => codelists/untdid-1001/src/index.ts} (82%) create mode 100644 packages/codelists/untdid-1001/tsconfig.json create mode 100644 packages/codelists/untdid-1001/tsdown.config.ts create mode 100644 packages/codelists/untdid-1001/vitest.config.ts create mode 100644 packages/codelists/untdid-1153/package.json rename packages/{node-zugferd/src/codelists/untdid-1153.gen.ts => codelists/untdid-1153/src/index.ts} (68%) create mode 100644 packages/codelists/untdid-1153/tsconfig.json create mode 100644 packages/codelists/untdid-1153/tsdown.config.ts create mode 100644 packages/codelists/untdid-1153/vitest.config.ts create mode 100644 packages/codelists/untdid-2005/package.json create mode 100644 packages/codelists/untdid-2005/src/index.ts create mode 100644 packages/codelists/untdid-2005/tsconfig.json create mode 100644 packages/codelists/untdid-2005/tsdown.config.ts create mode 100644 packages/codelists/untdid-2005/vitest.config.ts create mode 100644 packages/codelists/untdid-3035/package.json rename packages/{node-zugferd/src/codelists/untdid-3035.gen.ts => codelists/untdid-3035/src/index.ts} (82%) create mode 100644 packages/codelists/untdid-3035/tsconfig.json create mode 100644 packages/codelists/untdid-3035/tsdown.config.ts create mode 100644 packages/codelists/untdid-3035/vitest.config.ts create mode 100644 packages/codelists/untdid-3139/package.json rename packages/{node-zugferd/src/codelists/untdid-3139.gen.ts => codelists/untdid-3139/src/index.ts} (52%) create mode 100644 packages/codelists/untdid-3139/tsconfig.json create mode 100644 packages/codelists/untdid-3139/tsdown.config.ts create mode 100644 packages/codelists/untdid-3139/vitest.config.ts create mode 100644 packages/codelists/untdid-4053/package.json create mode 100644 packages/codelists/untdid-4053/src/index.ts create mode 100644 packages/codelists/untdid-4053/tsconfig.json create mode 100644 packages/codelists/untdid-4053/tsdown.config.ts create mode 100644 packages/codelists/untdid-4053/vitest.config.ts create mode 100644 packages/codelists/untdid-5305/package.json create mode 100644 packages/codelists/untdid-5305/src/index.ts create mode 100644 packages/codelists/untdid-5305/tsconfig.json create mode 100644 packages/codelists/untdid-5305/tsdown.config.ts create mode 100644 packages/codelists/untdid-5305/vitest.config.ts create mode 100644 packages/codelists/vat-cat/package.json rename packages/{node-zugferd/src/codelists/vat-cat.gen.ts => codelists/vat-cat/src/index.ts} (89%) create mode 100644 packages/codelists/vat-cat/tsconfig.json create mode 100644 packages/codelists/vat-cat/tsdown.config.ts create mode 100644 packages/codelists/vat-cat/vitest.config.ts create mode 100644 packages/codelists/vatex/package.json rename packages/{node-zugferd/src/codelists/vatex.gen.ts => codelists/vatex/src/index.ts} (57%) create mode 100644 packages/codelists/vatex/tsconfig.json create mode 100644 packages/codelists/vatex/tsdown.config.ts create mode 100644 packages/codelists/vatex/vitest.config.ts create mode 100644 packages/core/package.json create mode 100644 packages/core/src/build-helper.ts create mode 100644 packages/core/src/data-types/config.ts create mode 100644 packages/core/src/data-types/dataset.ts create mode 100644 packages/core/src/data-types/index.ts create mode 100644 packages/core/src/data-types/issue.ts create mode 100644 packages/core/src/data-types/schema.ts create mode 100644 packages/core/src/error/error.ts create mode 100644 packages/core/src/error/index.ts create mode 100644 packages/core/src/error/validation-error.ts create mode 100644 packages/core/src/index.ts create mode 100644 packages/core/src/types/codelist.ts create mode 100644 packages/core/src/types/context.ts create mode 100644 packages/core/src/types/index.ts create mode 100644 packages/core/src/types/options.ts create mode 100644 packages/core/src/types/plugin.ts create mode 100644 packages/core/src/types/profile.ts create mode 100644 packages/core/src/types/utils.ts create mode 100644 packages/core/src/utils/index.ts rename packages/{node-zugferd => core}/src/utils/logger.ts (51%) create mode 100644 packages/core/tsconfig.json create mode 100644 packages/core/tsdown.config.ts create mode 100644 packages/core/vitest.config.ts create mode 100644 packages/data-types/package.json create mode 100644 packages/data-types/src/actions/index.ts create mode 100644 packages/data-types/src/actions/metadata.ts create mode 100644 packages/data-types/src/actions/min-length.ts create mode 100644 packages/data-types/src/actions/sort-items.ts create mode 100644 packages/data-types/src/actions/types.ts create mode 100644 packages/data-types/src/index.ts create mode 100644 packages/data-types/src/methods/get-default.ts create mode 100644 packages/data-types/src/methods/get-metadata.ts create mode 100644 packages/data-types/src/methods/index.ts create mode 100644 packages/data-types/src/methods/parse.ts create mode 100644 packages/data-types/src/methods/pipe.ts create mode 100644 packages/data-types/src/methods/safe-parse.ts create mode 100644 packages/data-types/src/schemas/amount.ts create mode 100644 packages/data-types/src/schemas/array.ts create mode 100644 packages/data-types/src/schemas/as-array.ts create mode 100644 packages/data-types/src/schemas/binary-object.ts create mode 100644 packages/data-types/src/schemas/boolean.ts create mode 100644 packages/data-types/src/schemas/code.ts create mode 100644 packages/data-types/src/schemas/date.ts create mode 100644 packages/data-types/src/schemas/identifier.ts create mode 100644 packages/data-types/src/schemas/index.ts create mode 100644 packages/data-types/src/schemas/intersect.test.ts create mode 100644 packages/data-types/src/schemas/intersect.ts create mode 100644 packages/data-types/src/schemas/literal.ts create mode 100644 packages/data-types/src/schemas/nullish.ts create mode 100644 packages/data-types/src/schemas/number.ts create mode 100644 packages/data-types/src/schemas/object.ts create mode 100644 packages/data-types/src/schemas/percentage.ts create mode 100644 packages/data-types/src/schemas/string.ts create mode 100644 packages/data-types/src/schemas/union.ts create mode 100644 packages/data-types/src/storages/codelist.ts create mode 100644 packages/data-types/src/storages/identifier.ts create mode 100644 packages/data-types/src/storages/index.ts create mode 100644 packages/data-types/src/storages/utils.ts create mode 100644 packages/data-types/src/types/default.ts create mode 100644 packages/data-types/src/types/index.ts create mode 100644 packages/data-types/src/types/infer.ts create mode 100644 packages/data-types/src/types/intersect-merge.ts create mode 100644 packages/data-types/src/types/metadata.ts create mode 100644 packages/data-types/src/types/pipe.ts create mode 100644 packages/data-types/src/types/transformation.ts create mode 100644 packages/data-types/src/types/validation.ts create mode 100644 packages/data-types/src/utils/add-issue.ts create mode 100644 packages/data-types/src/utils/cardinality-plan.ts create mode 100644 packages/data-types/src/utils/config.ts create mode 100644 packages/data-types/src/utils/join-expects.ts create mode 100644 packages/data-types/src/utils/schema-shape.ts create mode 100644 packages/data-types/src/utils/standard-props.ts create mode 100644 packages/data-types/src/utils/stringify.ts create mode 100644 packages/data-types/tsconfig.json create mode 100644 packages/data-types/tsdown.config.ts create mode 100644 packages/data-types/vitest.config.ts delete mode 100644 packages/node-zugferd/README.md delete mode 100644 packages/node-zugferd/scripts/codelists/README.md delete mode 100644 packages/node-zugferd/scripts/codelists/allowance/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/characteristic/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/charge/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/country/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/currency/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/date/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/date/output.xml delete mode 100644 packages/node-zugferd/scripts/codelists/eas/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/eas/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/filename/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/filename/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/filename/output.xml delete mode 100644 packages/node-zugferd/scripts/codelists/fiscal-id/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/fiscal-id/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/fiscal-id/output.xml delete mode 100644 packages/node-zugferd/scripts/codelists/generate.ts delete mode 100644 packages/node-zugferd/scripts/codelists/hybrid-conformance/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/hybrid-conformance/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/hybrid-conformance/output.xml delete mode 100644 packages/node-zugferd/scripts/codelists/hybrid-document/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/hybrid-document/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/hybrid-document/output.xml delete mode 100644 packages/node-zugferd/scripts/codelists/hybrid-version/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/hybrid-version/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/hybrid-version/output.xml delete mode 100644 packages/node-zugferd/scripts/codelists/icd/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/icd/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/incoterms/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/incoterms/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/item/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/item/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/language/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/language/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/language/output.xml delete mode 100644 packages/node-zugferd/scripts/codelists/line-reason/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/line-reason/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/line-status/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/mime/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/mime/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/mime/output.xml delete mode 100644 packages/node-zugferd/scripts/codelists/payment/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/text/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/text/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/time/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/time/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/transport/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/transport/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/unit/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/untdid-1001/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/untdid-1153/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/untdid-1153/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/untdid-3035/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/untdid-3139/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/untdid-5305/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/vat-cat/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/vat-id/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/vat-id/map.xml delete mode 100644 packages/node-zugferd/scripts/codelists/vat-id/output.xml delete mode 100644 packages/node-zugferd/scripts/codelists/vatex/index.ts delete mode 100644 packages/node-zugferd/scripts/codelists/vatex/output.xml delete mode 100644 packages/node-zugferd/src/assets/Factur-X_1.07.3_EXTENDED.xsd delete mode 100644 packages/node-zugferd/src/codelists/allowance.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/charge.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/country.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/currency.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/date.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/filename.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/fiscal-id.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/hybrid-conformance.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/hybrid-document.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/hybrid-version.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/index.ts delete mode 100644 packages/node-zugferd/src/codelists/language.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/line-reason.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/mime.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/time.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/transport.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/untdid-5305.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/untdid1001.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/untdid1153.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/untdid3035.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/untdid3139.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/untdid5305.gen.ts delete mode 100644 packages/node-zugferd/src/codelists/vat-id.gen.ts create mode 100644 packages/node-zugferd/src/context.ts delete mode 100644 packages/node-zugferd/src/document/create.ts delete mode 100644 packages/node-zugferd/src/document/validate.ts delete mode 100644 packages/node-zugferd/src/error.ts delete mode 100644 packages/node-zugferd/src/formatter/pdf/formatter.ts delete mode 100644 packages/node-zugferd/src/formatter/pdf/index.ts delete mode 100644 packages/node-zugferd/src/formatter/xml/formatter.test.ts delete mode 100644 packages/node-zugferd/src/formatter/xml/formatter.ts delete mode 100644 packages/node-zugferd/src/formatter/xml/index.ts delete mode 100644 packages/node-zugferd/src/index.test.ts delete mode 100644 packages/node-zugferd/src/init.ts create mode 100644 packages/node-zugferd/src/internal-plugins/create.ts create mode 100644 packages/node-zugferd/src/internal-plugins/index.ts create mode 100644 packages/node-zugferd/src/pdf/color-profile.ts create mode 100644 packages/node-zugferd/src/pdf/index.ts create mode 100644 packages/node-zugferd/src/pdf/pdfa.ts create mode 100644 packages/node-zugferd/src/pdf/types.ts create mode 100644 packages/node-zugferd/src/pdf/xmp.ts delete mode 100644 packages/node-zugferd/src/profiles/basic-wl/index.ts delete mode 100644 packages/node-zugferd/src/profiles/basic-wl/mask.ts delete mode 100644 packages/node-zugferd/src/profiles/basic-wl/schema.ts delete mode 100644 packages/node-zugferd/src/profiles/basic/index.ts delete mode 100644 packages/node-zugferd/src/profiles/basic/mask.ts delete mode 100644 packages/node-zugferd/src/profiles/basic/schema.ts delete mode 100644 packages/node-zugferd/src/profiles/en16931/index.ts delete mode 100644 packages/node-zugferd/src/profiles/en16931/mask.ts delete mode 100644 packages/node-zugferd/src/profiles/en16931/schema.ts delete mode 100644 packages/node-zugferd/src/profiles/extended/index.ts delete mode 100644 packages/node-zugferd/src/profiles/extended/mask.ts delete mode 100644 packages/node-zugferd/src/profiles/extended/schema.ts delete mode 100644 packages/node-zugferd/src/profiles/factory.ts delete mode 100644 packages/node-zugferd/src/profiles/index.ts delete mode 100644 packages/node-zugferd/src/profiles/minimum/index.ts delete mode 100644 packages/node-zugferd/src/profiles/minimum/mask.ts delete mode 100644 packages/node-zugferd/src/profiles/minimum/schema.ts delete mode 100644 packages/node-zugferd/src/test-utils/data/basic-wl.ts delete mode 100644 packages/node-zugferd/src/test-utils/data/basic.ts delete mode 100644 packages/node-zugferd/src/test-utils/data/en16931.ts delete mode 100644 packages/node-zugferd/src/test-utils/data/extended.ts delete mode 100644 packages/node-zugferd/src/test-utils/data/minimum.ts delete mode 100644 packages/node-zugferd/src/test-utils/input.pdf delete mode 100644 packages/node-zugferd/src/test-utils/pdf.ts delete mode 100644 packages/node-zugferd/src/test-utils/test-instance.ts delete mode 100644 packages/node-zugferd/src/types/helper.ts delete mode 100644 packages/node-zugferd/src/types/index.ts delete mode 100644 packages/node-zugferd/src/types/options.ts delete mode 100644 packages/node-zugferd/src/types/plugins.ts delete mode 100644 packages/node-zugferd/src/types/profile.ts delete mode 100644 packages/node-zugferd/src/types/schema.ts create mode 100644 packages/node-zugferd/src/utils.ts delete mode 100644 packages/node-zugferd/src/utils/asset.ts delete mode 100644 packages/node-zugferd/src/utils/color-profile.ts delete mode 100644 packages/node-zugferd/src/utils/helper.ts delete mode 100644 packages/node-zugferd/src/zugferd.ts create mode 100644 packages/node-zugferd/tsdown.config.ts delete mode 100644 packages/node-zugferd/tsup.config.ts create mode 100644 packages/node-zugferd/vitest.config.ts create mode 100644 packages/parser/_package.json create mode 100644 packages/parser/tsconfig.json create mode 100644 packages/parser/tsdown.config.ts create mode 100644 packages/parser/vitest.config.ts create mode 100644 packages/profiles/basic-wl/package.json create mode 100644 packages/profiles/basic-wl/src/index.ts create mode 100644 packages/profiles/basic-wl/src/schema.ts create mode 100644 packages/profiles/basic-wl/tsconfig.json create mode 100644 packages/profiles/basic-wl/tsdown.config.ts create mode 100644 packages/profiles/basic-wl/vitest.config.ts create mode 100644 packages/profiles/basic/package.json create mode 100644 packages/profiles/basic/src/index.ts create mode 100644 packages/profiles/basic/src/schema.ts create mode 100644 packages/profiles/basic/tsconfig.json create mode 100644 packages/profiles/basic/tsdown.config.ts create mode 100644 packages/profiles/basic/vitest.config.ts create mode 100644 packages/profiles/en-16931/package.json create mode 100644 packages/profiles/en-16931/src/index.ts create mode 100644 packages/profiles/en-16931/src/schema.ts create mode 100644 packages/profiles/en-16931/tsconfig.json create mode 100644 packages/profiles/en-16931/tsdown.config.ts create mode 100644 packages/profiles/en-16931/vitest.config.ts create mode 100644 packages/profiles/extended/package.json create mode 100644 packages/profiles/extended/src/index.ts create mode 100644 packages/profiles/extended/src/schema.ts create mode 100644 packages/profiles/extended/tsconfig.json create mode 100644 packages/profiles/extended/tsdown.config.ts create mode 100644 packages/profiles/extended/vitest.config.ts create mode 100644 packages/profiles/minimum/package.json create mode 100644 packages/profiles/minimum/src/index.ts create mode 100644 packages/profiles/minimum/src/schema.ts create mode 100644 packages/profiles/minimum/tsconfig.json create mode 100644 packages/profiles/minimum/tsdown.config.ts create mode 100644 packages/profiles/minimum/vitest.config.ts create mode 100644 packages/utils/package.json create mode 100644 packages/utils/src/base64.ts create mode 100644 packages/utils/src/index.ts create mode 100644 packages/utils/src/profile.inference.test-d.ts create mode 100644 packages/utils/src/profile.ts create mode 100644 packages/utils/tsconfig.json create mode 100644 packages/utils/tsdown.config.ts create mode 100644 packages/utils/vitest.config.ts create mode 100644 packages/validators/mustang/.gitignore create mode 100644 packages/validators/mustang/package.json create mode 100644 packages/validators/mustang/src/bin.ts create mode 100644 packages/validators/mustang/src/index.ts create mode 100644 packages/validators/mustang/src/isomorph.ts create mode 100644 packages/validators/mustang/src/setup.ts create mode 100644 packages/validators/mustang/src/types.ts create mode 100644 packages/validators/mustang/tsconfig.json create mode 100644 packages/validators/mustang/tsdown.config.ts create mode 100644 packages/validators/mustang/vitest.config.ts create mode 100644 packages/validators/xsd/package.json create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_EDIFICAS-EU_AccountingAccountType_D11A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_EDIFICAS-EU_AccountingAmountType_D11A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_ISO_ISO3AlphaCurrencyCode_2012-08-31.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_ActionCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_AddressType_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_AdjustmentReasonDescriptionCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_AllowanceChargeIdentificationCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_AllowanceChargeReasonCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_AutomaticDataCaptureMethodCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_CargoOperationalCategoryCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_CargoTypeCode_1996Rev2Final.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_CommodityIdentificationCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_CommunicationMeansTypeCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_ContactFunctionCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DangerousGoodsPackingCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DangerousGoodsRegulationCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DateOnlyFormatCode_D21B.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DeliveryTermsCode_2020.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DeliveryTermsFunctionCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DimensionTypeCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DocumentNameCode_Accounting_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DocumentNameCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DocumentStatusCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DutyTaxFeeTypeCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_DutyorTaxorFeeCategoryCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_EventTimeReferenceCodePaymentTermsEvent_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_EventTimeReferenceCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_FreightChargeQuantityUnitBasisCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_FreightChargeTariffCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_GoodsTypeCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_GoodsTypeExtensionCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_LocationFunctionCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_MeasurementUnitCommonCodeLinear_4.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_MeasurementUnitCommonCodeVolume_4.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_MeasurementUnitCommonCodeWeight_4.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_MessageFunctionCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_PackageTypeCode_2006.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_PackagingMarkingCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_PartyRoleCode_ChargePaying_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_PartyRoleCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_PaymentGuaranteeMeansCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_PaymentMeansChannelCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_PaymentMeansCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_PaymentTermsTypeCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_PriceTypeCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_ReferenceTypeCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_SealConditionCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_SealingPartyRoleCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_StatusCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_StatusDescriptionCode_AccountingDebitCredit_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_TimeOnlyFormatCode_D21B.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_TimePointFormatCode_D21B.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_TransportEquipmentCategoryCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_TransportEquipmentFullnessCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_TransportMeansTypeCode_2007.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_TransportModeCode_2.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_TransportMovementStageCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_codelist_standard_UNECE_TransportPaymentArrangementCode_D22A.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_identifierlist_standard_ISO_ISOTwo-letterCountryCode_SecondEdition2006.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_identifierlist_standard_UNECE_FreightCostCode_4.xsd create mode 100644 packages/validators/xsd/schemas/CrossIndustryInvoice_100pD22B_urn_un_unece_uncefact_identifierlist_standard_UNECE_PaymentTermsDescriptionIdentifier_D22A.xsd rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_BASIC.xsd => validators/xsd/schemas/FACTUR-X_BASIC-WL.xsd} (74%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_BASICWL_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd => validators/xsd/schemas/FACTUR-X_BASIC-WL_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd} (100%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_BASICWL_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd => validators/xsd/schemas/FACTUR-X_BASIC-WL_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd} (97%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_BASICWL_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd => validators/xsd/schemas/FACTUR-X_BASIC-WL_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd} (95%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_EN16931.xsd => validators/xsd/schemas/FACTUR-X_BASIC.xsd} (73%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_BASIC_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd => validators/xsd/schemas/FACTUR-X_BASIC_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd} (100%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_BASIC_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd => validators/xsd/schemas/FACTUR-X_BASIC_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd} (98%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_BASIC_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd => validators/xsd/schemas/FACTUR-X_BASIC_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd} (96%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_BASICWL.xsd => validators/xsd/schemas/FACTUR-X_EN16931.xsd} (73%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd => validators/xsd/schemas/FACTUR-X_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd} (100%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_EN16931_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd => validators/xsd/schemas/FACTUR-X_EN16931_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd} (98%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd => validators/xsd/schemas/FACTUR-X_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd} (97%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_MINIMUM.xsd => validators/xsd/schemas/FACTUR-X_EXTENDED.xsd} (73%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_EXTENDED_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd => validators/xsd/schemas/FACTUR-X_EXTENDED_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd} (100%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_EXTENDED_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd => validators/xsd/schemas/FACTUR-X_EXTENDED_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd} (95%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_EXTENDED_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd => validators/xsd/schemas/FACTUR-X_EXTENDED_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd} (97%) create mode 100644 packages/validators/xsd/schemas/FACTUR-X_MINIMUM.xsd rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_MINIMUM_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd => validators/xsd/schemas/FACTUR-X_MINIMUM_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd} (100%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_MINIMUM_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd => validators/xsd/schemas/FACTUR-X_MINIMUM_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd} (94%) rename packages/{node-zugferd/src/assets/Factur-X_1.07.3_MINIMUM_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd => validators/xsd/schemas/FACTUR-X_MINIMUM_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd} (94%) create mode 100644 packages/validators/xsd/src/index.ts create mode 100644 packages/validators/xsd/src/isomorph.ts create mode 100644 packages/validators/xsd/src/types.ts create mode 100644 packages/validators/xsd/tsconfig.json create mode 100644 packages/validators/xsd/tsdown.config.ts create mode 100644 packages/validators/xsd/vitest.config.ts create mode 100644 scripts/generators/codelist/allowance/index.ts rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/allowance/map.xml (95%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/allowance/output.xml (95%) create mode 100644 scripts/generators/codelist/characteristic/index.ts rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/characteristic/map.xml (96%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/characteristic/output.xml (69%) create mode 100644 scripts/generators/codelist/charge/index.ts rename {packages/node-zugferd/scripts/codelists/currency => scripts/generators/codelist/charge}/map.xml (95%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/charge/output.xml (99%) create mode 100644 scripts/generators/codelist/country/index.ts rename {packages/node-zugferd/scripts/codelists/charge => scripts/generators/codelist/country}/map.xml (95%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/country/output.xml (99%) create mode 100644 scripts/generators/codelist/currency/index.ts rename {packages/node-zugferd/scripts/codelists/country => scripts/generators/codelist/currency}/map.xml (95%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/currency/output.xml (99%) create mode 100644 scripts/generators/codelist/eas/index.ts create mode 100644 scripts/generators/codelist/eas/map.xml rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/eas/output.xml (89%) create mode 100644 scripts/generators/codelist/generator.ts create mode 100644 scripts/generators/codelist/icd/index.ts create mode 100644 scripts/generators/codelist/icd/map.xml rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/icd/output.xml (87%) create mode 100644 scripts/generators/codelist/incoterms/index.ts create mode 100644 scripts/generators/codelist/incoterms/map.xml rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/incoterms/output.xml (95%) create mode 100644 scripts/generators/codelist/item/index.ts create mode 100644 scripts/generators/codelist/item/map.xml rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/item/output.xml (99%) create mode 100644 scripts/generators/codelist/language/index.ts create mode 100644 scripts/generators/codelist/language/map.xml create mode 100644 scripts/generators/codelist/language/output.xml create mode 100644 scripts/generators/codelist/line-reason/index.ts create mode 100644 scripts/generators/codelist/line-reason/map.xml rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/line-reason/output.xml (82%) create mode 100644 scripts/generators/codelist/line-status/index.ts rename {packages/node-zugferd/scripts/codelists/date => scripts/generators/codelist/line-status}/map.xml (96%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/line-status/output.xml (75%) create mode 100644 scripts/generators/codelist/payment/index.ts rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/payment/map.xml (96%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/payment/output.xml (99%) create mode 100644 scripts/generators/codelist/template.hbs create mode 100644 scripts/generators/codelist/text/index.ts create mode 100644 scripts/generators/codelist/text/map.xml rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/text/output.xml (99%) create mode 100644 scripts/generators/codelist/time/index.ts create mode 100644 scripts/generators/codelist/time/map.xml rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/time/output.xml (82%) create mode 100644 scripts/generators/codelist/transport/index.ts rename {packages/node-zugferd/scripts/codelists/vat-cat => scripts/generators/codelist/transport}/map.xml (96%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/transport/output.xml (97%) create mode 100644 scripts/generators/codelist/unit/index.ts rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/unit/map.xml (96%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/unit/output.xml (98%) create mode 100644 scripts/generators/codelist/untdid-1001/index.ts rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/untdid-1001/map.xml (96%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/untdid-1001/output.xml (99%) create mode 100644 scripts/generators/codelist/untdid-1153/index.ts create mode 100644 scripts/generators/codelist/untdid-1153/map.xml rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/untdid-1153/output.xml (99%) create mode 100644 scripts/generators/codelist/untdid-2005/index.ts create mode 100644 scripts/generators/codelist/untdid-3035/index.ts create mode 100644 scripts/generators/codelist/untdid-3139/index.ts create mode 100644 scripts/generators/codelist/untdid-4053/index.ts create mode 100644 scripts/generators/codelist/untdid-5305/index.ts rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/untdid-5305/map.xml (96%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/untdid-5305/output.xml (95%) create mode 100644 scripts/generators/codelist/utils.ts create mode 100644 scripts/generators/codelist/vat-cat/index.ts rename {packages/node-zugferd/scripts/codelists/line-status => scripts/generators/codelist/vat-cat}/map.xml (96%) rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/vat-cat/output.xml (53%) create mode 100644 scripts/generators/codelist/vatex/index.ts rename {packages/node-zugferd/scripts/codelists => scripts/generators/codelist}/vatex/map.xml (96%) create mode 100644 scripts/generators/codelist/vatex/output.xml create mode 100644 scripts/generators/config.ts create mode 100644 scripts/generators/helper.ts create mode 100644 tsconfig.base.json create mode 100644 vitest.config.ts diff --git a/.cspell.jsonc b/.cspell.jsonc new file mode 100644 index 00000000..a61af927 --- /dev/null +++ b/.cspell.jsonc @@ -0,0 +1,18 @@ +{ + "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", + "useGitignore": true, + "ignoreRandomStrings": true, + "allowCompoundWords": true, + "dictionaryDefinitions": [], + "dictionaries": [], + "ignoreRegExpList": [], + "ignorePaths": [ + "patches", + "pnpm-workspace.yaml", + "pnpm-lock.yaml", + "*.config.js", + "*.config.ts", + "*.json", + ".gitignore" + ] +} diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index fb81f866..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: Report an issue -description: Create a report to help us improve -labels: ["bug"] -body: - - type: markdown - attributes: - value: | - This template is used for reporting an issue with node-zugferd. - - Feature requests should be opened [here](https://github.com/jslno/node-zugferd/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.md&title=) - - Before opening a new issue, please do a [search](https://github.com/jslno/issues) of existing issues and :+1: upvote the existing issue instead. This will result in a quicker resolution. - - type: textarea - attributes: - label: To Reproduce - description: A step-by-step description of how to reproduce the issue, based on the linked reproduction. Screenshots can be provided in the issue body below. If using code blocks, make sure that [syntax highlighting is correct](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting) and double check that the rendered preview is not broken. - placeholder: | - Ex: - 1. Create a basic invoice - 2. Attach additional file - 3. X will happen - validations: - required: true - - type: textarea - attributes: - label: Current vs. Expected behavior - description: | - A clear and concise description of what the bug is (e.g., screenshots, logs, etc.), and what you expected to happen. - - **Skipping this/failure to provide complete information of the bug will result in the issue being closed.** - placeholder: 'Following the steps from the previous section, I expected A to happen, but I observed B instead.' - validations: - required: true - - type: input - attributes: - label: What version of node-zugferd are you using? - description: Please provide the current version of `node-zugferd` that you are reporting the bug on - placeholder: "0.x.x" - validations: - required: true - - type: textarea - attributes: - label: Provide environment information - description: Please collect the following information and paste the results. - render: bash - placeholder: | - - OS: [e.g. Windows 10] - - Browser [e.g. chrome, safari] - validations: - required: true - - type: dropdown - attributes: - label: Which area(s) are affected? (Select all that apply) - multiple: true - options: - - 'Package' - - 'Types' - - 'Documentation' - - 'Other' - validations: - required: true - - type: textarea - attributes: - label: Config (if applicable) - description: If you haven't already shared a reproducible example or don't think it's unrelated, please include your node-zugferd config. Make sure to remove any sensitive information. - render: typescript - value: | - import { zugferd } from "node-zugferd"; - import { BASIC } from "node-zugferd/profile/basic"; - - export const invoicer = zugferd({ - profile: BASIC - }) \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index 88f7fcb3..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Feature request -description: Suggest an idea for this project -labels: ["enhancement"] -body: - - type: markdown - attributes: - value: | - This template is used for suggesting a feature with node-zugferd. - - Bug reports should be opened in [here](https://github.com/jslno/node-zugferd/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml) - - Before opening a feature request, please do a [search](https://github.com/jslno/node-zugferd/issues) of existing issues and :+1: upvote the existing request instead. This will result in a quicker resolution. - - type: textarea - attributes: - label: Is you feature request related to a problem? Please describe. - description: A clear an concise description of what the problem is. Ex. I'm always frustrated when [...] - - type: textarea - attributes: - label: Describe the solution you'd like - description: A clear and concise description of what you want to happen. - validations: - required: true - - type: textarea - attributes: - label: Describe alternatives you've considered - description: A clear and concise description of any alternative solutions or features you've considered - - type: textarea - attributes: - label: Additional context - description: Add any other additional context or screenshots about the feature request here. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..a17a71e1 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,47 @@ +version: 2 + +updates: + # github-actions + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + day: sunday + labels: + - dependencies + commit-message: + prefix: "chore(deps):" + cooldown: + default-days: 7 + groups: + github-actions: + patterns: + - "*" + + # npm: root pnpm workspace + - package-ecosystem: npm + directory: "/" + schedule: + interval: weekly + day: sunday + labels: + - dependencies + commit-message: + prefix: "chore(deps):" + versioning-strategy: increase + cooldown: + default-days: 7 + semver-major-days: 5 + groups: + workspace-minor-patch: + applies-to: version-updates + patterns: + - "*" + update-types: + - minor + - patch + ignore: + - dependency-name: "@biomejs/biome" + update-types: + - version-update:semver-major + - version-update:semver-major diff --git a/.github/renovate.json5 b/.github/renovate.json5 new file mode 100644 index 00000000..43e56152 --- /dev/null +++ b/.github/renovate.json5 @@ -0,0 +1,33 @@ +{ + $schema: 'https://docs.renovatebot.com/renovate-schema.json', + extends: [ + 'config:recommended', + 'schedule:weekly', + 'group:allNonMajor', + ':disablePeerDependencies', + 'customManagers:biomeVersions', + 'helpers:pinGitHubActionDigestsToSemver', + ], + labels: ['dependencies'], + rangeStrategy: 'bump', + postUpdateOptions: ['pnpmDedupe'], + ignorePaths: ['**/node_modules/**'], + packageRules: [ + { + groupName: 'github-actions', + matchManagers: ['github-actions'], + }, + { + groupName: 'node-zugferd dependencies', + matchManagers: ['npm'], + matchFileNames: ['packages/node-zugferd/**'], + }, + ], + ignoreDeps: [ + '@biomejs/biome', + '@types/node', + 'node', + 'npm', + 'pnpm', + ], +} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f8261bab..82224b36 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,38 +2,168 @@ name: CI on: pull_request: - branches: main + types: [opened, synchronize] push: - branches: main - merge_group: {} + branches: [main, canary] + merge_group: + +permissions: {} + +env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM || github.repository_owner }} jobs: - test: - runs-on: ubuntu-latest + lint: + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'jslno/node-zugferd' || github.event_name != 'pull_request' && github.repository == 'jslno/node-zugferd') && 'starsling-ubuntu-24.04' || 'ubuntu-24.04'}} + permissions: + contents: read + concurrency: + group: ${{ github.workflow }}-lint-${{ github.event.pull_request.number || github.event.merge_group.head_ref || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: fetch-depth: 0 + persist-credentials: false + + - name: Cache turbo build setup + uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + with: + path: .turbo + key: ${{ runner.os }}-turbo-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-turbo- - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: - node-version: 20.x + node-version-file: ".nvmrc" registry-url: "https://registry.npmjs.org" cache: pnpm - name: Install - run: pnpm install + run: pnpm install --frozen-lockfile - name: Build + env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM || github.repository_owner }} run: pnpm build - name: Lint + env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM || github.repository_owner }} run: pnpm lint - - name: Test - run: pnpm test + - name: Lint Dependencies + env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM || github.repository_owner }} + run: pnpm lint:dependencies + + - name: Lint Packages + env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM || github.repository_owner }} + run: pnpm lint:packages + + - name: Lint Spell + env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM || github.repository_owner }} + run: pnpm lint:spell + + - name: Lint Types + env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM || github.repository_owner }} + run: pnpm lint:types + + typecheck: + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'jslno/node-zugferd' || github.event_name != 'pull_request' && github.repository == 'jslno/node-zugferd') && 'starsling-ubuntu-24.04' || 'ubuntu-24.04'}} + permissions: + contents: read + concurrency: + group: ${{ github.workflow }}-typecheck-${{ github.event.pull_request.number || github.event.merge_group.head_ref || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Cache turbo build setup + uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + with: + path: .turbo + key: ${{ runner.os }}-turbo-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-turbo- + + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 + + - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version-file: ".nvmrc" + registry-url: "https://registry.npmjs.org" + cache: pnpm + + - name: Install + run: pnpm install --frozen-lockfile + + - name: Build + run: pnpm build - name: Typecheck - run: pnpm typecheck \ No newline at end of file + run: pnpm typecheck + + test: + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'jslno/node-zugferd' || github.event_name != 'pull_request' && github.repository == 'jslno/node-zugferd') && 'starsling-ubuntu-24.04' || 'ubuntu-24.04'}} + permissions: + contents: read + concurrency: + group: ${{ github.workflow }}-test-${{ github.event.pull_request.number || github.event.merge_group.head_ref || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + strategy: + fail-fast: false + matrix: + node-version: [22.x, 24.x] + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Cache turbo build setup + uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + with: + path: .turbo + key: ${{ runner.os }}-turbo-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-turbo- + + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 + + - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: ${{ matrix.node-version }} + registry-url: "https://registry.npmjs.org" + cache: pnpm + + - name: Install + run: pnpm install --frozen-lockfile + + - name: Test + run: pnpm coverage + + ci: + runs-on: ubuntu-latest + needs: [lint, typecheck, test] + if: always() + steps: + - uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2 + with: + jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 00000000..05fefc82 --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,156 @@ +name: E2E +on: + push: + branches: [main, canary] + merge_group: + pull_request: + +env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM || github.repository_owner }} + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.merge_group.head_ref || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + smoke: + name: Smoke test (${{ matrix.node-version }}) + timeout-minutes: 30 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'jslno/node-zugferd' || github.event_name != 'pull_request' && github.repository == 'jslno/node-zugferd') && 'starsling-ubuntu-24.04' || 'ubuntu-24.04'}} + strategy: + fail-fast: false + matrix: + node-version: [22.x, 24.x] + permissions: + contents: read + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Cache turbo build setup + uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + with: + path: .turbo + key: ${{ runner.os }}-turbo-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-turbo- + + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 + + - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: ${{ matrix.node-version }} + # Use the latest patch per major: the smoke specs run `node --test` on .ts, + # which needs native type-stripping (default-on at 22.18+/24), not the cached 22.13.0. + check-latest: true + registry-url: "https://registry.npmjs.org" + cache: pnpm + + - name: Install + run: pnpm install + + - name: Build + run: pnpm build + + # - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 + + # - uses: denoland/setup-deno@e95548e56dfa95d4e1a28d6f422fafe75c4c26fb # v2.0.3 + # with: + # deno-version: 2.6.4 + + - name: Smoke + run: pnpm e2e:smoke + + integration: + name: Integration test + timeout-minutes: 60 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'jslno/node-zugferd' || github.event_name != 'pull_request' && github.repository == 'jslno/node-zugferd') && 'starsling-ubuntu-24.04' || 'ubuntu-24.04' }} + permissions: + contents: read + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Cache turbo build setup + uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + with: + path: .turbo + key: ${{ runner.os }}-turbo-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-turbo- + + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 + + - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version-file: ".nvmrc" + registry-url: "https://registry.npmjs.org" + cache: pnpm + + - name: Install + run: pnpm install + + - name: Integration + run: pnpm e2e:integration --filter=./e2e/integration + + profiles-integration: + name: ${{ matrix.packages }} Integration Test + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'jslno/node-zugferd' || github.event_name != 'pull_request' && github.repository == 'jslno/node-zugferd') && 'starsling-ubuntu-24.04' || 'ubuntu-24.04' }} + permissions: + contents: read + strategy: + fail-fast: false + matrix: + packages: + [ + "@node-zugferd/minimum", + "@node-zugferd/basic-wl", + "@node-zugferd/basic", + "@node-zugferd/en-16931", + "@node-zugferd/extended", + ] + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Cache turbo build setup + uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + with: + path: .turbo + key: ${{ runner.os }}-turbo-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-turbo- + + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 + + - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version-file: ".nvmrc" + registry-url: "https://registry.npmjs.org" + cache: pnpm + + # TODO: Setup jre for mustang validator + + - name: Install + run: pnpm install + + - name: Profiles Integration + env: + FILTER: ${{ matrix.packages }} + run: pnpm e2e:integration --filter="$FILTER" + + e2e: + runs-on: ubuntu-latest + needs: [smoke, integration, profiles-integration] + if: always() + steps: + - uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2 + with: + jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml deleted file mode 100644 index 054331f2..00000000 --- a/.github/workflows/preview.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Publish Any Commit -on: [pull_request] - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Cache turbo build setup - uses: actions/cache@v4 - with: - path: .turbo - key: ${{ runner.os }}-turbo-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-turbo- - - - uses: pnpm/action-setup@v4 - - - uses: actions/setup-node@v4 - with: - node-version: 20.x - registry-url: 'https://registry.npmjs.org' - cache: pnpm - - - name: Install - run: pnpm install - - - name: Build - run: pnpm build - - - run: pnpm dlx pkg-pr-new publish --pnpm ./packages/* \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 837d535e..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: Release - -on: - push: - tags: - - 'v*' - -permissions: - contents: write - -jobs: - release: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - uses: actions/setup-node@v4 - with: - node-version: 20.x - - - run: npx changelogithub - env: - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - - - uses: pnpm/action-setup@v4 - - - uses: actions/setup-node@v4 - with: - node-version: 20.x - registry-url: 'https://registry.npmjs.org' - - - run: pnpm install - - - name: Build - run: pnpm build - - - name: Determine npm tag - id: determine_npm_tag - shell: bash - run: | - TAG="${GITHUB_REF#refs/tags/}" - if [[ "$TAG" =~ -(next|canary|beta|rc) ]]; then - # Extract pre-release tag (e.g., beta, rc) - NPM_TAG=${BASH_REMATCH[1]} - else - # Check if the commit is on the main branch - git fetch origin main - if git merge-base --is-ancestor "$GITHUB_SHA" origin/main; then - NPM_TAG="latest" - else - echo "The tagged commit is not on the main branch." - echo "::error ::Releases with the 'latest' npm tag must be on the main branch." - exit 1 - fi - fi - echo "npm_tag=$NPM_TAG" >> $GITHUB_OUTPUT - echo "Using npm tag: $NPM_TAG" - - - name: Publish to npm - run: pnpm -r publish --access public --no-git-checks --tag ${{ steps.determine_npm_tag.outputs.npm_tag }} - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 73f529eb..02ef7f05 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,207 @@ -dist/ +# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore + +# Logs + +logs +_.log +npm-debug.log_ +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Caches + +.cache + +# Generated docs source + +docs/.source/ +landing/.source/ + +# Diagnostic reports (https://nodejs.org/api/report.html) + +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# Runtime data + +pids +_.pid +_.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover + +lib-cov + +# Coverage directory used by tools like istanbul + +coverage +*.lcov + +# nyc test coverage + +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) + +.grunt + +# Bower dependency directory (https://bower.io/) + +bower_components + +# node-waf configuration + +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) + +build/Release + +# Dependency directories + node_modules/ +jspm_packages/ -.idea +# Snowpack dependency directory (https://snowpack.dev/) + +web_modules/ + +# TypeScript cache + +*.tsbuildinfo + +# Optional npm cache directory + +.npm + +# Optional eslint cache + +.eslintcache + +# CSpell cache + +.cspellcache + +# Optional stylelint cache + +.stylelintcache + +# Microbundle cache + +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history + +.node_repl_history + +# Output of 'npm pack' + +*.tgz + +# Yarn Integrity file + +.yarn-integrity + +# dotenv environment variable files .env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) + +.parcel-cache + +# Next.js build output + +.next +out + +# Nuxt.js build / generate output + +.nuxt +dist + +# Gatsby files + +# Comment in the public line in if your project uses Gatsby and not Next.js + +# https://nextjs.org/blog/next-9-1#public-directory-support + +# public + +# vuepress build output + +.vuepress/dist + +# vuepress v2.x temp and cache directory + +.temp + +# Docusaurus cache and generated files + +.docusaurus + +# Serverless directories + +.serverless/ + +# FuseBox cache + +.fusebox/ + +# DynamoDB Local files + +.dynamodb/ + +# TernJS port file + +.tern-port + +# Stores VSCode versions used for testing VSCode extensions + +.vscode-test + +# yarn v2 + +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config .DS_Store -.next/ +.notes/ + +.db/ + +*.sqlite +*.db .turbo/ .tsup -.tsbuildinfo \ No newline at end of file +.todo + + +android/ +.expo/ + + +.vercel +.vinxi +# Turborepo +.turbo + +coverage diff --git a/.npmignore b/.npmignore deleted file mode 100644 index f7ad8d25..00000000 --- a/.npmignore +++ /dev/null @@ -1,11 +0,0 @@ -/src -/node_modules -/tests -/examples -/docs - -.env -.DS_Store - -tsconfig.json -tsup.config.ts \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..a45fd52c --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24 diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 1bf5adcb..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "biome.enabled": true, - "editor.defaultFormatter": "biomejs.biome", - "[typescript]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[jsonc]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[svelte]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[vue]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[json]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "typescript.tsdk": "node_modules/typescript/lib", - "[astro]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[typescriptreact]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[mdx]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[javascript]": { - "editor.defaultFormatter": "biomejs.biome" - } -} diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 2b6e883e..00000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,128 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or - advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email - address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -service@jsolano.de. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.0, available at -https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. - -Community Impact Guidelines were inspired by [Mozilla's code of conduct -enforcement ladder](https://github.com/mozilla/diversity). - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see the FAQ at -https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index b6228b52..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,8 +0,0 @@ -# Contribution - -node-zugferd is a free and open source project licensed under the [MIT License](./LICENSE.md). You are free to do whatever you want with it. - -You could help continuing its development by: - -- [Contribute to the source code](https://node-zugferd.jsolano.de/docs/reference/contributing) -- [Suggest new features and report issues](https://github.com/jslno/node-zugferd/issues/new) diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 925b302e..00000000 --- a/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2025 Joél de Oliveira Solano da Silva - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index 93e389ca..00000000 --- a/README.md +++ /dev/null @@ -1,115 +0,0 @@ - -

node-zugferd

- -

-project-image -

- -> [!CAUTION] -> **[WIP]** This package is still under development. - -A Node.js library for creating ZUGFeRD/Factur-X compliant documents. Generating XML and embedding it into PDF/A files, enabling seamless e-invoicing and digital document compliance. - -

Table of Contents

- -- [Features](#features) -- [Installation](#installation) -- [Default Supported Profiles](#default-supported-profiles) -- [Basic Usage](#basic-usage) -- [Roadmap](#roadmap) -- [Dependencies](#dependencies) -- [License](#license) - -

Features

- -* Create Factur-X compliant xml -* Attach xml to pdf/a-3b -* Validate xml - -

Installation

- -Install node-zugferd with npm: - -```bash -npm install node-zugferd@latest -``` - -

Default Supported Profiles

- -> [!WARNING] -> Documents containing only information of the first two profiles (MINIMUM and BASIC WL) are not considered to be invoices according to German fiscal law ([→ GoBD](https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Weitere_Steuerthemen/Abgabenordnung/2019-11-28-GoBD.html)); they may therefore not be used as electronic invoices in Germany. They will not be considered as invoices in France anymore once the einvoicing B2B mandate CTC reform has been fully deployed (2028). **It is then highly recommended to target the BASIC profile at minimum.** - -* MINIMUM -* BASIC WL -* BASIC -* EN 16931 (COMFORT) -* EXTENDED - - -> [!NOTE] -> By default this package only provides support for the CII-Syntax - -> [!TIP] -> You can also define your own Profiles. - -If you encounter invalid or missing fields, feel free to open a new [Issue](https://github.com/jslno/node-zugferd/issues) or [Pull Request](https://github.com/jslno/node-zugferd/pulls). - -

Basic Usage

- -1. Create a new instance: - - ```ts - import { zugferd } from "node-zugferd"; - import { BASIC } from "node-zugferd/profile/basic"; - - export const invoicer = zugferd({ - profile: BASIC, - }); - ``` - -2. Define the documents data - - ```ts - import { invoicer } from "./your/path/invoicer"; - - const data: typeof invoicer.$Infer.Schema = { - //... your data - }; - - const invoice = invoicer.create(data); - ``` -3. Save the document -
- as XML - - ```ts - const xml = await invoice.toXML(); - ``` -
- -
- as PDF/A-3b - - ```ts - // The data in your pdf must exactly match the provided data! - const pdf = fs.readFileSync("./your/invoice.pdf"); - - const pdfA = await invoice.embedInPdf(pdf, { - metadata: { - title: "New Invoice", - }, - }); - ``` -
- -

Dependencies

- -* [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) -* [pdf-lib](https://github.com/Hopding/pdf-lib) -* [xsd-schema-validator](https://github.com/nikku/node-xsd-schema-validator) -* [zod](https://github.com/colinhacks/zod) -* [defu](https://github.com/unjs/defu) - -

License

- -Distributed under the MIT License. See LICENSE.md for more information. \ No newline at end of file diff --git a/biome.json b/biome.json index 0ff8d6b8..989e3fea 100644 --- a/biome.json +++ b/biome.json @@ -1,41 +1,112 @@ { - "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", - "formatter": { - "enabled": true, - "indentStyle": "tab" - }, - "organizeImports": { - "enabled": false - }, - "linter": { - "enabled": true, - "rules": { - "recommended": false, - "suspicious": { - "noImplicitAnyLet": "warn", - "noDuplicateObjectKeys": "warn" - }, - "performance": { - "noDelete": "error" - }, - "complexity": { - "noUselessSwitchCase": "warn", - "noUselessTypeConstraint": "warn" - }, - "correctness": { - "noUnusedImports": "warn" - } - } - }, - "files": { - "ignore": [ - "dist", - "package.json", - ".turbo", - ".next", - ".cache", - ".source", - "**/*.gen.ts" - ] - } + "root": true, + "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", + "formatter": { + "enabled": true, + "indentStyle": "tab" + }, + "css": { + "parser": { + "tailwindDirectives": true + } + }, + "assist": { "actions": { "source": { "organizeImports": "on" } } }, + "linter": { + "enabled": true, + "rules": { + "style": { + "noRestrictedImports": { + "options": { + "paths": { + "zod": { + "importNames": ["z"], + "message": "Use `import * as z from \"zod\"` instead of `import { z }`." + } + } + }, + "level": "error" + }, + "useImportType": { + "level": "error", + "options": { + "style": "separatedType" + } + }, + "useNodejsImportProtocol": "error", + "useConst": "error", + "noRestrictedTypes": "off", + "noRestrictedGlobals": "off" + }, + "recommended": false, + "suspicious": { + "noImplicitAnyLet": "warn", + "noDuplicateObjectKeys": "warn", + "noTsIgnore": "error", + "noDebugger": "error" + }, + "performance": { + "noDelete": "error" + }, + "complexity": { + "useDateNow": "error", + "noUselessSwitchCase": "warn", + "noUselessTypeConstraint": "warn" + }, + "correctness": { + "noUnusedImports": "warn", + "noUnusedVariables": "warn" + }, + "nursery": { + "noMisusedPromises": "error", + "noFloatingPromises": "error" + } + } + }, + "overrides": [ + { + "includes": ["**/*.json"], + "formatter": { + "indentStyle": "space", + "indentWidth": 2 + } + }, + { + "includes": ["packages/**/src/**"], + "linter": { + "rules": { + "style": { + "noRestrictedTypes": { + "level": "error", + "options": { + "types": { + "Buffer": { + "message": "Buffer is deprecated. Use `Uint8Array` instead.", + "use": "Uint8Array" + } + } + } + }, + "noRestrictedGlobals": { + "level": "error", + "options": { + "deniedGlobals": { + "Buffer": "Buffer is deprecated. Use `Uint8Array` instead." + } + } + } + } + } + } + } + ], + "files": { + "includes": [ + "**", + "!**/dist", + "!**/coverage", + "!**/build", + "!**/.next", + "!**/.turbo" + ] + } } diff --git a/bump.config.ts b/bump.config.ts deleted file mode 100644 index cfc5179d..00000000 --- a/bump.config.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { defineConfig } from "bumpp"; -import { globSync } from "tinyglobby"; - -export default defineConfig({ - files: globSync(["./packages/*/package.json"], { expandDirectories: false }), -}); diff --git a/dev/bun/package.json b/dev/bun/package.json deleted file mode 100644 index 291531c3..00000000 --- a/dev/bun/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "@dev/bun", - "module": "src/index.ts", - "type": "module", - "scripts": { - "dev": "bun src/index.ts --hot" - }, - "devDependencies": { - "@types/bun": "latest", - "@types/react": "^19.0.9", - "bun": "latest" - }, - "peerDependencies": { - "typescript": "^5.7.2" - }, - "dependencies": { - "@node-zugferd/api": "workspace:*", - "node-zugferd": "workspace:*", - "react": "^19.0.0" - } - -} \ No newline at end of file diff --git a/dev/bun/src/@node-zugferd-api.postman_collection.json b/dev/bun/src/@node-zugferd-api.postman_collection.json deleted file mode 100644 index 64a1ed4f..00000000 --- a/dev/bun/src/@node-zugferd-api.postman_collection.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "info": { - "_postman_id": "02f45cb9-785a-4aa8-8474-cfdb67cb827a", - "name": "@node-zugferd/api", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "17678013" - }, - "item": [ - { - "name": "/preview", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"template\": \"default\",\r\n \"data\": {\r\n \"number\": \"471102\",\r\n \"typeCode\": \"380\",\r\n \"issueDate\": \"2024-11-15T00:00:00.000Z\",\r\n \"includedNote\": [\r\n {\r\n \"content\": \"Rechnung gemäß Bestellung vom 01.11.2024.\"\r\n },\r\n {\r\n \"content\": \"Lieferant GmbH\\t\\t\\t\\t\\nLieferantenstraße 20\\t\\t\\t\\t\\n80333 München\\t\\t\\t\\t\\nDeutschland\\t\\t\\t\\t\\nGeschäftsführer: Hans Muster\\nHandelsregisternummer: H A 123\"\r\n },\r\n {\r\n \"content\": \"Unsere GLN: 4000001123452\\nIhre GLN: 4000001987658\\nIhre Kundennummer: GE2020211\\n\\n\\nZahlbar innerhalb 30 Tagen netto bis 25.12.2024, 3% Skonto innerhalb 10 Tagen bis 25.11.2024.\"\r\n }\r\n ],\r\n \"transaction\": {\r\n \"line\": [\r\n {\r\n \"identifier\": \"1\",\r\n \"tradeProduct\": {\r\n \"globalIdentifier\": {\r\n \"schemeIdentifier\": \"0160\",\r\n \"value\": \"4012345001235\"\r\n },\r\n \"name\": \"GTIN: 4012345001235\\nUnsere Art.-Nr.: TB100A4\\nTrennblätter A4\"\r\n },\r\n \"tradeAgreement\": {\r\n \"netTradePrice\": {\r\n \"chargeAmount\": \"9.90\"\r\n }\r\n },\r\n \"tradeDelivery\": {\r\n \"billedQuantity\": {\r\n \"unitMeasureCode\": \"H87\",\r\n \"amount\": \"20.0000\"\r\n }\r\n },\r\n \"tradeSettlement\": {\r\n \"tradeTax\": {\r\n \"typeCode\": \"VAT\",\r\n \"categoryCode\": \"S\",\r\n \"rateApplicablePercent\": \"19\"\r\n },\r\n \"monetarySummation\": {\r\n \"lineTotalAmount\": \"198.00\"\r\n }\r\n }\r\n }\r\n ],\r\n \"tradeAgreement\": {\r\n \"seller\": {\r\n \"name\": \"Lieferant GmbH\",\r\n \"postalAddress\": {\r\n \"postCode\": \"80333\",\r\n \"line1\": \"Lieferantenstraße 20\",\r\n \"city\": \"München\",\r\n \"countryCode\": \"DE\"\r\n },\r\n \"taxRegistration\": {\r\n \"localIdentifier\": \"201/113/40209\",\r\n \"vatIdentifier\": \"DE123456789\"\r\n }\r\n },\r\n \"buyer\": {\r\n \"name\": \"Kunden AG Mitte\",\r\n \"postalAddress\": {\r\n \"postCode\": \"69876\",\r\n \"line1\": \"Hans Muster\",\r\n \"line2\": \"Kundenstraße 15\",\r\n \"city\": \"Frankfurt\",\r\n \"countryCode\": \"DE\"\r\n }\r\n }\r\n },\r\n \"tradeDelivery\": {\r\n \"information\": {\r\n \"deliveryDate\": \"2024-11-14T00:00:00.000Z\"\r\n }\r\n },\r\n \"tradeSettlement\": {\r\n \"currencyCode\": \"EUR\",\r\n \"vatBreakdown\": [\r\n {\r\n \"calculatedAmount\": \"37.62\",\r\n \"typeCode\": \"VAT\",\r\n \"basisAmount\": \"198.00\",\r\n \"categoryCode\": \"S\",\r\n \"rateApplicablePercent\": \"19.00\"\r\n }\r\n ],\r\n \"paymentTerms\": {\r\n \"dueDate\": \"2024-12-15T00:00:00.000Z\"\r\n },\r\n \"monetarySummation\": {\r\n \"lineTotalAmount\": \"198.00\",\r\n \"chargeTotalAmount\": \"0.00\",\r\n \"allowanceTotalAmount\": \"0.00\",\r\n \"taxBasisTotalAmount\": \"198.00\",\r\n \"taxTotal\": {\r\n \"amount\": \"37.62\",\r\n \"currencyCode\": \"EUR\"\r\n },\r\n \"grandTotalAmount\": \"235.62\",\r\n \"duePayableAmount\": \"235.62\"\r\n }\r\n }\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{baseURL}}{{basePath}}/preview", - "host": ["{{baseURL}}{{basePath}}"], - "path": ["preview"] - } - }, - "response": [] - }, - { - "name": "/create", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"template\": \"default\",\r\n \"data\": {\r\n \"number\": \"471102\",\r\n \"typeCode\": \"380\",\r\n \"issueDate\": \"2024-11-15T00:00:00.000Z\",\r\n \"includedNote\": [\r\n {\r\n \"content\": \"Rechnung gemäß Bestellung vom 01.11.2024.\"\r\n },\r\n {\r\n \"content\": \"Lieferant GmbH\\t\\t\\t\\t\\nLieferantenstraße 20\\t\\t\\t\\t\\n80333 München\\t\\t\\t\\t\\nDeutschland\\t\\t\\t\\t\\nGeschäftsführer: Hans Muster\\nHandelsregisternummer: H A 123\"\r\n },\r\n {\r\n \"content\": \"Unsere GLN: 4000001123452\\nIhre GLN: 4000001987658\\nIhre Kundennummer: GE2020211\\n\\n\\nZahlbar innerhalb 30 Tagen netto bis 25.12.2024, 3% Skonto innerhalb 10 Tagen bis 25.11.2024.\"\r\n }\r\n ],\r\n \"transaction\": {\r\n \"line\": [\r\n {\r\n \"identifier\": \"1\",\r\n \"tradeProduct\": {\r\n \"globalIdentifier\": {\r\n \"schemeIdentifier\": \"0160\",\r\n \"value\": \"4012345001235\"\r\n },\r\n \"name\": \"GTIN: 4012345001235\\nUnsere Art.-Nr.: TB100A4\\nTrennblätter A4\"\r\n },\r\n \"tradeAgreement\": {\r\n \"netTradePrice\": {\r\n \"chargeAmount\": \"9.90\"\r\n }\r\n },\r\n \"tradeDelivery\": {\r\n \"billedQuantity\": {\r\n \"unitMeasureCode\": \"H87\",\r\n \"amount\": \"20.0000\"\r\n }\r\n },\r\n \"tradeSettlement\": {\r\n \"tradeTax\": {\r\n \"typeCode\": \"VAT\",\r\n \"categoryCode\": \"S\",\r\n \"rateApplicablePercent\": \"19\"\r\n },\r\n \"monetarySummation\": {\r\n \"lineTotalAmount\": \"198.00\"\r\n }\r\n }\r\n }\r\n ],\r\n \"tradeAgreement\": {\r\n \"seller\": {\r\n \"name\": \"Lieferant GmbH\",\r\n \"postalAddress\": {\r\n \"postCode\": \"80333\",\r\n \"line1\": \"Lieferantenstraße 20\",\r\n \"city\": \"München\",\r\n \"countryCode\": \"DE\"\r\n },\r\n \"taxRegistration\": {\r\n \"localIdentifier\": \"201/113/40209\",\r\n \"vatIdentifier\": \"DE123456789\"\r\n }\r\n },\r\n \"buyer\": {\r\n \"name\": \"Kunden AG Mitte\",\r\n \"postalAddress\": {\r\n \"postCode\": \"69876\",\r\n \"line1\": \"Hans Muster\",\r\n \"line2\": \"Kundenstraße 15\",\r\n \"city\": \"Frankfurt\",\r\n \"countryCode\": \"DE\"\r\n }\r\n }\r\n },\r\n \"tradeDelivery\": {\r\n \"information\": {\r\n \"deliveryDate\": \"2024-11-14T00:00:00.000Z\"\r\n }\r\n },\r\n \"tradeSettlement\": {\r\n \"currencyCode\": \"EUR\",\r\n \"vatBreakdown\": [\r\n {\r\n \"calculatedAmount\": \"37.62\",\r\n \"typeCode\": \"VAT\",\r\n \"basisAmount\": \"198.00\",\r\n \"categoryCode\": \"S\",\r\n \"rateApplicablePercent\": \"19.00\"\r\n }\r\n ],\r\n \"paymentTerms\": {\r\n \"dueDate\": \"2024-12-15T00:00:00.000Z\"\r\n },\r\n \"monetarySummation\": {\r\n \"lineTotalAmount\": \"198.00\",\r\n \"chargeTotalAmount\": \"0.00\",\r\n \"allowanceTotalAmount\": \"0.00\",\r\n \"taxBasisTotalAmount\": \"198.00\",\r\n \"taxTotal\": {\r\n \"amount\": \"37.62\",\r\n \"currencyCode\": \"EUR\"\r\n },\r\n \"grandTotalAmount\": \"235.62\",\r\n \"duePayableAmount\": \"235.62\"\r\n }\r\n }\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{baseURL}}{{basePath}}/create", - "host": ["{{baseURL}}{{basePath}}"], - "path": ["create"] - } - }, - "response": [] - }, - { - "name": "/ok", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "{{baseURL}}{{basePath}}/ok", - "host": ["{{baseURL}}{{basePath}}"], - "path": ["ok"] - } - }, - "response": [] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "packages": {}, - "exec": [""] - } - }, - { - "listen": "test", - "script": { - "type": "text/javascript", - "packages": {}, - "exec": [""] - } - } - ], - "variable": [ - { - "key": "baseURL", - "value": "http://localhost:4000", - "type": "default" - }, - { - "key": "basePath", - "value": "/api/zugferd", - "type": "string" - } - ] -} diff --git a/dev/bun/src/client.ts b/dev/bun/src/client.ts deleted file mode 100644 index eef0917a..00000000 --- a/dev/bun/src/client.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { createClient } from "@node-zugferd/api/client"; -import type { zugferdApi } from "./invoicer"; - -export const client = createClient(); diff --git a/dev/bun/src/index.ts b/dev/bun/src/index.ts deleted file mode 100644 index 3b2c9dd9..00000000 --- a/dev/bun/src/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { zugferdApi } from "./invoicer"; - -Bun.serve({ - fetch: zugferdApi.handler, - port: 4000, -}); - -console.log("Server running on port 4000"); diff --git a/dev/bun/src/invoicer.tsx b/dev/bun/src/invoicer.tsx deleted file mode 100644 index a8dd0e35..00000000 --- a/dev/bun/src/invoicer.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { api } from "@node-zugferd/api"; -import { reactRenderer } from "@node-zugferd/api/react/renderer"; -import { zugferd } from "node-zugferd"; -import { BASIC } from "node-zugferd/profile"; - -export const invoicer = zugferd({ - profile: BASIC, - logger: { - level: "debug", - }, -}); - -export const zugferdApi = api({ - invoicer, - renderer: reactRenderer(), - templates: { - default: (data) => { - return { - language: "eng", - body:

Invoice {data.number}

, - }; - }, - }, -}); diff --git a/dev/bun/tsconfig.json b/dev/bun/tsconfig.json deleted file mode 100644 index 931e19fc..00000000 --- a/dev/bun/tsconfig.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "compilerOptions": { - // Enable latest features - "lib": ["ESNext", "DOM"], - "target": "ESNext", - "module": "ESNext", - "moduleDetection": "force", - "jsx": "react-jsx", - "allowJs": true, - - // Bundler mode - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "verbatimModuleSyntax": true, - "noEmit": true, - - // Best practices - "strict": true, - "skipLibCheck": true, - "noFallthroughCasesInSwitch": true, - - // Some stricter flags (disabled by default) - "noUnusedLocals": false, - "noUnusedParameters": false, - "noPropertyAccessFromIndexSignature": false, - "paths": { - "@/*": ["./src/*"] - }, - "baseUrl": "." - } -} diff --git a/dev/node/package.json b/dev/node/package.json deleted file mode 100644 index a5df7f2d..00000000 --- a/dev/node/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "@dev/node", - "module": "index.ts", - "type": "module", - "scripts": { - "dev": "tsx watch src/index.ts" - }, - "devDependencies": { - "tsx": "^4.19.2" - }, - "dependencies": { - "node-zugferd": "workspace:*" - } -} diff --git a/dev/node/src/index.ts b/dev/node/src/index.ts deleted file mode 100644 index e3bbf1c4..00000000 --- a/dev/node/src/index.ts +++ /dev/null @@ -1,152 +0,0 @@ -import { zugferd } from "node-zugferd"; -import { BASIC } from "node-zugferd/profile/basic"; - -const main = async () => { - const invoicer = zugferd({ - profile: BASIC, - strict: false, - logger: { - level: "debug", - }, - }); - - const data: typeof invoicer.$Infer.Schema = { - businessProcessType: "A1", - number: "471102", - issueDate: new Date("2024-11-15"), - typeCode: "380", - includedNote: [ - { - content: "Rechnung gemäß Bestellung vom 01.11.2024.", - }, - { - content: `Lieferant GmbH -Lieferantenstraße 20 -80333 München -Deutschland -Geschäftsführer: Hans Muster -Handelsregisternummer: H A 123`, - }, - { - content: `Unsere GLN: 4000001123452 -Ihre GLN: 4000001987658 -Ihre Kundennummer: GE2020211 - - -Zahlbar innerhalb 30 Tagen netto bis 25.12.2024, 3% Skonto innerhalb 10 Tagen bis 25.11.2024.`, - }, - ], - transaction: { - line: [ - { - identifier: "1", - tradeProduct: { - globalIdentifier: { - schemeIdentifier: "0160", - value: "4012345001235", - }, - name: `GTIN: 4012345001235 -Unsere Art.-Nr.: TB100A4 -Trennblätter A4`, - }, - tradeAgreement: { - netTradePrice: { - chargeAmount: "9.90", - }, - }, - tradeDelivery: { - billedQuantity: { - amount: "20.0000", - unitMeasureCode: "H87", - }, - }, - tradeSettlement: { - tradeTax: { - typeCode: "VAT", - categoryCode: "S", - rateApplicablePercent: "19", - }, - }, - }, - ], - tradeAgreement: { - seller: { - name: "Lieferant GmbH", - postalAddress: { - countryCode: "DE", - city: "München", - line1: "Lieferantenstraße 20", - postCode: "80333", - }, - taxRegistration: { - localIdentifier: "201/113/40209", - vatIdentifier: "DE123456789", - }, - }, - buyer: { - name: "Kunden AG Mitte", - postalAddress: { - countryCode: "DE", - city: "Frankfurt", - line1: "Hans Muster", - line2: "Kundenstraße 15", - postCode: "69876", - }, - }, - }, - tradeDelivery: { - information: { - deliveryDate: new Date("2024-11-14"), - }, - }, - tradeSettlement: { - currencyCode: "EUR", - vatBreakdown: [ - { - typeCode: "VAT", - calculatedAmount: "37.62", - basisAmount: "198.00", - categoryCode: "S", - rateApplicablePercent: "19.00", - }, - ], - monetarySummation: { - lineTotalAmount: "198.00", - chargeTotalAmount: "0.00", - allowanceTotalAmount: "0.00", - taxBasisTotalAmount: "198.00", - taxTotal: { - currencyCode: "EUR", - amount: "37.62", - }, - grandTotalAmount: "235.62", - duePayableAmount: "235.62", - }, - allowances: [ - { - actualAmount: "7.00", - reasonCode: "95", - reason: "Discount", - categoryTradeTax: { - categoryCode: "S", - }, - }, - { - actualAmount: "3.00", - reasonCode: "95", - reason: "Coupon", - categoryTradeTax: { - categoryCode: "S", - }, - }, - ], - }, - }, - }; - - const invoice = invoicer.create(data); - - console.log(await invoice.toXML()); -}; - -void main(); diff --git a/dev/node/tsconfig.json b/dev/node/tsconfig.json deleted file mode 100644 index 931e19fc..00000000 --- a/dev/node/tsconfig.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "compilerOptions": { - // Enable latest features - "lib": ["ESNext", "DOM"], - "target": "ESNext", - "module": "ESNext", - "moduleDetection": "force", - "jsx": "react-jsx", - "allowJs": true, - - // Bundler mode - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "verbatimModuleSyntax": true, - "noEmit": true, - - // Best practices - "strict": true, - "skipLibCheck": true, - "noFallthroughCasesInSwitch": true, - - // Some stricter flags (disabled by default) - "noUnusedLocals": false, - "noUnusedParameters": false, - "noPropertyAccessFromIndexSignature": false, - "paths": { - "@/*": ["./src/*"] - }, - "baseUrl": "." - } -} diff --git a/docs/.env.example b/docs/.env.example deleted file mode 100644 index be2e0a6d..00000000 --- a/docs/.env.example +++ /dev/null @@ -1 +0,0 @@ -NEXT_PUBLIC_BASE_URL="http://localhost:3000" \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index 55a12ae7..00000000 --- a/docs/.gitignore +++ /dev/null @@ -1,28 +0,0 @@ -# deps -/node_modules - -# generated content -.contentlayer -.content-collections -.source - -# test & build -/coverage -/.next/ -/out/ -/build -*.tsbuildinfo - -# misc -.DS_Store -*.pem -/.pnp -.pnp.js -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# others -.env*.local -.vercel -next-env.d.ts \ No newline at end of file diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index dd042fe8..00000000 --- a/docs/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# docs - -This is a Next.js application generated with -[Create Fumadocs](https://github.com/fuma-nama/fumadocs). - -Run development server: - -```bash -pnpm -F docs dev -``` - -Open http://localhost:3000 with your browser to see the result. - -## Learn More - -To learn more about Next.js and Fumadocs, take a look at the following -resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js - features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. -- [Fumadocs](https://fumadocs.vercel.app) - learn about Fumadocs diff --git a/docs/components.json b/docs/components.json deleted file mode 100644 index 51ed4e84..00000000 --- a/docs/components.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema.json", - "style": "new-york", - "rsc": true, - "tsx": true, - "tailwind": { - "config": "tailwind.config.js", - "css": "src/app/global.css", - "baseColor": "stone", - "cssVariables": true, - "prefix": "" - }, - "aliases": { - "components": "@/components", - "utils": "@/lib/utils", - "ui": "@/components/ui", - "lib": "@/lib", - "hooks": "@/hooks" - }, - "iconLibrary": "lucide" -} diff --git a/docs/content/docs/basic-usage.mdx b/docs/content/docs/basic-usage.mdx deleted file mode 100644 index 5487dc80..00000000 --- a/docs/content/docs/basic-usage.mdx +++ /dev/null @@ -1,153 +0,0 @@ ---- -title: Basic Usage -description: Getting started with node-zugferd -priority: 0.8 ---- - - - - -## Install the Package - -Let's start by adding node-zugferd to your project: - -```package-install -node-zugferd -``` - - - - - - -## Create a new Instance - -Create a file named `invoicer.ts` in preferably one of those locations: - -- Project root -- `lib/` folder -- `utils/` folder - -In this file, import node-zugferd and create your instance. Make sure to export the instance. - -```ts title="invoicer.ts" -import { zugferd } from "node-zugferd"; - -export const invoicer = zugferd({ - //... -}); -``` - - - - -### Select a Profile - -node-zugferd requires a profile to generate the invoice. You can easily configure node-zugferd to use these built-in profiles: - -Documents containing only information of the first two profiles (MINIMUM and -BASIC WL) are not considered to be invoices according to German fiscal law ([→ -GoBD](https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Weitere_Steuerthemen/Abgabenordnung/2019-11-28-GoBD.html)); -they may therefore not be used as electronic invoices in Germany. They will -not be considered as invoices in France anymore once the einvoicing B2B -mandate CTC reform has been fully deployed (2028). **It is then highly -recommended to target the [BASIC](/docs/profiles/basic) profile at minimum.** - -- [MINIMUM](/docs/profiles/minimum) -- [BASIC WL](/docs/profiles/basic-wl) -- [BASIC](/docs/profiles/basic) -- [EN16931 (COMFORT)](/docs/profiles/en16931) -- [EXTENDED](/docs/profiles/extended) - -By default this package only provides support for the CII-Syntax -You can also define your own Profiles. - -```ts title="invoicer.ts" -import { zugferd } from "node-zugferd"; // [!code highlight] -import { BASIC } from "node-zugferd/profile/basic"; // [!code highlight] - -export const invoicer = zugferd({ - profile: BASIC, // [!code highlight] -}); -``` - - - - -## Your first invoice - -Once the necessary setup is complete, it's time to create your first invoice. This involves defining the invoice data and embedding it into a PDF to ensure it meets electronic invoicing standards. - - - - - -#### Define the data - -Invoices contain essential details like transaction information, participant details, and line items. This data will be structured in a way that allows it to be processed electronically and integrated seamlessly into business workflows. - -```ts -import { invoicer } from "./your/path/invoicer"; - -const data: typeof invoicer.$Infer.Schema = { - //... -}; - -const invoice = invoicer.create(data); // [!code highlight] -``` - - - - - -#### Save the document - -After creating the invoice, it needs to be saved in a format that meets the necessary standards for distribution and compliance. This ensures the document is both human-readable and machine-readable, allowing for automated processing within business workflows. - - - - -The most common practice for saving invoices is embedding them in a PDF/A document. This format retains the visual appearance of the invoice while also embedding the structured data. PDF/A ensures that the invoice can be archived and retrieved in a standardized, legally-compliant manner. - -The data in your pdf must exactly match the provided data! - -```ts -const pdf = fs.readFileSync("./your/invoice.pdf"); - -const pdfA = await invoice.embedInPdf(pdf, { - metadata: { - title: "New Invoice", - }, -}); -``` - -PDF/A is the preferred format for ZUGFeRD invoices, as it complies with the necessary legal standards for document archiving and submission. - - - - - -Alternatively, you can generate the invoice as an XML file. However, it's important to note that just the XML does not meet the full ZUGFeRD standard. Without embedding the data into a PDF/A file, the invoice is incomplete for compliance and automated processing in most cases. - -While generating the XML alone may be suitable in some situations, embedding -it in PDF/A is the recommended and compliant method for ZUGFeRD invoices. - -```ts -const xml = await invoice.toXML(); -``` - - - - - - - - ## 🎉 That's it [#thats-it] - {"\n"} - That's it! You've successfully set up node-zugferd, generated your first - invoice, and learned how to save it as a PDF/A-3b file or XML. You can now - automate the generation of invoices with structured data in the format that - fits your needs. - - - diff --git a/docs/content/docs/codelists/allowance.mdx b/docs/content/docs/codelists/allowance.mdx deleted file mode 100644 index bb125d45..00000000 --- a/docs/content/docs/codelists/allowance.mdx +++ /dev/null @@ -1,196 +0,0 @@ ---- -title: UNTDID 5189 — Allowance codes -description: Code specifying the identification of an allowance or charge. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - ALLOWANCE, - Allowance, - allowanceCode, - PUBLISHED, - type AllowanceDefinition, - type AllowanceCode, -} from "node-zugferd/codelist/allowance"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Description -
-41 - -Bonus for works ahead of schedule -
-42 - -Other bonus -
-60 - -Manufacturer’s consumer discount -
-62 - -Due to military status -
-63 - -Due to work accident -
-64 - -Special agreement -
-65 - -Production error discount -
-66 - -New outlet discount -
-67 - -Sample discount -
-68 - -End-of-range discount -
-70 - -Incoterm discount -
-71 - -Point of sales threshold allowance -
-88 - -Material surcharge/deduction -
-95 - -Discount -
-100 - -Special rebate -
-102 - -Fixed long term -
-103 - -Temporary -
-104 - -Standard -
-105 - -Yearly turnover -
diff --git a/docs/content/docs/codelists/characteristic.mdx b/docs/content/docs/codelists/characteristic.mdx deleted file mode 100644 index d86b632c..00000000 --- a/docs/content/docs/codelists/characteristic.mdx +++ /dev/null @@ -1,4472 +0,0 @@ ---- -title: UNTDID 6313 - Measured attribute code and Factur-X Extension -description: Code specifying the attribute measured. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - CHARACTERISTIC, - Characteristic, - characteristicCode, - PUBLISHED, - type CharacteristicDefinition, - type CharacteristicCode, -} from "node-zugferd/codelist/characteristic"; - -``` - -
- -Source - -
- - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Name - -Description - -Source -
-A - -Consolidated weight - -The measured consolidated weight. - -6313 -
-AAA - -Net weight - -Weight of goods including any packaging that normally going with the goods. - -6313 -
-AAB - -Goods item gross weight - -Weight (mass) of goods including packing but excluding the carrier's equipment. - -6313 -
-AAC - -Total net weight - -Total weight of goods excluding packaging. - -6313 -
-AAD - -Consignment gross weight - -Total gross weight (mass) of all goods items referred to as one consignment including packaging but excluding any transport equipment. - -6313 -
-AAF - -Net net weight - -Weight (mass) if goods without any packaging. - -6313 -
-AAG - -Stern thrust - -Force exerted by a thruster installed at the stern of a vessel. - -6313 -
-AAH - -Bow thrust - -Force exerted by a thruster installed at the bow of a vessel. - -6313 -
-AAI - -Hydrate content of an alcoholic product at bottling - -The hydrate content of an alcoholic product at the moment of bottling. - -6313 -
-AAJ - -Number of units per pallet - -The number of units contained on a pallet. - -6313 -
-AAK - -Fat content - -An indication of the fat content of a product. - -6313 -
-AAM - -Transport means gross weight - -The measure of the overall size of a ship determined in accordance with the provisions of the International Convention on Tonnage Measurement of Ships. - -6313 -
-AAN - -Net tonnage of the vessel - -The measure of the useful capacity of a ship determined in accordance with the provisions of the International Convention on Tonnage Measurement of Ships. - -6313 -
-AAO - -Humidity - -Degree of moisture. - -6313 -
-AAP - -Voltage - -Electromotive force, or difference of electronic potential between two points. - -6313 -
-AAQ - -Power consumption - -Value of energy consumption. - -6313 -
-AAR - -Heat dissipation - -Measurement of the rate of dispersal of heat. - -6313 -
-AAS - -Air flow - -Measurement of the flow of air. - -6313 -
-AAT - -Shock impact - -Measurement of the impact of a shock. - -6313 -
-AAU - -Operative temperature - -Temperature identified system or process works according to specifications. - -6313 -
-AAV - -Non operative temperature - -Temperature identified system or process does not work according to specifications. - -6313 -
-AAW - -Gross volume - -The volume unadjusted for factors such as temperature or gravity. - -6313 -
-AAX - -Net volume - -The volume after adjustment for factors such as temperature or gravity. - -6313 -
-AAY - -Water content - -Water content in product. - -6313 -
-AAZ - -Tensile stress - -The measured tensile stress. - -6313 -
-ABA - -Fibrosity - -The measured fibrosity. - -6313 -
-ABB - -Gauge length - -The measured gauge length. - -6313 -
-ABC - -Radius - -The measured radius. - -6313 -
-ABD - -Straightness - -Straightness of the item. - -6313 -
-ABE - -Strain - -The measured strain. - -6313 -
-ABF - -Item width when unrolled - -The width of an item when unrolled. - -6313 -
-ABG - -Item length when unrolled - -The length of an item when unrolled. - -6313 -
-ABH - -Item area when unrolled - -The area occupied by an item when unrolled. - -6313 -
-ABI - -Original wort - -Measure of the malt and hops content of beer, before fermentation has taken place. - -6313 -
-ABJ - -Volume - -The amount of air space taken up by the entity identified in the 6311 qualifier. - -6313 -
-ABK - -Angle - -The angle of an object. - -6313 -
-ABL - -Peg hole horizontal distance from package leftmost edge - -Horizontal distance from the left most edge of the package to the center of the hole into which the peg is inserted. - -6313 -
-ABM - -Peg hole vertical distance from package top - -Vertical distance from the top of the package to the top of the hole into which the peg is inserted. - -6313 -
-ABN - -Number of layers per pallet - -The number of layers per pallet. - -6313 -
-ABO - -Product strengh, chemical - -The amount of the single active chemical ingredient within a product. - -6313 -
-ABP - -Product strength basis, chemical - -Amount of product used as the basis for the specification of the chemical product strenght. - -6313 -
-ABS - -Item weight - -Weight at line item level. - -6313 -
-ABT - -Payload weight, maximum - -The maximum weight of a payload. - -6313 -
-ABX - -Weight of conveyance - -Tonnage of conveyance. - -6313 -
-ABY - -Conveyance summer dead weight - -Registered summer dead weight total tonnage of the vessel. - -6313 -
-ABZ - -Containerized cargo on vessel's weight - -Total weight of containerized cargo on vessel. - -6313 -
-ACA - -Non-containerized cargo on vessel's weight - -Total weight of non-containerized cargo on vessel. - -6313 -
-ACE - -Ascertained weight - -Endorsement of the true weight (mass) as ascertained or verified. - -6313 -
-ACG - -Chargeable weight - -The weight on which charges are based. - -6313 -
-ACN - -Estimated gross weight - -Estimated weight (mass) of goods, including packing and excluding carrier's. - -6313 -
-ACP - -Estimated volume - -Estimated size or measure of anything in three dimensions. - -6313 -
-ACS - -Vessel overall length - -Total overall length of the vessel. - -6313 -
-ACV - -Loading meters - -The length in a vehicle, whereby the complete width and height over that length is needed for the goods. - -6313 -
-ACW - -Number of axles - -Number of axles of movable equipment or means of transport on wheels. - -6313 -
-ACX - -Payload - -The revenue-producing load carried by a means of transport. - -6313 -
-ADR - -Start position in the length - -The starting position from the beginning of an item located in the length direction. - -6313 -
-ADS - -End position in the length - -The end position from the beginning of an item located in the length direction. - -6313 -
-ADT - -Start position in the width - -The start position from the beginning of an item located in the width direction. - -6313 -
-ADU - -End position in the width - -The end position from the beginning of an item located in the width direction. - -6313 -
-ADV - -Start position in the thickness - -The start position from the beginning of an item located in the thickness direction. - -6313 -
-ADW - -End position in the thickness - -The end position from the beginning of an item located in the thickness direction. - -6313 -
-ADX - -Transport container actual filling weight - -Actual filling weight of a transport container. - -6313 -
-ADY - -Transport container maximum capacity - -Maximum capacity of a transport container. - -6313 -
-ADZ - -Declared net weight - -The declared net weight of a product or products used for invoicing, customs or transport purposes. - -6313 -
-AEA - -Loading height - -Maximum height of products or packages loaded onto a given transportation device or equipment such as a pallet. - -6313 -
-AEB - -Stacking height - -Maximum height up to which the same product or package may be placed one upon the other for storage purposes. - -6313 -
-AEC - -Calculated weight - -The calculated weight of the item based on the ordered dimensions. - -6313 -
-AED - -Ferrite - -The chemical composition ferrite. - -6313 -
-AEE - -Impurity - -The impurity of the product i.e. the measurement of other chemical elements not normally appearing in a product. - -6313 -
-AEF - -Grain size - -The grain size. - -6313 -
-AEG - -Lanthanides - -The chemical element Lanthanides. - -6313 -
-AEH - -Elasticity - -The value of the elasticity. - -6313 -
-AEI - -Drained weight - -The weight of a product when all liquids used in the packaging of the product have been removed. - -6313 -
-AEJ - -Gallium - -Measurement of the gallium component. - -6313 -
-AEK - -Strontium - -Measurement of the strontium component. - -6313 -
-AEL - -Area - -Extent or measure of a surface. - -6313 -
-AEM - -Equipment storage limitation - -Maximum storage limit of the equipment. - -6313 -
-AEN - -Radioactive index of transport - -The index of transport determines the maximum radiation level at a distance of 1m from the external surface. - -6313 -
-AEO - -Radioactivity - -Activity of radioactive material. - -6313 -
-AEP - -Average gross weight - -Weight which is the outcome of the division of the total gross weight by the number of units. - -6313 -
-AEQ - -Forward draft - -Depth of water from the surface of water to the bottom of the vessel measured at the draft mark of the bow. - -6313 -
-AER - -After draft - -Depth of water from the surface of water to the bottom of the vessel measured at the draft mark of the stern. - -6313 -
-AES - -Acidity - -The quality, state, or degree of being acid. - -6313 -
-AET - -Transport equipment gross weight - -Weight of a transport equipment including the cargo and carrier's equipment. - -6313 -
-AEU - -Total transport equipment gross weight - -Total weight of all transport equipment including the cargo and carrier's equipment. - -6313 -
-AEV - -Acidity of juice - -Acid measurement of juice. - -6313 -
-AEW - -Penetrometry - -Measurement of force required to drive a standard penetrating stamp. - -6313 -
-AEX - -Durofel - -Measurement of the elastic force using a standard penetrating stamp. - -6313 -
-AEY - -Juice weight per 100 grams - -Measurement of weight of juice, based on 100 grams of the entire weight. - -6313 -
-AEZ - -Fruit skin colour - -Measurement of the colouring of the epidermis of a fruit. - -6313 -
-AF - -Angle of bend - -The measured angle of bend. - -6313 -
-AFA - -Fixed incremental measurement - -The measurement of the fixed increment. - -6313 -
-AFB - -Durofel D10 - -Measure of the elastic force of the pulp of a fruit. It is measured with a penetrating stamp with diameter 10. - -6313 -
-AFC - -Durofel D25 - -Measure of the elastic force of the pulp of a fruit. It is measured with a penetrating stamp with diameter 25. - -6313 -
-AFD - -Durofel D50 - -Measure of the elastic force of the pulp of a fruit. It is measured with a penetrating stamp with diameter 50. - -6313 -
-AFE - -Maximum stacking weight - -The maximum weight which may be stacked upon a product or package without the product or packaging being crushed. - -6313 -
-AFF - -Gross measure cube - -The total cubic space occupied by an item, taking into account any protruding components, arrived at by multiplying the maximum length, width and height. - -6313 -
-AFG - -Percentage fat content in dry matter - -The percentage of fat content in dry matter. - -6313 -
-AFH - -Saccharometric content - -Measurement of the sugar content of a solution. - -6313 -
-AFI - -Hydrate content of an alcoholic product after bottling - -The hydrate content which occurs in an alcoholic product after bottling. - -6313 -
-AFJ - -Anhydrous content - -The non-water content. - -6313 -
-AFK - -Certified weight - -Weight which has been certified. - -6313 -
-AFL - -Freeboard - -The vertical distance between the waterline and the upper edge of the deck line. - -6313 -
-AFM - -Maximum vessel draught - -The depth of water needed to float the ship (Maximum vessel draught according to Load Line Certificate IMO, MSC/Circ. 920 15 June 1999). - -6313 -
-AFN - -Net explosive weight - -Mass of the explosive part or substance of goods without any packing. - -6313 -
-AFO - -Radioactive criticality safety index - -A number, assigned to fissile material i.e. material capable of sustaining a nuclear chain reaction, which is used to provide control over the accumulation of packages containing such material. - -6313 -
-AFP - -Waste currently on board - -Amount of waste on board at the moment of the notification. - -6313 -
-AFQ - -Waste to be delivered at waste reception facility - -Amount of waste to be delivered to a waste reception facility, e.g. in the port of call. - -6313 -
-AFR - -Waste to be generated until next port of call, estimated - -Estimated amount of waste to be generated between creation of the current notification and arrival in the next port of call, irrespective of use of incinerator or compactor or disposal at sea. - -6313 -
-AFS - -Waste remaining on board at departure - -Amount of waste remaining on board when leaving the port of call. - -6313 -
-AFT - -Colour depth - -The number of distinct colours represented, e.g. in an image or in a display. - -6313 -
-AFU - -Colour depth, maximum - -The maximum number of distinct colours that can be represented, e.g. in an image or in a display. - -6313 -
-AFV - -Image resolution - -The level of detail of an image. - -6313 -
-AFW - -Device resolution, maximum - -The maximum level of detail produced by a device. - -6313 -
-AFX - -Acoustic absorption coefficient - -The portion of sound energy a surface absorbs, measured at different frequencies. - -6313 -
-B - -Billed weight - -The measured billed weight. - -6313 -
-BL - -Breaking load - -The measured breaking load. - -6313 -
-BMY - -Platinum - -The measurement of the platinum component. - -6313 -
-BMZ - -Silver - -The measurement of the silver component. - -6313 -
-BNA - -List - -The leaning or inclination of a vessel expressed in degrees port or starboard. - -6313 -
-BNB - -Trim - -The condition of a vessel with reference to its longitudinal axis. - -6313 -
-BNC - -Free water - -The volume of water present in a container that is not in suspension in the contained liquid. - -6313 -
-BND - -Bands - -The measured bands. - -6313 -
-BNE - -API (American Petroleum Institute) gravity - -The relative density of petroleum liquids as specified by a standard developed by the API. - -6313 -
-BNF - -Petroleum gross observed volume - -The total volume of all petroleum liquids and sediment and water, excluding free water, at observed temperature and pressure. - -6313 -
-BNG - -Petroleum gross standard volume - -The total volume of all petroleum liquids, sediment, and water excluding free water, corrected by the appropriate volume correction factor for the observed temperature and American Petroleum Institute relative density, or density to a standard temperature. - -6313 -
-BNH - -Volume variance - -The change in the volume measurement. - -6313 -
-BNI - -Petroleum net standard volume - -The total volume of all petroleum liquids, excluding sediment and water and free water, corrected by the appropriate volume correction factor for the observed temperature and American Petroleum Institute gravity relative to density or to a standard temperature. - -6313 -
-BNJ - -Material on-board quantity, after discharge - -The material in vessel tanks, void spaces, and pipelines after discharge. - -6313 -
-BNK - -Petroleum total calculated volume - -The total volume of all petroleum liquids, sediment and water corrected by the appropriate volume correction factor for the observed temperature and American Petroleum Institute (API) gravity, relative density, or density to a standard temperature. - -6313 -
-BNL - -Petroleum total observed volume - -The total volume of all petroleum liquids, sediment and water and free water at observed temperature and pressure. - -6313 -
-BNM - -Innage gauge distance - -The measured distance from the surface of the liquid to a fixed datum plate or to the tank bottom. - -6313 -
-BNN - -Petroleum net standard weight - -The total weight of all petroleum liquids excluding sediments, water and free water. - -6313 -
-BNO - -Sediment and water in petroleum - -The measurement of non-hydrocarbon solid material and water in suspension in petroleum liquid. - -6313 -
-BNP - -Observed reference height, tank - -The observed distance from the tank bottom or datum plate to the established reference point. - -6313 -
-BNQ - -Reference height, tank - -The measured distance from the tank bottom or datum plate to the established reference point. - -6313 -
-BNR - -Ullage gauge distance - -The measured distance from the cargo liquid surface to the reference point. - -6313 -
-BNS - -Trim correction - -The correction applied to the observed gauge or observed volume when a vessel is not on an even keel. - -6313 -
-BNT - -Bow to bridge distance - -The distance between the bow and the bridge of a vessel. - -6313 -
-BNU - -Peg hole number - -Used to identify the peg hole if more than one hole is present in the product or packaging. - -6313 -
-BNV - -Number of inner packs - -Indicates the number of non coded physical groupings (inner packs) of next lower level trade items within the current trade item level. - -6313 -
-BNW - -Number of next level trade items within inner pack - -The number of next lower level trade items contained within the physical non-coded grouping (inner pack). - -6313 -
-BNX - -Number of trade items per pallet layer - -The number of trade items contained on a single layer of a pallet. - -6313 -
-BNY - -Packed items layer height - -The height of a single layer of packed items. - -6313 -
-BNZ - -Packing material weight, skin tight covering - -The weight measurement of the packing material used for skin tight covering (e.g. when packaging prepared meats, poultry, cheese, and other food products). - -6313 -
-BR - -Brightness - -The measured brightness. - -6313 -
-BRA - -Brakes - -The measured brakes. - -6313 -
-BRB - -Components labelled for recycling percentage - -Percentage of trade item components that clearly label how to facilitate product disassembly and recycling. - -6313 -
-BRC - -Renewable plastic components percentage, by net weight - -The percentage of the plastic components only made from rapidly renewable plant-based material by net weight of product. - -6313 -
-BRD - -Clamp pressure, required - -The pressure that should be applied by a clamp. - -6313 -
-BRE - -Break - -The measured break. - -6313 -
-BRF - -Ascertained volume - -Endorsement of the true volume as ascertained or verified. - -6313 -
-BRG - -Unit weight - -The weight of a unit. - -6313 -
-BRH - -Total volume - -Total volume of goods and/or parcels. - -6313 -
-BRI - -Unit volume - -The volume of a unit. - -6313 -
-BRJ - -Vertical center of gravity - -Distance of vertical center of gravity relative to item's base. - -6313 -
-BRK - -Maximum allowable transport stacking weight - -Maximum weight allowed to be stowed on top of an item during transport. - -6313 -
-BRL - -Carbon Dioxide - -Measurement of the carbon dioxide (C02) component. - -6313 -
-BRM - -Number of base units per pallet - -The number of base units contained on a pallet. - -6313 -
-BRN - -Colony forming unit - -Micro-organism colonies that are to be counted under determined conditions. - -6313 -
-BRO - -Diluted liquid volume - -The volume of liquid which results after a dilution agent has been added, e.g. undiluted orange juice of 200ml, after dilution with water the volume of diluted liquid equals 1 litre. - -6313 -
-BRP - -Energy efficiency - -A measurement of the energy efficiency of an article. - -6313 -
-BRQ - -Number of layers - -Number of layers of a product or products within a package, container, etc. - -6313 -
-BRR - -Maximum demand - -The highest demand recorded during the period of recording of usage of the supply. - -6313 -
-BRS - -Number of pallet places - -The number of pallet places needed to store or to transport pallets (can be stacked). - -6313 -
-BRT - -Package net measurement, cubed - -An indication of the net cubed measurement of a package. - -6313 -
-BRU - -Power factor - -The ratio of the power dissipated (active power in kW) to the total power (which is the product of the input volts times amps given in kVa). When equipment which uses reactive power is being operated the power factor will be less than one. - -6313 -
-BRV - -Stacking factor excluding bottom item - -Maximum number of identical items stackable on top of item. - -6313 -
-BS - -Breaking strength - -The measured breaking strength. - -6313 -
-BSW - -Breaking strength wet - -The measured breaking strength when wet. - -6313 -
-BSX - -Step size - -An indication of measurements in which options contained within a Customer Specific Article are available, e.g. 10 metre planks of wood may be sold in step sizes of 2 metres. - -6313 -
-BSY - -Number of units per package - -The number of identified units per package. - -6313 -
-BSZ - -Number of units per layer - -Number of units of a product or package within one layer of a package, container, etc. - -6313 -
-BTA - -Weight per running metre - -A code used to indicate the weight per running metre of floor coverings over floor area. - -6313 -
-BTB - -Weight per square metre - -A code used to indicate the weight per square metre of floor coverings over floor area. - -6313 -
-BTC - -Acidity of meat - -The meat's acid quality or condition. - -6313 -
-BTD - -Slaughtering weight - -Weight immediately after slaughter. - -6313 -
-BTE - -Stacking factor including bottom item - -Maximum number of items stackable upon each other, including the bottom item. - -6313 -
-BTF - -Number of units in the width of a layer - -Number of units of a product or package which make up the width of a layer in a package, container, pallet, etc. - -6313 -
-BTG - -Number of units in the depth of a layer - -Number of units of a product or package which make up the depth of a layer in a package, container, pallet, etc. - -6313 -
-BTH - -Nestable percentage - -Extent expressed as a percentage to which an item can be nested within an identical item, e.g. paper cups. - -6313 -
-BTI - -Gross weight including carrier's equipment - -Weight (mass) of goods including packaging and the carrier's equipment. In this context 'carrier's equipment' means any material resources necessary to facilitate the transport and handling of the goods without having the ability to move by its own propulsion, e.g. pallet, container, etc. - -6313 -
-BTJ - -Sugar content - -The rate of sugar. - -6313 -
-BTK - -Self-accelerating polymerization temperature (SAPT) - -The lowest temperature at which polymerization may occur for a substance as packed for transport. - -6313 -
-BTL - -Self-accelerating decomposition temperature (SADT) - -The lowest temperature at which self-accelerating decomposition may occur for a substance as packed for transport. - -6313 -
-BTM - -Control temperature - -The controlled transport temperature to avoid decomposition of self-reactive substances and organic peroxides. - -6313 -
-BW - -Basis weight - -The measured basis weight. - -6313 -
-CHN - -Change - -The measured change. - -6313 -
-CHO - -Emergency temperature - -The temperature at which emergency response is required for self-reactive substances and organic peroxides. - -6313 -
-CM - -Colour - -The measured colour. - -6313 -
-CT - -Contents of package - -In combination with the other data elements of the actual segment this code indicates the measured content of a package. - -6313 -
-CV - -Commercial weight - -Item weight considering its maximum possible humidity. - -6313 -
-CZ - -Core length - -To specify length of core on which product is to be placed. - -6313 -
-D - -Destination weight agreement - -The agreed weight of despatched goods whose weight may change during transport. - -6313 -
-DI - -Diameter - -Diameter of an article. - -6313 -
-DL - -Delta value L - -The measured delta value L. - -6313 -
-DN - -Density - -The measured density. - -6313 -
-DP - -Depth - -The measured depth. - -6313 -
-DR - -Denier - -The measured fineness of a material. - -6313 -
-DS - -Distance between points - -The measured distance between points. - -6313 -
-DW - -Width, boxcar door - -The measured width of a boxcar door. - -6313 -
-E - -Estimated new weight - -The measured estimated new weight. - -6313 -
-EA - -Elongation - -The measured elongation. - -6313 -
-F - -Deficit weight - -The measured deficit weight. - -6313 -
-FI - -Filament count - -Used e.g. in textile, print industries. - -6313 -
-FL - -Longitudinal flatness - -The measured longitudinal flatness. - -6313 -
-FN - -Flatness - -The measured flatness. - -6313 -
-FV - -Transverse flatness - -The measured transverse flatness. - -6313 -
-GG - -Gauge - -The measured gauge. - -6313 -
-GW - -Gross weight, maximum - -The measured maximum gross weight. - -6313 -
-HF - -Hardness - -The measured hardness. - -6313 -
-HM - -Height, maximum - -The measured maximum height. - -6313 -
-HT - -Height dimension - -Numeric value of height. - -6313 -
-IB - -Impact energy - -The measured impact energy. - -6313 -
-ID - -Inside diameter - -The measured inside diameter. - -6313 -
-L - -Legal weight - -The measured legal weight. - -6313 -
-LM - -Length, maximum - -The measured maximum length. - -6313 -
-LN - -Length - -To specify the value of a length dimension. - -6313 -
-LND - -Lost end - -The measured lost end. - -6313 -
-M - -Minimum weight - -The measured minimum weight. - -6313 -
-MO - -Moisture - -Measurement application is the moisture content of the item. - -6313 -
-MW - -Maximum weight - -The measured maximum weight. - -6313 -
-N - -Actual net weight - -The actual weight of the goods excluding packaging. - -6313 -
-OD - -Outside diameter - -The measured outside diameter. - -6313 -
-PRS - -Pre stretch - -Measurement identifying the amount an item has been stretched prior to use. - -6313 -
-PTN - -Per tonne - -A measurement per tonne. - -6313 -
-RA - -Relative humidity - -The measured relative humidity. - -6313 -
-RF - -Resistivity - -The measured resistivity. - -6313 -
-RJ - -Rockwell C - -Hardness in the Rockwell C scale. - -6313 -
-RMW - -Ream weight - -Measurement indication for paper. - -6313 -
-RP - -Reduction of area - -The measured reduction of area. - -6313 -
-RUN - -Run (process) - -The measured run (process). - -6313 -
-RY - -Ratio - -The measured ratio. - -6313 -
-SQ - -Shipped quantity - -The measured shipped quantity. - -6313 -
-T - -Tare weight - -Weight excluding goods and loose accessories. - -6313 -
-TC - -Temperature - -A measurement in relation to temperature. - -6313 -
-TH - -Thickness - -The measured thickness. - -6313 -
-TN - -Time period - -Measurement of a specific length of time. - -6313 -
-TT - -Time - -The measured time. - -6313 -
-VGM - -Transport equipment verified gross mass (weight) - -The gross mass (weight) of the transport equipment verified according to SOLAS Chapter VI, Regulation 2, paragraphs 4-6. - -6313 -
-VH - -Height, van door - -The height of the door of a van or container. - -6313 -
-VW - -Width, van door - -The width of the door of a van or container. - -6313 -
-WA - -Weight per unit of area - -The weight per unit of an area. - -6313 -
-WD - -Width dimension - -Numeric value of width. - -6313 -
-WM - -Width, maximum - -The maximum distance from side to side. - -6313 -
-WU - -Weight per unit of length - -The weight per unit of length. - -6313 -
-XH - -Side height, flat bed with removable sides - -The height of the removable sides of a flat bed truck. - -6313 -
-XQ - -Squareness - -The measured squareness. - -6313 -
-XZ - -Spool size - -The measured spool size. - -6313 -
-YS - -Yield stress - -The measured yield stress. - -6313 -
-ZAL - -Aluminium - -The measured chemical element aluminium. - -6313 -
-ZAS - -Arsenic - -The measured chemical element arsenic. - -6313 -
-ZB - -Boron - -The measured chemical element boron. - -6313 -
-ZBI - -Bismuth - -The measured chemical element bismuth. - -6313 -
-ZC - -Carbon - -The measured chemical element carbon. - -6313 -
-ZCA - -Calcium - -The measured chemical element calcium. - -6313 -
-ZCB - -Columbium - -The measured chemical element columbium. - -6313 -
-ZCE - -Cerium - -The measured chemical element cerium. - -6313 -
-ZCL - -Chlorine - -The measured chemical element chlorine. - -6313 -
-ZCO - -Cobalt - -The measured chemical element cobalt. - -6313 -
-ZCR - -Chromium - -The measured chemical element chromium. - -6313 -
-ZCU - -Copper - -The measured chemical element copper. - -6313 -
-ZFE - -Iron - -The measured chemical element iron. - -6313 -
-ZFS - -Iron plus silicon - -The measured substance iron plus silicon. - -6313 -
-ZGE - -Germanium - -The measured chemical element germanium. - -6313 -
-ZH - -Hydrogen - -The measured chemical element hydrogen. - -6313 -
-ZK - -Potassium - -The measured chemical element potassium. - -6313 -
-ZMG - -Magnesium - -The measured chemical element magnesium. - -6313 -
-ZMN - -Manganese - -The measured chemical element manganese. - -6313 -
-ZMO - -Molybdenum - -The measured chemical element molybdenum. - -6313 -
-ZN - -Nitrogen - -The measured chemical element nitrogen. - -6313 -
-ZNA - -Sodium - -The measured chemical element sodium. - -6313 -
-ZNB - -Niobium - -The chemical element niobium. - -6313 -
-ZNI - -Nickel - -The measured chemical element nickel. - -6313 -
-ZO - -Oxygen - -The measured chemical element oxygen. - -6313 -
-ZP - -Phosphorus - -The measured chemical element phosphorus. - -6313 -
-ZPB - -Lead - -The measured chemical element lead. - -6313 -
-ZS - -Sulphur - -The measured chemical element sulphur. - -6313 -
-ZSB - -Antimony - -The measured chemical element antimony. - -6313 -
-ZSE - -Selenium - -The measured chemical element selenium. - -6313 -
-ZSI - -Silicon - -The measured chemical element silicon. - -6313 -
-ZSL - -Silicium oxyd - -The measured substance silicium oxyd. - -6313 -
-ZSN - -Tin - -The measured chemical element tin. - -6313 -
-ZTA - -Tantalium - -The measured chemical element tantalium. - -6313 -
-ZTE - -Tellurium - -The measured chemical element tellurium. - -6313 -
-ZTI - -Titanium - -The measured chemical element titanium. - -6313 -
-ZV - -Vanadium - -The measured chemical element vanadium. - -6313 -
-ZW - -Tungsten - -The measured chemical element tungsten. - -6313 -
-ZWA - -Waste content - -The measured waste content. - -6313 -
-ZZN - -Zinc - -The measured chemical element zinc. - -6313 -
-ZZR - -Zirconium - -The measured chemical element zirconium. - -6313 -
-ZZZ - -Mutually defined - -A code assigned within a code list to be used on an interim basis and as defined among trading partners until a precise code can be assigned to the code list. - -6313 -
-BEST_BEFORE_DATE - -Best before date - - - -Factur-X -
-COLOR_TEXT - -Colour as text - - - -Factur-X -
-COMMISSION - -Commission indicator - -true / false - -Factur-X -
-DEPOSIT_SYSTEM - -Deposit system - -Permitted values: - -DISPOSABLE -RETURNABLE - -Factur-X -
-DEPOSIT_TYPE - -Deposit type - -Permitted values: - -PRODUCT_PACKAGING -TRANSPORT_EQUIPMENT - -Factur-X -
-ENERGY_CLASS - -Energy efficiency class - - - -Factur-X -
-EXPIRATION_DATE - -Expiration date - - - -Factur-X -
-FEE - -Fee indicator - -true = item is a fee - -Factur-X -
-KIND_OF_ARTICLE - -Type of article - -Allowed values: -GOODS -OTHER_SERVICES - -Factur-X -
-MATERIAL - -Material of the product - - - -Factur-X -
-METER_LOCATION - -Metering point designation, e.g. for electricity or gas - - - -Factur-X -
-METER_NUMBER - -Meter number, e.g. for electricity or gas - - - -Factur-X -
-ORGANIC_CONTROL_BODY - -Organic control body number - - - -Factur-X -
-PACKAGING_MATERIAL - -Packaging material - - - -Factur-X -
-PACKAGING_TYPE - -Type of packaging (code) - -Type of packaging in coded form. The packaging units from Rec 20 / Rec 21 are used as the code list. Example XBO=bottle - -Factur-X -
-PROMOTIONAL_VARIANT - -Number of the action variant - - - -Factur-X -
-SEAL_NUMBER - -Seal number - - - -Factur-X -
-SIZE_CODE - -Size code - -Size information in coded form - -Factur-X -
-SIZE_TEXT - -Size designation - -Size specifications in text form - -Factur-X -
-TRADING_UNIT - -Type of trading unit - -Permitted values: -MIXED_ASSORTMENT = Assortment -UNMIXED_UNIT = Container - -Factur-X -
-WASTE_CODE - -Waste code (EWC) - -Waste code according to the European Waste Catalogue (EWC) - -Factur-X -
-WASTE_FRACTION - -Waste fraction - - - -Factur-X -
-WEEE_NUMBER - -WEEE registration number - -WEEE registration number of the manufacturer of the product - -Factur-X -
diff --git a/docs/content/docs/codelists/charge.mdx b/docs/content/docs/codelists/charge.mdx deleted file mode 100644 index af379baf..00000000 --- a/docs/content/docs/codelists/charge.mdx +++ /dev/null @@ -1,1468 +0,0 @@ ---- -title: UNTDID 7161 — Charge codes -description: Code specifying the identification of an allowance or charge. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - CHARGE, - Charge, - chargeCode, - PUBLISHED, - type ChargeDefinition, - type ChargeCode, -} from "node-zugferd/codelist/charge"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Description -
-AA - -Advertising -
-AAA - -Telecommunication -
-AAC - -Technical modification -
-AAD - -Job-order production -
-AAE - -Outlays -
-AAF - -Off-premises -
-AAH - -Additional processing -
-AAI - -Attesting -
-AAS - -Acceptance -
-AAT - -Rush delivery -
-AAV - -Special construction -
-AAY - -Airport facilities -
-AAZ - -Concession -
-ABA - -Compulsory storage -
-ABB - -Fuel removal -
-ABC - -Into plane -
-ABD - -Overtime -
-ABF - -Tooling -
-ABK - -Miscellaneous -
-ABL - -Additional packaging -
-ABN - -Dunnage -
-ABR - -Containerisation -
-ABS - -Carton packing -
-ABT - -Hessian wrapped -
-ABU - -Polyethylene wrap packing -
-ACF - -Miscellaneous treatment -
-ACG - -Enamelling treatment -
-ACH - -Heat treatment -
-ACI - -Plating treatment -
-ACJ - -Painting -
-ACK - -Polishing -
-ACL - -Priming -
-ACM - -Preservation treatment -
-ACS - -Fitting -
-ADC - -Consolidation -
-ADE - -Bill of lading -
-ADJ - -Airbag -
-ADK - -Transfer -
-ADL - -Slipsheet -
-ADM - -Binding -
-ADN - -Repair or replacement of broken returnable package -
-ADO - -Efficient logistics -
-ADP - -Merchandising -
-ADQ - -Product mix -
-ADR - -Other services -
-ADT - -Pick-up -
-ADW - -Chronic illness -
-ADY - -New product introduction -
-ADZ - -Direct delivery -
-AEA - -Diversion -
-AEB - -Disconnect -
-AEC - -Distribution -
-AED - -Handling of hazardous cargo -
-AEF - -Rents and leases -
-AEH - -Location differential -
-AEI - -Aircraft refueling -
-AEJ - -Fuel shipped into storage -
-AEK - -Cash on delivery -
-AEL - -Small order processing service -
-AEM - -Clerical or administrative services -
-AEN - -Guarantee -
-AEO - -Collection and recycling -
-AEP - -Copyright fee collection -
-AES - -Veterinary inspection service -
-AET - -Pensioner service -
-AEU - -Medicine free pass holder -
-AEV - -Environmental protection service -
-AEW - -Environmental clean-up service -
-AEX - -National cheque processing service outside account area -
-AEY - -National payment service outside account area -
-AEZ - -National payment service within account area -
-AJ - -Adjustments -
-AU - -Authentication -
-CA - -Cataloguing -
-CAB - -Cartage -
-CAD - -Certification -
-CAE - -Certificate of conformance -
-CAF - -Certificate of origin -
-CAI - -Cutting -
-CAJ - -Consular service -
-CAK - -Customer collection -
-CAL - -Payroll payment service -
-CAM - -Cash transportation -
-CAN - -Home banking service -
-CAO - -Bilateral agreement service -
-CAP - -Insurance brokerage service -
-CAQ - -Cheque generation -
-CAR - -Preferential merchandising location -
-CAS - -Crane -
-CAT - -Special colour service -
-CAU - -Sorting -
-CAV - -Battery collection and recycling -
-CAW - -Product take back fee -
-CAX - -Quality control released -
-CAY - -Quality control held -
-CAZ - -Quality control embargo -
-CD - -Car loading -
-CG - -Cleaning -
-CS - -Cigarette stamping -
-CT - -Count and recount -
-DAB - -Layout/design -
-DAC - -Assortment allowance -
-DAD - -Driver assigned unloading -
-DAF - -Debtor bound -
-DAG - -Dealer allowance -
-DAH - -Allowance transferable to the consumer -
-DAI - -Growth of business -
-DAJ - -Introduction allowance -
-DAK - -Multi-buy promotion -
-DAL - -Partnership -
-DAM - -Return handling -
-DAN - -Minimum order not fulfilled charge -
-DAO - -Point of sales threshold allowance -
-DAP - -Wholesaling discount -
-DAQ - -Documentary credits transfer commission -
-DL - -Delivery -
-EG - -Engraving -
-EP - -Expediting -
-ER - -Exchange rate guarantee -
-FAA - -Fabrication -
-FAB - -Freight equalization -
-FAC - -Freight extraordinary handling -
-FC - -Freight service -
-FH - -Filling/handling -
-FI - -Financing -
-GAA - -Grinding -
-HAA - -Hose -
-HD - -Handling -
-HH - -Hoisting and hauling -
-IAA - -Installation -
-IAB - -Installation and warranty -
-ID - -Inside delivery -
-IF - -Inspection -
-IR - -Installation and training -
-IS - -Invoicing -
-KO - -Koshering -
-L1 - -Carrier count -
-LA - -Labelling -
-LAA - -Labour -
-LAB - -Repair and return -
-LF - -Legalisation -
-MAE - -Mounting -
-MI - -Mail invoice -
-ML - -Mail invoice to each location -
-NAA - -Non-returnable containers -
-OA - -Outside cable connectors -
-PA - -Invoice with shipment -
-PAA - -Phosphatizing (steel treatment) -
-PC - -Packing -
-PL - -Palletizing -
-PRV - -Price variation -
-RAB - -Repacking -
-RAC - -Repair -
-RAD - -Returnable container -
-RAF - -Restocking -
-RE - -Re-delivery -
-RF - -Refurbishing -
-RH - -Rail wagon hire -
-RV - -Loading -
-SA - -Salvaging -
-SAA - -Shipping and handling -
-SAD - -Special packaging -
-SAE - -Stamping -
-SAI - -Consignee unload -
-SG - -Shrink-wrap -
-SH - -Special handling -
-SM - -Special finish -
-SU - -Set-up -
-TAB - -Tank renting -
-TAC - -Testing -
-TT - -Transportation - third party billing -
-TV - -Transportation by vendor -
-V1 - -Drop yard -
-V2 - -Drop dock -
-WH - -Warehousing -
-XAA - -Combine all same day shipment -
-YY - -Split pick-up -
-ZZZ - -Mutually defined -
diff --git a/docs/content/docs/codelists/country.mdx b/docs/content/docs/codelists/country.mdx deleted file mode 100644 index 183006ef..00000000 --- a/docs/content/docs/codelists/country.mdx +++ /dev/null @@ -1,2052 +0,0 @@ ---- -title: ISO 3166-1 — Country Codes -description: Code specifying the country. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - COUNTRY, - Country, - countryCode, - PUBLISHED, - type CountryDefinition, - type CountryCode, -} from "node-zugferd/codelist/country"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Alpha-2 code - -English short name -
-AD - -Andorra -
-AE - -United Arab Emirates (the) -
-AF - -Afghanistan -
-AG - -Antigua and Barbuda -
-AI - -Anguilla -
-AL - -Albania -
-AM - -Armenia -
-AO - -Angola -
-AQ - -Antarctica -
-AR - -Argentina -
-AS - -American Samoa -
-AT - -Austria -
-AU - -Australia -
-AW - -Aruba -
-AX - -Åland Islands -
-AZ - -Azerbaijan -
-BA - -Bosnia and Herzegovina -
-BB - -Barbados -
-BD - -Bangladesh -
-BE - -Belgium -
-BF - -Burkina Faso -
-BG - -Bulgaria -
-BH - -Bahrain -
-BI - -Burundi -
-BJ - -Benin -
-BL - -Saint Barthélemy -
-BM - -Bermuda -
-BN - -Brunei Darussalam -
-BO - -Bolivia (Plurinational State of) -
-BQ - -Bonaire, Sint Eustatius and Saba -
-BR - -Brazil -
-BS - -Bahamas (the) -
-BT - -Bhutan -
-BV - -Bouvet Island -
-BW - -Botswana -
-BY - -Belarus -
-BZ - -Belize -
-CA - -Canada -
-CC - -Cocos (Keeling) Islands (the) -
-CD - -Congo (the Democratic Republic of the) -
-CF - -Central African Republic (the) -
-CG - -Congo (the) -
-CH - -Switzerland -
-CI - -Côte d'Ivoire -
-CK - -Cook Islands (the) -
-CL - -Chile -
-CM - -Cameroon -
-CN - -China -
-CO - -Colombia -
-CR - -Costa Rica -
-CU - -Cuba -
-CV - -Cabo Verde -
-CW - -Curaçao -
-CX - -Christmas Island -
-CY - -Cyprus -
-CZ - -Czechia -
-DE - -Germany -
-DJ - -Djibouti -
-DK - -Denmark -
-DM - -Dominica -
-DO - -Dominican Republic (the) -
-DZ - -Algeria -
-EC - -Ecuador -
-EE - -Estonia -
-EG - -Egypt -
-EH - -Western Sahara* -
-ER - -Eritrea -
-ES - -Spain -
-ET - -Ethiopia -
-FI - -Finland -
-FJ - -Fiji -
-FK - -Falkland Islands (the) [Malvinas] -
-FM - -Micronesia (Federated States of) -
-FO - -Faroe Islands (the) -
-FR - -France -
-GA - -Gabon -
-GB - -United Kingdom of Great Britain and Northern Ireland (the) -
-GD - -Grenada -
-GE - -Georgia -
-GF - -French Guiana -
-GG - -Guernsey -
-GH - -Ghana -
-GI - -Gibraltar -
-GL - -Greenland -
-GM - -Gambia (the) -
-GN - -Guinea -
-GP - -Guadeloupe -
-GQ - -Equatorial Guinea -
-GR - -Greece -
-GS - -South Georgia and the South Sandwich Islands -
-GT - -Guatemala -
-GU - -Guam -
-GW - -Guinea-Bissau -
-GY - -Guyana -
-HK - -Hong Kong -
-HM - -Heard Island and McDonald Islands -
-HN - -Honduras -
-HR - -Croatia -
-HT - -Haiti -
-HU - -Hungary -
-ID - -Indonesia -
-IE - -Ireland -
-IL - -Israel -
-IM - -Isle of Man -
-IN - -India -
-IO - -British Indian Ocean Territory (the) -
-IQ - -Iraq -
-IR - -Iran (Islamic Republic of) -
-IS - -Iceland -
-IT - -Italy -
-JE - -Jersey -
-JM - -Jamaica -
-JO - -Jordan -
-JP - -Japan -
-KE - -Kenya -
-KG - -Kyrgyzstan -
-KH - -Cambodia -
-KI - -Kiribati -
-KM - -Comoros (the) -
-KN - -Saint Kitts and Nevis -
-KP - -Korea (the Democratic People's Republic of) -
-KR - -Korea (the Republic of) -
-KW - -Kuwait -
-KY - -Cayman Islands (the) -
-KZ - -Kazakhstan -
-LA - -Lao People's Democratic Republic (the) -
-LB - -Lebanon -
-LC - -Saint Lucia -
-LI - -Liechtenstein -
-LK - -Sri Lanka -
-LR - -Liberia -
-LS - -Lesotho -
-LT - -Lithuania -
-LU - -Luxembourg -
-LV - -Latvia -
-LY - -Libya -
-MA - -Morocco -
-MC - -Monaco -
-MD - -Moldova (the Republic of) -
-ME - -Montenegro -
-MF - -Saint Martin (French part) -
-MG - -Madagascar -
-MH - -Marshall Islands (the) -
-MK - -North Macedonia -
-ML - -Mali -
-MM - -Myanmar -
-MN - -Mongolia -
-MO - -Macao -
-MP - -Northern Mariana Islands (the) -
-MQ - -Martinique -
-MR - -Mauritania -
-MS - -Montserrat -
-MT - -Malta -
-MU - -Mauritius -
-MV - -Maldives -
-MW - -Malawi -
-MX - -Mexico -
-MY - -Malaysia -
-MZ - -Mozambique -
-NA - -Namibia -
-NC - -New Caledonia -
-NE - -Niger (the) -
-NF - -Norfolk Island -
-NG - -Nigeria -
-NI - -Nicaragua -
-NL - -Netherlands (the) -
-NO - -Norway -
-NP - -Nepal -
-NR - -Nauru -
-NU - -Niue -
-NZ - -New Zealand -
-OM - -Oman -
-PA - -Panama -
-PE - -Peru -
-PF - -French Polynesia -
-PG - -Papua New Guinea -
-PH - -Philippines (the) -
-PK - -Pakistan -
-PL - -Poland -
-PM - -Saint Pierre and Miquelon -
-PN - -Pitcairn -
-PR - -Puerto Rico -
-PS - -Palestine, State of -
-PT - -Portugal -
-PW - -Palau -
-PY - -Paraguay -
-QA - -Qatar -
-RE - -Réunion -
-RO - -Romania -
-RS - -Serbia -
-RU - -Russian Federation (the) -
-RW - -Rwanda -
-SA - -Saudi Arabia -
-SB - -Solomon Islands -
-SC - -Seychelles -
-SD - -Sudan (the) -
-SE - -Sweden -
-SG - -Singapore -
-SH - -Saint Helena, Ascension and Tristan da Cunha -
-SI - -Slovenia -
-SJ - -Svalbard and Jan Mayen -
-SK - -Slovakia -
-SL - -Sierra Leone -
-SM - -San Marino -
-SN - -Senegal -
-SO - -Somalia -
-SR - -Suriname -
-SS - -South Sudan -
-ST - -Sao Tome and Principe -
-SV - -El Salvador -
-SX - -Sint Maarten (Dutch part) -
-SY - -Syrian Arab Republic (the) -
-SZ - -Eswatini -
-TC - -Turks and Caicos Islands (the) -
-TD - -Chad -
-TF - -French Southern Territories (the) -
-TG - -Togo -
-TH - -Thailand -
-TJ - -Tajikistan -
-TK - -Tokelau -
-TL - -Timor-Leste -
-TM - -Turkmenistan -
-TN - -Tunisia -
-TO - -Tonga -
-TR - -Türkiye -
-TT - -Trinidad and Tobago -
-TV - -Tuvalu -
-TW - -Taiwan (Province of China) -
-TZ - -Tanzania, the United Republic of -
-UA - -Ukraine -
-UG - -Uganda -
-UM - -United States Minor Outlying Islands (the) -
-US - -United States of America (the) -
-UY - -Uruguay -
-UZ - -Uzbekistan -
-VA - -Holy See (the) -
-VC - -Saint Vincent and the Grenadines -
-VE - -Venezuela (Bolivarian Republic of) -
-VG - -Virgin Islands (British) -
-VI - -Virgin Islands (U.S.) -
-VN - -Viet Nam -
-VU - -Vanuatu -
-WF - -Wallis and Futuna -
-WS - -Samoa -
-YE - -Yemen -
-YT - -Mayotte -
-ZA - -South Africa -
-ZM - -Zambia -
-ZW - -Zimbabwe -
-1A - -Kosovo -
-XI - -United Kingdom (Northern Ireland) -
diff --git a/docs/content/docs/codelists/currency.mdx b/docs/content/docs/codelists/currency.mdx deleted file mode 100644 index 4b64a624..00000000 --- a/docs/content/docs/codelists/currency.mdx +++ /dev/null @@ -1,1468 +0,0 @@ ---- -title: ISO 4217 — Currency codes -description: Code specifying the currency. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - CURRENCY, - Currency, - currencyCode, - PUBLISHED, - type CurrencyDefinition, - type CurrencyCode, -} from "node-zugferd/codelist/currency"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Alphabetic Code - -Currency -
-AED - -UAE Dirham -
-AFN - -Afghani -
-ALL - -Lek -
-AMD - -Armenian Dram -
-ANG - -Netherlands Antillean Guilder -
-AOA - -Kwanza -
-ARS - -Argentine Peso -
-AUD - -Australian Dollar -
-AWG - -Aruban Florin -
-AZN - -Azerbaijan Manat -
-BAM - -Convertible Mark -
-BBD - -Barbados Dollar -
-BDT - -Taka -
-BGN - -Bulgarian Lev -
-BHD - -Bahraini Dinar -
-BIF - -Burundi Franc -
-BMD - -Bermudian Dollar -
-BND - -Brunei Dollar -
-BOB - -Boliviano -
-BOV - -Mvdol -
-BRL - -Brazilian Real -
-BSD - -Bahamian Dollar -
-BTN - -Ngultrum -
-BWP - -Pula -
-BYN - -Belarusian Ruble -
-BZD - -Belize Dollar -
-CAD - -Canadian Dollar -
-CDF - -Congolese Franc -
-CHE - -WIR Euro -
-CHF - -Swiss Franc -
-CHW - -WIR Franc -
-CLF - -Unidad de Fomento -
-CLP - -Chilean Peso -
-CNY - -Yuan Renminbi -
-COP - -Colombian Peso -
-COU - -Unidad de Valor Real -
-CRC - -Costa Rican Colon -
-CUP - -Cuban Peso -
-CVE - -Cabo Verde Escudo -
-CZK - -Czech Koruna -
-DJF - -Djibouti Franc -
-DKK - -Danish Krone -
-DOP - -Dominican Peso -
-DZD - -Algerian Dinar -
-EGP - -Egyptian Pound -
-ERN - -Nakfa -
-ETB - -Ethiopian Birr -
-EUR - -Euro -
-FJD - -Fiji Dollar -
-FKP - -Falkland Islands Pound -
-GBP - -Pound Sterling -
-GEL - -Lari -
-GHS - -Ghana Cedi -
-GIP - -Gibraltar Pound -
-GMD - -Dalasi -
-GNF - -Guinean Franc -
-GTQ - -Quetzal -
-GYD - -Guyana Dollar -
-HKD - -Hong Kong Dollar -
-HNL - -Lempira -
-HTG - -Gourde -
-HUF - -Forint -
-IDR - -Rupiah -
-ILS - -New Israeli Sheqel -
-INR - -Indian Rupee -
-IQD - -Iraqi Dinar -
-IRR - -Iranian Rial -
-ISK - -Iceland Krona -
-JMD - -Jamaican Dollar -
-JOD - -Jordanian Dinar -
-JPY - -Yen -
-KES - -Kenyan Shilling -
-KGS - -Som -
-KHR - -Riel -
-KMF - -Comorian Franc -
-KPW - -North Korean Won -
-KRW - -Won -
-KWD - -Kuwaiti Dinar -
-KYD - -Cayman Islands Dollar -
-KZT - -Tenge -
-LAK - -Lao Kip -
-LBP - -Lebanese Pound -
-LKR - -Sri Lanka Rupee -
-LRD - -Liberian Dollar -
-LSL - -Loti -
-LYD - -Libyan Dinar -
-MAD - -Moroccan Dirham -
-MDL - -Moldovan Leu -
-MGA - -Malagasy Ariary -
-MKD - -Denar -
-MMK - -Kyat -
-MNT - -Tugrik -
-MOP - -Pataca -
-MRU - -Ouguiya -
-MUR - -Mauritius Rupee -
-MVR - -Rufiyaa -
-MWK - -Malawi Kwacha -
-MXN - -Mexican Peso -
-MXV - -Mexican Unidad de Inversion (UDI) -
-MYR - -Malaysian Ringgit -
-MZN - -Mozambique Metical -
-NAD - -Namibia Dollar -
-NGN - -Naira -
-NIO - -Cordoba Oro -
-NOK - -Norwegian Krone -
-NPR - -Nepalese Rupee -
-NZD - -New Zealand Dollar -
-OMR - -Rial Omani -
-PAB - -Balboa -
-PEN - -Sol -
-PGK - -Kina -
-PHP - -Philippine Peso -
-PKR - -Pakistan Rupee -
-PLN - -Zloty -
-PYG - -Guarani -
-QAR - -Qatari Rial -
-RON - -Romanian Leu -
-RSD - -Serbian Dinar -
-RUB - -Russian Ruble -
-RWF - -Rwanda Franc -
-SAR - -Saudi Riyal -
-SBD - -Solomon Islands Dollar -
-SCR - -Seychelles Rupee -
-SDG - -Sudanese Pound -
-SEK - -Swedish Krona -
-SGD - -Singapore Dollar -
-SHP - -Saint Helena Pound -
-SLE - -Sierra Leone (new valuation 2022) -
-SOS - -Somali Shilling -
-SRD - -Surinam Dollar -
-SSP - -South Sudanese Pound -
-STN - -Dobra -
-SVC - -El Salvador Colon -
-SYP - -Syrian Pound -
-SZL - -Lilangeni -
-THB - -Baht -
-TJS - -Somoni -
-TMT - -Turkmenistan New Manat -
-TND - -Tunisian Dinar -
-TOP - -Pa’anga -
-TRY - -Turkish Lira -
-TTD - -Trinidad and Tobago Dollar -
-TWD - -New Taiwan Dollar -
-TZS - -Tanzanian Shilling -
-UAH - -Hryvnia -
-UGX - -Uganda Shilling -
-USD - -US Dollar -
-USN - -US Dollar (Next day) -
-UYI - -Uruguay Peso en Unidades Indexadas (UI) -
-UYU - -Peso Uruguayo -
-UYW - -Unidad Previsional -
-UZS - -Uzbekistan Sum -
-VED - -Bolívar Soberano, new valuation -
-VES - -Bolívar Soberano -
-VND - -Dong -
-VUV - -Vatu -
-WST - -Tala -
-XAF - -CFA Franc BEAC -
-XAG - -Silver -
-XAU - -Gold -
-XBA - -Bond Markets Unit European Composite Unit (EURCO) -
-XBB - -Bond Markets Unit European Monetary Unit (E.M.U.-6) -
-XBC - -Bond Markets Unit European Unit of Account 9 (E.U.A.-9) -
-XBD - -Bond Markets Unit European Unit of Account 17 (E.U.A.-17) -
-XCD - -East Caribbean Dollar -
-XDR - -SDR (Special Drawing Right) -
-XOF - -CFA Franc BCEAO -
-XPD - -Palladium -
-XPF - -CFP Franc -
-XPT - -Platinum -
-XSU - -Sucre -
-XTS - -Codes specifically reserved for testing purposes -
-XUA - -ADB Unit of Account -
-XXX - -The codes assigned for transactions where no currency is involved -
-YER - -Yemeni Rial -
-ZAR - -Rand -
-ZMW - -Zambian Kwacha -
-ZWG - -Zimbabwe Gold -
diff --git a/docs/content/docs/codelists/date.mdx b/docs/content/docs/codelists/date.mdx deleted file mode 100644 index 405f6d1b..00000000 --- a/docs/content/docs/codelists/date.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: UNTDID 2379 - Date format -description: Specification of the representation of a date, a date and time or of a period. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - DATE, - Date, - dateCode, - type DateDefinition, - type DateCode, -} from "node-zugferd/codelist/date"; - -``` - -
- -Source - -
- - ----- - - - - - - - - - - - - - - - - - - - -
-Code - -Code name - -Description -
-102 - -CCYYMMDD - -Calendar date: C = Century ; Y = Year ; M = Month ; D = Day. -
-205 - -CCYYMMDDHHMMZHHMM - -Calendar date including time and time zone expressed in hours and minutes. -ZHHMM = time zone given as offset from Coordinated Universal Time (UTC). -
diff --git a/docs/content/docs/codelists/eas.mdx b/docs/content/docs/codelists/eas.mdx deleted file mode 100644 index 8c501480..00000000 --- a/docs/content/docs/codelists/eas.mdx +++ /dev/null @@ -1,822 +0,0 @@ ---- -title: CEF EAS — Electronic address scheme identifier -description: Code specifying the scheme used to identify an electronic address. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - EAS, - Eas, - easCode, - PUBLISHED, - type EasDefinition, - type EasCode, -} from "node-zugferd/codelist/eas"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-AES - -Scheme name -
-0002 - -System Information et Repertoire des Entreprise et des Etablissements: SIRENE -
-0007 - -Organisationsnummer -
-0009 - -SIRET-CODE -
-0037 - -LY-tunnus -
-0060 - -Data Universal Numbering System (D-U-N-S Number) -
-0088 - -EAN Location Code -
-0096 - -The Danish Business Authority - P-number (DK:P) -
-0097 - -FTI - Ediforum Italia, (EDIRA compliant) -
-0106 - -Vereniging van Kamers van Koophandel en Fabrieken in Nederland (Association of -Chambers of Commerce and Industry in the Netherlands), Scheme (EDIRA compliant) -
-0130 - -Directorates of the European Commission -
-0135 - -SIA Object Identifiers -
-0142 - -SECETI Object Identifiers -
-0147 - -Standard Company Code -
-0151 - -Australian Business Number (ABN) Scheme -
-0154 - -Identification number of economic subjects: (ICO) -
-0158 - -Identification number of economic subject (ICO) Act on State Statistics of 29 November 2001, § 27 -
-0170 - -Teikoku Company Code -
-0177 - -Odette International Limited -
-0183 - -Numéro d'identification suisse des enterprises (IDE), Swiss Unique Business Identification Number (UIDB) -
-0184 - -DIGSTORG -
-0188 - -Corporate Number of The Social Security and Tax Number System -
-0190 - -Dutch Originator's Identification Number -
-0191 - -Centre of Registers and Information Systems of the Ministry of Justice -
-0192 - -Enhetsregisteret ved Bronnoysundregisterne -
-0193 - -UBL.BE party identifier -
-0194 - -KOIOS Open Technical Dictionary -
-0195 - -Singapore UEN identifier -
-0196 - -Kennitala - Iceland legal id for individuals and legal entities -
-0198 - -ERSTORG -
-0199 - -Global legal entity identifier (GLEIF) -
-0200 - -Legal entity code (Lithuania) -
-0201 - -Codice Univoco Unità Organizzativa iPA -
-0202 - -Indirizzo di Posta Elettronica Certificata -
-0203 - -eDelivery Network Participant identifier -
-0204 - -Leitweg-ID -
-0205 - -CODDEST -
-0208 - -Numero d'entreprise / ondernemingsnummer / Unternehmensnummer -
-0209 - -GS1 identification keys -
-0210 - -CODICE FISCALE -
-0211 - -PARTITA IVA -
-0212 - -Finnish Organization Identifier -
-0213 - -Finnish Organization Value Add Tax Identifier -
-0215 - -Net service ID -
-0216 - -OVTcode -
-0217 - -The Netherlands Chamber of Commerce and Industry establishment number -
-0218 - -Unified registration number (Latvia) -
-0221 - -The registered number of the qualified invoice issuer -
-0225 - -FRCTC ELECTRONIC ADDRESS -
-0230 - -National e-Invoicing Framework -
-0235 - -UAE Tax Identification Number (TIN) -
-0240 - -Register of legal persons (in French : Répertoire des personnes morales) -
-9910 - -Hungary VAT number -
-9913 - -Business Registers Network -
-9914 - -Österreichische Umsatzsteuer-Identifikationsnummer -
-9915 - -Österreichisches Verwaltungs bzw. -Organisationskennzeichen -
-9918 - -SOCIETY FOR WORLDWIDE INTERBANK FINANCIAL, TELECOMMUNICATION S.W.I.F.T -
-9919 - -Kennziffer des Unternehmensregisters -
-9920 - -Agencia Española de Administración Tributaria -
-9922 - -Andorra VAT number -
-9923 - -Albania VAT number -
-9924 - -Bosnia and Herzegovina VAT number -
-9925 - -Belgium VAT number -
-9926 - -Bulgaria VAT number -
-9927 - -Switzerland VAT number -
-9928 - -Cyprus VAT number -
-9929 - -Czech Republic VAT number -
-9930 - -Germany VAT number -
-9931 - -Estonia VAT number -
-9932 - -United Kingdom VAT number -
-9933 - -Greece VAT number -
-9934 - -Croatia VAT number -
-9935 - -Ireland VAT number -
-9936 - -Liechtenstein VAT number -
-9937 - -Lithuania VAT number -
-9938 - -Luxemburg VAT number -
-9939 - -Latvia VAT number -
-9940 - -Monaco VAT number -
-9941 - -Montenegro VAT number -
-9942 - -Macedonia, the former Yugoslav Republic of VAT number -
-9943 - -Malta VAT number -
-9944 - -Netherlands VAT number -
-9945 - -Poland VAT number -
-9946 - -Portugal VAT number -
-9947 - -Romania VAT number -
-9948 - -Serbia VAT number -
-9949 - -Slovenia VAT number -
-9950 - -Slovakia VAT number -
-9951 - -San Marino VAT number -
-9952 - -Turkey VAT number -
-9953 - -Holy See (Vatican City State) VAT number -
-9957 - -French VAT number -
-9959 - -Employer Identification Number (EIN, USA) -
-AN - -O.F.T.P. (ODETTE File Transfer Protocol) -
-AQ - -X.400 address for mail text -
-AS - -AS2 exchange -
-AU - -File Transfer Protocol -
-EM - -Electronic mail (SMPT) -
diff --git a/docs/content/docs/codelists/fiscal-id.mdx b/docs/content/docs/codelists/fiscal-id.mdx deleted file mode 100644 index 2ad656dc..00000000 --- a/docs/content/docs/codelists/fiscal-id.mdx +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Tax registration -description: Code specifying the fiscal identification of a party. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - FISCAL_ID, - FiscalId, - fiscalIdCode, - type FiscalIdDefinition, - type FiscalIdCode, -} from "node-zugferd/codelist/fiscal-id"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - -
-Code - -Value -
-FC - -Fiscal number -
diff --git a/docs/content/docs/codelists/icd.mdx b/docs/content/docs/codelists/icd.mdx deleted file mode 100644 index fdadb54b..00000000 --- a/docs/content/docs/codelists/icd.mdx +++ /dev/null @@ -1,1924 +0,0 @@ ---- -title: ISO/IEC 6523 — Identifier scheme code -description: Code specifying the identification scheme for organizations. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - ICD, - Icd, - icdCode, - PUBLISHED, - type IcdDefinition, - type IcdCode, -} from "node-zugferd/codelist/icd"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Identifier scheme name -
-0002 - -System Information et Repertoire des Entreprise et des Etablissements: SIRENE -
-0003 - -Codification Numerique des Etablissments Financiers En Belgique -
-0004 - -NBS/OSI NETWORK -
-0005 - -USA FED GOV OSI NETWORK -
-0006 - -USA DOD OSI NETWORK -
-0007 - -Organisationsnummer -
-0008 - -LE NUMERO NATIONAL -
-0009 - -SIRET-CODE -
-0010 - -Organizational Identifiers for Structured Names under ISO 9541 Part 2 -
-0011 - -International Code Designator for the Identification of OSI-based, Amateur Radio Organizations, Network Objects and Application Services. -
-0012 - -European Computer Manufacturers Association: ECMA -
-0013 - -VSA FTP CODE (FTP = File Transfer Protocol) -
-0014 - -NIST/OSI Implememts' Workshop -
-0015 - -Electronic Data Interchange: EDI -
-0016 - -EWOS Object Identifiers -
-0017 - -COMMON LANGUAGE -
-0018 - -SNA/OSI Network -
-0019 - -Air Transport Industry Services Communications Network -
-0020 - -European Laboratory for Particle Physics: CERN -
-0021 - -SOCIETY FOR WORLDWIDE INTERBANK FINANCIAL, TELECOMMUNICATION S.W.I.F.T. -
-0022 - -OSF Distributed Computing Object Identification -
-0023 - -Nordic University and Research Network: NORDUnet -
-0024 - -Digital Equipment Corporation: DEC -
-0025 - -OSI ASIA-OCEANIA WORKSHOP -
-0026 - -NATO ISO 6523 ICDE coding scheme -
-0027 - -Aeronautical Telecommunications Network (ATN) -
-0028 - -International Standard ISO 6523 -
-0029 - -The All-Union Classifier of Enterprises and Organisations -
-0030 - -AT&T/OSI Network -
-0031 - -EDI Partner Identification Code -
-0032 - -Telecom Australia -
-0033 - -S G W OSI Internetwork -
-0034 - -Reuter Open Address Standard -
-0035 - -ISO 6523 - ICD -
-0036 - -TeleTrust Object Identifiers -
-0037 - -LY-tunnus -
-0038 - -The Australian GOSIP Network -
-0039 - -The OZ DOD OSI Network -
-0040 - -Unilever Group Companies -
-0041 - -Citicorp Global Information Network -
-0042 - -DBP Telekom Object Identifiers -
-0043 - -HydroNETT -
-0044 - -Thai Industrial Standards Institute (TISI) -
-0045 - -ICI Company Identification System -
-0046 - -FUNLOC -
-0047 - -BULL ODI/DSA/UNIX Network -
-0048 - -OSINZ -
-0049 - -Auckland Area Health -
-0050 - -Firmenich -
-0051 - -AGFA-DIS -
-0052 - -Society of Motion Picture and Television Engineers (SMPTE) -
-0053 - -Migros_Network M_NETOPZ -
-0054 - -ISO6523 - ICDPCR -
-0055 - -Energy Net -
-0056 - -Nokia Object Identifiers (NOI) -
-0057 - -Saint Gobain -
-0058 - -Siemens Corporate Network -
-0059 - -DANZNET -
-0060 - -Data Universal Numbering System (D-U-N-S Number) -
-0061 - -SOFFEX OSI -
-0062 - -KPN OVN -
-0063 - -ascomOSINet -
-0064 - -UTC: Uniforme Transport Code -
-0065 - -SOLVAY OSI CODING -
-0066 - -Roche Corporate Network -
-0067 - -ZellwegerOSINet -
-0068 - -Intel Corporation OSI -
-0069 - -SITA Object Identifier Tree -
-0070 - -DaimlerChrysler Corporate Network -
-0071 - -LEGO /OSI NETWORK -
-0072 - -NAVISTAR/OSI Network -
-0073 - -ICD Formatted ATM address -
-0074 - -ARINC -
-0075 - -Alcanet/Alcatel-Alsthom Corporate Network -
-0076 - -Sistema Italiano di Identificazione di ogetti gestito da UNINFO -
-0077 - -Sistema Italiano di Indirizzamento di Reti OSI Gestito da UNINFO -
-0078 - -Mitel terminal or switching equipment -
-0079 - -ATM Forum -
-0080 - -UK National Health Service Scheme, (EDIRA compliant) -
-0081 - -International NSAP -
-0082 - -Norwegian Telecommunications Authority's, NTA'S, EDI, identifier scheme (EDIRA compliant) -
-0083 - -Advanced Telecommunications Modules Limited, Corporate Network -
-0084 - -Athens Chamber of Commerce & Industry Scheme (EDIRA compliant) -
-0085 - -Swiss Chambers of Commerce Scheme (EDIRA) compliant -
-0086 - -United States Council for International Business (USCIB) Scheme, (EDIRA compliant) -
-0087 - -National Federation of Chambers of Commerce & Industry of Belgium, Scheme (EDIRA compliant) -
-0088 - -EAN Location Code -
-0089 - -The Association of British Chambers of Commerce Ltd. Scheme, (EDIRA compliant) -
-0090 - -Internet IP addressing - ISO 6523 ICD encoding -
-0091 - -Cisco Sysytems / OSI Network -
-0093 - -Revenue Canada Business Number Registration (EDIRA compliant) -
-0094 - -DEUTSCHER INDUSTRIE- UND HANDELSTAG (DIHT) Scheme (EDIRA compliant) -
-0095 - -Hewlett - Packard Company Internal AM Network -
-0096 - -DANISH CHAMBER OF COMMERCE Scheme (EDIRA compliant) -
-0097 - -FTI - Ediforum Italia, (EDIRA compliant) -
-0098 - -CHAMBER OF COMMERCE TEL AVIV-JAFFA Scheme (EDIRA compliant) -
-0099 - -Siemens Supervisory Systems Network -
-0100 - -PNG_ICD Scheme -
-0101 - -South African Code Allocation -
-0102 - -HEAG -
-0104 - -BT - ICD Coding System -
-0105 - -Portuguese Chamber of Commerce and Industry Scheme (EDIRA compliant) -
-0106 - -Vereniging van Kamers van Koophandel en Fabrieken in Nederland (Association of Chambers of Commerce and Industry in the Netherlands), Scheme (EDIRA compliant) -
-0107 - -Association of Swedish Chambers of Commerce and Industry Scheme (EDIRA compliant) -
-0108 - -Australian Chambers of Commerce and Industry Scheme (EDIRA compliant) -
-0109 - -BellSouth ICD AESA (ATM End System Address) -
-0110 - -Bell Atlantic -
-0111 - -Object Identifiers -
-0112 - -ISO register for Standards producing Organizations -
-0113 - -OriginNet -
-0114 - -Check Point Software Technologies -
-0115 - -Pacific Bell Data Communications Network -
-0116 - -PSS Object Identifiers -
-0117 - -STENTOR-ICD CODING SYSTEM -
-0118 - -ATM-Network ZN'96 -
-0119 - -MCI / OSI Network -
-0120 - -Advantis -
-0121 - -Affable Software Data Interchange Codes -
-0122 - -BB-DATA GmbH -
-0123 - -BASF Company ATM-Network -
-0124 - -IOTA Identifiers for Organizations for Telecommunications Addressing using the ICD system format defined in ISO/IEC 8348 -
-0125 - -Henkel Corporate Network (H-Net) -
-0126 - -GTE/OSI Network -
-0127 - -Dresdner Bank Corporate Network -
-0128 - -BCNR (Swiss Clearing Bank Number) -
-0129 - -BPI (Swiss Business Partner Identification) code -
-0130 - -Directorates of the European Commission -
-0131 - -Code for the Identification of National Organizations -
-0132 - -Certicom Object Identifiers -
-0133 - -TC68 OID -
-0134 - -Infonet Services Corporation -
-0135 - -SIA Object Identifiers -
-0136 - -Cable & Wireless Global ATM End-System Address Plan -
-0137 - -Global AESA scheme -
-0138 - -France Telecom ATM End System Address Plan -
-0139 - -Savvis Communications AESA:. -
-0140 - -Toshiba Organizations, Partners, And Suppliers' (TOPAS) Code -
-0141 - -NATO Commercial and Government Entity system -
-0142 - -SECETI Object Identifiers -
-0143 - -EINESTEINet AG -
-0144 - -DoDAAC (Department of Defense Activity Address Code) -
-0145 - -DGCP (Direction Générale de la Comptabilité Publique)administrative accounting identification scheme -
-0146 - -DGI (Direction Générale des Impots) code -
-0147 - -Standard Company Code -
-0148 - -ITU (International Telecommunications Union)Data Network Identification Codes (DNIC) -
-0149 - -Global Business Identifier -
-0150 - -Madge Networks Ltd- ICD ATM Addressing Scheme -
-0151 - -Australian Business Number (ABN) Scheme -
-0152 - -Edira Scheme Identifier Code -
-0153 - -Concert Global Network Services ICD AESA -
-0154 - -Identification number of economic subjects: (ICO) -
-0155 - -Global Crossing AESA (ATM End System Address) -
-0156 - -AUNA -
-0157 - -ATM interconnection with the Dutch KPN Telecom -
-0158 - -Identification number of economic subject (ICO) Act on State Statistics of 29 November 2'001, § 27 -
-0159 - -ACTALIS Object Identifiers -
-0160 - -GTIN - Global Trade Item Number -
-0161 - -ECCMA Open Technical Directory -
-0162 - -CEN/ISSS Object Identifier Scheme -
-0163 - -US-EPA Facility Identifier -
-0164 - -TELUS Corporation -
-0165 - -FIEIE Object identifiers -
-0166 - -Swissguide Identifier Scheme -
-0167 - -Priority Telecom ATM End System Address Plan -
-0168 - -Vodafone Ireland OSI Addressing -
-0169 - -Swiss Federal Business Identification Number. Central Business names Index (zefix) Identification Number -
-0170 - -Teikoku Company Code -
-0171 - -Luxembourg CP & CPS (Certification Policy and Certification Practice Statement) Index -
-0172 - -Project Group “Lists of Properties” (PROLIST®) -
-0173 - -eCI@ss -
-0174 - -StepNexus -
-0175 - -Siemens AG -
-0176 - -Paradine GmbH -
-0177 - -Odette International Limited -
-0178 - -Route1 MobiNET -
-0179 - -Penango Object Identifiers -
-0180 - -Lithuanian military PKI -
-0183 - -Numéro d'identification suisse des enterprises (IDE), Swiss Unique Business Identification Number (UIDB) -
-0184 - -DIGSTORG -
-0185 - -Perceval Object Code -
-0186 - -TrustPoint Object Identifiers -
-0187 - -Amazon Unique Identification Scheme -
-0188 - -Corporate Number of The Social Security and Tax Number System -
-0189 - -European Business Identifier (EBID) -
-0190 - -Organisatie Indentificatie Nummer (OIN) -
-0191 - -Company Code (Estonia) -
-0192 - -Organisasjonsnummer -
-0193 - -UBL.BE Party Identifier -
-0194 - -KOIOS Open Technical Dictionary -
-0195 - -Singapore Nationwide E-lnvoice Framework -
-0196 - -Icelandic identifier - Íslensk kennitala -
-0197 - -APPLiA Pl Standard -
-0198 - -ERSTORG -
-0199 - -Legal Entity Identifier (LEI) -
-0200 - -Legal entity code (Lithuania) -
-0201 - -Codice Univoco Unità Organizzativa iPA -
-0202 - -Indirizzo di Posta Elettronica Certificata -
-0203 - -eDelivery Network Participant identifier -
-0204 - -Leitweg-ID -
-0205 - -CODDEST -
-0206 - -Registre du Commerce et de l’Industrie : RCI -
-0207 - -PiLog Ontology Codification Identifier (POCI) -
-0208 - -Numero d'entreprise / ondernemingsnummer / Unternehmensnummer -
-0209 - -GS1 identification keys -
-0210 - -CODICE FISCALE -
-0211 - -PARTITA IVA -
-0212 - -Finnish Organization Identifier -
-0213 - -Finnish Organization Value Add Tax Identifier -
-0214 - -Tradeplace TradePI Standard -
-0215 - -Net service ID -
-0216 - -OVTcode -
-0217 - -The Netherlands Chamber of Commerce and Industry establishment number -
-0218 - -Unified registration number (Latvia) -
-0219 - -Taxpayer registration code (Latvia) -
-0220 - -The Register of Natural Persons (Latvia) -
-0221 - -The registered number of the qualified invoice issuer -
-0222 - -Metadata Registry Support -
-0223 - -EU based company -
-0224 - -FTCTC CODE ROUTAGE -
-0225 - -FRCTC ELECTRONIC ADDRESS -
-0226 - -FRCTC Particulier -
-0227 - -NON - EU based company -
-0228 - -Répertoire des Entreprises et des Etablissements (RIDET) -
-0229 - -T.A.H.I.T.I (traitement automatique hiérarchisé des institutions de Tahiti et des îles) -
-0230 - -National e-Invoicing Framework -
-0231 - -Single taxable company (France) -
-0232 - -NOBB product number -
-0233 - -Description not known -
-0234 - -Toimitusosoite ID -
-0235 - -UAE Tax Identification Number (TIN) -
-0236 - -Description not known -
-0237 - -CPR (Danish person civil registration number) -
-0238 - -Plateforme.s agréée.s à la facturation électronique (PPF/PDP) -
-0239 - -EAEU -
-0240 - -Register of legal persons (in French : Répertoire des personnes morales) -
diff --git a/docs/content/docs/codelists/incoterms.mdx b/docs/content/docs/codelists/incoterms.mdx deleted file mode 100644 index 20c691ca..00000000 --- a/docs/content/docs/codelists/incoterms.mdx +++ /dev/null @@ -1,148 +0,0 @@ ---- -title: INCOTERMS -description: Code specifying the trade terms under which goods are delivered. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - INCOTERMS, - Incoterms, - incotermsCode, - PUBLISHED, - type IncotermsDefinition, - type IncotermsCode, -} from "node-zugferd/codelist/incoterms"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Code name -
-1 - -Delivery arranged by supplier -
-2 - -Delivery arranged by logistic service provider -
-CFR - -Cost and Freight -
-CIF - -Cost, Insurance and Freight -
-CIP - -Carriage and Insurance Paid to (insert named place of destination) -
-CPT - -Carriage Paid To (insert named place of destination) -
-DAP - -Delivered At Place (insert named place of destination) -
-DDP - -Delivered Duty Paid (insert named place of destination) -
-DPU - -Delivered At Place Unloaded (insert named place of unloading) -
-EXW - -Ex Works (insert named place of delivery) -
-FAS - -Free Alongside Ship (insert named port of shipment) -
-FCA - -Free Carrier (insert named place of delivery) -
-FOB - -Free On Board (insert named port of shipment) -
diff --git a/docs/content/docs/codelists/item.mdx b/docs/content/docs/codelists/item.mdx deleted file mode 100644 index 92e9e8f6..00000000 --- a/docs/content/docs/codelists/item.mdx +++ /dev/null @@ -1,1524 +0,0 @@ ---- -title: UNTDID 7143 — Item type identification code -description: Identification of the type of item number. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - ITEM, - Item, - itemCode, - PUBLISHED, - type ItemDefinition, - type ItemCode, -} from "node-zugferd/codelist/item"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Code name -
-AA - -Product version number -
-AB - -Assembly -
-AC - -HIBC (Health Industry Bar Code) -
-AD - -Cold roll number -
-AE - -Hot roll number -
-AF - -Slab number -
-AG - -Software revision number -
-AH - -UPC (Universal Product Code) Consumer package code (1-5-5) -
-AI - -UPC (Universal Product Code) Consumer package code (1-5-5- -
-AJ - -Sample number -
-AK - -Pack number -
-AL - -UPC (Universal Product Code) Shipping container code (1-2- -
-AM - -UPC (Universal Product Code)/EAN (European article number) -
-AN - -UPC (Universal Product Code) suffix -
-AO - -State label code -
-AP - -Heat number -
-AQ - -Coupon number -
-AR - -Resource number -
-AS - -Work task number -
-AT - -Price look up number -
-AU - -NSN (North Atlantic Treaty Organization Stock Number) -
-AV - -Refined product code -
-AW - -Exhibit -
-AX - -End item -
-AY - -Federal supply classification -
-AZ - -Engineering data list -
-BA - -Milestone event number -
-BB - -Lot number -
-BC - -National drug code 4-4-2 format -
-BD - -National drug code 5-3-2 format -
-BE - -National drug code 5-4-1 format -
-BF - -National drug code 5-4-2 format -
-BG - -National drug code -
-BH - -Part number -
-BI - -Local Stock Number (LSN) -
-BJ - -Next higher assembly number -
-BK - -Data category -
-BL - -Control number -
-BM - -Special material identification code -
-BN - -Locally assigned control number -
-BO - -Buyer's colour -
-BP - -Buyer's part number -
-BQ - -Variable measure product code -
-BR - -Financial phase -
-BS - -Contract breakdown -
-BT - -Technical phase -
-BU - -Dye lot number -
-BV - -Daily statement of activities -
-BW - -Periodical statement of activities within a bilaterally -
-BX - -Calendar week statement of activities -
-BY - -Calendar month statement of activities -
-BZ - -Original equipment number -
-CC - -Industry commodity code -
-CG - -Commodity grouping -
-CL - -Colour number -
-CR - -Contract number -
-CV - -Customs article number -
-DR - -Drawing revision number -
-DW - -Drawing -
-EC - -Engineering change level -
-EF - -Material code -
-EMD - -EMDN (European Medical Device Nomenclature) -
-EN - -International Article Numbering Association (EAN) -
-FS - -Fish species -
-GB - -Buyer's internal product group code -
-GMN - -Global model number -
-GN - -National product group code -
-GS - -General specification number -
-HS - -Harmonised system -
-IB - -ISBN (International Standard Book Number) -
-IN - -Buyer's item number -
-IS - -ISSN (International Standard Serial Number) -
-IT - -Buyer's style number -
-IZ - -Buyer's size code -
-MA - -Machine number -
-MF - -Manufacturer's (producer's) article number -
-MN - -Model number -
-MP - -Product/service identification number -
-NB - -Batch number -
-ON - -Customer order number -
-PD - -Part number description -
-PL - -Purchaser's order line number -
-PO - -Purchase order number -
-PPI - -Phytosanitary Passport identifier -
-PV - -Promotional variant number -
-QS - -Buyer's qualifier for size -
-RC - -Returnable container number -
-RN - -Release number -
-RU - -Run number -
-RY - -Record keeping of model year -
-SA - -Supplier's article number -
-SG - -Standard group of products (mixed assortment) -
-SK - -SKU (Stock keeping unit) -
-SN - -Serial number -
-SRS - -RSK number -
-SRT - -IFLS (Institut Francais du Libre Service) 5 digit product -
-SRU - -IFLS (Institut Francais du Libre Service) 9 digit product -
-SRV - -GS1 Global Trade Item Number -
-SRW - -EDIS (Energy Data Identification System) -
-SRX - -Slaughter number -
-SRY - -Official animal number -
-SRZ - -Harmonized tariff schedule -
-SS - -Supplier's supplier article number -
-SSA - -46 Level DOT Code -
-SSB - -Airline Tariff 6D -
-SSC - -Title 49 Code of Federal Regulations -
-SSD - -International Civil Aviation Administration code -
-SSE - -Hazardous Materials ID DOT -
-SSF - -Endorsement -
-SSG - -Air Force Regulation 71-4 -
-SSH - -Breed -
-SSI - -Chemical Abstract Service (CAS) registry number -
-SSJ - -Engine model designation -
-SSK - -Institutional Meat Purchase Specifications (IMPS) Number -
-SSL - -Price Look-Up code (PLU) -
-SSM - -International Maritime Organization (IMO) Code -
-SSN - -Bureau of Explosives 600-A (rail) -
-SSO - -United Nations Dangerous Goods List -
-SSP - -International Code of Botanical Nomenclature (ICBN) -
-SSQ - -International Code of Zoological Nomenclature (ICZN) -
-SSR - -International Code of Nomenclature for Cultivated Plants -
-SSS - -Distributor’s article identifier -
-SST - -Norwegian Classification system ENVA -
-SSU - -Supplier assigned classification -
-SSV - -Mexican classification system AMECE -
-SSW - -German classification system CCG -
-SSX - -Finnish classification system EANFIN -
-SSY - -Canadian classification system ICC -
-SSZ - -French classification system IFLS5 -
-ST - -Style number -
-STA - -Dutch classification system CBL -
-STB - -Japanese classification system JICFS -
-STC - -European Union dairy subsidy eligibility classification -
-STD - -GS1 Spain classification system -
-STE - -GS1 Poland classification system -
-STF - -Federal Agency on Technical Regulating and Metrology of the -
-STG - -Efficient Consumer Response (ECR) Austria classification -
-STH - -GS1 Italy classification system -
-STI - -CPV (Common Procurement Vocabulary) -
-STJ - -IFDA (International Foodservice Distributors Association) -
-STK - -AHFS (American Hospital Formulary Service) pharmacologic - -
-STL - -ATC (Anatomical Therapeutic Chemical) classification system -
-STM - -CLADIMED (Classification des Dispositifs Médicaux) -
-STN - -CMDR (Canadian Medical Device Regulations) classification -
-STO - -CNDM (Classificazione Nazionale dei Dispositivi Medici) -
-STP - -UK DM&D (Dictionary of Medicines & Devices) standard coding -
-STQ - -eCl@ss -
-STR - -EDMA (European Diagnostic Manufacturers Association) -
-STS - -EGAR (European Generic Article Register) -
-STT - -GMDN (Global Medical Devices Nomenclature) -
-STU - -GPI (Generic Product Identifier) -
-STV - -HCPCS (Healthcare Common Procedure Coding System) -
-STW - -ICPS (International Classification for Patient Safety) -
-STX - -MedDRA (Medical Dictionary for Regulatory Activities) -
-STY - -Medical Columbus -
-STZ - -NAPCS (North American Product Classification System) -
-SUA - -NHS (National Health Services) eClass -
-SUB - -US FDA (Food and Drug Administration) Product Code -
-SUC - -SNOMED CT (Systematized Nomenclature of Medicine-Clinical -
-SUD - -UMDNS (Universal Medical Device Nomenclature System) -
-SUE - -GS1 Global Returnable Asset Identifier, non-serialised -
-SUF - -IMEI -
-SUG - -Waste Type (EMSA) -
-SUH - -Ship's store classification type -
-SUI - -Emergency fire code -
-SUJ - -Emergency spillage code -
-SUK - -IMDG packing group -
-SUL - -MARPOL Code IBC -
-SUM - -IMDG subsidiary risk class -
-TG - -Transport group number -
-TSN - -Taxonomic Serial Number -
-TSO - -IMDG main hazard class -
-TSP - -EU Combined Nomenclature -
-TSQ - -Therapeutic classification number -
-TSR - -European Waste Catalogue -
-TSS - -Price grouping code -
-TST - -UNSPSC -
-TSU - -EU RoHS Directive -
-UA - -Ultimate customer's article number -
-UP - -UPC (Universal product code) -
-VN - -Vendor item number -
-VP - -Vendor's (seller's) part number -
-VS - -Vendor's supplemental item number -
-VX - -Vendor specification number -
-ZZZ - -Mutually defined -
diff --git a/docs/content/docs/codelists/language.mdx b/docs/content/docs/codelists/language.mdx deleted file mode 100644 index 036d11a5..00000000 --- a/docs/content/docs/codelists/language.mdx +++ /dev/null @@ -1,3908 +0,0 @@ ---- -title: ISO 639-2 alpha-3 language Code -description: Code representing a language. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - LANGUAGE, - Language, - languageCode, - PUBLISHED, - type LanguageDefinition, - type LanguageCode, -} from "node-zugferd/codelist/language"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Code name -
-aar - -Afar -
-abk - -Abkhazian -
-ace - -Achinese -
-ach - -Acoli -
-ada - -Adangme -
-ady - -Adyghe; Adygei -
-afa - -Afro-Asiatic (Other) -
-afh - -Afrihili -
-afr - -Afrikaans -
-ain - -Ainu -
-aka - -Akan -
-akk - -Akkadian -
-alb - -Albanian -
-ale - -Aleut -
-alg - -Algonquian languages -
-alt - -Southern Altai -
-amh - -Amharic -
-ang - -English, Old (ca.450-1100) -
-anp - -Angika -
-apa - -Apache languages -
-ara - -Arabic -
-arc - -Aramaic -
-arg - -Aragonese -
-arm - -Armenian -
-arn - -Mapudungun; Mapuche -
-arp - -Arapaho -
-art - -Artificial (Other) -
-arw - -Arawak -
-asm - -Assamese -
-ast - -Asturian; Bable -
-ath - -Athapascan languages -
-aus - -Australian languages -
-ava - -Avaric -
-ave - -Avestan -
-awa - -Awadhi -
-aym - -Aymara -
-aze - -Azerbaijani -
-bad - -Banda languages -
-bai - -Bamileke languages -
-bak - -Bashkir -
-bal - -Baluchi -
-bam - -Bambara -
-ban - -Balinese -
-baq - -Basque -
-bas - -Basa -
-bat - -Baltic (Other) -
-bej - -Beja -
-bel - -Belarusian -
-bem - -Bemba -
-ben - -Bengali -
-ber - -Berber (Other) -
-bho - -Bhojpuri -
-bih - -Bihari -
-bik - -Bikol -
-bin - -Bini; Edo -
-bis - -Bislama -
-bla - -Siksika -
-bnt - -Bantu (Other) -
-bos - -Bosnian -
-bra - -Braj -
-bre - -Breton -
-btk - -Batak languages -
-bua - -Buriat -
-bug - -Buginese -
-bul - -Bulgarian -
-bur - -Burmese -
-byn - -Blin; Bilin -
-cad - -Caddo -
-cai - -Central American Indian (Other) -
-car - -Galibi Carib -
-cat - -Catalan; Valencian -
-cau - -Caucasian (Other) -
-ceb - -Cebuano -
-cel - -Celtic (Other) -
-cha - -Chamorro -
-chb - -Chibcha -
-che - -Chechen -
-chg - -Chagatai -
-chi - -Chinese -
-chk - -Chuukese -
-chm - -Mari -
-chn - -Chinook jargon -
-cho - -Choctaw -
-chp - -Chipewyan -
-chr - -Cherokee -
-chu - -Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic -
-chv - -Chuvash -
-chy - -Cheyenne -
-cmc - -Chamic languages -
-cop - -Coptic -
-cor - -Cornish -
-cos - -Corsican -
-cpe - -Creoles and pidgins, English based (Other) -
-cpf - -Creoles and pidgins, French-based (Other) -
-cpp - -Creoles and pidgins, Portuguese-based (Other) -
-cre - -Cree -
-crh - -Crimean Tatar; Crimean Turkish -
-crp - -Creoles and pidgins (Other) -
-csb - -Kashubian -
-cus - -Cushitic (Other) -
-cze - -Czech -
-dak - -Dakota -
-dan - -Danish -
-dar - -Dargwa -
-day - -Land Dayak languages -
-del - -Delaware -
-den - -Slave (Athapascan) -
-dgr - -Dogrib -
-din - -Dinka -
-div - -Divehi; Dhivehi; Maldivian -
-doi - -Dogri -
-dra - -Dravidian (Other) -
-dsb - -Lower Sorbian -
-dua - -Duala -
-dum - -Dutch, Middle (ca.1050-1350) -
-dut - -Dutch; Flemish -
-dyu - -Dyula -
-dzo - -Dzongkha -
-efi - -Efik -
-egy - -Egyptian (Ancient) -
-eka - -Ekajuk -
-elx - -Elamite -
-eng - -English -
-enm - -English, Middle (1100-1500) -
-epo - -Esperanto -
-est - -Estonian -
-ewe - -Ewe -
-ewo - -Ewondo -
-fan - -Fang -
-fao - -Faroese -
-fat - -Fanti -
-fij - -Fijian -
-fil - -Filipino; Pilipino -
-fin - -Finnish -
-fiu - -Finno-Ugrian (Other) -
-fon - -Fon -
-fre - -French -
-frm - -French, Middle (ca.1400-1600) -
-fro - -French, Old (842-ca.1400) -
-frr - -Northern Frisian -
-frs - -Eastern Frisian -
-fry - -Western Frisian -
-ful - -Fulah -
-fur - -Friulian -
-gaa - -Ga -
-gay - -Gayo -
-gba - -Gbaya -
-gem - -Germanic (Other) -
-geo - -Georgian -
-ger - -German -
-gez - -Geez -
-gil - -Gilbertese -
-gla - -Gaelic; Scottish Gaelic -
-gle - -Irish -
-glg - -Galician -
-glv - -Manx -
-gmh - -German, Middle High (ca.1050-1500) -
-goh - -German, Old High (ca.750-1050) -
-gon - -Gondi -
-gor - -Gorontalo -
-got - -Gothic -
-grb - -Grebo -
-grc - -Greek, Ancient (to 1453) -
-gre - -Greek, Modern (1453-) -
-grn - -Guarani -
-gsw - -Swiss German; Alemannic -
-guj - -Gujarati -
-gwi - -Gwich'in -
-hai - -Haida -
-hat - -Haitian; Haitian Creole -
-hau - -Hausa -
-haw - -Hawaiian -
-heb - -Hebrew -
-her - -Herero -
-hil - -Hiligaynon -
-him - -Himachali -
-hin - -Hindi -
-hit - -Hittite -
-hmn - -Hmong -
-hmo - -Hiri Motu -
-hsb - -Upper Sorbian -
-hun - -Hungarian -
-hup - -Hupa -
-iba - -Iban -
-ibo - -Igbo -
-ice - -Icelandic -
-ido - -Ido -
-iii - -Sichuan Yi -
-ijo - -Ijo languages -
-iku - -Inuktitut -
-ile - -Interlingue -
-ilo - -Iloko -
-ina - -Interlingua (International Auxiliary Language Association) -
-inc - -Indic (Other) -
-ind - -Indonesian -
-ine - -Indo-European (Other) -
-inh - -Ingush -
-ipk - -Inupiaq -
-ira - -Iranian (Other) -
-iro - -Iroquoian languages -
-ita - -Italian -
-jav - -Javanese -
-jbo - -Lojban -
-jpn - -Japanese -
-jpr - -Judeo-Persian -
-jrb - -Judeo-Arabic -
-kaa - -Kara-Kalpak -
-kab - -Kabyle -
-kac - -Kachin; Jingpho -
-kal - -Kalaallisut; Greenlandic -
-kam - -Kamba -
-kan - -Kannada -
-kar - -Karen languages -
-kas - -Kashmiri -
-kau - -Kanuri -
-kaw - -Kawi -
-kaz - -Kazakh -
-kbd - -Kabardian -
-kha - -Khasi -
-khi - -Khoisan (Other) -
-khm - -Central Khmer -
-kho - -Khotanese -
-kik - -Kikuyu; Gikuyu -
-kin - -Kinyarwanda -
-kir - -Kirghiz; Kyrgyz -
-kmb - -Kimbundu -
-kok - -Konkani -
-kom - -Komi -
-kon - -Kongo -
-kor - -Korean -
-kos - -Kosraean -
-kpe - -Kpelle -
-krc - -Karachay-Balkar -
-krl - -Karelian -
-kro - -Kru languages -
-kru - -Kurukh -
-kua - -Kuanyama; Kwanyama -
-kum - -Kumyk -
-kur - -Kurdish -
-kut - -Kutenai -
-lad - -Ladino -
-lah - -Lahnda -
-lam - -Lamba -
-lao - -Lao -
-lat - -Latin -
-lav - -Latvian -
-lez - -Lezghian -
-lim - -Limburgan; Limburger; Limburgish -
-lin - -Lingala -
-lit - -Lithuanian -
-lol - -Mongo -
-loz - -Lozi -
-ltz - -Luxembourgish; Letzeburgesch -
-lua - -Luba-Lulua -
-lub - -Luba-Katanga -
-lug - -Ganda -
-lui - -Luiseno -
-lun - -Lunda -
-luo - -Luo (Kenya and Tanzania) -
-lus - -Lushai -
-mac - -Macedonian -
-mad - -Madurese -
-mag - -Magahi -
-mah - -Marshallese -
-mai - -Maithili -
-mak - -Makasar -
-mal - -Malayalam -
-man - -Mandingo -
-mao - -Maori -
-map - -Austronesian (Other) -
-mar - -Marathi -
-mas - -Masai -
-may - -Malay -
-mdf - -Moksha -
-mdr - -Mandar -
-men - -Mende -
-mga - -Irish, Middle (900-1200) -
-mic - -Mi'kmaq; Micmac -
-min - -Minangkabau -
-mis - -Miscellaneous languages -
-mkh - -Mon-Khmer (Other) -
-mlg - -Malagasy -
-mlt - -Maltese -
-mnc - -Manchu -
-mni - -Manipuri -
-mno - -Manobo languages -
-moh - -Mohawk -
-mol - -Moldavian -
-mon - -Mongolian -
-mos - -Mossi -
-mul - -Multiple languages -
-mun - -Munda languages -
-mus - -Creek -
-mwl - -Mirandese -
-mwr - -Marwari -
-myn - -Mayan languages -
-myv - -Erzya -
-nah - -Nahuatl languages -
-nai - -North American Indian -
-nap - -Neapolitan -
-nau - -Nauru -
-nav - -Navajo; Navaho -
-nbl - -Ndebele, South; South Ndebele -
-nde - -Ndebele, North; North Ndebele -
-ndo - -Ndonga -
-nds - -Low German; Low Saxon; German, Low; Saxon, Low -
-nep - -Nepali -
-new - -Nepal Bhasa; Newari -
-nia - -Nias -
-nic - -Niger-Kordofanian (Other) -
-niu - -Niuean -
-nno - -Norwegian Nynorsk; Nynorsk, Norwegian -
-nob - -Bokmål, Norwegian; Norwegian Bokmål -
-nog - -Nogai -
-non - -Norse, Old -
-nor - -Norwegian -
-nqo - -N'Ko -
-nso - -Pedi; Sepedi; Northern Sotho -
-nub - -Nubian languages -
-nwc - -Classical Newari; Old Newari; Classical Nepal Bhasa -
-nya - -Chichewa; Chewa; Nyanja -
-nym - -Nyamwezi -
-nyn - -Nyankole -
-nyo - -Nyoro -
-nzi - -Nzima -
-oci - -Occitan (post 1500); Provençal -
-oji - -Ojibwa -
-ori - -Oriya -
-orm - -Oromo -
-osa - -Osage -
-oss - -Ossetian; Ossetic -
-ota - -Turkish, Ottoman (1500-1928) -
-oto - -Otomian languages -
-paa - -Papuan (Other) -
-pag - -Pangasinan -
-pal - -Pahlavi -
-pam - -Pampanga -
-pan - -Panjabi; Punjabi -
-pap - -Papiamento -
-pau - -Palauan -
-peo - -Persian, Old (ca.600-400 B.C.) -
-per - -Persian -
-phi - -Philippine (Other) -
-phn - -Phoenician -
-pli - -Pali -
-pol - -Polish -
-pon - -Pohnpeian -
-por - -Portuguese -
-pra - -Prakrit languages -
-pro - -Provençal, Old (to 1500) -
-pus - -Pushto -
-que - -Quechua -
-raj - -Rajasthani -
-rap - -Rapanui -
-rar - -Rarotongan; Cook Islands Maori -
-roa - -Romance (Other) -
-roh - -Romansh -
-rom - -Romany -
-rum - -Romanian -
-run - -Rundi -
-rup - -Aromanian; Arumanian; Macedo-Romanian -
-rus - -Russian -
-sad - -Sandawe -
-sag - -Sango -
-sah - -Yakut -
-sai - -South American Indian (Other) -
-sal - -Salishan languages -
-sam - -Samaritan Aramaic -
-san - -Sanskrit -
-sas - -Sasak -
-sat - -Santali -
-scc - -Serbian -
-scn - -Sicilian -
-sco - -Scots -
-scr - -Croatian -
-sel - -Selkup -
-sem - -Semitic (Other) -
-sga - -Irish, Old (to 900) -
-sgn - -Sign Languages -
-shn - -Shan -
-sid - -Sidamo -
-sin - -Sinhala; Sinhalese -
-sio - -Siouan languages -
-sit - -Sino-Tibetan (Other) -
-sla - -Slavic (Other) -
-slo - -Slovak -
-slv - -Slovenian -
-sma - -Southern Sami -
-sme - -Northern Sami -
-smi - -Sami languages (Other) -
-smj - -Lule Sami -
-smn - -Inari Sami -
-smo - -Samoan -
-sms - -Skolt Sami -
-sna - -Shona -
-snd - -Sindhi -
-snk - -Soninke -
-sog - -Sogdian -
-som - -Somali -
-son - -Songhai languages -
-sot - -Sotho, Southern -
-spa - -Spanish; Castilian -
-srd - -Sardinian -
-srn - -Sranan Tongo -
-srr - -Serer -
-ssa - -Nilo-Saharan (Other) -
-ssw - -Swati -
-suk - -Sukuma -
-sun - -Sundanese -
-sus - -Susu -
-sux - -Sumerian -
-swa - -Swahili -
-swe - -Swedish -
-syr - -Syriac -
-tah - -Tahitian -
-tai - -Tai (Other) -
-tam - -Tamil -
-tat - -Tatar -
-tel - -Telugu -
-tem - -Timne -
-ter - -Tereno -
-tet - -Tetum -
-tgk - -Tajik -
-tgl - -Tagalog -
-tha - -Thai -
-tib - -Tibetan -
-tig - -Tigre -
-tir - -Tigrinya -
-tiv - -Tiv -
-tkl - -Tokelau -
-tlh - -Klingon; tlhIngan-Hol -
-tli - -Tlingit -
-tmh - -Tamashek -
-tog - -Tonga (Nyasa) -
-ton - -Tonga (Tonga Islands) -
-tpi - -Tok Pisin -
-tsi - -Tsimshian -
-tsn - -Tswana -
-tso - -Tsonga -
-tuk - -Turkmen -
-tum - -Tumbuka -
-tup - -Tupi languages -
-tur - -Turkish -
-tut - -Altaic (Other) -
-tvl - -Tuvalu -
-twi - -Twi -
-tyv - -Tuvinian -
-udm - -Udmurt -
-uga - -Ugaritic -
-uig - -Uighur; Uyghur -
-ukr - -Ukrainian -
-umb - -Umbundu -
-und - -Undetermined -
-urd - -Urdu -
-uzb - -Uzbek -
-vai - -Vai -
-ven - -Venda -
-vie - -Vietnamese -
-vol - -Volapük -
-vot - -Votic -
-wak - -Wakashan languages -
-wal - -Walamo -
-war - -Waray -
-was - -Washo -
-wel - -Welsh -
-wen - -Sorbian languages -
-wln - -Walloon -
-wol - -Wolof -
-xal - -Kalmyk; Oirat -
-xho - -Xhosa -
-yao - -Yao -
-yap - -Yapese -
-yid - -Yiddish -
-yor - -Yoruba -
-ypk - -Yupik languages -
-zap - -Zapotec -
-zen - -Zenaga -
-zha - -Zhuang; Chuang -
-znd - -Zande languages -
-zul - -Zulu -
-zun - -Zuni -
-zxx - -No linguistic content -
-zza - -Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki. -
diff --git a/docs/content/docs/codelists/line-reason.mdx b/docs/content/docs/codelists/line-reason.mdx deleted file mode 100644 index 40bf9732..00000000 --- a/docs/content/docs/codelists/line-reason.mdx +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Status Reason Code -description: Code specifying the reason for the status. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - LINE_REASON, - LineReason, - lineReasonCode, - PUBLISHED, - type LineReasonDefinition, - type LineReasonCode, -} from "node-zugferd/codelist/line-reason"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - -
-Code - -Description -
-DETAIL - -Regular item position (standard case) -
-GROUP - -Subtotal or group -
-INFORMATION - -For information only -
diff --git a/docs/content/docs/codelists/line-status.mdx b/docs/content/docs/codelists/line-status.mdx deleted file mode 100644 index 8c160097..00000000 --- a/docs/content/docs/codelists/line-status.mdx +++ /dev/null @@ -1,1357 +0,0 @@ ---- -title: UNTDID 1229 - Action code -description: Code specifying the action to be taken or already taken. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - LINE_STATUS, - LineStatus, - lineStatusCode, - PUBLISHED, - type LineStatusDefinition, - type LineStatusCode, -} from "node-zugferd/codelist/line-status"; - -``` - -
- -Source - -
- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Code name - -Description -
-1 - -Added - -The information is to be or has been added. -
-2 - -Deleted - -The information is to be or has been deleted. -
-3 - -Changed - -The information is to be or has been changed. -
-4 - -No action - -This line item is not affected by the actual message. -
-5 - -Accepted without amendment - -This line item is entirely accepted by the seller. -
-6 - -Accepted with amendment - -This line item is accepted but amended by the seller. -
-7 - -Not accepted - -This line item is not accepted by the seller. -
-8 - -Schedule only - -Code specifying that the message is a schedule only. -
-9 - -Amendments - -Code specifying that amendments are requested/notified. -
-10 - -Not found - -This line item is not found in the referenced message. -
-11 - -Not amended - -This line is not amended by the buyer. -
-12 - -Line item numbers changed - -Code specifying that the line item numbers have changed. -
-13 - -Buyer has deducted amount - -Buyer has deducted amount from payment. -
-14 - -Buyer claims against invoice - -Buyer has a claim against an outstanding invoice. -
-15 - -Charge back by seller - -Factor has been requested to charge back the outstanding item. -
-16 - -Seller will issue credit note - -Seller agrees to issue a credit note. -
-17 - -Terms changed for new terms - -New settlement terms have been agreed. -
-18 - -Abide outcome of negotiations - -Factor agrees to abide by the outcome of negotiations between seller and buyer. -
-19 - -Seller rejects dispute - -Seller does not accept validity of dispute. -
-20 - -Settlement - -The reported situation is settled. -
-21 - -No delivery - -Code indicating that no delivery will be required. -
-22 - -Call-off delivery - -A request for delivery of a particular quantity of goods to be delivered on a particular date (or within a particular period). -
-23 - -Proposed amendment - -A code used to indicate an amendment suggested by the sender. -
-24 - -Accepted with amendment, no confirmation required - -Accepted with changes which require no confirmation. -
-25 - -Equipment provisionally repaired - -The equipment or component has been provisionally repaired. -
-26 - -Included - -Code indicating that the entity is included. -
-27 - -Upon receipt and verification of documents we shall cover you when due as per your instructions - -Upon receipt and verification of documents we shall cover you when due as per your instructions. -
-28 - -Upon receipt and verification of documents we shall authorize you to debit our account with you when due - -Upon receipt and verification of documents we shall authorize you to debit our account with you when due. -
-29 - -On receipt of your authenticated advice we shall cover you when due as per your instructions - -On receipt of your authenticated advice we shall cover you when due as per your instructions. -
-30 - -On receipt of your authenticated advice we shall authorize you to debit our account with you when due - -On receipt of your authenticated advice we shall authorize you to debit our account with you when due. -
-31 - -On receipt of your authenticated advice we shall credit your account with us when due - -On receipt of your authenticated advice we shall credit your account with us when due. -
-32 - -Credit advice requested for direct debit - -A credit advice is requested for the direct debit. -
-33 - -Credit advice and acknowledgement for direct debit - -A credit advice and acknowledgement are requested for the direct debit. -
-34 - -Inquiry - -Request for information. -
-35 - -Checked - -Checked. -
-36 - -Not checked - -Not checked. -
-37 - -Cancelled - -Discontinued. -
-38 - -Replaced - -Provide a replacement. -
-39 - -New - -Not existing before. -
-40 - -Agreed - -Consent. -
-41 - -Proposed - -Put forward for consideration. -
-42 - -Already delivered - -Delivery has taken place. -
-43 - -Additional subordinate structures will follow - -Additional subordinate structures will follow the current hierarchy level. -
-44 - -Additional subordinate structures will not follow - -No additional subordinate structures will follow the current hierarchy level. -
-45 - -Result opposed - -A notification that the result is opposed. -
-46 - -Auction held - -A notification that an auction was held. -
-47 - -Legal action pursued - -A notification that legal action has been pursued. -
-48 - -Meeting held - -A notification that a meeting was held. -
-49 - -Result set aside - -A notification that the result has been set aside. -
-50 - -Result disputed - -A notification that the result has been disputed. -
-51 - -Countersued - -A notification that a countersuit has been filed. -
-52 - -Pending - -A notification that an action is awaiting settlement. -
-53 - -Court action dismissed - -A notification that a court action will no longer be heard. -
-54 - -Referred item, accepted - -The item being referred to has been accepted. -
-55 - -Referred item, rejected - -The item being referred to has been rejected. -
-56 - -Debit advice statement line - -Notification that the statement line is a debit advice. -
-57 - -Credit advice statement line - -Notification that the statement line is a credit advice. -
-58 - -Grouped credit advices - -Notification that the credit advices are grouped. -
-59 - -Grouped debit advices - -Notification that the debit advices are grouped. -
-60 - -Registered - -The name is registered. -
-61 - -Payment denied - -The payment has been denied. -
-62 - -Approved as amended - -Approved with modifications. -
-63 - -Approved as submitted - -The request has been approved as submitted. -
-64 - -Cancelled, no activity - -Cancelled due to the lack of activity. -
-65 - -Under investigation - -Investigation is being done. -
-66 - -Initial claim received - -Notification that the initial claim was received. -
-67 - -Not in process - -Not in process. -
-68 - -Rejected, duplicate - -Rejected because it is a duplicate. -
-69 - -Rejected, resubmit with corrections - -Rejected but may be resubmitted when corrected. -
-70 - -Pending, incomplete - -Pending because of incomplete information. -
-71 - -Under field office investigation - -Investigation by the field is being done. -
-72 - -Pending, awaiting additional material - -Pending awaiting receipt of additional material. -
-73 - -Pending, awaiting review - -Pending while awaiting review. -
-74 - -Reopened - -Opened again. -
-75 - -Processed by primary, forwarded to additional payer(s) - -This request has been processed by the primary payer and sent to additional payer(s). -
-76 - -Processed by secondary, forwarded to additional payer(s) - -This request has been processed by the secondary payer and sent to additional payer(s). -
-77 - -Processed by tertiary, forwarded to additional payer(s) - -This request has been processed by the tertiary payer and sent to additional payer(s). -
-78 - -Previous payment decision reversed - -A previous payment decision has been reversed. -
-79 - -Not our claim, forwarded to another payer(s) - -A request does not belong to this payer but has been forwarded to another payer(s). -
-80 - -Transferred to correct insurance carrier - -The request has been transferred to the correct insurance carrier for processing. -
-81 - -Not paid, predetermination pricing only - -Payment has not been made and the enclosed response is predetermination pricing only. -
-82 - -Documentation claim - -The claim is for documentation purposes only, no payment required. -
-83 - -Reviewed - -Assessed. -
-84 - -Repriced - -This price was changed. -
-85 - -Audited - -An official examination has occurred. -
-86 - -Conditionally paid - -Payment has been conditionally made. -
-87 - -On appeal - -Reconsideration of the decision has been applied for. -
-88 - -Closed - -Shut. -
-89 - -Reaudited - -A subsequent official examination has occurred. -
-90 - -Reissued - -Issued again. -
-91 - -Closed after reopening - -Reopened and then closed. -
-92 - -Redetermined - -Determined again or differently. -
-93 - -Processed as primary - -Processed as the first. -
-94 - -Processed as secondary - -Processed as the second. -
-95 - -Processed as tertiary - -Processed as the third. -
-96 - -Correction of error - -A correction to information previously communicated which contained an error. -
-97 - -Single credit item of a group - -Notification that the credit item is a single credit item of a group of credit items. -
-98 - -Single debit item of a group - -Notification that the debit item is a single debit item of a group of debit items. -
-99 - -Interim response - -The response is an interim one. -
-100 - -Final response - -The response is an final one. -
-101 - -Debit advice requested - -A debit advice is requested for the transaction. -
-102 - -Transaction not impacted - -Advice that the transaction is not impacted. -
-103 - -Patient to be notified - -The action to take is to notify the patient. -
-104 - -Healthcare provider to be notified - -The action to take is to notify the healthcare provider. -
-105 - -Usual general practitioner to be notified - -The action to take is to notify the usual general practitioner. -
-106 - -Advice without details - -An advice without details is requested or notified. -
-107 - -Advice with details - -An advice with details is requested or notified. -
-108 - -Amendment requested - -An amendment is requested. -
-109 - -For information - -Included for information only. -
-110 - -Withdraw - -A code indicating discontinuance or retraction. -
-111 - -Delivery date change - -The action / notiification is a change of the delivery date. -
-112 - -Quantity change - -The action / notification is a change of quantity. -
-113 - -Resale and claim - -The identified items have been sold by the distributor to the end customer, and compensation for the loss of inventory value is claimed. -
-114 - -Resale - -The identified items have been sold by the distributor to the end customer. -
-115 - -Prior addition - -This existing line item becomes available at an earlier date. -
-116 - -Expired - -This line has expired. -
-117 - -Hold - -This line is on Hold. -
-118 - -Open - -This line is open. -
-119 - -Observe - -The object or item is to be or has been observed. -
diff --git a/docs/content/docs/codelists/mime.mdx b/docs/content/docs/codelists/mime.mdx deleted file mode 100644 index 9b0aa4f6..00000000 --- a/docs/content/docs/codelists/mime.mdx +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: Mime type codes — Mime codes + Factur-X -description: Code specifying the media type of the content. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - MIME, - mimeCode, - type MimeDefinition, - type MimeCode, -} from "node-zugferd/codelist/mime"; - -``` - -
- -Source - -
- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code -
-application/pdf -
-image/png -
-image/jpeg -
-text/csv -
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet -
-application/vnd.oasis.opendocument.spreadsheet -
-application/xml -
-text/xml -
diff --git a/docs/content/docs/codelists/payment.mdx b/docs/content/docs/codelists/payment.mdx deleted file mode 100644 index 36458615..00000000 --- a/docs/content/docs/codelists/payment.mdx +++ /dev/null @@ -1,972 +0,0 @@ ---- -title: UNTDID 4461 — Payment means -description: Indication of the instrument of payment, which may include a guarantee. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - PAYMENT, - Payment, - paymentCode, - PUBLISHED, - type PaymentDefinition, - type PaymentCode, -} from "node-zugferd/codelist/payment"; - -``` - -
- -Source - -
- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Code name - -Usage in EN16931 -
-1 - -Instrument not defined - - -
-2 - -Automated clearing house credit - - -
-3 - -Automated clearing house debit - - -
-4 - -ACH demand debit reversal - - -
-5 - -ACH demand credit reversal - - -
-6 - -ACH demand credit - - -
-7 - -ACH demand debit - - -
-8 - -Hold - - -
-9 - -National or regional clearing - - -
-10 - -In cash - - -
-11 - -ACH savings credit reversal - - -
-12 - -ACH savings debit reversal - - -
-13 - -ACH savings credit - - -
-14 - -ACH savings debit - - -
-15 - -Bookentry credit - - -
-16 - -Bookentry debit - - -
-17 - -ACH demand cash concentration/disbursement (CCD) credit - - -
-18 - -ACH demand cash concentration/disbursement (CCD) debit - - -
-19 - -ACH demand corporate trade payment (CTP) credit - - -
-20 - -Cheque - - -
-21 - -Banker's draft - - -
-22 - -Certified banker's draft - - -
-23 - -Bank cheque (issued by a banking or similar establishment) - - -
-24 - -Bill of exchange awaiting acceptance - - -
-25 - -Certified cheque - - -
-26 - -Local cheque - - -
-27 - -ACH demand corporate trade payment (CTP) debit - - -
-28 - -ACH demand corporate trade exchange (CTX) credit - - -
-29 - -ACH demand corporate trade exchange (CTX) debit - - -
-30 - -Credit transfer - -30 -
-31 - -Debit transfer - -31 -
-32 - -ACH demand cash concentration/disbursement plus (CCD+) - - -
-33 - -ACH demand cash concentration/disbursement plus (CCD+) - - -
-34 - -ACH prearranged payment and deposit (PPD) - - -
-35 - -ACH savings cash concentration/disbursement (CCD) credit - - -
-36 - -ACH savings cash concentration/disbursement (CCD) debit - - -
-37 - -ACH savings corporate trade payment (CTP) credit - - -
-38 - -ACH savings corporate trade payment (CTP) debit - - -
-39 - -ACH savings corporate trade exchange (CTX) credit - - -
-40 - -ACH savings corporate trade exchange (CTX) debit - - -
-41 - -ACH savings cash concentration/disbursement plus (CCD+) - - -
-42 - -Payment to bank account - - -
-43 - -ACH savings cash concentration/disbursement plus (CCD+) - - -
-44 - -Accepted bill of exchange - - -
-45 - -Referenced home-banking credit transfer - - -
-46 - -Interbank debit transfer - - -
-47 - -Home-banking debit transfer - - -
-48 - -Bank card - -48 -
-49 - -Direct debit - - -
-50 - -Payment by postgiro - - -
-51 - -FR, norme 6 97-Telereglement CFONB (French Organisation for - - -
-52 - -Urgent commercial payment - - -
-53 - -Urgent Treasury Payment - - -
-54 - -Credit card - - -
-55 - -Debit card - - -
-56 - -Bankgiro - - -
-57 - -Standing agreement - -57 -
-58 - -SEPA credit transfer - -58 -
-59 - -SEPA direct debit - -59 -
-60 - -Promissory note - - -
-61 - -Promissory note signed by the debtor - - -
-62 - -Promissory note signed by the debtor and endorsed by a bank - - -
-63 - -Promissory note signed by the debtor and endorsed by a - - -
-64 - -Promissory note signed by a bank - - -
-65 - -Promissory note signed by a bank and endorsed by another - - -
-66 - -Promissory note signed by a third party - - -
-67 - -Promissory note signed by a third party and endorsed by a - - -
-68 - -Online payment service - - -
-69 - -Transfer Advice - - -
-70 - -Bill drawn by the creditor on the debtor - - -
-74 - -Bill drawn by the creditor on a bank - - -
-75 - -Bill drawn by the creditor, endorsed by another bank - - -
-76 - -Bill drawn by the creditor on a bank and endorsed by a - - -
-77 - -Bill drawn by the creditor on a third party - - -
-78 - -Bill drawn by creditor on third party, accepted and - - -
-91 - -Not transferable banker's draft - - -
-92 - -Not transferable local cheque - - -
-93 - -Reference giro - - -
-94 - -Urgent giro - - -
-95 - -Free format giro - - -
-96 - -Requested method for payment was not used - - -
-97 - -Clearing between partners - - -
-98 - -JP, Electronically Recorded Monetary Claims - - -
-ZZZ - -Mutually defined - - -
diff --git a/docs/content/docs/codelists/text.mdx b/docs/content/docs/codelists/text.mdx deleted file mode 100644 index 1ca11bac..00000000 --- a/docs/content/docs/codelists/text.mdx +++ /dev/null @@ -1,3252 +0,0 @@ ---- -title: UNTDID 4451 — Text subject qualifier -description: Code specifying subject of a free text. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - TEXT, - Text, - textCode, - PUBLISHED, - type TextDefinition, - type TextCode, -} from "node-zugferd/codelist/text"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Code name -
-AAA - -Goods item description -
-AAB - -Payment term -
-AAC - -Dangerous goods additional information -
-AAD - -Dangerous goods technical name -
-AAE - -Acknowledgement description -
-AAF - -Rate additional information -
-AAG - -Party instructions -
-AAI - -General information -
-AAJ - -Additional conditions of sale/purchase -
-AAK - -Price conditions -
-AAL - -Goods dimensions in characters -
-AAM - -Equipment re-usage restrictions -
-AAN - -Handling restriction -
-AAO - -Error description (free text) -
-AAP - -Response (free text) -
-AAQ - -Package content's description -
-AAR - -Terms of delivery -
-AAS - -Bill of lading remarks -
-AAT - -Mode of settlement information -
-AAU - -Consignment invoice information -
-AAV - -Clearance invoice information -
-AAW - -Letter of credit information -
-AAX - -License information -
-AAY - -Certification statements -
-AAZ - -Additional export information -
-ABA - -Tariff statements -
-ABB - -Medical history -
-ABC - -Conditions of sale or purchase -
-ABD - -Contract document type -
-ABE - -Additional terms and/or conditions (documentary credit) -
-ABF - -Instructions or information about standby documentary -
-ABG - -Instructions or information about partial shipment(s) -
-ABH - -Instructions or information about transhipment(s) -
-ABI - -Additional handling instructions documentary credit -
-ABJ - -Domestic routing information -
-ABK - -Chargeable category of equipment -
-ABL - -Government information -
-ABM - -Onward routing information -
-ABN - -Accounting information -
-ABO - -Discrepancy information -
-ABP - -Confirmation instructions -
-ABQ - -Method of issuance -
-ABR - -Documents delivery instructions -
-ABS - -Additional conditions -
-ABT - -Information/instructions about additional amounts covered -
-ABU - -Deferred payment termed additional -
-ABV - -Acceptance terms additional -
-ABW - -Negotiation terms additional -
-ABX - -Document name and documentary requirements -
-ABZ - -Instructions/information about revolving documentary credit -
-ACA - -Documentary requirements -
-ACB - -Additional information -
-ACC - -Factor assignment clause -
-ACD - -Reason -
-ACE - -Dispute -
-ACF - -Additional attribute information -
-ACG - -Absence declaration -
-ACH - -Aggregation statement -
-ACI - -Compilation statement -
-ACJ - -Definitional exception -
-ACK - -Privacy statement -
-ACL - -Quality statement -
-ACM - -Statistical description -
-ACN - -Statistical definition -
-ACO - -Statistical name -
-ACP - -Statistical title -
-ACQ - -Off-dimension information -
-ACR - -Unexpected stops information -
-ACS - -Principles -
-ACT - -Terms and definition -
-ACU - -Segment name -
-ACV - -Simple data element name -
-ACW - -Scope -
-ACX - -Message type name -
-ACY - -Introduction -
-ACZ - -Glossary -
-ADA - -Functional definition -
-ADB - -Examples -
-ADC - -Cover page -
-ADD - -Dependency (syntax) notes -
-ADE - -Code value name -
-ADF - -Code list name -
-ADG - -Clarification of usage -
-ADH - -Composite data element name -
-ADI - -Field of application -
-ADJ - -Type of assets and liabilities -
-ADK - -Promotion information -
-ADL - -Meter condition -
-ADM - -Meter reading information -
-ADN - -Type of transaction reason -
-ADO - -Type of survey question -
-ADP - -Carrier's agent counter information -
-ADQ - -Description of work item on equipment -
-ADR - -Message definition -
-ADS - -Booked item information -
-ADT - -Source of document -
-ADU - -Note -
-ADV - -Fixed part of segment clarification text -
-ADW - -Characteristics of goods -
-ADX - -Additional discharge instructions -
-ADY - -Container stripping instructions -
-ADZ - -CSC (Container Safety Convention) plate information -
-AEA - -Cargo remarks -
-AEB - -Temperature control instructions -
-AEC - -Text refers to expected data -
-AED - -Text refers to received data -
-AEE - -Section clarification text -
-AEF - -Information to the beneficiary -
-AEG - -Information to the applicant -
-AEH - -Instructions to the beneficiary -
-AEI - -Instructions to the applicant -
-AEJ - -Controlled atmosphere -
-AEK - -Take off annotation -
-AEL - -Price variation narrative -
-AEM - -Documentary credit amendment instructions -
-AEN - -Standard method narrative -
-AEO - -Project narrative -
-AEP - -Radioactive goods, additional information -
-AEQ - -Bank-to-bank information -
-AER - -Reimbursement instructions -
-AES - -Reason for amending a message -
-AET - -Instructions to the paying and/or accepting and/or -
-AEU - -Interest instructions -
-AEV - -Agent commission -
-AEW - -Remitting bank instructions -
-AEX - -Instructions to the collecting bank -
-AEY - -Collection amount instructions -
-AEZ - -Internal auditing information -
-AFA - -Constraint -
-AFB - -Comment -
-AFC - -Semantic note -
-AFD - -Help text -
-AFE - -Legend -
-AFF - -Batch code structure -
-AFG - -Product application -
-AFH - -Customer complaint -
-AFI - -Probable cause of fault -
-AFJ - -Defect description -
-AFK - -Repair description -
-AFL - -Review comments -
-AFM - -Title -
-AFN - -Description of amount -
-AFO - -Responsibilities -
-AFP - -Supplier -
-AFQ - -Purchase region -
-AFR - -Affiliation -
-AFS - -Borrower -
-AFT - -Line of business -
-AFU - -Financial institution -
-AFV - -Business founder -
-AFW - -Business history -
-AFX - -Banking arrangements -
-AFY - -Business origin -
-AFZ - -Brand names' description -
-AGA - -Business financing details -
-AGB - -Competition -
-AGC - -Construction process details -
-AGD - -Construction specialty -
-AGE - -Contract information -
-AGF - -Corporate filing -
-AGG - -Customer information -
-AGH - -Copyright notice -
-AGI - -Contingent debt -
-AGJ - -Conviction details -
-AGK - -Equipment -
-AGL - -Workforce description -
-AGM - -Exemption -
-AGN - -Future plans -
-AGO - -Interviewee conversation information -
-AGP - -Intangible asset -
-AGQ - -Inventory -
-AGR - -Investment -
-AGS - -Intercompany relations information -
-AGT - -Joint venture -
-AGU - -Loan -
-AGV - -Long term debt -
-AGW - -Location -
-AGX - -Current legal structure -
-AGY - -Marital contract -
-AGZ - -Marketing activities -
-AHA - -Merger -
-AHB - -Marketable securities -
-AHC - -Business debt -
-AHD - -Original legal structure -
-AHE - -Employee sharing arrangements -
-AHF - -Organization details -
-AHG - -Public record details -
-AHH - -Price range -
-AHI - -Qualifications -
-AHJ - -Registered activity -
-AHK - -Criminal sentence -
-AHL - -Sales method -
-AHM - -Educational institution information -
-AHN - -Status details -
-AHO - -Sales -
-AHP - -Spouse information -
-AHQ - -Educational degree information -
-AHR - -Shareholding information -
-AHS - -Sales territory -
-AHT - -Accountant's comments -
-AHU - -Exemption law location -
-AHV - -Share classifications -
-AHW - -Forecast -
-AHX - -Event location -
-AHY - -Facility occupancy -
-AHZ - -Import and export details -
-AIA - -Additional facility information -
-AIB - -Inventory value -
-AIC - -Education -
-AID - -Event -
-AIE - -Agent -
-AIF - -Domestically agreed financial statement details -
-AIG - -Other current asset description -
-AIH - -Other current liability description -
-AII - -Former business activity -
-AIJ - -Trade name use -
-AIK - -Signing authority -
-AIL - -Guarantee -
-AIM - -Holding company operation -
-AIN - -Consignment routing -
-AIO - -Letter of protest -
-AIP - -Question -
-AIQ - -Party information -
-AIR - -Area boundaries description -
-AIS - -Advertisement information -
-AIT - -Financial statement details -
-AIU - -Access instructions -
-AIV - -Liquidity -
-AIW - -Credit line -
-AIX - -Warranty terms -
-AIY - -Division description -
-AIZ - -Reporting instruction -
-AJA - -Examination result -
-AJB - -Laboratory result -
-ALC - -Allowance/charge information -
-ALD - -X-ray result -
-ALE - -Pathology result -
-ALF - -Intervention description -
-ALG - -Summary of admittance -
-ALH - -Medical treatment course detail -
-ALI - -Prognosis -
-ALJ - -Instruction to patient -
-ALK - -Instruction to physician -
-ALL - -All documents -
-ALM - -Medicine treatment -
-ALN - -Medicine dosage and administration -
-ALO - -Availability of patient -
-ALP - -Reason for service request -
-ALQ - -Purpose of service -
-ARR - -Arrival conditions -
-ARS - -Service requester's comment -
-AUT - -Authentication -
-AUU - -Requested location description -
-AUV - -Medicine administration condition -
-AUW - -Patient information -
-AUX - -Precautionary measure -
-AUY - -Service characteristic -
-AUZ - -Planned event comment -
-AVA - -Expected delay comment -
-AVB - -Transport requirements comment -
-AVC - -Temporary approval condition -
-AVD - -Customs Valuation Information -
-AVE - -Value Added Tax (VAT) margin scheme -
-AVF - -Maritime Declaration of Health -
-BAG - -Passenger baggage information -
-BAH - -Maritime Declaration of Health -
-BAI - -Additional product information address -
-BAJ - -Information to be printed on despatch advice -
-BAK - -Missing goods remarks -
-BAL - -Non-acceptance information -
-BAM - -Returns information -
-BAN - -Sub-line item information -
-BAO - -Test information -
-BAP - -External link -
-BAQ - -VAT exemption reason -
-BAR - -Processing Instructions -
-BAS - -Relay Instructions -
-BAT - -SIMA applicable -
-BAU - -Appeals program code -
-BAV - -SIMA subject -
-BAW - -Surtax applicable -
-BAX - -SIMA security bond -
-BAY - -Surtax subject -
-BAZ - -Safeguard applicable -
-BBA - -Safeguard applicable -
-BBB - -Safeguard subject -
-BLC - -Transport contract document clause -
-BLD - -Instruction to prepare the patient -
-BLE - -Medicine treatment comment -
-BLF - -Examination result comment -
-BLG - -Service request comment -
-BLH - -Prescription reason -
-BLI - -Prescription comment -
-BLJ - -Clinical investigation comment -
-BLK - -Medicinal specification comment -
-BLL - -Economic contribution comment -
-BLM - -Status of a plan -
-BLN - -Random sample test information -
-BLO - -Period of time -
-BLP - -Legislation -
-BLQ - -Security measures requested -
-BLR - -Transport contract document remark -
-BLS - -Previous port of call security information -
-BLT - -Security information -
-BLU - -Waste information -
-BLV - -B2C marketing information, short description -
-BLW - -B2B marketing information, long description -
-BLX - -B2C marketing information, long description -
-BLY - -Product ingredients -
-BLZ - -Location short name -
-BMA - -Packaging material information -
-BMB - -Filler material information -
-BMC - -Ship-to-ship activity information -
-BMD - -Package material description -
-BME - -Consumer level package marking -
-BMF - -SIMA measure in force -
-BMG - -Pre-CARM -
-BMH - -SIMA measure type -
-CCI - -Customs clearance instructions -
-CCJ - -Sub Type Code -
-CCK - -SIMA information -
-CCL - -Time limit end -
-CCM - -Time limit start -
-CCN - -Warehouse time limit -
-CCO - -Value for duty information -
-CEX - -Customs clearance instructions export -
-CHG - -Change information -
-CIP - -Customs clearance instruction import -
-CLP - -Clearance place requested -
-CLR - -Loading remarks -
-COI - -Order information -
-CUR - -Customer remarks -
-CUS - -Customs declaration information -
-DAR - -Damage remarks -
-DCL - -Document issuer declaration -
-DEL - -Delivery information -
-DIN - -Delivery instructions -
-DOC - -Documentation instructions -
-DUT - -Duty declaration -
-EUR - -Effective used routing -
-FBC - -First block to be printed on the transport contract -
-GBL - -Government bill of lading information -
-GEN - -Entire transaction set -
-GS7 - -Further information concerning GGVS par. 7 -
-HAN - -Consignment handling instruction -
-HAZ - -Hazard information -
-ICN - -Consignment information for consignee -
-IIN - -Insurance instructions -
-IMI - -Invoice mailing instructions -
-IND - -Commercial invoice item description -
-INS - -Insurance information -
-INV - -Invoice instruction -
-IRP - -Information for railway purpose -
-ITR - -Inland transport details -
-ITS - -Testing instructions -
-LAN - -Location Alias -
-LIN - -Line item -
-LOI - -Loading instruction -
-MCO - -Miscellaneous charge order -
-MDH - -Maritime Declaration of Health -
-MKS - -Additional marks/numbers information -
-ORI - -Order instruction -
-OSI - -Other service information -
-PAC - -Packing/marking information -
-PAI - -Payment instructions information -
-PAY - -Payables information -
-PKG - -Packaging information -
-PKT - -Packaging terms information -
-PMD - -Payment detail/remittance information -
-PMT - -Payment information -
-PRD - -Product information -
-PRF - -Price calculation formula -
-PRI - -Priority information -
-PUR - -Purchasing information -
-QIN - -Quarantine instructions -
-QQD - -Quality demands/requirements -
-QUT - -Quotation instruction/information -
-RAH - -Risk and handling information -
-REG - -Regulatory information -
-RET - -Return to origin information -
-REV - -Receivables -
-RQR - -Consignment route -
-SAF - -Safety information -
-SIC - -Consignment documentary instruction -
-SIN - -Special instructions -
-SLR - -Ship line requested -
-SPA - -Special permission for transport, generally -
-SPG - -Special permission concerning the goods to be transported -
-SPH - -Special handling -
-SPP - -Special permission concerning package -
-SPT - -Special permission concerning transport means -
-SRN - -Subsidiary risk number (IATA/DGR) -
-SSR - -Special service request -
-SUR - -Supplier remarks -
-TCA - -Consignment tariff -
-TDT - -Consignment transport -
-TRA - -Transportation information -
-TRR - -Requested tariff -
-TXD - -Tax declaration -
-WHI - -Warehouse instruction/information -
-ZZZ - -Mutually defined -
diff --git a/docs/content/docs/codelists/time.mdx b/docs/content/docs/codelists/time.mdx deleted file mode 100644 index ebc26515..00000000 --- a/docs/content/docs/codelists/time.mdx +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: UNTDID 2475 — Event time code -description: Code relating payment terms to the date of a specific event. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - TIME, - Time, - timeCode, - type TimeDefinition, - type TimeCode, -} from "node-zugferd/codelist/time"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - -
-Code - -Value -
-5 - -Date of invoice -
-29 - -Date of delivery of goods to establishments/domicile/site -
-72 - -Payment date -
diff --git a/docs/content/docs/codelists/transport.mdx b/docs/content/docs/codelists/transport.mdx deleted file mode 100644 index d98487ad..00000000 --- a/docs/content/docs/codelists/transport.mdx +++ /dev/null @@ -1,165 +0,0 @@ ---- -title: UN/ECE Recommendation N°19 Transport mode codes -description: Code specifying the mode of transport. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - TRANSPORT, - Transport, - transportCode, - type TransportDefinition, - type TransportCode, -} from "node-zugferd/codelist/transport"; - -``` - -
- -Source - -
- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Code name - -Description -
-0 - -Transport mode not specified - -Transport mode has not been specified -Notes: -1) This code can be used when the mode is not known or when information on it is not available at the time of issuing the document concerned. -
-1 - -Maritime transport - -Transport of goods and/or persons is by sea. -
-2 - -Rail transport - -Transport of goods and/or persons is by rail. -
-3 - -Road transport - -Transport of goods and/or persons is by road. -
-4 - -Air transport - -Transport of goods and/or persons is by air. -
-5 - -Mail - -Method to convey goods is by mail -Notes: -1) This code is provided for practical reasons, despite the fact that mail is not a genuine mode of transport. In many countries, the value of merchandise exported and imported by mail is considerable, but the exporter or importer concerned would be unable to state by which mode postal items had been conveyed. -
-6 - -Multimodal transpo - -Method to convey goods and/or persons is by multimodal transport. -Notes: -1) This code is provided for practical reasons, despite the fact that multimodal transport is not a genuine mode of transport. It can be used when goods are carried by at least two different modes from a place at which the goods are taken in charge by a transport operator to a place designated for delivery, on the basis of one transport contract. (Operations of pick-up and delivery of goods carried out in the performance of a single mode of transport, as defined in such a contract, shall not be considered as multimodal transport). -
-7 - -Fixed transport installation - -Transport of item is via a fixed transport installation. -Notes: -1) This code applies to installations for continuous transport such as pipelines, ropeways and electric power lines. -
-8 - -Inland water transport - -Transport of goods and/or persons is by inland water. -
-9 - -Transport mode not applicable - -The mode of transport is not applicable. -
diff --git a/docs/content/docs/codelists/unit.mdx b/docs/content/docs/codelists/unit.mdx deleted file mode 100644 index f2b945e6..00000000 --- a/docs/content/docs/codelists/unit.mdx +++ /dev/null @@ -1,30320 +0,0 @@ ---- -title: UN/ECE Recommendation N°20 and UN/ECE Recommendation N°21 — Unit codes -description: Code specifying units of measurement. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - UNIT, - Unit, - unitCode, - PUBLISHED, - type UnitDefinition, - type UnitCode, -} from "node-zugferd/codelist/unit"; - -``` - -
- -Source - -
- - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Name - -Change - -Source -
-10 - -group - - - -rec20 -
-11 - -outfit - - - -rec20 -
-13 - -ration - - - -rec20 -
-14 - -shot - - - -rec20 -
-15 - -stick, military - - - -rec20 -
-20 - -twenty foot container - - - -rec20 -
-21 - -forty foot container - - - -rec20 -
-22 - -decilitre per gram - - - -rec20 -
-23 - -gram per cubic centimetre - - - -rec20 -
-24 - -theoretical pound - - - -rec20 -
-25 - -gram per square centimetre - - - -rec20 -
-27 - -theoretical ton - - - -rec20 -
-28 - -kilogram per square metre - - - -rec20 -
-33 - -kilopascal square metre per gram - - - -rec20 -
-34 - -kilopascal per millimetre - - - -rec20 -
-35 - -millilitre per square centimetre second - - - -rec20 -
-37 - -ounce per square foot - - - -rec20 -
-38 - -ounce per square foot per 0,01inch - - - -rec20 -
-40 - -millilitre per second - - - -rec20 -
-41 - -millilitre per minute - - - -rec20 -
-56 - -sitas - - - -rec20 -
-57 - -mesh - - - -rec20 -
-58 - -net kilogram - - - -rec20 -
-59 - -part per million - - - -rec20 -
-60 - -percent weight - - - -rec20 -
-61 - -part per billion (US) - - - -rec20 -
-74 - -millipascal - - - -rec20 -
-77 - -milli-inch - - - -rec20 -
-80 - -pound per square inch absolute - - - -rec20 -
-81 - -henry - - - -rec20 -
-85 - -foot pound-force - - - -rec20 -
-87 - -pound per cubic foot - - - -rec20 -
-89 - -poise - - - -rec20 -
-91 - -stokes - - - -rec20 -
-1I - -fixed rate - - - -rec20 -
-2A - -radian per second - - - -rec20 -
-2B - -radian per second squared - - - -rec20 -
-2C - -roentgen - - - -rec20 -
-2G - -volt AC - - - -rec20 -
-2H - -volt DC - - - -rec20 -
-2I - -British thermal unit (international table) per hour - - - -rec20 -
-2J - -cubic centimetre per second - - - -rec20 -
-2K - -cubic foot per hour - - - -rec20 -
-2L - -cubic foot per minute - - - -rec20 -
-2M - -centimetre per second - - - -rec20 -
-2N - -decibel - - - -rec20 -
-2P - -kilobyte - - - -rec20 -
-2Q - -kilobecquerel - - - -rec20 -
-2R - -kilocurie - - - -rec20 -
-2U - -megagram - - - -rec20 -
-2X - -metre per minute - - - -rec20 -
-2Y - -milliroentgen - - - -rec20 -
-2Z - -millivolt - - - -rec20 -
-3B - -megajoule - - - -rec20 -
-3C - -manmonth - - - -rec20 -
-4C - -centistokes - - - -rec20 -
-4G - -microlitre - - - -rec20 -
-4H - -micrometre (micron) - - - -rec20 -
-4K - -milliampere - - - -rec20 -
-4L - -megabyte - - - -rec20 -
-4M - -milligram per hour - - - -rec20 -
-4N - -megabecquerel - - - -rec20 -
-4O - -microfarad - - - -rec20 -
-4P - -newton per metre - - - -rec20 -
-4Q - -ounce inch - - - -rec20 -
-4R - -ounce foot - - - -rec20 -
-4T - -picofarad - - - -rec20 -
-4U - -pound per hour - - - -rec20 -
-4W - -ton (US) per hour - - - -rec20 -
-4X - -kilolitre per hour - - - -rec20 -
-5A - -barrel (US) per minute - - - -rec20 -
-5B - -batch - - - -rec20 -
-5E - -MMSCF/day - - - -rec20 -
-5J - -hydraulic horse power - - - -rec20 -
-A10 - -ampere square metre per joule second - - - -rec20 -
-A11 - -angstrom - - - -rec20 -
-A12 - -astronomical unit - - - -rec20 -
-A13 - -attojoule - - - -rec20 -
-A14 - -barn - - - -rec20 -
-A15 - -barn per electronvolt - - - -rec20 -
-A16 - -barn per steradian electronvolt - - - -rec20 -
-A17 - -barn per steradian - - - -rec20 -
-A18 - -becquerel per kilogram - - - -rec20 -
-A19 - -becquerel per cubic metre - - - -rec20 -
-A2 - -ampere per centimetre - - - -rec20 -
-A20 - -British thermal unit (international table) per second square foot degree Rankine - - - -rec20 -
-A21 - -British thermal unit (international table) per pound degree Rankine - - - -rec20 -
-A22 - -British thermal unit (international table) per second foot degree Rankine - - - -rec20 -
-A23 - -British thermal unit (international table) per hour square foot degree Rankine - - - -rec20 -
-A24 - -candela per square metre - - - -rec20 -
-A26 - -coulomb metre - - - -rec20 -
-A27 - -coulomb metre squared per volt - - - -rec20 -
-A28 - -coulomb per cubic centimetre - - - -rec20 -
-A29 - -coulomb per cubic metre - - - -rec20 -
-A3 - -ampere per millimetre - - - -rec20 -
-A30 - -coulomb per cubic millimetre - - - -rec20 -
-A31 - -coulomb per kilogram second - - - -rec20 -
-A32 - -coulomb per mole - - - -rec20 -
-A33 - -coulomb per square centimetre - - - -rec20 -
-A34 - -coulomb per square metre - - - -rec20 -
-A35 - -coulomb per square millimetre - - - -rec20 -
-A36 - -cubic centimetre per mole - - - -rec20 -
-A37 - -cubic decimetre per mole - - - -rec20 -
-A38 - -cubic metre per coulomb - - - -rec20 -
-A39 - -cubic metre per kilogram - - - -rec20 -
-A4 - -ampere per square centimetre - - - -rec20 -
-A40 - -cubic metre per mole - - - -rec20 -
-A41 - -ampere per square metre - - - -rec20 -
-A42 - -curie per kilogram - - - -rec20 -
-A43 - -deadweight tonnage - - - -rec20 -
-A44 - -decalitre - - - -rec20 -
-A45 - -decametre - - - -rec20 -
-A47 - -decitex - - - -rec20 -
-A48 - -degree Rankine - - - -rec20 -
-A49 - -denier - - - -rec20 -
-A5 - -ampere square metre - - - -rec20 -
-A53 - -electronvolt - - - -rec20 -
-A54 - -electronvolt per metre - - - -rec20 -
-A55 - -electronvolt square metre - - - -rec20 -
-A56 - -electronvolt square metre per kilogram - - - -rec20 -
-A59 - -8-part cloud cover - - - -rec20 -
-A6 - -ampere per square metre kelvin squared - - - -rec20 -
-A68 - -exajoule - - - -rec20 -
-A69 - -farad per metre - - - -rec20 -
-A7 - -ampere per square millimetre - - - -rec20 -
-A70 - -femtojoule - - - -rec20 -
-A71 - -femtometre - - - -rec20 -
-A73 - -foot per second squared - - - -rec20 -
-A74 - -foot pound-force per second - - - -rec20 -
-A75 - -freight ton - - - -rec20 -
-A76 - -gal - - - -rec20 -
-A8 - -ampere second - - - -rec20 -
-A84 - -gigacoulomb per cubic metre - - - -rec20 -
-A85 - -gigaelectronvolt - - - -rec20 -
-A86 - -gigahertz - - - -rec20 -
-A87 - -gigaohm - - - -rec20 -
-A88 - -gigaohm metre - - - -rec20 -
-A89 - -gigapascal - - - -rec20 -
-A9 - -rate - - - -rec20 -
-A90 - -gigawatt - - - -rec20 -
-A91 - -gon - - - -rec20 -
-A93 - -gram per cubic metre - - - -rec20 -
-A94 - -gram per mole - - - -rec20 -
-A95 - -gray - - - -rec20 -
-A96 - -gray per second - - - -rec20 -
-A97 - -hectopascal - - - -rec20 -
-A98 - -henry per metre - - - -rec20 -
-A99 - -bit - - - -rec20 -
-AA - -ball - - - -rec20 -
-AB - -bulk pack - - - -rec20 -
-ACR - -acre - - - -rec20 -
-ACT - -activity - - - -rec20 -
-AD - -byte - - - -rec20 -
-AE - -ampere per metre - - - -rec20 -
-AH - -additional minute - - - -rec20 -
-AI - -average minute per call - - - -rec20 -
-AK - -fathom - - - -rec20 -
-AL - -access line - - - -rec20 -
-AMH - -ampere hour - - - -rec20 -
-AMP - -ampere - - - -rec20 -
-ANN - -year - - - -rec20 -
-APZ - -troy ounce or apothecary ounce - - - -rec20 -
-AQ - -anti-hemophilic factor (AHF) unit - - - -rec20 -
-AS - -assortment - - - -rec20 -
-ASM - -alcoholic strength by mass - - - -rec20 -
-ASU - -alcoholic strength by volume - - - -rec20 -
-ATM - -standard atmosphere - - - -rec20 -
-AWG - -american wire gauge - - - -rec20 -
-AY - -assembly - - - -rec20 -
-AZ - -British thermal unit (international table) per pound - - - -rec20 -
-B1 - -barrel (US) per day - - - -rec20 -
-B10 - -bit per second - - - -rec20 -
-B11 - -joule per kilogram kelvin - - - -rec20 -
-B12 - -joule per metre - - - -rec20 -
-B13 - -joule per square metre - - - -rec20 -
-B14 - -joule per metre to the fourth power - - - -rec20 -
-B15 - -joule per mole - - - -rec20 -
-B16 - -joule per mole kelvin - - - -rec20 -
-B17 - -credit - - - -rec20 -
-B18 - -joule second - - - -rec20 -
-B19 - -digit - - - -rec20 -
-B20 - -joule square metre per kilogram - - - -rec20 -
-B21 - -kelvin per watt - - - -rec20 -
-B22 - -kiloampere - - - -rec20 -
-B23 - -kiloampere per square metre - - - -rec20 -
-B24 - -kiloampere per metre - - - -rec20 -
-B25 - -kilobecquerel per kilogram - - - -rec20 -
-B26 - -kilocoulomb - - - -rec20 -
-B27 - -kilocoulomb per cubic metre - - - -rec20 -
-B28 - -kilocoulomb per square metre - - - -rec20 -
-B29 - -kiloelectronvolt - - - -rec20 -
-B3 - -batting pound - - - -rec20 -
-B30 - -gibibit - - - -rec20 -
-B31 - -kilogram metre per second - - - -rec20 -
-B32 - -kilogram metre squared - - - -rec20 -
-B33 - -kilogram metre squared per second - - - -rec20 -
-B34 - -kilogram per cubic decimetre - - - -rec20 -
-B35 - -kilogram per litre - - - -rec20 -
-B4 - -barrel, imperial - - - -rec20 -
-B41 - -kilojoule per kelvin - - - -rec20 -
-B42 - -kilojoule per kilogram - - - -rec20 -
-B43 - -kilojoule per kilogram kelvin - - - -rec20 -
-B44 - -kilojoule per mole - - - -rec20 -
-B45 - -kilomole - - - -rec20 -
-B46 - -kilomole per cubic metre - - - -rec20 -
-B47 - -kilonewton - - - -rec20 -
-B48 - -kilonewton metre - - - -rec20 -
-B49 - -kiloohm - - - -rec20 -
-B50 - -kiloohm metre - - - -rec20 -
-B52 - -kilosecond - - - -rec20 -
-B53 - -kilosiemens - - - -rec20 -
-B54 - -kilosiemens per metre - - - -rec20 -
-B55 - -kilovolt per metre - - - -rec20 -
-B56 - -kiloweber per metre - - - -rec20 -
-B57 - -light year - - - -rec20 -
-B58 - -litre per mole - - - -rec20 -
-B59 - -lumen hour - - - -rec20 -
-B60 - -lumen per square metre - - - -rec20 -
-B61 - -lumen per watt - - - -rec20 -
-B62 - -lumen second - - - -rec20 -
-B63 - -lux hour - - - -rec20 -
-B64 - -lux second - - - -rec20 -
-B66 - -megaampere per square metre - - - -rec20 -
-B67 - -megabecquerel per kilogram - - - -rec20 -
-B68 - -gigabit - - - -rec20 -
-B69 - -megacoulomb per cubic metre - - - -rec20 -
-B7 - -cycle - - - -rec20 -
-B70 - -megacoulomb per square metre - - - -rec20 -
-B71 - -megaelectronvolt - - - -rec20 -
-B72 - -megagram per cubic metre - - - -rec20 -
-B73 - -meganewton - - - -rec20 -
-B74 - -meganewton metre - - - -rec20 -
-B75 - -megaohm - - - -rec20 -
-B76 - -megaohm metre - - - -rec20 -
-B77 - -megasiemens per metre - - - -rec20 -
-B78 - -megavolt - - - -rec20 -
-B79 - -megavolt per metre - - - -rec20 -
-B8 - -joule per cubic metre - - - -rec20 -
-B80 - -gigabit per second - - - -rec20 -
-B81 - -reciprocal metre squared reciprocal second - - - -rec20 -
-B82 - -inch per linear foot - - - -rec20 -
-B83 - -metre to the fourth power - - - -rec20 -
-B84 - -microampere - - - -rec20 -
-B85 - -microbar - - - -rec20 -
-B86 - -microcoulomb - - - -rec20 -
-B87 - -microcoulomb per cubic metre - - - -rec20 -
-B88 - -microcoulomb per square metre - - - -rec20 -
-B89 - -microfarad per metre - - - -rec20 -
-B90 - -microhenry - - - -rec20 -
-B91 - -microhenry per metre - - - -rec20 -
-B92 - -micronewton - - - -rec20 -
-B93 - -micronewton metre - - - -rec20 -
-B94 - -microohm - - - -rec20 -
-B95 - -microohm metre - - - -rec20 -
-B96 - -micropascal - - - -rec20 -
-B97 - -microradian - - - -rec20 -
-B98 - -microsecond - - - -rec20 -
-B99 - -microsiemens - - - -rec20 -
-BAR - -bar [unit of pressure] - - - -rec20 -
-BB - -base box - - - -rec20 -
-BFT - -board foot - - - -rec20 -
-BHP - -brake horse power - - - -rec20 -
-BIL - -billion (EUR) - - - -rec20 -
-BLD - -dry barrel (US) - - - -rec20 -
-BLL - -barrel (US) - - - -rec20 -
-BP - -hundred board foot - - - -rec20 -
-BPM - -beats per minute - - - -rec20 -
-BQL - -becquerel - - - -rec20 -
-BTU - -British thermal unit (international table) - - - -rec20 -
-BUA - -bushel (US) - - - -rec20 -
-BUI - -bushel (UK) - - - -rec20 -
-C0 - -call - - - -rec20 -
-C10 - -millifarad - - - -rec20 -
-C11 - -milligal - - - -rec20 -
-C12 - -milligram per metre - - - -rec20 -
-C13 - -milligray - - - -rec20 -
-C14 - -millihenry - - - -rec20 -
-C15 - -millijoule - - - -rec20 -
-C16 - -millimetre per second - - - -rec20 -
-C17 - -millimetre squared per second - - - -rec20 -
-C18 - -millimole - - - -rec20 -
-C19 - -mole per kilogram - - - -rec20 -
-C20 - -millinewton - - - -rec20 -
-C21 - -kibibit - - - -rec20 -
-C22 - -millinewton per metre - - - -rec20 -
-C23 - -milliohm metre - - - -rec20 -
-C24 - -millipascal second - - - -rec20 -
-C25 - -milliradian - - - -rec20 -
-C26 - -millisecond - - - -rec20 -
-C27 - -millisiemens - - - -rec20 -
-C28 - -millisievert - - - -rec20 -
-C29 - -millitesla - - - -rec20 -
-C3 - -microvolt per metre - - - -rec20 -
-C30 - -millivolt per metre - - - -rec20 -
-C31 - -milliwatt - - - -rec20 -
-C32 - -milliwatt per square metre - - - -rec20 -
-C33 - -milliweber - - - -rec20 -
-C34 - -mole - - - -rec20 -
-C35 - -mole per cubic decimetre - - - -rec20 -
-C36 - -mole per cubic metre - - - -rec20 -
-C37 - -kilobit - - - -rec20 -
-C38 - -mole per litre - - - -rec20 -
-C39 - -nanoampere - - - -rec20 -
-C40 - -nanocoulomb - - - -rec20 -
-C41 - -nanofarad - - - -rec20 -
-C42 - -nanofarad per metre - - - -rec20 -
-C43 - -nanohenry - - - -rec20 -
-C44 - -nanohenry per metre - - - -rec20 -
-C45 - -nanometre - - - -rec20 -
-C46 - -nanoohm metre - - - -rec20 -
-C47 - -nanosecond - - - -rec20 -
-C48 - -nanotesla - - - -rec20 -
-C49 - -nanowatt - - - -rec20 -
-C50 - -neper - - - -rec20 -
-C51 - -neper per second - - - -rec20 -
-C52 - -picometre - - - -rec20 -
-C53 - -newton metre second - - - -rec20 -
-C54 - -newton metre squared per kilogram squared - - - -rec20 -
-C55 - -newton per square metre - - - -rec20 -
-C56 - -newton per square millimetre - - - -rec20 -
-C57 - -newton second - - - -rec20 -
-C58 - -newton second per metre - - - -rec20 -
-C59 - -octave - - - -rec20 -
-C60 - -ohm centimetre - - - -rec20 -
-C61 - -ohm metre - - - -rec20 -
-C62 - -one - - - -rec20 -
-C63 - -parsec - - - -rec20 -
-C64 - -pascal per kelvin - - - -rec20 -
-C65 - -pascal second - - - -rec20 -
-C66 - -pascal second per cubic metre - - - -rec20 -
-C67 - -pascal second per metre - - - -rec20 -
-C68 - -petajoule - - - -rec20 -
-C69 - -phon - - - -rec20 -
-C7 - -centipoise - - - -rec20 -
-C70 - -picoampere - - - -rec20 -
-C71 - -picocoulomb - - - -rec20 -
-C72 - -picofarad per metre - - - -rec20 -
-C73 - -picohenry - - - -rec20 -
-C74 - -kilobit per second - - - -rec20 -
-C75 - -picowatt - - - -rec20 -
-C76 - -picowatt per square metre - - - -rec20 -
-C78 - -pound-force - - - -rec20 -
-C79 - -kilovolt ampere hour - - - -rec20 -
-C8 - -millicoulomb per kilogram - - - -rec20 -
-C80 - -rad - - - -rec20 -
-C81 - -radian - - - -rec20 -
-C82 - -radian square metre per mole - - - -rec20 -
-C83 - -radian square metre per kilogram - - - -rec20 -
-C84 - -radian per metre - - - -rec20 -
-C85 - -reciprocal angstrom - - - -rec20 -
-C86 - -reciprocal cubic metre - - - -rec20 -
-C87 - -reciprocal cubic metre per second - - - -rec20 -
-C88 - -reciprocal electron volt per cubic metre - - - -rec20 -
-C89 - -reciprocal henry - - - -rec20 -
-C9 - -coil group - - - -rec20 -
-C90 - -reciprocal joule per cubic metre - - - -rec20 -
-C91 - -reciprocal kelvin or kelvin to the power minus one - - - -rec20 -
-C92 - -reciprocal metre - - - -rec20 -
-C93 - -reciprocal square metre - - - -rec20 -
-C94 - -reciprocal minute - - - -rec20 -
-C95 - -reciprocal mole - - - -rec20 -
-C96 - -reciprocal pascal or pascal to the power minus one - - - -rec20 -
-C97 - -reciprocal second - - - -rec20 -
-C99 - -reciprocal second per metre squared - - - -rec20 -
-CCT - -carrying capacity in metric ton - - - -rec20 -
-CDL - -candela - - - -rec20 -
-CEL - -degree Celsius - - - -rec20 -
-CEN - -hundred - - - -rec20 -
-CG - -card - - - -rec20 -
-CGM - -centigram - - - -rec20 -
-CKG - -coulomb per kilogram - - - -rec20 -
-CLF - -hundred leave - - - -rec20 -
-CLT - -centilitre - - - -rec20 -
-CMK - -square centimetre - - - -rec20 -
-CMQ - -cubic centimetre - - - -rec20 -
-CMT - -centimetre - - - -rec20 -
-CNP - -hundred pack - - - -rec20 -
-CNT - -cental (UK) - - - -rec20 -
-COU - -coulomb - - - -rec20 -
-CTG - -content gram - - - -rec20 -
-CTM - -metric carat - - - -rec20 -
-CTN - -content ton (metric) - - - -rec20 -
-CUR - -curie - - - -rec20 -
-CWA - -hundred pound (cwt) / hundred weight (US) - - - -rec20 -
-CWI - -hundred weight (UK) - - - -rec20 -
-D03 - -kilowatt hour per hour - - - -rec20 -
-D04 - -lot [unit of weight] - - - -rec20 -
-D1 - -reciprocal second per steradian - - - -rec20 -
-D10 - -siemens per metre - - - -rec20 -
-D11 - -mebibit - - - -rec20 -
-D12 - -siemens square metre per mole - - - -rec20 -
-D13 - -sievert - - - -rec20 -
-D15 - -sone - - - -rec20 -
-D16 - -square centimetre per erg - - - -rec20 -
-D17 - -square centimetre per steradian erg - - - -rec20 -
-D18 - -metre kelvin - - - -rec20 -
-D19 - -square metre kelvin per watt - - - -rec20 -
-D2 - -reciprocal second per steradian metre squared - - - -rec20 -
-D20 - -square metre per joule - - - -rec20 -
-D21 - -square metre per kilogram - - - -rec20 -
-D22 - -square metre per mole - - - -rec20 -
-D23 - -pen gram (protein) - - - -rec20 -
-D24 - -square metre per steradian - - - -rec20 -
-D25 - -square metre per steradian joule - - - -rec20 -
-D26 - -square metre per volt second - - - -rec20 -
-D27 - -steradian - - - -rec20 -
-D29 - -terahertz - - - -rec20 -
-D30 - -terajoule - - - -rec20 -
-D31 - -terawatt - - - -rec20 -
-D32 - -terawatt hour - - - -rec20 -
-D33 - -tesla - - - -rec20 -
-D34 - -tex - - - -rec20 -
-D36 - -megabit - - - -rec20 -
-D41 - -tonne per cubic metre - - - -rec20 -
-D42 - -tropical year - - - -rec20 -
-D43 - -unified atomic mass unit - - - -rec20 -
-D44 - -var - - - -rec20 -
-D45 - -volt squared per kelvin squared - - - -rec20 -
-D46 - -volt - ampere - - - -rec20 -
-D47 - -volt per centimetre - - - -rec20 -
-D48 - -volt per kelvin - - - -rec20 -
-D49 - -millivolt per kelvin - - - -rec20 -
-D5 - -kilogram per square centimetre - - - -rec20 -
-D50 - -volt per metre - - - -rec20 -
-D51 - -volt per millimetre - - - -rec20 -
-D52 - -watt per kelvin - - - -rec20 -
-D53 - -watt per metre kelvin - - - -rec20 -
-D54 - -watt per square metre - - - -rec20 -
-D55 - -watt per square metre kelvin - - - -rec20 -
-D56 - -watt per square metre kelvin to the fourth power - - - -rec20 -
-D57 - -watt per steradian - - - -rec20 -
-D58 - -watt per steradian square metre - - - -rec20 -
-D59 - -weber per metre - - - -rec20 -
-D6 - -roentgen per second - - - -rec20 -
-D60 - -weber per millimetre - - - -rec20 -
-D61 - -minute [unit of angle] - - - -rec20 -
-D62 - -second [unit of angle] - - - -rec20 -
-D63 - -book - - - -rec20 -
-D65 - -round - - - -rec20 -
-D68 - -number of words - - - -rec20 -
-D69 - -inch to the fourth power - - - -rec20 -
-D73 - -joule square metre - - - -rec20 -
-D74 - -kilogram per mole - - - -rec20 -
-D77 - -megacoulomb - - - -rec20 -
-D78 - -megajoule per second - - - -rec20 -
-D80 - -microwatt - - - -rec20 -
-D81 - -microtesla - - - -rec20 -
-D82 - -microvolt - - - -rec20 -
-D83 - -millinewton metre - - - -rec20 -
-D85 - -microwatt per square metre - - - -rec20 -
-D86 - -millicoulomb - - - -rec20 -
-D87 - -millimole per kilogram - - - -rec20 -
-D88 - -millicoulomb per cubic metre - - - -rec20 -
-D89 - -millicoulomb per square metre - - - -rec20 -
-D91 - -rem - - - -rec20 -
-D93 - -second per cubic metre - - - -rec20 -
-D94 - -second per cubic metre radian - - - -rec20 -
-D95 - -joule per gram - - - -rec20 -
-DAA - -decare - - - -rec20 -
-DAD - -ten day - - - -rec20 -
-DAY - -day - - - -rec20 -
-DB - -dry pound - - - -rec20 -
-DBM - -Decibel-milliwatts - - - -Rec20 -
-DBW - -Decibel watt - - - -Rec20 -
-DD - -degree [unit of angle] - - - -rec20 -
-DEC - -decade - - - -rec20 -
-DG - -decigram - - - -rec20 -
-DJ - -decagram - - - -rec20 -
-DLT - -decilitre - - - -rec20 -
-DMA - -cubic decametre - - - -rec20 -
-DMK - -square decimetre - - - -rec20 -
-DMO - -standard kilolitre - - - -rec20 -
-DMQ - -cubic decimetre - - - -rec20 -
-DMT - -decimetre - - - -rec20 -
-DN - -decinewton metre - - - -rec20 -
-DPC - -dozen piece - - - -rec20 -
-DPR - -dozen pair - - - -rec20 -
-DPT - -displacement tonnage - - - -rec20 -
-DRA - -dram (US) - - - -rec20 -
-DRI - -dram (UK) - - - -rec20 -
-DRL - -dozen roll - - - -rec20 -
-DT - -dry ton - - - -rec20 -
-DTN - -decitonne - - - -rec20 -
-DWT - -pennyweight - - - -rec20 -
-DZN - -dozen - - - -rec20 -
-DZP - -dozen pack - - - -rec20 -
-E01 - -newton per square centimetre - - - -rec20 -
-E07 - -megawatt hour per hour - - - -rec20 -
-E08 - -megawatt per hertz - - - -rec20 -
-E09 - -milliampere hour - - - -rec20 -
-E10 - -degree day - - - -rec20 -
-E12 - -mille - - - -rec20 -
-E14 - -kilocalorie (international table) - - - -rec20 -
-E15 - -kilocalorie (thermochemical) per hour - - - -rec20 -
-E16 - -million Btu(IT) per hour - - - -rec20 -
-E17 - -cubic foot per second - - - -rec20 -
-E18 - -tonne per hour - - - -rec20 -
-E19 - -ping - - - -rec20 -
-E20 - -megabit per second - - - -rec20 -
-E21 - -shares - - - -rec20 -
-E22 - -TEU - - - -rec20 -
-E23 - -tyre - - - -rec20 -
-E25 - -active unit - - - -rec20 -
-E27 - -dose - - - -rec20 -
-E28 - -air dry ton - - - -rec20 -
-E30 - -strand - - - -rec20 -
-E31 - -square metre per litre - - - -rec20 -
-E32 - -litre per hour - - - -rec20 -
-E33 - -foot per thousand - - - -rec20 -
-E34 - -gigabyte - - - -rec20 -
-E35 - -terabyte - - - -rec20 -
-E36 - -petabyte - - - -rec20 -
-E37 - -pixel - - - -rec20 -
-E38 - -megapixel - - - -rec20 -
-E39 - -dots per inch - - - -rec20 -
-E4 - -gross kilogram - - - -rec20 -
-E40 - -part per hundred thousand - - - -rec20 -
-E41 - -kilogram-force per square millimetre - - - -rec20 -
-E42 - -kilogram-force per square centimetre - - - -rec20 -
-E43 - -joule per square centimetre - - - -rec20 -
-E44 - -kilogram-force metre per square centimetre - - - -rec20 -
-E45 - -milliohm - - - -rec20 -
-E46 - -kilowatt hour per cubic metre - - - -rec20 -
-E47 - -kilowatt hour per kelvin - - - -rec20 -
-E48 - -service unit - - - -rec20 -
-E49 - -working day - - - -rec20 -
-E50 - -accounting unit - - - -rec20 -
-E51 - -job - - - -rec20 -
-E52 - -run foot - - - -rec20 -
-E53 - -test - - - -rec20 -
-E54 - -trip - - - -rec20 -
-E55 - -use - - - -rec20 -
-E56 - -well - - - -rec20 -
-E57 - -zone - - - -rec20 -
-E58 - -exabit per second - - - -rec20 -
-E59 - -exbibyte - - - -rec20 -
-E60 - -pebibyte - - - -rec20 -
-E61 - -tebibyte - - - -rec20 -
-E62 - -gibibyte - - - -rec20 -
-E63 - -mebibyte - - - -rec20 -
-E64 - -kibibyte - - - -rec20 -
-E65 - -exbibit per metre - - - -rec20 -
-E66 - -exbibit per square metre - - - -rec20 -
-E67 - -exbibit per cubic metre - - - -rec20 -
-E68 - -gigabyte per second - - - -rec20 -
-E69 - -gibibit per metre - - - -rec20 -
-E70 - -gibibit per square metre - - - -rec20 -
-E71 - -gibibit per cubic metre - - - -rec20 -
-E72 - -kibibit per metre - - - -rec20 -
-E73 - -kibibit per square metre - - - -rec20 -
-E74 - -kibibit per cubic metre - - - -rec20 -
-E75 - -mebibit per metre - - - -rec20 -
-E76 - -mebibit per square metre - - - -rec20 -
-E77 - -mebibit per cubic metre - - - -rec20 -
-E78 - -petabit - - - -rec20 -
-E79 - -petabit per second - - - -rec20 -
-E80 - -pebibit per metre - - - -rec20 -
-E81 - -pebibit per square metre - - - -rec20 -
-E82 - -pebibit per cubic metre - - - -rec20 -
-E83 - -terabit - - - -rec20 -
-E84 - -terabit per second - - - -rec20 -
-E85 - -tebibit per metre - - - -rec20 -
-E86 - -tebibit per cubic metre - - - -rec20 -
-E87 - -tebibit per square metre - - - -rec20 -
-E88 - -bit per metre - - - -rec20 -
-E89 - -bit per square metre - - - -rec20 -
-E90 - -reciprocal centimetre - - - -rec20 -
-E91 - -reciprocal day - - - -rec20 -
-E92 - -cubic decimetre per hour - - - -rec20 -
-E93 - -kilogram per hour - - - -rec20 -
-E94 - -kilomole per second - - - -rec20 -
-E95 - -mole per second - - - -rec20 -
-E96 - -degree per second - - - -rec20 -
-E97 - -millimetre per degree Celcius metre - - - -rec20 -
-E98 - -degree Celsius per kelvin - - - -rec20 -
-E99 - -hectopascal per bar - - - -rec20 -
-EA - -each - - - -rec20 -
-EB - -electronic mail box - - - -rec20 -
-EQ - -equivalent gallon - - - -rec20 -
-F01 - -bit per cubic metre - - - -rec20 -
-F02 - -kelvin per kelvin - - - -rec20 -
-F03 - -kilopascal per bar - - - -rec20 -
-F04 - -millibar per bar - - - -rec20 -
-F05 - -megapascal per bar - - - -rec20 -
-F06 - -poise per bar - - - -rec20 -
-F07 - -pascal per bar - - - -rec20 -
-F08 - -milliampere per inch - - - -rec20 -
-F10 - -kelvin per hour - - - -rec20 -
-F11 - -kelvin per minute - - - -rec20 -
-F12 - -kelvin per second - - - -rec20 -
-F13 - -slug - - - -rec20 -
-F14 - -gram per kelvin - - - -rec20 -
-F15 - -kilogram per kelvin - - - -rec20 -
-F16 - -milligram per kelvin - - - -rec20 -
-F17 - -pound-force per foot - - - -rec20 -
-F18 - -kilogram square centimetre - - - -rec20 -
-F19 - -kilogram square millimetre - - - -rec20 -
-F20 - -pound inch squared - - - -rec20 -
-F21 - -pound-force inch - - - -rec20 -
-F22 - -pound-force foot per ampere - - - -rec20 -
-F23 - -gram per cubic decimetre - - - -rec20 -
-F24 - -kilogram per kilomol - - - -rec20 -
-F25 - -gram per hertz - - - -rec20 -
-F26 - -gram per day - - - -rec20 -
-F27 - -gram per hour - - - -rec20 -
-F28 - -gram per minute - - - -rec20 -
-F29 - -gram per second - - - -rec20 -
-F30 - -kilogram per day - - - -rec20 -
-F31 - -kilogram per minute - - - -rec20 -
-F32 - -milligram per day - - - -rec20 -
-F33 - -milligram per minute - - - -rec20 -
-F34 - -milligram per second - - - -rec20 -
-F35 - -gram per day kelvin - - - -rec20 -
-F36 - -gram per hour kelvin - - - -rec20 -
-F37 - -gram per minute kelvin - - - -rec20 -
-F38 - -gram per second kelvin - - - -rec20 -
-F39 - -kilogram per day kelvin - - - -rec20 -
-F40 - -kilogram per hour kelvin - - - -rec20 -
-F41 - -kilogram per minute kelvin - - - -rec20 -
-F42 - -kilogram per second kelvin - - - -rec20 -
-F43 - -milligram per day kelvin - - - -rec20 -
-F44 - -milligram per hour kelvin - - - -rec20 -
-F45 - -milligram per minute kelvin - - - -rec20 -
-F46 - -milligram per second kelvin - - - -rec20 -
-F47 - -newton per millimetre - - - -rec20 -
-F48 - -pound-force per inch - - - -rec20 -
-F49 - -rod [unit of distance] - - - -rec20 -
-F50 - -micrometre per kelvin - - - -rec20 -
-F51 - -centimetre per kelvin - - - -rec20 -
-F52 - -metre per kelvin - - - -rec20 -
-F53 - -millimetre per kelvin - - - -rec20 -
-F54 - -milliohm per metre - - - -rec20 -
-F55 - -ohm per mile (statute mile) - - - -rec20 -
-F56 - -ohm per kilometre - - - -rec20 -
-F57 - -milliampere per pound-force per square inch - - - -rec20 -
-F58 - -reciprocal bar - - - -rec20 -
-F59 - -milliampere per bar - - - -rec20 -
-F60 - -degree Celsius per bar - - - -rec20 -
-F61 - -kelvin per bar - - - -rec20 -
-F62 - -gram per day bar - - - -rec20 -
-F63 - -gram per hour bar - - - -rec20 -
-F64 - -gram per minute bar - - - -rec20 -
-F65 - -gram per second bar - - - -rec20 -
-F66 - -kilogram per day bar - - - -rec20 -
-F67 - -kilogram per hour bar - - - -rec20 -
-F68 - -kilogram per minute bar - - - -rec20 -
-F69 - -kilogram per second bar - - - -rec20 -
-F70 - -milligram per day bar - - - -rec20 -
-F71 - -milligram per hour bar - - - -rec20 -
-F72 - -milligram per minute bar - - - -rec20 -
-F73 - -milligram per second bar - - - -rec20 -
-F74 - -gram per bar - - - -rec20 -
-F75 - -milligram per bar - - - -rec20 -
-F76 - -milliampere per millimetre - - - -rec20 -
-F77 - -pascal second per kelvin - - - -rec20 -
-F78 - -inch of water - - - -rec20 -
-F79 - -inch of mercury - - - -rec20 -
-F80 - -water horse power - - - -rec20 -
-F81 - -bar per kelvin - - - -rec20 -
-F82 - -hectopascal per kelvin - - - -rec20 -
-F83 - -kilopascal per kelvin - - - -rec20 -
-F84 - -millibar per kelvin - - - -rec20 -
-F85 - -megapascal per kelvin - - - -rec20 -
-F86 - -poise per kelvin - - - -rec20 -
-F87 - -volt per litre minute - - - -rec20 -
-F88 - -newton centimetre - - - -rec20 -
-F89 - -newton metre per degree - - - -rec20 -
-F90 - -newton metre per ampere - - - -rec20 -
-F91 - -bar litre per second - - - -rec20 -
-F92 - -bar cubic metre per second - - - -rec20 -
-F93 - -hectopascal litre per second - - - -rec20 -
-F94 - -hectopascal cubic metre per second - - - -rec20 -
-F95 - -millibar litre per second - - - -rec20 -
-F96 - -millibar cubic metre per second - - - -rec20 -
-F97 - -megapascal litre per second - - - -rec20 -
-F98 - -megapascal cubic metre per second - - - -rec20 -
-F99 - -pascal litre per second - - - -rec20 -
-FAH - -degree Fahrenheit - - - -rec20 -
-FAR - -farad - - - -rec20 -
-FBM - -fibre metre - - - -rec20 -
-FC - -thousand cubic foot - - - -rec20 -
-FF - -hundred cubic metre - - - -rec20 -
-FH - -micromole - - - -rec20 -
-FIT - -failures in time - - - -rec20 -
-FL - -flake ton - - - -rec20 -
-FNU - -Formazin nephelometric unit - - - -Rec20 -
-FOT - -foot - - - -rec20 -
-FP - -pound per square foot - - - -rec20 -
-FR - -foot per minute - - - -rec20 -
-FS - -foot per second - - - -rec20 -
-FTK - -square foot - - - -rec20 -
-FTQ - -cubic foot - - - -rec20 -
-G01 - -pascal cubic metre per second - - - -rec20 -
-G04 - -centimetre per bar - - - -rec20 -
-G05 - -metre per bar - - - -rec20 -
-G06 - -millimetre per bar - - - -rec20 -
-G08 - -square inch per second - - - -rec20 -
-G09 - -square metre per second kelvin - - - -rec20 -
-G10 - -stokes per kelvin - - - -rec20 -
-G11 - -gram per cubic centimetre bar - - - -rec20 -
-G12 - -gram per cubic decimetre bar - - - -rec20 -
-G13 - -gram per litre bar - - - -rec20 -
-G14 - -gram per cubic metre bar - - - -rec20 -
-G15 - -gram per millilitre bar - - - -rec20 -
-G16 - -kilogram per cubic centimetre bar - - - -rec20 -
-G17 - -kilogram per litre bar - - - -rec20 -
-G18 - -kilogram per cubic metre bar - - - -rec20 -
-G19 - -newton metre per kilogram - - - -rec20 -
-G2 - -US gallon per minute - - - -rec20 -
-G20 - -pound-force foot per pound - - - -rec20 -
-G21 - -cup [unit of volume] - - - -rec20 -
-G23 - -peck - - - -rec20 -
-G24 - -tablespoon (US) - - - -rec20 -
-G25 - -teaspoon (US) - - - -rec20 -
-G26 - -stere - - - -rec20 -
-G27 - -cubic centimetre per kelvin - - - -rec20 -
-G28 - -litre per kelvin - - - -rec20 -
-G29 - -cubic metre per kelvin - - - -rec20 -
-G3 - -Imperial gallon per minute - - - -rec20 -
-G30 - -millilitre per kelvin - - - -rec20 -
-G31 - -kilogram per cubic centimetre - - - -rec20 -
-G32 - -ounce (avoirdupois) per cubic yard - - - -rec20 -
-G33 - -gram per cubic centimetre kelvin - - - -rec20 -
-G34 - -gram per cubic decimetre kelvin - - - -rec20 -
-G35 - -gram per litre kelvin - - - -rec20 -
-G36 - -gram per cubic metre kelvin - - - -rec20 -
-G37 - -gram per millilitre kelvin - - - -rec20 -
-G38 - -kilogram per cubic centimetre kelvin - - - -rec20 -
-G39 - -kilogram per litre kelvin - - - -rec20 -
-G40 - -kilogram per cubic metre kelvin - - - -rec20 -
-G41 - -square metre per second bar - - - -rec20 -
-G42 - -microsiemens per centimetre - - - -rec20 -
-G43 - -microsiemens per metre - - - -rec20 -
-G44 - -nanosiemens per centimetre - - - -rec20 -
-G45 - -nanosiemens per metre - - - -rec20 -
-G46 - -stokes per bar - - - -rec20 -
-G47 - -cubic centimetre per day - - - -rec20 -
-G48 - -cubic centimetre per hour - - - -rec20 -
-G49 - -cubic centimetre per minute - - - -rec20 -
-G50 - -gallon (US) per hour - - - -rec20 -
-G51 - -litre per second - - - -rec20 -
-G52 - -cubic metre per day - - - -rec20 -
-G53 - -cubic metre per minute - - - -rec20 -
-G54 - -millilitre per day - - - -rec20 -
-G55 - -millilitre per hour - - - -rec20 -
-G56 - -cubic inch per hour - - - -rec20 -
-G57 - -cubic inch per minute - - - -rec20 -
-G58 - -cubic inch per second - - - -rec20 -
-G59 - -milliampere per litre minute - - - -rec20 -
-G60 - -volt per bar - - - -rec20 -
-G61 - -cubic centimetre per day kelvin - - - -rec20 -
-G62 - -cubic centimetre per hour kelvin - - - -rec20 -
-G63 - -cubic centimetre per minute kelvin - - - -rec20 -
-G64 - -cubic centimetre per second kelvin - - - -rec20 -
-G65 - -litre per day kelvin - - - -rec20 -
-G66 - -litre per hour kelvin - - - -rec20 -
-G67 - -litre per minute kelvin - - - -rec20 -
-G68 - -litre per second kelvin - - - -rec20 -
-G69 - -cubic metre per day kelvin - - - -rec20 -
-G70 - -cubic metre per hour kelvin - - - -rec20 -
-G71 - -cubic metre per minute kelvin - - - -rec20 -
-G72 - -cubic metre per second kelvin - - - -rec20 -
-G73 - -millilitre per day kelvin - - - -rec20 -
-G74 - -millilitre per hour kelvin - - - -rec20 -
-G75 - -millilitre per minute kelvin - - - -rec20 -
-G76 - -millilitre per second kelvin - - - -rec20 -
-G77 - -millimetre to the fourth power - - - -rec20 -
-G78 - -cubic centimetre per day bar - - - -rec20 -
-G79 - -cubic centimetre per hour bar - - - -rec20 -
-G80 - -cubic centimetre per minute bar - - - -rec20 -
-G81 - -cubic centimetre per second bar - - - -rec20 -
-G82 - -litre per day bar - - - -rec20 -
-G83 - -litre per hour bar - - - -rec20 -
-G84 - -litre per minute bar - - - -rec20 -
-G85 - -litre per second bar - - - -rec20 -
-G86 - -cubic metre per day bar - - - -rec20 -
-G87 - -cubic metre per hour bar - - - -rec20 -
-G88 - -cubic metre per minute bar - - - -rec20 -
-G89 - -cubic metre per second bar - - - -rec20 -
-G90 - -millilitre per day bar - - - -rec20 -
-G91 - -millilitre per hour bar - - - -rec20 -
-G92 - -millilitre per minute bar - - - -rec20 -
-G93 - -millilitre per second bar - - - -rec20 -
-G94 - -cubic centimetre per bar - - - -rec20 -
-G95 - -litre per bar - - - -rec20 -
-G96 - -cubic metre per bar - - - -rec20 -
-G97 - -millilitre per bar - - - -rec20 -
-G98 - -microhenry per kiloohm - - - -rec20 -
-G99 - -microhenry per ohm - - - -rec20 -
-GB - -gallon (US) per day - - - -rec20 -
-GBQ - -gigabecquerel - - - -rec20 -
-GDW - -gram, dry weight - - - -rec20 -
-GE - -pound per gallon (US) - - - -rec20 -
-GF - -gram per metre (gram per 100 centimetres) - - - -rec20 -
-GFI - -gram of fissile isotope - - - -rec20 -
-GGR - -great gross - - - -rec20 -
-GIA - -gill (US) - - - -rec20 -
-GIC - -gram, including container - - - -rec20 -
-GII - -gill (UK) - - - -rec20 -
-GIP - -gram, including inner packaging - - - -rec20 -
-GJ - -gram per millilitre - - - -rec20 -
-GL - -gram per litre - - - -rec20 -
-GLD - -dry gallon (US) - - - -rec20 -
-GLI - -gallon (UK) - - - -rec20 -
-GLL - -gallon (US) - - - -rec20 -
-GM - -gram per square metre - - - -rec20 -
-GO - -milligram per square metre - - - -rec20 -
-GP - -milligram per cubic metre - - - -rec20 -
-GQ - -microgram per cubic metre - - - -rec20 -
-GRM - -gram - - - -rec20 -
-GRN - -grain - - - -rec20 -
-GRO - -gross - - - -rec20 -
-GV - -gigajoule - - - -rec20 -
-GWH - -gigawatt hour - - - -rec20 -
-H03 - -henry per kiloohm - - - -rec20 -
-H04 - -henry per ohm - - - -rec20 -
-H05 - -millihenry per kiloohm - - - -rec20 -
-H06 - -millihenry per ohm - - - -rec20 -
-H07 - -pascal second per bar - - - -rec20 -
-H08 - -microbecquerel - - - -rec20 -
-H09 - -reciprocal year - - - -rec20 -
-H10 - -reciprocal hour - - - -rec20 -
-H11 - -reciprocal month - - - -rec20 -
-H12 - -degree Celsius per hour - - - -rec20 -
-H13 - -degree Celsius per minute - - - -rec20 -
-H14 - -degree Celsius per second - - - -rec20 -
-H15 - -square centimetre per gram - - - -rec20 -
-H16 - -square decametre - - - -rec20 -
-H18 - -square hectometre - - - -rec20 -
-H19 - -cubic hectometre - - - -rec20 -
-H20 - -cubic kilometre - - - -rec20 -
-H21 - -blank - - - -rec20 -
-H22 - -volt square inch per pound-force - - - -rec20 -
-H23 - -volt per inch - - - -rec20 -
-H24 - -volt per microsecond - - - -rec20 -
-H25 - -percent per kelvin - - - -rec20 -
-H26 - -ohm per metre - - - -rec20 -
-H27 - -degree per metre - - - -rec20 -
-H28 - -microfarad per kilometre - - - -rec20 -
-H29 - -microgram per litre - - - -rec20 -
-H30 - -square micrometre (square micron) - - - -rec20 -
-H31 - -ampere per kilogram - - - -rec20 -
-H32 - -ampere squared second - - - -rec20 -
-H33 - -farad per kilometre - - - -rec20 -
-H34 - -hertz metre - - - -rec20 -
-H35 - -kelvin metre per watt - - - -rec20 -
-H36 - -megaohm per kilometre - - - -rec20 -
-H37 - -megaohm per metre - - - -rec20 -
-H38 - -megaampere - - - -rec20 -
-H39 - -megahertz kilometre - - - -rec20 -
-H40 - -newton per ampere - - - -rec20 -
-H41 - -newton metre watt to the power minus 0,5 - - - -rec20 -
-H42 - -pascal per metre - - - -rec20 -
-H43 - -siemens per centimetre - - - -rec20 -
-H44 - -teraohm - - - -rec20 -
-H45 - -volt second per metre - - - -rec20 -
-H46 - -volt per second - - - -rec20 -
-H47 - -watt per cubic metre - - - -rec20 -
-H48 - -attofarad - - - -rec20 -
-H49 - -centimetre per hour - - - -rec20 -
-H50 - -reciprocal cubic centimetre - - - -rec20 -
-H51 - -decibel per kilometre - - - -rec20 -
-H52 - -decibel per metre - - - -rec20 -
-H53 - -kilogram per bar - - - -rec20 -
-H54 - -kilogram per cubic decimetre kelvin - - - -rec20 -
-H55 - -kilogram per cubic decimetre bar - - - -rec20 -
-H56 - -kilogram per square metre second - - - -rec20 -
-H57 - -inch per two pi radiant - - - -rec20 -
-H58 - -metre per volt second - - - -rec20 -
-H59 - -square metre per newton - - - -rec20 -
-H60 - -cubic metre per cubic metre - - - -rec20 -
-H61 - -millisiemens per centimetre - - - -rec20 -
-H62 - -millivolt per minute - - - -rec20 -
-H63 - -milligram per square centimetre - - - -rec20 -
-H64 - -milligram per gram - - - -rec20 -
-H65 - -millilitre per cubic metre - - - -rec20 -
-H66 - -millimetre per year - - - -rec20 -
-H67 - -millimetre per hour - - - -rec20 -
-H68 - -millimole per gram - - - -rec20 -
-H69 - -picopascal per kilometre - - - -rec20 -
-H70 - -picosecond - - - -rec20 -
-H71 - -percent per month - - - -rec20 -
-H72 - -percent per hectobar - - - -rec20 -
-H73 - -percent per decakelvin - - - -rec20 -
-H74 - -watt per metre - - - -rec20 -
-H75 - -decapascal - - - -rec20 -
-H76 - -gram per millimetre - - - -rec20 -
-H77 - -module width - - - -rec20 -
-H79 - -French gauge - - - -rec20 -
-H80 - -rack unit - - - -rec20 -
-H81 - -millimetre per minute - - - -rec20 -
-H82 - -big point - - - -rec20 -
-H83 - -litre per kilogram - - - -rec20 -
-H84 - -gram millimetre - - - -rec20 -
-H85 - -reciprocal week - - - -rec20 -
-H87 - -piece - - - -rec20 -
-H88 - -megaohm kilometre - - - -rec20 -
-H89 - -percent per ohm - - - -rec20 -
-H90 - -percent per degree - - - -rec20 -
-H91 - -percent per ten thousand - - - -rec20 -
-H92 - -percent per one hundred thousand - - - -rec20 -
-H93 - -percent per hundred - - - -rec20 -
-H94 - -percent per thousand - - - -rec20 -
-H95 - -percent per volt - - - -rec20 -
-H96 - -percent per bar - - - -rec20 -
-H98 - -percent per inch - - - -rec20 -
-H99 - -percent per metre - - - -rec20 -
-HA - -hank - - - -rec20 -
-HAD - -Piece Day - - - -Rec20 -
-HBA - -hectobar - - - -rec20 -
-HBX - -hundred boxes - - - -rec20 -
-HC - -hundred count - - - -rec20 -
-HDW - -hundred kilogram, dry weight - - - -rec20 -
-HEA - -head - - - -rec20 -
-HGM - -hectogram - - - -rec20 -
-HH - -hundred cubic foot - - - -rec20 -
-HIU - -hundred international unit - - - -rec20 -
-HKM - -hundred kilogram, net mass - - - -rec20 -
-HLT - -hectolitre - - - -rec20 -
-HM - -mile per hour (statute mile) - - - -rec20 -
-HMO - -Piece Month - - - -Rec20 -
-HMQ - -million cubic metre - - - -rec20 -
-HMT - -hectometre - - - -rec20 -
-HPA - -hectolitre of pure alcohol - - - -rec20 -
-HTZ - -hertz - - - -rec20 -
-HUR - -hour - - - -rec20 -
-HWE - -Piece Week - - - -Rec20 -
-IA - -inch pound (pound inch) - - - -rec20 -
-IE - -person - - - -rec20 -
-INH - -inch - - - -rec20 -
-INK - -square inch - - - -rec20 -
-INQ - -cubic inch - - - -rec20 -
-ISD - -international sugar degree - - - -rec20 -
-IU - -inch per second - - - -rec20 -
-IUG - -international unit per gram - - - -rec20 -
-IV - -inch per second squared - - - -rec20 -
-J10 - -percent per millimetre - - - -rec20 -
-J12 - -per mille per psi - - - -rec20 -
-J13 - -degree API - - - -rec20 -
-J14 - -degree Baume (origin scale) - - - -rec20 -
-J15 - -degree Baume (US heavy) - - - -rec20 -
-J16 - -degree Baume (US light) - - - -rec20 -
-J17 - -degree Balling - - - -rec20 -
-J18 - -degree Brix - - - -rec20 -
-J19 - -degree Fahrenheit hour square foot per British thermal unit (thermochemical) - - - -rec20 -
-J2 - -joule per kilogram - - - -rec20 -
-J20 - -degree Fahrenheit per kelvin - - - -rec20 -
-J21 - -degree Fahrenheit per bar - - - -rec20 -
-J22 - -degree Fahrenheit hour square foot per British thermal unit (international table) - - - -rec20 -
-J23 - -degree Fahrenheit per hour - - - -rec20 -
-J24 - -degree Fahrenheit per minute - - - -rec20 -
-J25 - -degree Fahrenheit per second - - - -rec20 -
-J26 - -reciprocal degree Fahrenheit - - - -rec20 -
-J27 - -degree Oechsle - - - -rec20 -
-J28 - -degree Rankine per hour - - - -rec20 -
-J29 - -degree Rankine per minute - - - -rec20 -
-J30 - -degree Rankine per second - - - -rec20 -
-J31 - -degree Twaddell - - - -rec20 -
-J32 - -micropoise - - - -rec20 -
-J33 - -microgram per kilogram - - - -rec20 -
-J34 - -microgram per cubic metre kelvin - - - -rec20 -
-J35 - -microgram per cubic metre bar - - - -rec20 -
-J36 - -microlitre per litre - - - -rec20 -
-J38 - -baud - - - -rec20 -
-J39 - -British thermal unit (mean) - - - -rec20 -
-J40 - -British thermal unit (international table) foot per hour square foot degree Fahrenheit - - - -rec20 -
-J41 - -British thermal unit (international table) inch per hour square foot degree Fahrenheit - - - -rec20 -
-J42 - -British thermal unit (international table) inch per second square foot degree Fahrenheit - - - -rec20 -
-J43 - -British thermal unit (international table) per pound degree Fahrenheit - - - -rec20 -
-J44 - -British thermal unit (international table) per minute - - - -rec20 -
-J45 - -British thermal unit (international table) per second - - - -rec20 -
-J46 - -British thermal unit (thermochemical) foot per hour square foot degree Fahrenheit - - - -rec20 -
-J47 - -British thermal unit (thermochemical) per hour - - - -rec20 -
-J48 - -British thermal unit (thermochemical) inch per hour square foot degree Fahrenheit - - - -rec20 -
-J49 - -British thermal unit (thermochemical) inch per second square foot degree Fahrenheit - - - -rec20 -
-J50 - -British thermal unit (thermochemical) per pound degree Fahrenheit - - - -rec20 -
-J51 - -British thermal unit (thermochemical) per minute - - - -rec20 -
-J52 - -British thermal unit (thermochemical) per second - - - -rec20 -
-J53 - -coulomb square metre per kilogram - - - -rec20 -
-J54 - -megabaud - - - -rec20 -
-J55 - -watt second - - - -rec20 -
-J56 - -bar per bar - - - -rec20 -
-J57 - -barrel (UK petroleum) - - - -rec20 -
-J58 - -barrel (UK petroleum) per minute - - - -rec20 -
-J59 - -barrel (UK petroleum) per day - - - -rec20 -
-J60 - -barrel (UK petroleum) per hour - - - -rec20 -
-J61 - -barrel (UK petroleum) per second - - - -rec20 -
-J62 - -barrel (US petroleum) per hour - - - -rec20 -
-J63 - -barrel (US petroleum) per second - - - -rec20 -
-J64 - -bushel (UK) per day - - - -rec20 -
-J65 - -bushel (UK) per hour - - - -rec20 -
-J66 - -bushel (UK) per minute - - - -rec20 -
-J67 - -bushel (UK) per second - - - -rec20 -
-J68 - -bushel (US dry) per day - - - -rec20 -
-J69 - -bushel (US dry) per hour - - - -rec20 -
-J70 - -bushel (US dry) per minute - - - -rec20 -
-J71 - -bushel (US dry) per second - - - -rec20 -
-J72 - -centinewton metre - - - -rec20 -
-J73 - -centipoise per kelvin - - - -rec20 -
-J74 - -centipoise per bar - - - -rec20 -
-J75 - -calorie (mean) - - - -rec20 -
-J76 - -calorie (international table) per gram degree Celsius - - - -rec20 -
-J78 - -calorie (thermochemical) per centimetre second degree Celsius - - - -rec20 -
-J79 - -calorie (thermochemical) per gram degree Celsius - - - -rec20 -
-J81 - -calorie (thermochemical) per minute - - - -rec20 -
-J82 - -calorie (thermochemical) per second - - - -rec20 -
-J83 - -clo - - - -rec20 -
-J84 - -centimetre per second kelvin - - - -rec20 -
-J85 - -centimetre per second bar - - - -rec20 -
-J87 - -cubic centimetre per cubic metre - - - -rec20 -
-J90 - -cubic decimetre per day - - - -rec20 -
-J91 - -cubic decimetre per cubic metre - - - -rec20 -
-J92 - -cubic decimetre per minute - - - -rec20 -
-J93 - -cubic decimetre per second - - - -rec20 -
-J95 - -ounce (UK fluid) per day - - - -rec20 -
-J96 - -ounce (UK fluid) per hour - - - -rec20 -
-J97 - -ounce (UK fluid) per minute - - - -rec20 -
-J98 - -ounce (UK fluid) per second - - - -rec20 -
-J99 - -ounce (US fluid) per day - - - -rec20 -
-JE - -joule per kelvin - - - -rec20 -
-JK - -megajoule per kilogram - - - -rec20 -
-JM - -megajoule per cubic metre - - - -rec20 -
-JNT - -pipeline joint - - - -rec20 -
-JOU - -joule - - - -rec20 -
-JPS - -hundred metre - - - -rec20 -
-JWL - -number of jewels - - - -rec20 -
-K1 - -kilowatt demand - - - -rec20 -
-K10 - -ounce (US fluid) per hour - - - -rec20 -
-K11 - -ounce (US fluid) per minute - - - -rec20 -
-K12 - -ounce (US fluid) per second - - - -rec20 -
-K13 - -foot per degree Fahrenheit - - - -rec20 -
-K14 - -foot per hour - - - -rec20 -
-K15 - -foot pound-force per hour - - - -rec20 -
-K16 - -foot pound-force per minute - - - -rec20 -
-K17 - -foot per psi - - - -rec20 -
-K18 - -foot per second degree Fahrenheit - - - -rec20 -
-K19 - -foot per second psi - - - -rec20 -
-K2 - -kilovolt ampere reactive demand - - - -rec20 -
-K20 - -reciprocal cubic foot - - - -rec20 -
-K21 - -cubic foot per degree Fahrenheit - - - -rec20 -
-K22 - -cubic foot per day - - - -rec20 -
-K23 - -cubic foot per psi - - - -rec20 -
-K26 - -gallon (UK) per day - - - -rec20 -
-K27 - -gallon (UK) per hour - - - -rec20 -
-K28 - -gallon (UK) per second - - - -rec20 -
-K3 - -kilovolt ampere reactive hour - - - -rec20 -
-K30 - -gallon (US liquid) per second - - - -rec20 -
-K31 - -gram-force per square centimetre - - - -rec20 -
-K32 - -gill (UK) per day - - - -rec20 -
-K33 - -gill (UK) per hour - - - -rec20 -
-K34 - -gill (UK) per minute - - - -rec20 -
-K35 - -gill (UK) per second - - - -rec20 -
-K36 - -gill (US) per day - - - -rec20 -
-K37 - -gill (US) per hour - - - -rec20 -
-K38 - -gill (US) per minute - - - -rec20 -
-K39 - -gill (US) per second - - - -rec20 -
-K40 - -standard acceleration of free fall - - - -rec20 -
-K41 - -grain per gallon (US) - - - -rec20 -
-K42 - -horsepower (boiler) - - - -rec20 -
-K43 - -horsepower (electric) - - - -rec20 -
-K45 - -inch per degree Fahrenheit - - - -rec20 -
-K46 - -inch per psi - - - -rec20 -
-K47 - -inch per second degree Fahrenheit - - - -rec20 -
-K48 - -inch per second psi - - - -rec20 -
-K49 - -reciprocal cubic inch - - - -rec20 -
-K50 - -kilobaud - - - -rec20 -
-K51 - -kilocalorie (mean) - - - -rec20 -
-K52 - -kilocalorie (international table) per hour metre degree Celsius - - - -rec20 -
-K53 - -kilocalorie (thermochemical) - - - -rec20 -
-K54 - -kilocalorie (thermochemical) per minute - - - -rec20 -
-K55 - -kilocalorie (thermochemical) per second - - - -rec20 -
-K58 - -kilomole per hour - - - -rec20 -
-K59 - -kilomole per cubic metre kelvin - - - -rec20 -
-K6 - -kilolitre - - - -rec20 -
-K60 - -kilomole per cubic metre bar - - - -rec20 -
-K61 - -kilomole per minute - - - -rec20 -
-K62 - -litre per litre - - - -rec20 -
-K63 - -reciprocal litre - - - -rec20 -
-K64 - -pound (avoirdupois) per degree Fahrenheit - - - -rec20 -
-K65 - -pound (avoirdupois) square foot - - - -rec20 -
-K66 - -pound (avoirdupois) per day - - - -rec20 -
-K67 - -pound per foot hour - - - -rec20 -
-K68 - -pound per foot second - - - -rec20 -
-K69 - -pound (avoirdupois) per cubic foot degree Fahrenheit - - - -rec20 -
-K70 - -pound (avoirdupois) per cubic foot psi - - - -rec20 -
-K71 - -pound (avoirdupois) per gallon (UK) - - - -rec20 -
-K73 - -pound (avoirdupois) per hour degree Fahrenheit - - - -rec20 -
-K74 - -pound (avoirdupois) per hour psi - - - -rec20 -
-K75 - -pound (avoirdupois) per cubic inch degree Fahrenheit - - - -rec20 -
-K76 - -pound (avoirdupois) per cubic inch psi - - - -rec20 -
-K77 - -pound (avoirdupois) per psi - - - -rec20 -
-K78 - -pound (avoirdupois) per minute - - - -rec20 -
-K79 - -pound (avoirdupois) per minute degree Fahrenheit - - - -rec20 -
-K80 - -pound (avoirdupois) per minute psi - - - -rec20 -
-K81 - -pound (avoirdupois) per second - - - -rec20 -
-K82 - -pound (avoirdupois) per second degree Fahrenheit - - - -rec20 -
-K83 - -pound (avoirdupois) per second psi - - - -rec20 -
-K84 - -pound per cubic yard - - - -rec20 -
-K85 - -pound-force per square foot - - - -rec20 -
-K86 - -pound-force per square inch degree Fahrenheit - - - -rec20 -
-K87 - -psi cubic inch per second - - - -rec20 -
-K88 - -psi litre per second - - - -rec20 -
-K89 - -psi cubic metre per second - - - -rec20 -
-K90 - -psi cubic yard per second - - - -rec20 -
-K91 - -pound-force second per square foot - - - -rec20 -
-K92 - -pound-force second per square inch - - - -rec20 -
-K93 - -reciprocal psi - - - -rec20 -
-K94 - -quart (UK liquid) per day - - - -rec20 -
-K95 - -quart (UK liquid) per hour - - - -rec20 -
-K96 - -quart (UK liquid) per minute - - - -rec20 -
-K97 - -quart (UK liquid) per second - - - -rec20 -
-K98 - -quart (US liquid) per day - - - -rec20 -
-K99 - -quart (US liquid) per hour - - - -rec20 -
-KA - -cake - - - -rec20 -
-KAT - -katal - - - -rec20 -
-KB - -kilocharacter - - - -rec20 -
-KBA - -kilobar - - - -rec20 -
-KCC - -kilogram of choline chloride - - - -rec20 -
-KDW - -kilogram drained net weight - - - -rec20 -
-KEL - -kelvin - - - -rec20 -
-KGM - -kilogram - - - -rec20 -
-KGS - -kilogram per second - - - -rec20 -
-KHY - -kilogram of hydrogen peroxide - - - -rec20 -
-KHZ - -kilohertz - - - -rec20 -
-KI - -kilogram per millimetre width - - - -rec20 -
-KIC - -kilogram, including container - - - -rec20 -
-KIP - -kilogram, including inner packaging - - - -rec20 -
-KJ - -kilosegment - - - -rec20 -
-KJO - -kilojoule - - - -rec20 -
-KL - -kilogram per metre - - - -rec20 -
-KLK - -lactic dry material percentage - - - -rec20 -
-KLX - -kilolux - - - -rec20 -
-KMA - -kilogram of methylamine - - - -rec20 -
-KMH - -kilometre per hour - - - -rec20 -
-KMK - -square kilometre - - - -rec20 -
-KMQ - -kilogram per cubic metre - - - -rec20 -
-KMT - -kilometre - - - -rec20 -
-KNI - -kilogram of nitrogen - - - -rec20 -
-KNM - -kilonewton per square metre - - - -rec20 -
-KNS - -kilogram named substance - - - -rec20 -
-KNT - -knot - - - -rec20 -
-KO - -milliequivalence caustic potash per gram of product - - - -rec20 -
-KPA - -kilopascal - - - -rec20 -
-KPH - -kilogram of potassium hydroxide (caustic potash) - - - -rec20 -
-KPO - -kilogram of potassium oxide - - - -rec20 -
-KPP - -kilogram of phosphorus pentoxide (phosphoric anhydride) - - - -rec20 -
-KR - -kiloroentgen - - - -rec20 -
-KSD - -kilogram of substance 90 % dry - - - -rec20 -
-KSH - -kilogram of sodium hydroxide (caustic soda) - - - -rec20 -
-KT - -kit - - - -rec20 -
-KTN - -kilotonne - - - -rec20 -
-KUR - -kilogram of uranium - - - -rec20 -
-KVA - -kilovolt - ampere - - - -rec20 -
-KVR - -kilovar - - - -rec20 -
-KVT - -kilovolt - - - -rec20 -
-KW - -kilogram per millimetre - - - -rec20 -
-KWH - -kilowatt hour - - - -rec20 -
-KWN - -Kilowatt hour per normalized cubic metre - - - -rec20 -
-KWO - -kilogram of tungsten trioxide - - - -rec20 -
-KWS - -Kilowatt hour per standard cubic metre - - - -rec20 -
-KWT - -kilowatt - - - -rec20 -
-KWY - -kilowatt year - - - -Rec20 -
-KX - -millilitre per kilogram - - - -rec20 -
-L10 - -quart (US liquid) per minute - - - -rec20 -
-L11 - -quart (US liquid) per second - - - -rec20 -
-L12 - -metre per second kelvin - - - -rec20 -
-L13 - -metre per second bar - - - -rec20 -
-L14 - -square metre hour degree Celsius per kilocalorie (international table) - - - -rec20 -
-L15 - -millipascal second per kelvin - - - -rec20 -
-L16 - -millipascal second per bar - - - -rec20 -
-L17 - -milligram per cubic metre kelvin - - - -rec20 -
-L18 - -milligram per cubic metre bar - - - -rec20 -
-L19 - -millilitre per litre - - - -rec20 -
-L2 - -litre per minute - - - -rec20 -
-L20 - -reciprocal cubic millimetre - - - -rec20 -
-L21 - -cubic millimetre per cubic metre - - - -rec20 -
-L23 - -mole per hour - - - -rec20 -
-L24 - -mole per kilogram kelvin - - - -rec20 -
-L25 - -mole per kilogram bar - - - -rec20 -
-L26 - -mole per litre kelvin - - - -rec20 -
-L27 - -mole per litre bar - - - -rec20 -
-L28 - -mole per cubic metre kelvin - - - -rec20 -
-L29 - -mole per cubic metre bar - - - -rec20 -
-L30 - -mole per minute - - - -rec20 -
-L31 - -milliroentgen aequivalent men - - - -rec20 -
-L32 - -nanogram per kilogram - - - -rec20 -
-L33 - -ounce (avoirdupois) per day - - - -rec20 -
-L34 - -ounce (avoirdupois) per hour - - - -rec20 -
-L35 - -ounce (avoirdupois) per minute - - - -rec20 -
-L36 - -ounce (avoirdupois) per second - - - -rec20 -
-L37 - -ounce (avoirdupois) per gallon (UK) - - - -rec20 -
-L38 - -ounce (avoirdupois) per gallon (US) - - - -rec20 -
-L39 - -ounce (avoirdupois) per cubic inch - - - -rec20 -
-L40 - -ounce (avoirdupois)-force - - - -rec20 -
-L41 - -ounce (avoirdupois)-force inch - - - -rec20 -
-L42 - -picosiemens per metre - - - -rec20 -
-L43 - -peck (UK) - - - -rec20 -
-L44 - -peck (UK) per day - - - -rec20 -
-L45 - -peck (UK) per hour - - - -rec20 -
-L46 - -peck (UK) per minute - - - -rec20 -
-L47 - -peck (UK) per second - - - -rec20 -
-L48 - -peck (US dry) per day - - - -rec20 -
-L49 - -peck (US dry) per hour - - - -rec20 -
-L50 - -peck (US dry) per minute - - - -rec20 -
-L51 - -peck (US dry) per second - - - -rec20 -
-L52 - -psi per psi - - - -rec20 -
-L53 - -pint (UK) per day - - - -rec20 -
-L54 - -pint (UK) per hour - - - -rec20 -
-L55 - -pint (UK) per minute - - - -rec20 -
-L56 - -pint (UK) per second - - - -rec20 -
-L57 - -pint (US liquid) per day - - - -rec20 -
-L58 - -pint (US liquid) per hour - - - -rec20 -
-L59 - -pint (US liquid) per minute - - - -rec20 -
-L60 - -pint (US liquid) per second - - - -rec20 -
-L63 - -slug per day - - - -rec20 -
-L64 - -slug per foot second - - - -rec20 -
-L65 - -slug per cubic foot - - - -rec20 -
-L66 - -slug per hour - - - -rec20 -
-L67 - -slug per minute - - - -rec20 -
-L68 - -slug per second - - - -rec20 -
-L69 - -tonne per kelvin - - - -rec20 -
-L70 - -tonne per bar - - - -rec20 -
-L71 - -tonne per day - - - -rec20 -
-L72 - -tonne per day kelvin - - - -rec20 -
-L73 - -tonne per day bar - - - -rec20 -
-L74 - -tonne per hour kelvin - - - -rec20 -
-L75 - -tonne per hour bar - - - -rec20 -
-L76 - -tonne per cubic metre kelvin - - - -rec20 -
-L77 - -tonne per cubic metre bar - - - -rec20 -
-L78 - -tonne per minute - - - -rec20 -
-L79 - -tonne per minute kelvin - - - -rec20 -
-L80 - -tonne per minute bar - - - -rec20 -
-L81 - -tonne per second - - - -rec20 -
-L82 - -tonne per second kelvin - - - -rec20 -
-L83 - -tonne per second bar - - - -rec20 -
-L84 - -ton (UK shipping) - - - -rec20 -
-L85 - -ton long per day - - - -rec20 -
-L86 - -ton (US shipping) - - - -rec20 -
-L87 - -ton short per degree Fahrenheit - - - -rec20 -
-L88 - -ton short per day - - - -rec20 -
-L89 - -ton short per hour degree Fahrenheit - - - -rec20 -
-L90 - -ton short per hour psi - - - -rec20 -
-L91 - -ton short per psi - - - -rec20 -
-L92 - -ton (UK long) per cubic yard - - - -rec20 -
-L93 - -ton (US short) per cubic yard - - - -rec20 -
-L94 - -ton-force (US short) - - - -rec20 -
-L95 - -common year - - - -rec20 -
-L96 - -sidereal year - - - -rec20 -
-L98 - -yard per degree Fahrenheit - - - -rec20 -
-L99 - -yard per psi - - - -rec20 -
-LA - -pound per cubic inch - - - -rec20 -
-LAC - -lactose excess percentage - - - -rec20 -
-LBR - -pound - - - -rec20 -
-LBT - -troy pound (US) - - - -rec20 -
-LD - -litre per day - - - -rec20 -
-LEF - -leaf - - - -rec20 -
-LF - -linear foot - - - -rec20 -
-LH - -labour hour - - - -rec20 -
-LK - -link - - - -rec20 -
-LM - -linear metre - - - -rec20 -
-LN - -length - - - -rec20 -
-LO - -lot [unit of procurement] - - - -rec20 -
-LP - -liquid pound - - - -rec20 -
-LPA - -litre of pure alcohol - - - -rec20 -
-LR - -layer - - - -rec20 -
-LS - -lump sum - - - -rec20 -
-LTN - -ton (UK) or long ton (US) - - - -rec20 -
-LTR - -litre - - - -rec20 -
-LUB - -metric ton, lubricating oil - - - -rec20 -
-LUM - -lumen - - - -rec20 -
-LUX - -lux - - - -rec20 -
-LY - -linear yard - - - -rec20 -
-M1 - -milligram per litre - - - -rec20 -
-M10 - -reciprocal cubic yard - - - -rec20 -
-M11 - -cubic yard per degree Fahrenheit - - - -rec20 -
-M12 - -cubic yard per day - - - -rec20 -
-M13 - -cubic yard per hour - - - -rec20 -
-M14 - -cubic yard per psi - - - -rec20 -
-M15 - -cubic yard per minute - - - -rec20 -
-M16 - -cubic yard per second - - - -rec20 -
-M17 - -kilohertz metre - - - -rec20 -
-M18 - -gigahertz metre - - - -rec20 -
-M19 - -Beaufort - - - -rec20 -
-M20 - -reciprocal megakelvin or megakelvin to the power minus one - - - -rec20 -
-M21 - -reciprocal kilovolt - ampere reciprocal hour - - - -rec20 -
-M22 - -millilitre per square centimetre minute - - - -rec20 -
-M23 - -newton per centimetre - - - -rec20 -
-M24 - -ohm kilometre - - - -rec20 -
-M25 - -percent per degree Celsius - - - -rec20 -
-M26 - -gigaohm per metre - - - -rec20 -
-M27 - -megahertz metre - - - -rec20 -
-M29 - -kilogram per kilogram - - - -rec20 -
-M30 - -reciprocal volt - ampere reciprocal second - - - -rec20 -
-M31 - -kilogram per kilometre - - - -rec20 -
-M32 - -pascal second per litre - - - -rec20 -
-M33 - -millimole per litre - - - -rec20 -
-M34 - -newton metre per square metre - - - -rec20 -
-M35 - -millivolt - ampere - - - -rec20 -
-M36 - -30-day month - - - -rec20 -
-M37 - -actual/360 - - - -rec20 -
-M38 - -kilometre per second squared - - - -rec20 -
-M39 - -centimetre per second squared - - - -rec20 -
-M4 - -monetary value - - - -rec20 -
-M40 - -yard per second squared - - - -rec20 -
-M41 - -millimetre per second squared - - - -rec20 -
-M42 - -mile (statute mile) per second squared - - - -rec20 -
-M43 - -mil - - - -rec20 -
-M44 - -revolution - - - -rec20 -
-M45 - -degree [unit of angle] per second squared - - - -rec20 -
-M46 - -revolution per minute - - - -rec20 -
-M47 - -circular mil - - - -rec20 -
-M48 - -square mile (based on U.S. survey foot) - - - -rec20 -
-M49 - -chain (based on U.S. survey foot) - - - -rec20 -
-M5 - -microcurie - - - -rec20 -
-M50 - -furlong - - - -rec20 -
-M51 - -foot (U.S. survey) - - - -rec20 -
-M52 - -mile (based on U.S. survey foot) - - - -rec20 -
-M53 - -metre per pascal - - - -rec20 -
-M55 - -metre per radiant - - - -rec20 -
-M56 - -shake - - - -rec20 -
-M57 - -mile per minute - - - -rec20 -
-M58 - -mile per second - - - -rec20 -
-M59 - -metre per second pascal - - - -rec20 -
-M60 - -metre per hour - - - -rec20 -
-M61 - -inch per year - - - -rec20 -
-M62 - -kilometre per second - - - -rec20 -
-M63 - -inch per minute - - - -rec20 -
-M64 - -yard per second - - - -rec20 -
-M65 - -yard per minute - - - -rec20 -
-M66 - -yard per hour - - - -rec20 -
-M67 - -acre-foot (based on U.S. survey foot) - - - -rec20 -
-M68 - -cord (128 ft3) - - - -rec20 -
-M69 - -cubic mile (UK statute) - - - -rec20 -
-M7 - -micro-inch - - - -rec20 -
-M70 - -ton, register - - - -rec20 -
-M71 - -cubic metre per pascal - - - -rec20 -
-M72 - -bel - - - -rec20 -
-M73 - -kilogram per cubic metre pascal - - - -rec20 -
-M74 - -kilogram per pascal - - - -rec20 -
-M75 - -kilopound-force - - - -rec20 -
-M76 - -poundal - - - -rec20 -
-M77 - -kilogram metre per second squared - - - -rec20 -
-M78 - -pond - - - -rec20 -
-M79 - -square foot per hour - - - -rec20 -
-M80 - -stokes per pascal - - - -rec20 -
-M81 - -square centimetre per second - - - -rec20 -
-M82 - -square metre per second pascal - - - -rec20 -
-M83 - -denier - - - -rec20 -
-M84 - -pound per yard - - - -rec20 -
-M85 - -ton, assay - - - -rec20 -
-M86 - -pfund - - - -rec20 -
-M87 - -kilogram per second pascal - - - -rec20 -
-M88 - -tonne per month - - - -rec20 -
-M89 - -tonne per year - - - -rec20 -
-M9 - -million Btu per 1000 cubic foot - - - -rec20 -
-M90 - -kilopound per hour - - - -rec20 -
-M91 - -pound per pound - - - -rec20 -
-M92 - -pound-force foot - - - -rec20 -
-M93 - -newton metre per radian - - - -rec20 -
-M94 - -kilogram metre - - - -rec20 -
-M95 - -poundal foot - - - -rec20 -
-M96 - -poundal inch - - - -rec20 -
-M97 - -dyne metre - - - -rec20 -
-M98 - -kilogram centimetre per second - - - -rec20 -
-M99 - -gram centimetre per second - - - -rec20 -
-MAH - -megavolt ampere reactive hour - - - -rec20 -
-MAL - -megalitre - - - -rec20 -
-MAM - -megametre - - - -rec20 -
-MAR - -megavar - - - -rec20 -
-MAW - -megawatt - - - -rec20 -
-MBE - -thousand standard brick equivalent - - - -rec20 -
-MBF - -thousand board foot - - - -rec20 -
-MBR - -millibar - - - -rec20 -
-MC - -microgram - - - -rec20 -
-MCU - -millicurie - - - -rec20 -
-MD - -air dry metric ton - - - -rec20 -
-MGM - -milligram - - - -rec20 -
-MHZ - -megahertz - - - -rec20 -
-MIK - -square mile (statute mile) - - - -rec20 -
-MIL - -thousand - - - -rec20 -
-MIN - -minute [unit of time] - - - -rec20 -
-MIO - -million - - - -rec20 -
-MIU - -million international unit - - - -rec20 -
-MKD - -Square Metre Day - - - -Rec20 -
-MKM - -Square Metre Month - - - -Rec20 -
-MKW - -Square Metre Week - - - -Rec20 -
-MLD - -milliard - - - -rec20 -
-MLT - -millilitre - - - -rec20 -
-MMK - -square millimetre - - - -rec20 -
-MMQ - -cubic millimetre - - - -rec20 -
-MMT - -millimetre - - - -rec20 -
-MND - -kilogram, dry weight - - - -rec20 -
-MNJ - -Mega Joule per Normalised cubic Metre - - - -Rec20 -
-MON - -month - - - -rec20 -
-MPA - -megapascal - - - -rec20 -
-MQD - -Cubic Metre Day - - - -Rec20 -
-MQH - -cubic metre per hour - - - -rec20 -
-MQM - -Cubic Metre Month - - - -Rec20 -
-MQS - -cubic metre per second - - - -rec20 -
-MQW - -Cubic Metre Week - - - -Rec20 -
-MRD - -Metre Day - - - -Rec20 -
-MRM - -Metre Month - - - -Rec20 -
-MRW - -Metre Week - - - -Rec20 -
-MSK - -metre per second squared - - - -rec20 -
-MTK - -square metre - - - -rec20 -
-MTQ - -cubic metre - - - -rec20 -
-MTR - -metre - - - -rec20 -
-MTS - -metre per second - - - -rec20 -
-MTZ - -milihertz - - - -Rec20 -
-MVA - -megavolt - ampere - - - -rec20 -
-MWH - -megawatt hour (1000 kW.h) - - - -rec20 -
-N1 - -pen calorie - - - -rec20 -
-N10 - -pound foot per second - - - -rec20 -
-N11 - -pound inch per second - - - -rec20 -
-N12 - -Pferdestaerke - - - -rec20 -
-N13 - -centimetre of mercury (0 ºC) - - - -rec20 -
-N14 - -centimetre of water (4 ºC) - - - -rec20 -
-N15 - -foot of water (39.2 ºF) - - - -rec20 -
-N16 - -inch of mercury (32 ºF) - - - -rec20 -
-N17 - -inch of mercury (60 ºF) - - - -rec20 -
-N18 - -inch of water (39.2 ºF) - - - -rec20 -
-N19 - -inch of water (60 ºF) - - - -rec20 -
-N20 - -kip per square inch - - - -rec20 -
-N21 - -poundal per square foot - - - -rec20 -
-N22 - -ounce (avoirdupois) per square inch - - - -rec20 -
-N23 - -conventional metre of water - - - -rec20 -
-N24 - -gram per square millimetre - - - -rec20 -
-N25 - -pound per square yard - - - -rec20 -
-N26 - -poundal per square inch - - - -rec20 -
-N27 - -foot to the fourth power - - - -rec20 -
-N28 - -cubic decimetre per kilogram - - - -rec20 -
-N29 - -cubic foot per pound - - - -rec20 -
-N3 - -print point - - - -rec20 -
-N30 - -cubic inch per pound - - - -rec20 -
-N31 - -kilonewton per metre - - - -rec20 -
-N32 - -poundal per inch - - - -rec20 -
-N33 - -pound-force per yard - - - -rec20 -
-N34 - -poundal second per square foot - - - -rec20 -
-N35 - -poise per pascal - - - -rec20 -
-N36 - -newton second per square metre - - - -rec20 -
-N37 - -kilogram per metre second - - - -rec20 -
-N38 - -kilogram per metre minute - - - -rec20 -
-N39 - -kilogram per metre day - - - -rec20 -
-N40 - -kilogram per metre hour - - - -rec20 -
-N41 - -gram per centimetre second - - - -rec20 -
-N42 - -poundal second per square inch - - - -rec20 -
-N43 - -pound per foot minute - - - -rec20 -
-N44 - -pound per foot day - - - -rec20 -
-N45 - -cubic metre per second pascal - - - -rec20 -
-N46 - -foot poundal - - - -rec20 -
-N47 - -inch poundal - - - -rec20 -
-N48 - -watt per square centimetre - - - -rec20 -
-N49 - -watt per square inch - - - -rec20 -
-N50 - -British thermal unit (international table) per square foot hour - - - -rec20 -
-N51 - -British thermal unit (thermochemical) per square foot hour - - - -rec20 -
-N52 - -British thermal unit (thermochemical) per square foot minute - - - -rec20 -
-N53 - -British thermal unit (international table) per square foot second - - - -rec20 -
-N54 - -British thermal unit (thermochemical) per square foot second - - - -rec20 -
-N55 - -British thermal unit (international table) per square inch second - - - -rec20 -
-N56 - -calorie (thermochemical) per square centimetre minute - - - -rec20 -
-N57 - -calorie (thermochemical) per square centimetre second - - - -rec20 -
-N58 - -British thermal unit (international table) per cubic foot - - - -rec20 -
-N59 - -British thermal unit (thermochemical) per cubic foot - - - -rec20 -
-N60 - -British thermal unit (international table) per degree Fahrenheit - - - -rec20 -
-N61 - -British thermal unit (thermochemical) per degree Fahrenheit - - - -rec20 -
-N62 - -British thermal unit (international table) per degree Rankine - - - -rec20 -
-N63 - -British thermal unit (thermochemical) per degree Rankine - - - -rec20 -
-N64 - -British thermal unit (thermochemical) per pound degree Rankine - - - -rec20 -
-N65 - -kilocalorie (international table) per gram kelvin - - - -rec20 -
-N66 - -British thermal unit (39 ºF) - - - -rec20 -
-N67 - -British thermal unit (59 ºF) - - - -rec20 -
-N68 - -British thermal unit (60 ºF) - - - -rec20 -
-N69 - -calorie (20 ºC) - - - -rec20 -
-N70 - -quad (1015 BtuIT) - - - -rec20 -
-N71 - -therm (EC) - - - -rec20 -
-N72 - -therm (U.S.) - - - -rec20 -
-N73 - -British thermal unit (thermochemical) per pound - - - -rec20 -
-N74 - -British thermal unit (international table) per hour square foot degree Fahrenheit - - - -rec20 -
-N75 - -British thermal unit (thermochemical) per hour square foot degree Fahrenheit - - - -rec20 -
-N76 - -British thermal unit (international table) per second square foot degree Fahrenheit - - - -rec20 -
-N77 - -British thermal unit (thermochemical) per second square foot degree Fahrenheit - - - -rec20 -
-N78 - -kilowatt per square metre kelvin - - - -rec20 -
-N79 - -kelvin per pascal - - - -rec20 -
-N80 - -watt per metre degree Celsius - - - -rec20 -
-N81 - -kilowatt per metre kelvin - - - -rec20 -
-N82 - -kilowatt per metre degree Celsius - - - -rec20 -
-N83 - -metre per degree Celcius metre - - - -rec20 -
-N84 - -degree Fahrenheit hour per British thermal unit (international table) - - - -rec20 -
-N85 - -degree Fahrenheit hour per British thermal unit (thermochemical) - - - -rec20 -
-N86 - -degree Fahrenheit second per British thermal unit (international table) - - - -rec20 -
-N87 - -degree Fahrenheit second per British thermal unit (thermochemical) - - - -rec20 -
-N88 - -degree Fahrenheit hour square foot per British thermal unit (international table) inch - - - -rec20 -
-N89 - -degree Fahrenheit hour square foot per British thermal unit (thermochemical) inch - - - -rec20 -
-N90 - -kilofarad - - - -rec20 -
-N91 - -reciprocal joule - - - -rec20 -
-N92 - -picosiemens - - - -rec20 -
-N93 - -ampere per pascal - - - -rec20 -
-N94 - -franklin - - - -rec20 -
-N95 - -ampere minute - - - -rec20 -
-N96 - -biot - - - -rec20 -
-N97 - -gilbert - - - -rec20 -
-N98 - -volt per pascal - - - -rec20 -
-N99 - -picovolt - - - -rec20 -
-NA - -milligram per kilogram - - - -rec20 -
-NAR - -number of articles - - - -rec20 -
-NCL - -number of cells - - - -rec20 -
-NEW - -newton - - - -rec20 -
-NF - -message - - - -rec20 -
-NIL - -nil - - - -rec20 -
-NIU - -number of international units - - - -rec20 -
-NL - -load - - - -rec20 -
-NM3 - -Normalised cubic metre - - - -rec20 -
-NMI - -nautical mile - - - -rec20 -
-NMP - -number of packs - - - -rec20 -
-NPT - -number of parts - - - -rec20 -
-NT - -net ton - - - -rec20 -
-NTU - -Nephelometric turbidity unit - - - -Rec20 -
-NU - -newton metre - - - -rec20 -
-NX - -part per thousand - - - -rec20 -
-OA - -panel - - - -rec20 -
-ODE - -ozone depletion equivalent - - - -rec20 -
-ODG - -ODS Grams - - - -rec20 -
-ODK - -ODS Kilograms - - - -rec20 -
-ODM - -ODS Milligrams - - - -rec20 -
-OHM - -ohm - - - -rec20 -
-ON - -ounce per square yard - - - -rec20 -
-ONZ - -ounce (avoirdupois) - - - -rec20 -
-OPM - -oscillations per minute - - - -rec20 -
-OT - -overtime hour - - - -rec20 -
-OZA - -fluid ounce (US) - - - -rec20 -
-OZI - -fluid ounce (UK) - - - -rec20 -
-P1 - -percent - - - -rec20 -
-P10 - -coulomb per metre - - - -rec20 -
-P11 - -kiloweber - - - -rec20 -
-P12 - -gamma - - - -rec20 -
-P13 - -kilotesla - - - -rec20 -
-P14 - -joule per second - - - -rec20 -
-P15 - -joule per minute - - - -rec20 -
-P16 - -joule per hour - - - -rec20 -
-P17 - -joule per day - - - -rec20 -
-P18 - -kilojoule per second - - - -rec20 -
-P19 - -kilojoule per minute - - - -rec20 -
-P2 - -pound per foot - - - -rec20 -
-P20 - -kilojoule per hour - - - -rec20 -
-P21 - -kilojoule per day - - - -rec20 -
-P22 - -nanoohm - - - -rec20 -
-P23 - -ohm circular-mil per foot - - - -rec20 -
-P24 - -kilohenry - - - -rec20 -
-P25 - -lumen per square foot - - - -rec20 -
-P26 - -phot - - - -rec20 -
-P27 - -footcandle - - - -rec20 -
-P28 - -candela per square inch - - - -rec20 -
-P29 - -footlambert - - - -rec20 -
-P30 - -lambert - - - -rec20 -
-P31 - -stilb - - - -rec20 -
-P32 - -candela per square foot - - - -rec20 -
-P33 - -kilocandela - - - -rec20 -
-P34 - -millicandela - - - -rec20 -
-P35 - -Hefner-Kerze - - - -rec20 -
-P36 - -international candle - - - -rec20 -
-P37 - -British thermal unit (international table) per square foot - - - -rec20 -
-P38 - -British thermal unit (thermochemical) per square foot - - - -rec20 -
-P39 - -calorie (thermochemical) per square centimetre - - - -rec20 -
-P40 - -langley - - - -rec20 -
-P41 - -decade (logarithmic) - - - -rec20 -
-P42 - -pascal squared second - - - -rec20 -
-P43 - -bel per metre - - - -rec20 -
-P44 - -pound mole - - - -rec20 -
-P45 - -pound mole per second - - - -rec20 -
-P46 - -pound mole per minute - - - -rec20 -
-P47 - -kilomole per kilogram - - - -rec20 -
-P48 - -pound mole per pound - - - -rec20 -
-P49 - -newton square metre per ampere - - - -rec20 -
-P5 - -five pack - - - -rec20 -
-P50 - -weber metre - - - -rec20 -
-P51 - -mol per kilogram pascal - - - -rec20 -
-P52 - -mol per cubic metre pascal - - - -rec20 -
-P53 - -unit pole - - - -rec20 -
-P54 - -milligray per second - - - -rec20 -
-P55 - -microgray per second - - - -rec20 -
-P56 - -nanogray per second - - - -rec20 -
-P57 - -gray per minute - - - -rec20 -
-P58 - -milligray per minute - - - -rec20 -
-P59 - -microgray per minute - - - -rec20 -
-P60 - -nanogray per minute - - - -rec20 -
-P61 - -gray per hour - - - -rec20 -
-P62 - -milligray per hour - - - -rec20 -
-P63 - -microgray per hour - - - -rec20 -
-P64 - -nanogray per hour - - - -rec20 -
-P65 - -sievert per second - - - -rec20 -
-P66 - -millisievert per second - - - -rec20 -
-P67 - -microsievert per second - - - -rec20 -
-P68 - -nanosievert per second - - - -rec20 -
-P69 - -rem per second - - - -rec20 -
-P70 - -sievert per hour - - - -rec20 -
-P71 - -millisievert per hour - - - -rec20 -
-P72 - -microsievert per hour - - - -rec20 -
-P73 - -nanosievert per hour - - - -rec20 -
-P74 - -sievert per minute - - - -rec20 -
-P75 - -millisievert per minute - - - -rec20 -
-P76 - -microsievert per minute - - - -rec20 -
-P77 - -nanosievert per minute - - - -rec20 -
-P78 - -reciprocal square inch - - - -rec20 -
-P79 - -pascal square metre per kilogram - - - -rec20 -
-P80 - -millipascal per metre - - - -rec20 -
-P81 - -kilopascal per metre - - - -rec20 -
-P82 - -hectopascal per metre - - - -rec20 -
-P83 - -standard atmosphere per metre - - - -rec20 -
-P84 - -technical atmosphere per metre - - - -rec20 -
-P85 - -torr per metre - - - -rec20 -
-P86 - -psi per inch - - - -rec20 -
-P87 - -cubic metre per second square metre - - - -rec20 -
-P88 - -rhe - - - -rec20 -
-P89 - -pound-force foot per inch - - - -rec20 -
-P90 - -pound-force inch per inch - - - -rec20 -
-P91 - -perm (0 ºC) - - - -rec20 -
-P92 - -perm (23 ºC) - - - -rec20 -
-P93 - -byte per second - - - -rec20 -
-P94 - -kilobyte per second - - - -rec20 -
-P95 - -megabyte per second - - - -rec20 -
-P96 - -reciprocal volt - - - -rec20 -
-P97 - -reciprocal radian - - - -rec20 -
-P98 - -pascal to the power sum of stoichiometric numbers - - - -rec20 -
-P99 - -mole per cubiv metre to the power sum of stoichiometric numbers - - - -rec20 -
-PAL - -pascal - - - -rec20 -
-PD - -pad - - - -rec20 -
-PFL - -proof litre - - - -rec20 -
-PGL - -proof gallon - - - -rec20 -
-PI - -pitch - - - -rec20 -
-PLA - -degree Plato - - - -rec20 -
-PO - -pound per inch of length - - - -rec20 -
-PQ - -page per inch - - - -rec20 -
-PR - -pair - - - -rec20 -
-PS - -pound-force per square inch - - - -rec20 -
-PTD - -dry pint (US) - - - -rec20 -
-PTI - -pint (UK) - - - -rec20 -
-PTL - -liquid pint (US) - - - -rec20 -
-PTN - -portion - - - -rec20 -
-Q10 - -joule per tesla - - - -rec20 -
-Q11 - -erlang - - - -rec20 -
-Q12 - -octet - - - -rec20 -
-Q13 - -octet per second - - - -rec20 -
-Q14 - -shannon - - - -rec20 -
-Q15 - -hartley - - - -rec20 -
-Q16 - -natural unit of information - - - -rec20 -
-Q17 - -shannon per second - - - -rec20 -
-Q18 - -hartley per second - - - -rec20 -
-Q19 - -natural unit of information per second - - - -rec20 -
-Q20 - -second per kilogramm - - - -rec20 -
-Q21 - -watt square metre - - - -rec20 -
-Q22 - -second per radian cubic metre - - - -rec20 -
-Q23 - -weber to the power minus one - - - -rec20 -
-Q24 - -reciprocal inch - - - -rec20 -
-Q25 - -dioptre - - - -rec20 -
-Q26 - -one per one - - - -rec20 -
-Q27 - -newton metre per metre - - - -rec20 -
-Q28 - -kilogram per square metre pascal second - - - -rec20 -
-Q29 - -microgram per hectogram - - - -rec20 -
-Q3 - -meal - - - -rec20 -
-Q30 - -pH (potential of Hydrogen) - - - -rec20 -
-Q31 - -kilojoule per gram - - - -rec20 -
-Q32 - -femtolitre - - - -rec20 -
-Q33 - -picolitre - - - -rec20 -
-Q34 - -nanolitre - - - -rec20 -
-Q35 - -megawatts per minute - - - -rec20 -
-Q36 - -square metre per cubic metre - - - -rec20 -
-Q37 - -Standard cubic metre per day - - - -rec20 -
-Q38 - -Standard cubic metre per hour - - - -rec20 -
-Q39 - -Normalized cubic metre per day - - - -rec20 -
-Q40 - -Normalized cubic metre per hour - - - -rec20 -
-Q41 - -Joule per normalised cubic metre - - - -rec20 -
-Q42 - -Joule per standard cubic metre - - - -rec20 -
-QA - -page - facsimile - - - -rec20 -
-QAN - -quarter (of a year) - - - -rec20 -
-QB - -page - hardcopy - - - -rec20 -
-QR - -quire - - - -rec20 -
-QTD - -dry quart (US) - - - -rec20 -
-QTI - -quart (UK) - - - -rec20 -
-QTL - -liquid quart (US) - - - -rec20 -
-QTR - -quarter (UK) - - - -rec20 -
-R1 - -pica - - - -rec20 -
-R9 - -thousand cubic metre - - - -rec20 -
-RH - -running or operating hour - - - -rec20 -
-RM - -ream - - - -rec20 -
-ROM - -room - - - -rec20 -
-RP - -pound per ream - - - -rec20 -
-RPM - -revolutions per minute - - - -rec20 -
-RPS - -revolutions per second - - - -rec20 -
-RT - -revenue ton mile - - - -rec20 -
-S3 - -square foot per second - - - -rec20 -
-S4 - -square metre per second - - - -rec20 -
-SAN - -half year (6 months) - - - -rec20 -
-SCO - -score - - - -rec20 -
-SCR - -scruple - - - -rec20 -
-SEC - -second [unit of time] - - - -rec20 -
-SET - -set - - - -rec20 -
-SG - -segment - - - -rec20 -
-SIE - -siemens - - - -rec20 -
-SM3 - -Standard cubic metre - - - -rec20 -
-SMI - -mile (statute mile) - - - -rec20 -
-SQ - -square - - - -rec20 -
-SQR - -square, roofing - - - -rec20 -
-SR - -strip - - - -rec20 -
-STC - -stick - - - -rec20 -
-STI - -stone (UK) - - - -rec20 -
-STK - -stick, cigarette - - - -rec20 -
-STL - -standard litre - - - -rec20 -
-STN - -ton (US) or short ton (UK/US) - - - -rec20 -
-STW - -straw - - - -rec20 -
-SW - -skein - - - -rec20 -
-SX - -shipment - - - -rec20 -
-SYR - -syringe - - - -rec20 -
-T0 - -telecommunication line in service - - - -rec20 -
-T3 - -thousand piece - - - -rec20 -
-TAH - -kiloampere hour (thousand ampere hour) - - - -rec20 -
-TAN - -total acid number - - - -rec20 -
-TI - -thousand square inch - - - -rec20 -
-TIC - -metric ton, including container - - - -rec20 -
-TIP - -metric ton, including inner packaging - - - -rec20 -
-TKM - -tonne kilometre - - - -rec20 -
-TMS - -kilogram of imported meat, less offal - - - -rec20 -
-TNE - -tonne (metric ton) - - - -rec20 -
-TP - -ten pack - - - -rec20 -
-TPI - -teeth per inch - - - -rec20 -
-TPR - -ten pair - - - -rec20 -
-TQD - -thousand cubic metre per day - - - -rec20 -
-TRL - -trillion (EUR) - - - -rec20 -
-TST - -ten set - - - -rec20 -
-TTS - -ten thousand sticks - - - -rec20 -
-U1 - -treatment - - - -rec20 -
-U2 - -tablet - - - -rec20 -
-UB - -telecommunication line in service average - - - -rec20 -
-UC - -telecommunication port - - - -rec20 -
-VA - -volt - ampere per kilogram - - - -rec20 -
-VLT - -volt - - - -rec20 -
-VP - -percent volume - - - -rec20 -
-W2 - -wet kilo - - - -rec20 -
-WA - -watt per kilogram - - - -rec20 -
-WB - -wet pound - - - -rec20 -
-WCD - -cord - - - -rec20 -
-WE - -wet ton - - - -rec20 -
-WEB - -weber - - - -rec20 -
-WEE - -week - - - -rec20 -
-WG - -wine gallon - - - -rec20 -
-WHR - -watt hour - - - -rec20 -
-WM - -working month - - - -rec20 -
-WSD - -standard - - - -rec20 -
-WTT - -watt - - - -rec20 -
-X1 - -Gunter's chain - - - -rec20 -
-YDK - -square yard - - - -rec20 -
-YDQ - -cubic yard - - - -rec20 -
-YRD - -yard - - - -rec20 -
-Z11 - -hanging container - - - -rec20 -
-Z9 - -nanomole - - - -Rec20 -
-ZP - -page - - - -rec20 -
-ZZ - -mutually defined - - - -rec20 -
-X1A - -Drum, steel - - - -rec21 -
-X1B - -Drum, aluminium - - - -rec21 -
-X1D - -Drum, plywood - - - -rec21 -
-X1F - -Container, flexible - - - -rec21 -
-X1G - -Drum, fibre - - - -rec21 -
-X1W - -Drum, wooden - - - -rec21 -
-X2C - -Barrel, wooden - - - -rec21 -
-X3A - -Jerrican, steel - - - -rec21 -
-X3H - -Jerrican, plastic - - - -rec21 -
-X43 - -Bag, super bulk - - - -rec21 -
-X44 - -Bag, polybag - - - -rec21 -
-X4A - -Box, steel - - - -rec21 -
-X4B - -Box, aluminium - - - -rec21 -
-X4C - -Box, natural wood - - - -rec21 -
-X4D - -Box, plywood - - - -rec21 -
-X4F - -Box, reconstituted wood - - - -rec21 -
-X4G - -Box, fibreboard - - - -rec21 -
-X4H - -Box, plastic - - - -rec21 -
-X5H - -Bag, woven plastic - - - -rec21 -
-X5L - -Bag, textile - - - -rec21 -
-X5M - -Bag, paper - - - -rec21 -
-X6H - -Composite packaging, plastic receptacle - - - -rec21 -
-X6P - -Composite packaging, glass receptacle - - - -rec21 -
-X7A - -Case, car - - - -rec21 -
-X7B - -Case, wooden - - - -rec21 -
-X8A - -Pallet, wooden - - - -rec21 -
-X8B - -Crate, wooden - - - -rec21 -
-X8C - -Bundle, wooden - - - -rec21 -
-XAA - -Intermediate bulk container, rigid plastic - - - -rec21 -
-XAB - -Receptacle, fibre - - - -rec21 -
-XAC - -Receptacle, paper - - - -rec21 -
-XAD - -Receptacle, wooden - - - -rec21 -
-XAE - -Aerosol - - - -rec21 -
-XAF - -Pallet, modular, collars 80cms * 60cms - - - -rec21 -
-XAG - -Pallet, shrinkwrapped - - - -rec21 -
-XAH - -Pallet, 100cms * 110cms - - - -rec21 -
-XAI - -Clamshell - - - -rec21 -
-XAJ - -Cone - - - -rec21 -
-XAL - -Ball - - - -rec21 -
-XAM - -Ampoule, non-protected - - - -rec21 -
-XAP - -Ampoule, protected - - - -rec21 -
-XAT - -Atomizer - - - -rec21 -
-XAV - -Capsule - - - -rec21 -
-XB4 - -Belt - - - -rec21 -
-XBA - -Barrel - - - -rec21 -
-XBB - -Bobbin - - - -rec21 -
-XBC - -Bottlecrate / bottlerack - - - -rec21 -
-XBD - -Board - - - -rec21 -
-XBE - -Bundle - - - -rec21 -
-XBF - -Balloon, non-protected - - - -rec21 -
-XBG - -Bag - - - -rec21 -
-XBH - -Bunch - - - -rec21 -
-XBI - -Bin - - - -rec21 -
-XBJ - -Bucket - - - -rec21 -
-XBK - -Basket - - - -rec21 -
-XBL - -Bale, compressed - - - -rec21 -
-XBM - -Basin - - - -rec21 -
-XBN - -Bale, non-compressed - - - -rec21 -
-XBO - -Bottle, non-protected, cylindrical - - - -rec21 -
-XBP - -Balloon, protected - - - -rec21 -
-XBQ - -Bottle, protected cylindrical - - - -rec21 -
-XBR - -Bar - - - -rec21 -
-XBS - -Bottle, non-protected, bulbous - - - -rec21 -
-XBT - -Bolt - - - -rec21 -
-XBU - -Butt - - - -rec21 -
-XBV - -Bottle, protected bulbous - - - -rec21 -
-XBW - -Box, for liquids - - - -rec21 -
-XBX - -Box - - - -rec21 -
-XBY - -Board, in bundle/bunch/truss - - - -rec21 -
-XBZ - -Bars, in bundle/bunch/truss - - - -rec21 -
-XCA - -Can, rectangular - - - -rec21 -
-XCB - -Crate, beer - - - -rec21 -
-XCC - -Churn - - - -rec21 -
-XCD - -Can, with handle and spout - - - -rec21 -
-XCE - -Creel - - - -rec21 -
-XCF - -Coffer - - - -rec21 -
-XCG - -Cage - - - -rec21 -
-XCH - -Chest - - - -rec21 -
-XCI - -Canister - - - -rec21 -
-XCJ - -Coffin - - - -rec21 -
-XCK - -Cask - - - -rec21 -
-XCL - -Coil - - - -rec21 -
-XCM - -Card - - - -rec21 -
-XCN - -Container, not otherwise specified as transport equipment - - - -rec21 -
-XCO - -Carboy, non-protected - - - -rec21 -
-XCP - -Carboy, protected - - - -rec21 -
-XCQ - -Cartridge - - - -rec21 -
-XCR - -Crate - - - -rec21 -
-XCS - -Case - - - -rec21 -
-XCT - -Carton - - - -rec21 -
-XCU - -Cup - - - -rec21 -
-XCV - -Cover - - - -rec21 -
-XCW - -Cage, roll - - - -rec21 -
-XCX - -Can, cylindrical - - - -rec21 -
-XCY - -Cylinder - - - -rec21 -
-XCZ - -Canvas - - - -rec21 -
-XDA - -Crate, multiple layer, plastic - - - -rec21 -
-XDB - -Crate, multiple layer, wooden - - - -rec21 -
-XDC - -Crate, multiple layer, cardboard - - - -rec21 -
-XDG - -Cage, Commonwealth Handling Equipment Pool (CHEP) - - - -rec21 -
-XDH - -Box, Commonwealth Handling Equipment Pool (CHEP), Eurobox - - - -rec21 -
-XDI - -Drum, iron - - - -rec21 -
-XDJ - -Demijohn, non-protected - - - -rec21 -
-XDK - -Crate, bulk, cardboard - - - -rec21 -
-XDL - -Crate, bulk, plastic - - - -rec21 -
-XDM - -Crate, bulk, wooden - - - -rec21 -
-XDN - -Dispenser - - - -rec21 -
-XDP - -Demijohn, protected - - - -rec21 -
-XDR - -Drum - - - -rec21 -
-XDS - -Tray, one layer no cover, plastic - - - -rec21 -
-XDT - -Tray, one layer no cover, wooden - - - -rec21 -
-XDU - -Tray, one layer no cover, polystyrene - - - -rec21 -
-XDV - -Tray, one layer no cover, cardboard - - - -rec21 -
-XDW - -Tray, two layers no cover, plastic tray - - - -rec21 -
-XDX - -Tray, two layers no cover, wooden - - - -rec21 -
-XDY - -Tray, two layers no cover, cardboard - - - -rec21 -
-XEC - -Bag, plastic - - - -rec21 -
-XED - -Case, with pallet base - - - -rec21 -
-XEE - -Case, with pallet base, wooden - - - -rec21 -
-XEF - -Case, with pallet base, cardboard - - - -rec21 -
-XEG - -Case, with pallet base, plastic - - - -rec21 -
-XEH - -Case, with pallet base, metal - - - -rec21 -
-XEI - -Case, isothermic - - - -rec21 -
-XEN - -Envelope - - - -rec21 -
-XFB - -Flexibag - - - -rec21 -
-XFC - -Crate, fruit - - - -rec21 -
-XFD - -Crate, framed - - - -rec21 -
-XFE - -Flexitank - - - -rec21 -
-XFI - -Firkin - - - -rec21 -
-XFL - -Flask - - - -rec21 -
-XFO - -Footlocker - - - -rec21 -
-XFP - -Filmpack - - - -rec21 -
-XFR - -Frame - - - -rec21 -
-XFT - -Foodtainer - - - -rec21 -
-XFW - -Cart, flatbed - - - -rec21 -
-XFX - -Bag, flexible container - - - -rec21 -
-XGB - -Bottle, gas - - - -rec21 -
-XGI - -Girder - - - -rec21 -
-XGL - -Container, gallon - - - -rec21 -
-XGR - -Receptacle, glass - - - -rec21 -
-XGU - -Tray, containing horizontally stacked flat items - - - -rec21 -
-XGY - -Bag, gunny - - - -rec21 -
-XGZ - -Girders, in bundle/bunch/truss - - - -rec21 -
-XHA - -Basket, with handle, plastic - - - -rec21 -
-XHB - -Basket, with handle, wooden - - - -rec21 -
-XHC - -Basket, with handle, cardboard - - - -rec21 -
-XHG - -Hogshead - - - -rec21 -
-XHN - -Hanger - - - -rec21 -
-XHR - -Hamper - - - -rec21 -
-XIA - -Package, display, wooden - - - -rec21 -
-XIB - -Package, display, cardboard - - - -rec21 -
-XIC - -Package, display, plastic - - - -rec21 -
-XID - -Package, display, metal - - - -rec21 -
-XIE - -Package, show - - - -rec21 -
-XIF - -Package, flow - - - -rec21 -
-XIG - -Package, paper wrapped - - - -rec21 -
-XIH - -Drum, plastic - - - -rec21 -
-XIK - -Package, cardboard, with bottle grip-holes - - - -rec21 -
-XIL - -Tray, rigid, lidded stackable (CEN TS 14482:2002) - - - -rec21 -
-XIN - -Ingot - - - -rec21 -
-XIZ - -Ingots, in bundle/bunch/truss - - - -rec21 -
-XJB - -Bag, jumbo - - - -rec21 -
-XJC - -Jerrican, rectangular - - - -rec21 -
-XJG - -Jug - - - -rec21 -
-XJR - -Jar - - - -rec21 -
-XJT - -Jutebag - - - -rec21 -
-XJY - -Jerrican, cylindrical - - - -rec21 -
-XKG - -Keg - - - -rec21 -
-XKI - -Kit - - - -rec21 -
-XLE - -Luggage - - - -rec21 -
-XLG - -Log - - - -rec21 -
-XLT - -Lot - - - -rec21 -
-XLU - -Lug - - - -rec21 -
-XLV - -Liftvan - - - -rec21 -
-XLZ - -Logs, in bundle/bunch/truss - - - -rec21 -
-XMA - -Crate, metal - - - -rec21 -
-XMB - -Bag, multiply - - - -rec21 -
-XMC - -Crate, milk - - - -rec21 -
-XME - -Container, metal - - - -rec21 -
-XMR - -Receptacle, metal - - - -rec21 -
-XMS - -Sack, multi-wall - - - -rec21 -
-XMT - -Mat - - - -rec21 -
-XMW - -Receptacle, plastic wrapped - - - -rec21 -
-XMX - -Matchbox - - - -rec21 -
-XNA - -Not available - - - -rec21 -
-XNE - -Unpacked or unpackaged - - - -rec21 -
-XNF - -Unpacked or unpackaged, single unit - - - -rec21 -
-XNG - -Unpacked or unpackaged, multiple units - - - -rec21 -
-XNS - -Nest - - - -rec21 -
-XNT - -Net - - - -rec21 -
-XNU - -Net, tube, plastic - - - -rec21 -
-XNV - -Net, tube, textile - - - -rec21 -
-XO1 - -Two sided cage on wheels with fixing strap - - - -Rec21 -
-XO2 - -Trolley - - - -Rec21 -
-XO3 - -Oneway pallet ISO 0 - 1/2 EURO Pallet - - - -Rec21 -
-XO4 - -Oneway pallet ISO 1 - 1/1 EURO Pallet - - - -Rec21 -
-XO5 - -Oneway pallet ISO 2 - 2/1 EURO Pallet - - - -Rec21 -
-XO6 - -Pallet with exceptional dimensions - - - -Rec21 -
-XO7 - -Wooden pallet 40 cm x 80 cm - - - -Rec21 -
-XO8 - -Plastic pallet SRS 60 cm x 80 cm - - - -Rec21 -
-XO9 - -Plastic pallet SRS 80 cm x 120 cm - - - -Rec21 -
-XOA - -Pallet, CHEP 40 cm x 60 cm - - - -rec21 -
-XOB - -Pallet, CHEP 80 cm x 120 cm - - - -rec21 -
-XOC - -Pallet, CHEP 100 cm x 120 cm - - - -rec21 -
-XOD - -Pallet, AS 4068-1993 - - - -rec21 -
-XOE - -Pallet, ISO T11 - - - -rec21 -
-XOF - -Platform, unspecified weight or dimension - - - -rec21 -
-XOG - -Pallet ISO 0 - 1/2 EURO Pallet - - - -Rec21 -
-XOH - -Pallet ISO 1 - 1/1 EURO Pallet - - - -Rec21 -
-XOI - -Pallet ISO 2 – 2/1 EURO Pallet - - - -Rec21 -
-XOJ - -1/4 EURO Pallet - - - -Rec21 -
-XOK - -Block - - - -rec21 -
-XOL - -1/8 EURO Pallet - - - -Rec21 -
-XOM - -Synthetic pallet ISO 1 - - - -Rec21 -
-XON - -Synthetic pallet ISO 2 - - - -Rec21 -
-XOP - -Wholesaler pallet - - - -Rec21 -
-XOQ - -Pallet 80 X 100 cm - - - -Rec21 -
-XOR - -Pallet 60 X 100 cm - - - -Rec21 -
-XOS - -Oneway pallet - - - -Rec21 -
-XOT - -Octabin - - - -rec21 -
-XOU - -Container, outer - - - -rec21 -
-XOV - -Returnable pallet - - - -Rec21 -
-XOW - -Large bag, pallet sized - - - -Rec21 -
-XOX - -A wheeled pallet with raised rim (81 x 67 x 135) - - - -Rec21 -
-XOY - -A Wheeled pallet with raised rim (81 x 72 x 135) - - - -Rec21 -
-XOZ - -Wheeled pallet with raised rim ( 81 x 60 x 16) - - - -Rec21 -
-XP1 - -CHEP pallet 60 cm x 80 cm - - - -Rec21 -
-XP2 - -Pan - - - -rec21 -
-XP3 - -LPR pallet 60 cm x 80 cm - - - -Rec21 -
-XP4 - -LPR pallet 80 cm x 120 cm - - - -Rec21 -
-XPA - -Packet - - - -rec21 -
-XPB - -Pallet, box Combined open-ended box and pallet - - - -rec21 -
-XPC - -Parcel - - - -rec21 -
-XPD - -Pallet, modular, collars 80cms * 100cms - - - -rec21 -
-XPE - -Pallet, modular, collars 80cms * 120cms - - - -rec21 -
-XPF - -Pen - - - -rec21 -
-XPG - -Plate - - - -rec21 -
-XPH - -Pitcher - - - -rec21 -
-XPI - -Pipe - - - -rec21 -
-XPJ - -Punnet - - - -rec21 -
-XPK - -Package - - - -rec21 -
-XPL - -Pail - - - -rec21 -
-XPN - -Plank - - - -rec21 -
-XPO - -Pouch - - - -rec21 -
-XPP - -Piece - - - -rec21 -
-XPR - -Receptacle, plastic - - - -rec21 -
-XPT - -Pot - - - -rec21 -
-XPU - -Tray - - - -rec21 -
-XPV - -Pipes, in bundle/bunch/truss - - - -rec21 -
-XPX - -Pallet - - - -rec21 -
-XPY - -Plates, in bundle/bunch/truss - - - -rec21 -
-XPZ - -Planks, in bundle/bunch/truss - - - -rec21 -
-XQA - -Drum, steel, non-removable head - - - -rec21 -
-XQB - -Drum, steel, removable head - - - -rec21 -
-XQC - -Drum, aluminium, non-removable head - - - -rec21 -
-XQD - -Drum, aluminium, removable head - - - -rec21 -
-XQF - -Drum, plastic, non-removable head - - - -rec21 -
-XQG - -Drum, plastic, removable head - - - -rec21 -
-XQH - -Barrel, wooden, bung type - - - -rec21 -
-XQJ - -Barrel, wooden, removable head - - - -rec21 -
-XQK - -Jerrican, steel, non-removable head - - - -rec21 -
-XQL - -Jerrican, steel, removable head - - - -rec21 -
-XQM - -Jerrican, plastic, non-removable head - - - -rec21 -
-XQN - -Jerrican, plastic, removable head - - - -rec21 -
-XQP - -Box, wooden, natural wood, ordinary - - - -rec21 -
-XQQ - -Box, wooden, natural wood, with sift proof walls - - - -rec21 -
-XQR - -Box, plastic, expanded - - - -rec21 -
-XQS - -Box, plastic, solid - - - -rec21 -
-XRD - -Rod - - - -rec21 -
-XRG - -Ring - - - -rec21 -
-XRJ - -Rack, clothing hanger - - - -rec21 -
-XRK - -Rack - - - -rec21 -
-XRL - -Reel - - - -rec21 -
-XRO - -Roll - - - -rec21 -
-XRT - -Rednet - - - -rec21 -
-XRZ - -Rods, in bundle/bunch/truss - - - -rec21 -
-XSA - -Sack - - - -rec21 -
-XSB - -Slab - - - -rec21 -
-XSC - -Crate, shallow - - - -rec21 -
-XSD - -Spindle - - - -rec21 -
-XSE - -Sea-chest - - - -rec21 -
-XSH - -Sachet - - - -rec21 -
-XSI - -Skid - - - -rec21 -
-XSK - -Case, skeleton - - - -rec21 -
-XSL - -Slipsheet - - - -rec21 -
-XSM - -Sheetmetal - - - -rec21 -
-XSO - -Spool - - - -rec21 -
-XSP - -Sheet, plastic wrapping - - - -rec21 -
-XSS - -Case, steel - - - -rec21 -
-XST - -Sheet - - - -rec21 -
-XSU - -Suitcase - - - -rec21 -
-XSV - -Envelope, steel - - - -rec21 -
-XSW - -Shrinkwrapped - - - -rec21 -
-XSX - -Set - - - -Rec21 -
-XSY - -Sleeve - - - -rec21 -
-XSZ - -Sheets, in bundle/bunch/truss - - - -rec21 -
-XT1 - -Tablet - - - -rec21 -
-XTB - -Tub - - - -rec21 -
-XTC - -Tea-chest - - - -rec21 -
-XTD - -Tube, collapsible - - - -rec21 -
-XTE - -Tyre - - - -rec21 -
-XTG - -Tank container, generic - - - -rec21 -
-XTI - -Tierce - - - -rec21 -
-XTK - -Tank, rectangular - - - -rec21 -
-XTL - -Tub, with lid - - - -rec21 -
-XTN - -Tin - - - -rec21 -
-XTO - -Tun - - - -rec21 -
-XTR - -Trunk - - - -rec21 -
-XTS - -Truss - - - -rec21 -
-XTT - -Bag, tote - - - -rec21 -
-XTU - -Tube - - - -rec21 -
-XTV - -Tube, with nozzle - - - -rec21 -
-XTW - -Pallet, triwall - - - -rec21 -
-XTY - -Tank, cylindrical - - - -rec21 -
-XTZ - -Tubes, in bundle/bunch/truss - - - -rec21 -
-XUC - -Uncaged - - - -rec21 -
-XUN - -Unit - - - -rec21 -
-XVA - -Vat - - - -rec21 -
-XVG - -Bulk, gas (at 1031 mbar and 15°C) - - - -rec21 -
-XVI - -Vial - - - -rec21 -
-XVK - -Vanpack - - - -rec21 -
-XVL - -Bulk, liquid - - - -rec21 -
-XVN - -Vehicle - - - -rec21 -
-XVO - -Bulk, solid, large particles (“nodules”) - - - -rec21 -
-XVP - -Vacuum-packed - - - -rec21 -
-XVQ - -Bulk, liquefied gas (at abnormal temperature/pressure) - - - -rec21 -
-XVR - -Bulk, solid, granular particles (“grains”) - - - -rec21 -
-XVS - -Bulk, scrap metal - - - -rec21 -
-XVY - -Bulk, solid, fine particles (“powders”) - - - -rec21 -
-XWA - -Intermediate bulk container - - - -rec21 -
-XWB - -Wickerbottle - - - -rec21 -
-XWC - -Intermediate bulk container, steel - - - -rec21 -
-XWD - -Intermediate bulk container, aluminium - - - -rec21 -
-XWF - -Intermediate bulk container, metal - - - -rec21 -
-XWG - -Intermediate bulk container, steel, pressurised > 10 kpa - - - -rec21 -
-XWH - -Intermediate bulk container, aluminium, pressurised > 10 kpa - - - -rec21 -
-XWJ - -Intermediate bulk container, metal, pressure 10 kpa - - - -rec21 -
-XWK - -Intermediate bulk container, steel, liquid - - - -rec21 -
-XWL - -Intermediate bulk container, aluminium, liquid - - - -rec21 -
-XWM - -Intermediate bulk container, metal, liquid - - - -rec21 -
-XWN - -Intermediate bulk container, woven plastic, without coat/liner - - - -rec21 -
-XWP - -Intermediate bulk container, woven plastic, coated - - - -rec21 -
-XWQ - -Intermediate bulk container, woven plastic, with liner - - - -rec21 -
-XWR - -Intermediate bulk container, woven plastic, coated and liner - - - -rec21 -
-XWS - -Intermediate bulk container, plastic film - - - -rec21 -
-XWT - -Intermediate bulk container, textile with out coat/liner - - - -rec21 -
-XWU - -Intermediate bulk container, natural wood, with inner liner - - - -rec21 -
-XWV - -Intermediate bulk container, textile, coated - - - -rec21 -
-XWW - -Intermediate bulk container, textile, with liner - - - -rec21 -
-XWX - -Intermediate bulk container, textile, coated and liner - - - -rec21 -
-XWY - -Intermediate bulk container, plywood, with inner liner - - - -rec21 -
-XWZ - -Intermediate bulk container, reconstituted wood, with inner liner - - - -rec21 -
-XXA - -Bag, woven plastic, without inner coat/liner - - - -rec21 -
-XXB - -Bag, woven plastic, sift proof - - - -rec21 -
-XXC - -Bag, woven plastic, water resistant - - - -rec21 -
-XXD - -Bag, plastics film - - - -rec21 -
-XXF - -Bag, textile, without inner coat/liner - - - -rec21 -
-XXG - -Bag, textile, sift proof - - - -rec21 -
-XXH - -Bag, textile, water resistant - - - -rec21 -
-XXJ - -Bag, paper, multi-wall - - - -rec21 -
-XXK - -Bag, paper, multi-wall, water resistant - - - -rec21 -
-XYA - -Composite packaging, plastic receptacle in steel drum - - - -rec21 -
-XYB - -Composite packaging, plastic receptacle in steel crate box - - - -rec21 -
-XYC - -Composite packaging, plastic receptacle in aluminium drum - - - -rec21 -
-XYD - -Composite packaging, plastic receptacle in aluminium crate - - - -rec21 -
-XYF - -Composite packaging, plastic receptacle in wooden box - - - -rec21 -
-XYG - -Composite packaging, plastic receptacle in plywood drum - - - -rec21 -
-XYH - -Composite packaging, plastic receptacle in plywood box - - - -rec21 -
-XYJ - -Composite packaging, plastic receptacle in fibre drum - - - -rec21 -
-XYK - -Composite packaging, plastic receptacle in fibreboard box - - - -rec21 -
-XYL - -Composite packaging, plastic receptacle in plastic drum - - - -rec21 -
-XYM - -Composite packaging, plastic receptacle in solid plastic box - - - -rec21 -
-XYN - -Composite packaging, glass receptacle in steel drum - - - -rec21 -
-XYP - -Composite packaging, glass receptacle in steel crate box - - - -rec21 -
-XYQ - -Composite packaging, glass receptacle in aluminium drum - - - -rec21 -
-XYR - -Composite packaging, glass receptacle in aluminium crate - - - -rec21 -
-XYS - -Composite packaging, glass receptacle in wooden box - - - -rec21 -
-XYT - -Composite packaging, glass receptacle in plywood drum - - - -rec21 -
-XYV - -Composite packaging, glass receptacle in wickerwork hamper - - - -rec21 -
-XYW - -Composite packaging, glass receptacle in fibre drum - - - -rec21 -
-XYX - -Composite packaging, glass receptacle in fibreboard box - - - -rec21 -
-XYY - -Composite packaging, glass receptacle in expandable plastic pack - - - -rec21 -
-XYZ - -Composite packaging, glass receptacle in solid plastic pack - - - -rec21 -
-XZA - -Intermediate bulk container, paper, multi-wall - - - -rec21 -
-XZB - -Bag, large - - - -rec21 -
-XZC - -Intermediate bulk container, paper, multi-wall, water resistant - - - -rec21 -
-XZD - -Intermediate bulk container, rigid plastic, with structural equipment, solids - - - -rec21 -
-XZF - -Intermediate bulk container, rigid plastic, freestanding, solids - - - -rec21 -
-XZG - -Intermediate bulk container, rigid plastic, with structural equipment, pressurised - - - -rec21 -
-XZH - -Intermediate bulk container, rigid plastic, freestanding, pressurised - - - -rec21 -
-XZJ - -Intermediate bulk container, rigid plastic, with structural equipment, liquids - - - -rec21 -
-XZK - -Intermediate bulk container, rigid plastic, freestanding, liquids - - - -rec21 -
-XZL - -Intermediate bulk container, composite, rigid plastic, solids - - - -rec21 -
-XZM - -Intermediate bulk container, composite, flexible plastic, solids - - - -rec21 -
-XZN - -Intermediate bulk container, composite, rigid plastic, pressurised - - - -rec21 -
-XZP - -Intermediate bulk container, composite, flexible plastic, pressurised - - - -rec21 -
-XZQ - -Intermediate bulk container, composite, rigid plastic, liquids - - - -rec21 -
-XZR - -Intermediate bulk container, composite, flexible plastic, liquids - - - -rec21 -
-XZS - -Intermediate bulk container, composite - - - -rec21 -
-XZT - -Intermediate bulk container, fibreboard - - - -rec21 -
-XZU - -Intermediate bulk container, flexible - - - -rec21 -
-XZV - -Intermediate bulk container, metal, other than steel - - - -rec21 -
-XZW - -Intermediate bulk container, natural wood - - - -rec21 -
-XZX - -Intermediate bulk container, plywood - - - -rec21 -
-XZY - -Intermediate bulk container, reconstituted wood - - - -rec21 -
-XZZ - -Mutually defined - - - -rec21 -
diff --git a/docs/content/docs/codelists/untdid-1001.mdx b/docs/content/docs/codelists/untdid-1001.mdx deleted file mode 100644 index cfac6806..00000000 --- a/docs/content/docs/codelists/untdid-1001.mdx +++ /dev/null @@ -1,730 +0,0 @@ ---- -title: UNTDID 1001 — Document type -description: Document/message identifier expressed in code. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - UNTDID_1001, - Untdid1001, - untdid1001Code, - PUBLISHED, - type Untdid1001Definition, - type Untdid1001Code, -} from "node-zugferd/codelist/untdid-1001"; - -``` - -
- -Source - -
- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Name - -EN16931 interpretation -
-71 - -Request for payment - -Invoice -
-80 - -Debit note related to goods or services - -Invoice -
-81 - -Credit note related to goods or services - -Credit Note -
-82 - -Metered services invoice - -Invoice -
-83 - -Credit note related to financial adjustments - -Credit Note -
-84 - -Debit note related to financial adjustments - -Invoice -
-102 - -Tax notification - -Invoice -
-130 - -Invoicing data sheet - -Invoice -
-202 - -Direct payment valuation - -Invoice -
-203 - -Provisional payment valuation - -Invoice -
-204 - -Payment valuation - -Invoice -
-211 - -Interim application for payment - -Invoice -
-218 - -Final payment request based on completion of work - -Invoice -
-219 - -Payment request for completed units - -Invoice -
-261 - -Self billed credit note - -Credit Note -
-262 - -Consolidated credit note - goods and services - -Credit Note -
-295 - -Price variation invoice - -Invoice -
-296 - -Credit note for price variation - -Credit Note -
-308 - -Delcredere credit note - -Credit Note -
-325 - -Proforma invoice - -Invoice -
-326 - -Partial invoice - -Invoice -
-331 - -Commercial invoice which includes a packing list - -Invoice -
-380 - -Commercial invoice - -Invoice -
-381 - -Credit note - -Credit Note -
-382 - -Commission note - -Invoice -
-383 - -Debit note - -Invoice -
-384 - -Corrected invoice - -Invoice -
-385 - -Consolidated invoice - -Invoice -
-386 - -Prepayment invoice - -Invoice -
-387 - -Hire invoice - -Invoice -
-388 - -Tax invoice - -Invoice -
-389 - -Self-billed invoice - -Invoice -
-390 - -Delcredere invoice - -Invoice -
-393 - -Factored invoice - -Invoice -
-394 - -Lease invoice - -Invoice -
-395 - -Consignment invoice - -Invoice -
-396 - -Factored credit note - -Credit Note -
-420 - -Optical Character Reading (OCR) payment credit note - -Credit Note -
-456 - -Debit advice - -Invoice -
-457 - -Reversal of debit - -Invoice -
-458 - -Reversal of credit - -Credit Note -
-471 - -Self-billed corrective invoice, invoice type, Corrected - -Invoice -
-472 - -Factored Corrective Invoice, invoice type, Corrected - -Invoice -
-473 - -Self billed Factored corrective invoice, invoice type, Corrected - -Invoice -
-500 - -Self Prepayment invoice, invoice type, Original - -Invoice -
-501 - -Self billed factored invoice, invoice type, Original - -Invoice -
-502 - -Self billet factored Credit Note, Credit note type, Corrected - -Credit Note -
-503 - -Prepayment credit note, credit note type, Corrected - -Credit Note -
-527 - -Self billed debit note - -Invoice -
-532 - -Forwarder's credit note - -Credit Note -
-553 - -Forwarder's invoice discrepancy report - -Invoice -
-575 - -Insurer's invoice - -Invoice -
-623 - -Forwarder's invoice - -Invoice -
-633 - -Port charges documents - -Invoice -
-751 - -Invoice information for accounting purposes - -Invoice -
-780 - -Freight invoice - -Invoice -
-817 - -Claim notification - -Invoice -
-870 - -Consular invoice - -Invoice -
-875 - -Partial construction invoice - -Invoice -
-876 - -Partial final construction invoice - -Invoice -
-877 - -Final construction invoice - -Invoice -
-935 - -Customs invoice - -Invoice -
diff --git a/docs/content/docs/codelists/untdid-1153.mdx b/docs/content/docs/codelists/untdid-1153.mdx deleted file mode 100644 index 6140b25a..00000000 --- a/docs/content/docs/codelists/untdid-1153.mdx +++ /dev/null @@ -1,6588 +0,0 @@ ---- -title: UNTDID 1153 — Reference code qualifier -description: Code giving specific meaning to a reference segment or a reference number. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - UNTDID_1153, - Untdid1153, - untdid1153Code, - PUBLISHED, - type Untdid1153Definition, - type Untdid1153Code, -} from "node-zugferd/codelist/untdid-1153"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Name -
-AAA - -Order acknowledgement document identifier -
-AAB - -Proforma invoice document identifier -
-AAC - -Documentary credit identifier -
-AAD - -Contract document addendum identifier -
-AAE - -Goods declaration number -
-AAF - -Debit card number -
-AAG - -Offer number -
-AAH - -Bank's batch interbank transaction reference number -
-AAI - -Bank's individual interbank transaction reference number -
-AAJ - -Delivery order number -
-AAK - -Despatch advice number -
-AAL - -Drawing number -
-AAM - -Waybill number -
-AAN - -Delivery schedule number -
-AAO - -Consignment identifier, consignee assigned -
-AAP - -Partial shipment identifier -
-AAQ - -Transport equipment identifier -
-AAR - -Municipality assigned business registry number -
-AAS - -Transport contract document identifier -
-AAT - -Master label number -
-AAU - -Despatch note document identifier -
-AAV - -Enquiry number -
-AAW - -Docket number -
-AAX - -Civil action number -
-AAY - -Carrier's agent reference number -
-AAZ - -Standard Carrier Alpha Code (SCAC) number -
-ABA - -Customs valuation decision number -
-ABB - -End use authorization number -
-ABC - -Anti-dumping case number -
-ABD - -Customs tariff number -
-ABE - -Declarant's reference number -
-ABF - -Repair estimate number -
-ABG - -Customs decision request number -
-ABH - -Sub-house bill of lading number -
-ABI - -Tax payment identifier -
-ABJ - -Quota number -
-ABK - -Transit (onward carriage) guarantee (bond) number -
-ABL - -Customs guarantee number -
-ABM - -Replacing part number -
-ABN - -Seller's catalogue number -
-ABO - -Originator's reference -
-ABP - -Declarant's Customs identity number -
-ABQ - -Importer reference number -
-ABR - -Export clearance instruction reference number -
-ABS - -Import clearance instruction reference number -
-ABT - -Goods declaration document identifier, Customs -
-ABU - -Article number -
-ABV - -Intra-plant routing -
-ABW - -Stock keeping unit number -
-ABX - -Text Element Identifier deletion reference -
-ABY - -Allotment identification (Air) -
-ABZ - -Vehicle licence number -
-AC - -Air cargo transfer manifest -
-ACA - -Cargo acceptance order reference number -
-ACB - -US government agency number -
-ACC - -Shipping unit identification -
-ACD - -Additional reference number -
-ACE - -Related document number -
-ACF - -Addressee reference -
-ACG - -ATA carnet number -
-ACH - -Packaging unit identification -
-ACI - -Outerpackaging unit identification -
-ACJ - -Customer material specification number -
-ACK - -Bank reference -
-ACL - -Principal reference number -
-ACN - -Collection advice document identifier -
-ACO - -Iron charge number -
-ACP - -Hot roll number -
-ACQ - -Cold roll number -
-ACR - -Railway wagon number -
-ACT - -Unique claims reference number of the sender -
-ACU - -Loss/event number -
-ACV - -Estimate order reference number -
-ACW - -Reference number to previous message -
-ACX - -Banker's acceptance -
-ACY - -Duty memo number -
-ACZ - -Equipment transport charge number -
-ADA - -Buyer's item number -
-ADB - -Matured certificate of deposit -
-ADC - -Loan -
-ADD - -Analysis number/test number -
-ADE - -Account number -
-ADF - -Treaty number -
-ADG - -Catastrophe number -
-ADI - -Bureau signing (statement reference) -
-ADJ - -Company / syndicate reference 1 -
-ADK - -Company / syndicate reference 2 -
-ADL - -Ordering customer consignment reference number -
-ADM - -Shipowner's authorization number -
-ADN - -Inland transport order number -
-ADO - -Container work order reference number -
-ADP - -Statement number -
-ADQ - -Unique market reference -
-ADT - -Group accounting -
-ADU - -Broker reference 1 -
-ADV - -Broker reference 2 -
-ADW - -Lloyd's claims office reference -
-ADX - -Secure delivery terms and conditions agreement reference -
-ADY - -Report number -
-ADZ - -Trader account number -
-AE - -Authorization for expense (AFE) number -
-AEA - -Government agency reference number -
-AEB - -Assembly number -
-AEC - -Symbol number -
-AED - -Commodity number -
-AEE - -Eur 1 certificate number -
-AEF - -Customer process specification number -
-AEG - -Customer specification number -
-AEH - -Applicable instructions or standards -
-AEI - -Registration number of previous Customs declaration -
-AEJ - -Post-entry reference -
-AEK - -Payment order number -
-AEL - -Delivery number (transport) -
-AEM - -Transport route -
-AEN - -Customer's unit inventory number -
-AEO - -Product reservation number -
-AEP - -Project number -
-AEQ - -Drawing list number -
-AER - -Project specification number -
-AES - -Primary reference -
-AET - -Request for cancellation number -
-AEU - -Supplier's control number -
-AEV - -Shipping note number -
-AEW - -Empty container bill number -
-AEX - -Non-negotiable maritime transport document number -
-AEY - -Substitute air waybill number -
-AEZ - -Despatch note (post parcels) number -
-AF - -Airlines flight identification number -
-AFA - -Through bill of lading number -
-AFB - -Cargo manifest number -
-AFC - -Bordereau number -
-AFD - -Customs item number -
-AFE - -Export Control Commodity number (ECCN) -
-AFF - -Marking/label reference -
-AFG - -Tariff number -
-AFH - -Replenishment purchase order number -
-AFI - -Immediate transportation no. for in bond movement -
-AFJ - -Transportation exportation no. for in bond movement -
-AFK - -Immediate exportation no. for in bond movement -
-AFL - -Associated invoices -
-AFM - -Secondary Customs reference -
-AFN - -Account party's reference -
-AFO - -Beneficiary's reference -
-AFP - -Second beneficiary's reference -
-AFQ - -Applicant's bank reference -
-AFR - -Issuing bank's reference -
-AFS - -Beneficiary's bank reference -
-AFT - -Direct payment valuation number -
-AFU - -Direct payment valuation request number -
-AFV - -Quantity valuation number -
-AFW - -Quantity valuation request number -
-AFX - -Bill of quantities number -
-AFY - -Payment valuation number -
-AFZ - -Situation number -
-AGA - -Agreement to pay number -
-AGB - -Contract party reference number -
-AGC - -Account party's bank reference -
-AGD - -Agent's bank reference -
-AGE - -Agent's reference -
-AGF - -Applicant's reference -
-AGG - -Dispute number -
-AGH - -Credit rating agency's reference number -
-AGI - -Request number -
-AGJ - -Single transaction sequence number -
-AGK - -Application reference number -
-AGL - -Delivery verification certificate -
-AGM - -Number of temporary importation document -
-AGN - -Reference number quoted on statement -
-AGO - -Sender's reference to the original message -
-AGP - -Company issued equipment ID -
-AGQ - -Domestic flight number -
-AGR - -International flight number -
-AGS - -Employer identification number of service bureau -
-AGT - -Service group identification number -
-AGU - -Member number -
-AGV - -Previous member number -
-AGW - -Scheme/plan number -
-AGX - -Previous scheme/plan number -
-AGY - -Receiving party's member identification -
-AGZ - -Payroll number -
-AHA - -Packaging specification number -
-AHB - -Authority issued equipment identification -
-AHC - -Training flight number -
-AHD - -Fund code number -
-AHE - -Signal code number -
-AHF - -Major force program number -
-AHG - -Nomination number -
-AHH - -Laboratory registration number -
-AHI - -Transport contract reference number -
-AHJ - -Payee's reference number -
-AHK - -Payer's reference number -
-AHL - -Creditor's reference number -
-AHM - -Debtor's reference number -
-AHN - -Joint venture reference number -
-AHO - -Chamber of Commerce registration number -
-AHP - -Tax registration number -
-AHQ - -Wool identification number -
-AHR - -Wool tax reference number -
-AHS - -Meat processing establishment registration number -
-AHT - -Quarantine/treatment status reference number -
-AHU - -Request for quote number -
-AHV - -Manual processing authority number -
-AHX - -Rate note number -
-AHY - -Freight Forwarder number -
-AHZ - -Customs release code -
-AIA - -Compliance code number -
-AIB - -Department of transportation bond number -
-AIC - -Export establishment number -
-AID - -Certificate of conformity -
-AIE - -Ministerial certificate of homologation -
-AIF - -Previous delivery instruction number -
-AIG - -Passport number -
-AIH - -Common transaction reference number -
-AII - -Bank's common transaction reference number -
-AIJ - -Customer's individual transaction reference number -
-AIK - -Bank's individual transaction reference number -
-AIL - -Customer's common transaction reference number -
-AIM - -Individual transaction reference number -
-AIN - -Product sourcing agreement number -
-AIO - -Customs transhipment number -
-AIP - -Customs preference inquiry number -
-AIQ - -Packing plant number -
-AIR - -Original certificate number -
-AIS - -Processing plant number -
-AIT - -Slaughter plant number -
-AIU - -Charge card account number -
-AIV - -Event reference number -
-AIW - -Transport section reference number -
-AIX - -Referred product for mechanical analysis -
-AIY - -Referred product for chemical analysis -
-AIZ - -Consolidated invoice number -
-AJA - -Part reference indicator in a drawing -
-AJB - -U.S. Code of Federal Regulations (CFR) -
-AJC - -Purchasing activity clause number -
-AJD - -U.S. Defense Federal Acquisition Regulation Supplement -
-AJE - -Agency clause number -
-AJF - -Circular publication number -
-AJG - -U.S. Federal Acquisition Regulation -
-AJH - -U.S. General Services Administration Regulation -
-AJI - -U.S. Federal Information Resources Management Regulation -
-AJJ - -Paragraph -
-AJK - -Special instructions number -
-AJL - -Site specific procedures, terms, and conditions number -
-AJM - -Master solicitation procedures, terms, and conditions -
-AJN - -U.S. Department of Veterans Affairs Acquisition Regulation -
-AJO - -Military Interdepartmental Purchase Request (MIPR) number -
-AJP - -Foreign military sales number -
-AJQ - -Defense priorities allocation system priority rating -
-AJR - -Wage determination number -
-AJS - -Agreement number -
-AJT - -Standard Industry Classification (SIC) number -
-AJU - -End item number -
-AJV - -Federal supply schedule item number -
-AJW - -Technical document number -
-AJX - -Technical order number -
-AJY - -Suffix -
-AJZ - -Transportation account number -
-AKA - -Container disposition order reference number -
-AKB - -Container prefix -
-AKC - -Transport equipment return reference -
-AKD - -Transport equipment survey reference -
-AKE - -Transport equipment survey report number -
-AKF - -Transport equipment stuffing order -
-AKG - -Vehicle Identification Number (VIN) -
-AKH - -Government bill of lading -
-AKI - -Ordering customer's second reference number -
-AKJ - -Direct debit reference -
-AKK - -Meter reading at the beginning of the delivery -
-AKL - -Meter reading at the end of delivery -
-AKM - -Replenishment purchase order range start number -
-AKN - -Third bank's reference -
-AKO - -Action authorization number -
-AKP - -Appropriation number -
-AKQ - -Product change authority number -
-AKR - -General cargo consignment reference number -
-AKS - -Catalogue sequence number -
-AKT - -Forwarding order number -
-AKU - -Transport equipment survey reference number -
-AKV - -Lease contract reference -
-AKW - -Transport costs reference number -
-AKX - -Transport equipment stripping order -
-AKY - -Prior policy number -
-AKZ - -Policy number -
-ALA - -Procurement budget number -
-ALB - -Domestic inventory management code -
-ALC - -Customer reference number assigned to previous balance of -
-ALD - -Previous credit advice reference number -
-ALE - -Reporting form number -
-ALF - -Authorization number for exception to dangerous goods -
-ALG - -Dangerous goods security number -
-ALH - -Dangerous goods transport licence number -
-ALI - -Previous rental agreement number -
-ALJ - -Next rental agreement reason number -
-ALK - -Consignee's invoice number -
-ALL - -Message batch number -
-ALM - -Previous delivery schedule number -
-ALN - -Physical inventory recount reference number -
-ALO - -Receiving advice number -
-ALP - -Returnable container reference number -
-ALQ - -Returns notice number -
-ALR - -Sales forecast number -
-ALS - -Sales report number -
-ALT - -Previous tax control number -
-ALU - -AGERD (Aerospace Ground Equipment Requirement Data) number -
-ALV - -Registered capital reference -
-ALW - -Standard number of inspection document -
-ALX - -Model -
-ALY - -Financial management reference -
-ALZ - -NOTIfication for COLlection number (NOTICOL) -
-AMA - -Previous request for metered reading reference number -
-AMB - -Next rental agreement number -
-AMC - -Reference number of a request for metered reading -
-AMD - -Hastening number -
-AME - -Repair data request number -
-AMF - -Consumption data request number -
-AMG - -Profile number -
-AMH - -Case number -
-AMI - -Government quality assurance and control level Number -
-AMJ - -Payment plan reference -
-AMK - -Replaced meter unit number -
-AML - -Replenishment purchase order range end number -
-AMM - -Insurer assigned reference number -
-AMN - -Canadian excise entry number -
-AMO - -Premium rate table -
-AMP - -Advise through bank's reference -
-AMQ - -US, Department of Transportation bond surety code -
-AMR - -US, Food and Drug Administration establishment indicator -
-AMS - -US, Federal Communications Commission (FCC) import -
-AMT - -Goods and Services Tax identification number -
-AMU - -Integrated logistic support cross reference number -
-AMV - -Department number -
-AMW - -Buyer's catalogue number -
-AMX - -Financial settlement party's reference number -
-AMY - -Standard's version number -
-AMZ - -Pipeline number -
-ANA - -Account servicing bank's reference number -
-ANB - -Completed units payment request reference -
-ANC - -Payment in advance request reference -
-AND - -Parent file -
-ANE - -Sub file -
-ANF - -CAD file layer convention -
-ANG - -Technical regulation -
-ANH - -Plot file -
-ANI - -File conversion journal -
-ANJ - -Authorization number -
-ANK - -Reference number assigned by third party -
-ANL - -Deposit reference number -
-ANM - -Named bank's reference -
-ANN - -Drawee's reference -
-ANO - -Case of need party's reference -
-ANP - -Collecting bank's reference -
-ANQ - -Remitting bank's reference -
-ANR - -Principal's bank reference -
-ANS - -Presenting bank's reference -
-ANT - -Consignee's reference -
-ANU - -Financial transaction reference number -
-ANV - -Credit reference number -
-ANW - -Receiving bank's authorization number -
-ANX - -Clearing reference -
-ANY - -Sending bank's reference number -
-AOA - -Documentary payment reference -
-AOD - -Accounting file reference -
-AOE - -Sender's file reference number -
-AOF - -Receiver's file reference number -
-AOG - -Source document internal reference -
-AOH - -Principal's reference -
-AOI - -Debit reference number -
-AOJ - -Calendar -
-AOK - -Work shift -
-AOL - -Work breakdown structure -
-AOM - -Organisation breakdown structure -
-AON - -Work task charge number -
-AOO - -Functional work group -
-AOP - -Work team -
-AOQ - -Department -
-AOR - -Statement of work -
-AOS - -Work package -
-AOT - -Planning package -
-AOU - -Cost account -
-AOV - -Work order -
-AOW - -Transportation Control Number (TCN) -
-AOX - -Constraint notation -
-AOY - -ETERMS reference -
-AOZ - -Implementation version number -
-AP - -Accounts receivable number -
-APA - -Incorporated legal reference -
-APB - -Payment instalment reference number -
-APC - -Equipment owner reference number -
-APD - -Cedent's claim number -
-APE - -Reinsurer's claim number -
-APF - -Price/sales catalogue response reference number -
-APG - -General purpose message reference number -
-APH - -Invoicing data sheet reference number -
-API - -Inventory report reference number -
-APJ - -Ceiling formula reference number -
-APK - -Price variation formula reference number -
-APL - -Reference to account servicing bank's message -
-APM - -Party sequence number -
-APN - -Purchaser's request reference -
-APO - -Contractor request reference -
-APP - -Accident reference number -
-APQ - -Commercial account summary reference number -
-APR - -Contract breakdown reference -
-APS - -Contractor registration number -
-APT - -Applicable coefficient identification number -
-APU - -Special budget account number -
-APV - -Authorisation for repair reference -
-APW - -Manufacturer defined repair rates reference -
-APX - -Original submitter log number -
-APY - -Original submitter, parent Data Maintenance Request (DMR) -
-APZ - -Original submitter, child Data Maintenance Request (DMR) -
-AQA - -Entry point assessment log number -
-AQB - -Entry point assessment log number, parent DMR -
-AQC - -Entry point assessment log number, child DMR -
-AQD - -Data structure tag -
-AQE - -Central secretariat log number -
-AQF - -Central secretariat log number, parent Data Maintenance -
-AQG - -Central secretariat log number, child Data Maintenance -
-AQH - -International assessment log number -
-AQI - -International assessment log number, parent Data -
-AQJ - -International assessment log number, child Data Maintenance -
-AQK - -Status report number -
-AQL - -Message design group number -
-AQM - -US Customs Service (USCS) entry code -
-AQN - -Beginning job sequence number -
-AQO - -Sender's clause number -
-AQP - -Dun and Bradstreet Canada's 8 digit Standard Industrial -
-AQQ - -Activite Principale Exercee (APE) identifier -
-AQR - -Dun and Bradstreet US 8 digit Standard Industrial -
-AQS - -Nomenclature Activity Classification Economy (NACE) -
-AQT - -Norme Activite Francaise (NAF) identifier -
-AQU - -Registered contractor activity type -
-AQV - -Statistic Bundes Amt (SBA) identifier -
-AQW - -State or province assigned entity identification -
-AQX - -Institute of Security and Future Market Development (ISFMD) -
-AQY - -File identification number -
-AQZ - -Bankruptcy procedure number -
-ARA - -National government business identification number -
-ARB - -Prior Data Universal Number System (DUNS) number -
-ARC - -Companies Registry Office (CRO) number -
-ARD - -Costa Rican judicial number -
-ARE - -Numero de Identificacion Tributaria (NIT) -
-ARF - -Patron number -
-ARG - -Registro Informacion Fiscal (RIF) number -
-ARH - -Registro Unico de Contribuyente (RUC) number -
-ARI - -Tokyo SHOKO Research (TSR) business identifier -
-ARJ - -Personal identity card number -
-ARK - -Systeme Informatique pour le Repertoire des ENtreprises -
-ARL - -Systeme Informatique pour le Repertoire des ETablissements -
-ARM - -Publication issue number -
-ARN - -Original filing number -
-ARO - -Document page identifier -
-ARP - -Public filing registration number -
-ARQ - -Regiristo Federal de Contribuyentes -
-ARR - -Social security number -
-ARS - -Document volume number -
-ART - -Book number -
-ARU - -Stock exchange company identifier -
-ARV - -Imputation account -
-ARW - -Financial phase reference -
-ARX - -Technical phase reference -
-ARY - -Prior contractor registration number -
-ARZ - -Stock adjustment number -
-ASA - -Dispensation reference -
-ASB - -Investment reference number -
-ASC - -Assuming company -
-ASD - -Budget chapter -
-ASE - -Duty free products security number -
-ASF - -Duty free products receipt authorisation number -
-ASG - -Party information message reference -
-ASH - -Formal statement reference -
-ASI - -Proof of delivery reference number -
-ASJ - -Supplier's credit claim reference number -
-ASK - -Picture of actual product -
-ASL - -Picture of a generic product -
-ASM - -Trading partner identification number -
-ASN - -Prior trading partner identification number -
-ASO - -Password -
-ASP - -Formal report number -
-ASQ - -Fund account number -
-ASR - -Safe custody number -
-ASS - -Master account number -
-AST - -Group reference number -
-ASU - -Accounting transmission number -
-ASV - -Product data file number -
-ASW - -Cadastro Geral do Contribuinte (CGC) -
-ASX - -Foreign resident identification number -
-ASY - -CD-ROM -
-ASZ - -Physical medium -
-ATA - -Financial cancellation reference number -
-ATB - -Purchase for export Customs agreement number -
-ATC - -Judgment number -
-ATD - -Secretariat number -
-ATE - -Previous banking status message reference -
-ATF - -Last received banking status message reference -
-ATG - -Bank's documentary procedure reference -
-ATH - -Customer's documentary procedure reference -
-ATI - -Safe deposit box number -
-ATJ - -Receiving Bankgiro number -
-ATK - -Sending Bankgiro number -
-ATL - -Bankgiro reference -
-ATM - -Guarantee number -
-ATN - -Collection instrument number -
-ATO - -Converted Postgiro number -
-ATP - -Cost centre alignment number -
-ATQ - -Kamer Van Koophandel (KVK) number -
-ATR - -Institut Belgo-Luxembourgeois de Codification (IBLC) number -
-ATS - -External object reference -
-ATT - -Exceptional transport authorisation number -
-ATU - -Clave Unica de Identificacion Tributaria (CUIT) -
-ATV - -Registro Unico Tributario (RUT) -
-ATW - -Flat rack container bundle identification number -
-ATX - -Transport equipment acceptance order reference -
-ATY - -Transport equipment release order reference -
-ATZ - -Ship's stay reference number -
-AU - -Authorization to meet competition number -
-AUA - -Place of positioning reference -
-AUB - -Party reference -
-AUC - -Issued prescription identification -
-AUD - -Collection reference -
-AUE - -Travel service -
-AUF - -Consignment stock contract -
-AUG - -Importer's letter of credit reference -
-AUH - -Performed prescription identification -
-AUI - -Image reference -
-AUJ - -Proposed purchase order reference number -
-AUK - -Application for financial support reference number -
-AUL - -Manufacturing quality agreement number -
-AUM - -Software editor reference -
-AUN - -Software reference -
-AUO - -Software quality reference -
-AUP - -Consolidated orders' reference -
-AUQ - -Customs binding ruling number -
-AUR - -Customs non-binding ruling number -
-AUS - -Delivery route reference -
-AUT - -Net area supplier reference -
-AUU - -Time series reference -
-AUV - -Connecting point to central grid -
-AUW - -Marketing plan identification number (MPIN) -
-AUX - -Entity reference number, previous -
-AUY - -International Standard Industrial Classification (ISIC) -
-AUZ - -Customs pre-approval ruling number -
-AV - -Account payable number -
-AVA - -First financial institution's transaction reference -
-AVB - -Product characteristics directory -
-AVC - -Supplier's customer reference number -
-AVD - -Inventory report request number -
-AVE - -Metering point -
-AVF - -Passenger reservation number -
-AVG - -Slaughterhouse approval number -
-AVH - -Meat cutting plant approval number -
-AVI - -Customer travel service identifier -
-AVJ - -Export control classification number -
-AVK - -Broker reference 3 -
-AVL - -Consignment information -
-AVM - -Goods item information -
-AVN - -Dangerous Goods information -
-AVO - -Pilotage services exemption number -
-AVP - -Person registration number -
-AVQ - -Place of packing approval number -
-AVR - -Original Mandate Reference -
-AVS - -Mandate Reference -
-AVT - -Reservation station indentifier -
-AVU - -Unique goods shipment identifier -
-AVV - -Framework Agreement Number -
-AVW - -Hash value -
-AVX - -Movement reference number -
-AVY - -Economic Operators Registration and Identification Number -
-AVZ - -Local Reference Number -
-AWA - -Rate code number -
-AWB - -Air waybill number -
-AWC - -Documentary credit amendment number -
-AWD - -Advising bank's reference -
-AWE - -Cost centre -
-AWF - -Work item quantity determination -
-AWG - -Internal data process number -
-AWH - -Category of work reference -
-AWI - -Policy form number -
-AWJ - -Net area -
-AWK - -Service provider -
-AWL - -Error position -
-AWM - -Service category reference -
-AWN - -Connected location -
-AWO - -Related party -
-AWP - -Latest accounting entry record reference -
-AWQ - -Accounting entry -
-AWR - -Document reference, original -
-AWS - -Hygienic Certificate number, national -
-AWT - -Administrative Reference Code -
-AWU - -Pick-up sheet number -
-AWV - -Phone number -
-AWW - -Buyer's fund number -
-AWX - -Company trading account number -
-AWY - -Reserved goods identifier -
-AWZ - -Handling and movement reference number -
-AXA - -Instruction to despatch reference number -
-AXB - -Instruction for returns number -
-AXC - -Metered services consumption report number -
-AXD - -Order status enquiry number -
-AXE - -Firm booking reference number -
-AXF - -Product inquiry number -
-AXG - -Split delivery number -
-AXH - -Service relation number -
-AXI - -Serial shipping container code -
-AXJ - -Test specification number -
-AXK - -Transport status report number -
-AXL - -Tooling contract number -
-AXM - -Formula reference number -
-AXN - -Pre-agreement number -
-AXO - -Product certification number -
-AXP - -Consignment contract number -
-AXQ - -Product specification reference number -
-AXR - -Payroll deduction advice reference -
-AXS - -TRACES party identification -
-AXU - -Block Stowage Reference -
-BA - -Beginning meter reading actual -
-BC - -Buyer's contract number -
-BD - -Bid number -
-BE - -Beginning meter reading estimated -
-BH - -House bill of lading number -
-BM - -Bill of lading number -
-BN - -Consignment identifier, carrier assigned -
-BO - -Blanket order number -
-BR - -Broker or sales office number -
-BT - -Batch number/lot number -
-BTP - -Battery and accumulator producer registration number -
-BW - -Blended with number -
-CAS - -IATA Cargo Agent CASS Address number -
-CAT - -Matching of entries, balanced -
-CAU - -Entry flagging -
-CAV - -Matching of entries, unbalanced -
-CAW - -Document reference, internal -
-CAX - -European Value Added Tax identification -
-CAY - -Cost accounting document -
-CAZ - -Grid operator's customer reference number -
-CBA - -Ticket control number -
-CBB - -Order shipment grouping reference -
-CD - -Credit note number -
-CEC - -Ceding company -
-CED - -Debit letter number -
-CFE - -Consignee's further order -
-CFF - -Animal farm licence number -
-CFO - -Consignor's further order -
-CG - -Consignee's order number -
-CH - -Customer catalogue number -
-CK - -Cheque number -
-CKN - -Checking number -
-CM - -Credit memo number -
-CMR - -Road consignment note number -
-CN - -Carrier's reference number -
-CNO - -Charges note document attachment indicator -
-COF - -Call off order number -
-CP - -Condition of purchase document number -
-CR - -Customer reference number -
-CRN - -Transport means journey identifier -
-CS - -Condition of sale document number -
-CST - -Team assignment number -
-CT - -Contract number -
-CU - -Consignment identifier, consignor assigned -
-CV - -Container operators reference number -
-CW - -Package number -
-CZ - -Cooperation contract number -
-DA - -Deferment approval number -
-DAN - -Debit account number -
-DB - -Buyer's debtor number -
-DI - -Distributor invoice number -
-DL - -Debit note number -
-DM - -Document identifier -
-DQ - -Delivery note number -
-DR - -Dock receipt number -
-EA - -Ending meter reading actual -
-EB - -Embargo permit number -
-ED - -Export declaration -
-EE - -Ending meter reading estimated -
-EEP - -Electrical and electronic equipment producer registration -
-EI - -Employer's identification number -
-EN - -Embargo number -
-EQ - -Equipment number -
-ER - -Container/equipment receipt number -
-ERN - -Exporter's reference number -
-ET - -Excess transportation number -
-EX - -Export permit identifier -
-FC - -Fiscal number -
-FF - -Consignment identifier, freight forwarder assigned -
-FI - -File line identifier -
-FLW - -Flow reference number -
-FN - -Freight bill number -
-FO - -Foreign exchange -
-FS - -Final sequence number -
-FT - -Free zone identifier -
-FV - -File version number -
-FX - -Foreign exchange contract number -
-GA - -Standard's number -
-GC - -Government contract number -
-GD - -Standard's code number -
-GDN - -General declaration number -
-GN - -Government reference number -
-HS - -Harmonised system number -
-HWB - -House waybill number -
-IA - -Internal vendor number -
-IB - -In bond number -
-ICA - -IATA cargo agent code number -
-ICE - -Insurance certificate reference number -
-ICO - -Insurance contract reference number -
-II - -Initial sample inspection report number -
-IL - -Internal order number -
-INB - -Intermediary broker -
-INN - -Interchange number new -
-INO - -Interchange number old -
-IP - -Import permit identifier -
-IS - -Invoice number suffix -
-IT - -Internal customer number -
-IV - -Invoice document identifier -
-JB - -Job number -
-JE - -Ending job sequence number -
-LA - -Shipping label serial number -
-LAN - -Loading authorisation identifier -
-LAR - -Lower number in range -
-LB - -Lockbox -
-LC - -Letter of credit number -
-LI - -Document line identifier -
-LO - -Load planning number -
-LRC - -Reservation office identifier -
-LS - -Bar coded label serial number -
-MA - -Ship notice/manifest number -
-MB - -Master bill of lading number -
-MF - -Manufacturer's part number -
-MG - -Meter unit number -
-MH - -Manufacturing order number -
-MR - -Message recipient -
-MRN - -Mailing reference number -
-MS - -Message sender -
-MSS - -Manufacturer's material safety data sheet number -
-MWB - -Master air waybill number -
-NA - -North American hazardous goods classification number -
-NF - -Nota Fiscal -
-OH - -Current invoice number -
-OI - -Previous invoice number -
-ON - -Order document identifier, buyer assigned -
-OP - -Original purchase order -
-OR - -General order number -
-PB - -Payer's financial institution account number -
-PC - -Production code -
-PD - -Promotion deal number -
-PE - -Plant number -
-PF - -Prime contractor contract number -
-PI - -Price list version number -
-PK - -Packing list number -
-PL - -Price list number -
-POR - -Purchase order response number -
-PP - -Purchase order change number -
-PQ - -Payment reference -
-PR - -Price quote number -
-PS - -Purchase order number suffix -
-PW - -Prior purchase order number -
-PY - -Payee's financial institution account number -
-RA - -Remittance advice number -
-RC - -Rail/road routing code -
-RCN - -Railway consignment note number -
-RE - -Release number -
-REN - -Consignment receipt identifier -
-RF - -Export reference number -
-RR - -Payer's financial institution transit routing No.(ACH -
-RT - -Payee's financial institution transit routing No. -
-SA - -Sales person number -
-SB - -Sales region number -
-SD - -Sales department number -
-SE - -Serial number -
-SEA - -Allocated seat -
-SF - -Ship from -
-SH - -Previous highest schedule number -
-SI - -SID (Shipper's identifying number for shipment) -
-SM - -Sales office number -
-SN - -Transport equipment seal identifier -
-SP - -Scan line -
-SQ - -Equipment sequence number -
-SRN - -Shipment reference number -
-SS - -Sellers reference number -
-STA - -Station reference number -
-SW - -Swap order number -
-SZ - -Specification number -
-TB - -Trucker's bill of lading -
-TCR - -Terminal operator's consignment reference -
-TE - -Telex message number -
-TF - -Transfer number -
-TI - -TIR carnet number -
-TIN - -Transport instruction number -
-TL - -Tax exemption licence number -
-TN - -Transaction reference number -
-TP - -Test report number -
-UAR - -Upper number of range -
-UC - -Ultimate customer's reference number -
-UCN - -Unique consignment reference number -
-UN - -United Nations Dangerous Goods identifier -
-UO - -Ultimate customer's order number -
-URI - -Uniform Resource Identifier -
-VA - -VAT registration number -
-VC - -Vendor contract number -
-VGR - -Transport equipment gross mass verification reference -
-VM - -Vessel identifier -
-VN - -Order number (vendor) -
-VON - -Voyage number -
-VOR - -Transport equipment gross mass verification order reference -
-VP - -Vendor product number -
-VR - -Vendor ID number -
-VS - -Vendor order number suffix -
-VT - -Motor vehicle identification number -
-VV - -Voucher number -
-WE - -Warehouse entry number -
-WM - -Weight agreement number -
-WN - -Well number -
-WR - -Warehouse receipt number -
-WS - -Warehouse storage location number -
-WY - -Rail waybill number -
-XA - -Company/place registration number -
-XC - -Cargo control number -
-XP - -Previous cargo control number -
-ZZZ - -Mutually defined reference number -
diff --git a/docs/content/docs/codelists/untdid-3035.mdx b/docs/content/docs/codelists/untdid-3035.mdx deleted file mode 100644 index 69cb804c..00000000 --- a/docs/content/docs/codelists/untdid-3035.mdx +++ /dev/null @@ -1,6207 +0,0 @@ ---- -title: UNTDID 3035 - Party function code qualifier -description: Code giving specific meaning to a party. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - UNTDID_3035, - Untdid3035, - untdid3035Code, - type Untdid3035Definition, - type Untdid3035Code, -} from "node-zugferd/codelist/untdid-3035"; - -``` - -
- -Source - -
- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Name - -Description -
-AA - -Party to be billed (AAR Accounting rule 11) - -Party to be billed in accordance with AAR Accounting rule 11. -
-AB - -Buyer's agent/representative - -Third party who arranged the purchase of merchandise on behalf of the actual buyer. -
-AE - -Declarant's agent/representative - -Any natural or legal person who makes a declaration to an official body on behalf of another natural or legal person, where legally permitted (CCC). -
-AF - -Transit principal - -Natural or legal person responsible for the satisfactory performance of a Customs transit operation. Source: CCC. -
-AG - -Agent - -(3196) Party authorized to act on behalf of another party. Synonym: Representative. -
-AH - -Transit principal's agent/representative - -Agent acting on behalf of the transit principal (CCC). -
-AI - -Successful job applicant - -Person who has been chosen for a job. -
-AJ - -Party issuing mutually agreed codes - -The party which has issued all mutually agreed codes used in the message. -
-AK - -Acknowledgement recipient - -Party to whom acknowledgement should be sent. -
-AL - -Principal responsible party - -(3340) Party accepting liability for goods held or moving (e.g. transit) under a Customs authorization and - when applicable - a guarantee. -
-AM - -Authorized official - -Employee of a company or firm authorized to act on behalf of that company or firm e.g. to make a Customs declaration. -
-AN - -Approved importer - -Person or company which is authorised by the relevant Customs authority to import goods without payment all taxes or specific taxes at the point of entry into the country. -
-AO - -Account of - -Party account is assigned to. -
-AP - -Accepting party - -(3336) Party accepting goods, products, services, etc. -
-AQ - -Approved consignor - -Person or company approved by the relevant authority in the country to pack and export specific goods under Customs supervision. -
-AR - -Authorized exporter - -Exporter authorized/approved by Customs for special Customs procedures e.g. simplified procedure. -
-AS - -Account servicing financial institution - -Identifies the financial institution servicing the account(s). -
-AT - -Authorized importer - -Importer authorized/approved by Customs for special Customs procedures e.g. simplified procedure. -
-AU - -Authorized trader (transit) - -Trader authorized/approved by Customs for special transit procedures e.g. simplified procedure. -
-AV - -Authorizing official - -Party that has delegated the authority to take a certain action on behalf of a company or agency. -
-AW - -Applicant's bank - -(3234) Financial institution which is requested to issue the documentary credit. -
-AX - -Authenticating party - -Party which certifies that a document is authentic. -
-AY - -Animal being investigated - -Animal being investigated. -
-AZ - -Issuing bank - -Financial institution which issues the documentary credit, if the applicant's bank is not acting as the issuing bank. -
-B1 - -Contact bank 1 - -Identifies an additional bank which must be informed of certain aspects of the message. -
-B2 - -Contact bank 2 - -Identifies an additional bank which must be informed of certain aspects of the message. -
-BA - -Booking agent - -Party acting as a booking office for transport and forwarding services. -
-BB - -Buyer bank identification - -[3421]To identify a bank employed by the buyer to make a payment. -
-BC - -Negotiating bank - -Financial institution to whom a negotiable documentary credit is directed. -
-BD - -Documentary credit reimbursing bank - -A financial institution which reimburses documentary credit. -
-BE - -Beneficiary - -The ultimate recipient of the funds. Normally the account owner who is reimbursed by the payer. -
-BF - -Beneficiary's bank - -Identifies the account servicer for the beneficiary or the payee. -
-BG - -Employer - -A party that keeps a person in service for payment. -
-BH - -Previous employer - -Previous employer of a person(s). -
-BI - -Buyer's financial institution - -Financial institution designated by buyer to make payment. -
-BJ - -Release to party - -Party to which the goods or container(s) is (are) to be released. -
-BK - -Financial institution - -Party acting as financial institution. -
-BL - -Bill of lading recipient - -Party to receive B/L. -
-BM - -Insured - -Party which is the object of an insurance contract. -
-BN - -Insurance beneficiary - -Party which benefits from insurance coverage. -
-BO - -Broker or sales office - -Party acting in the name of the seller as broker or as sales office. -
-BP - -Building site purchaser - -Party at the building site responsible for the purchasing of goods and services for that particular site. -
-BQ - -Cheque drawn bank - -Identifies the bank on which the cheque should be drawn, as instructed by the ordering customer. -
-BS - -Bill and ship to - -Party receiving goods and relevant invoice. -
-BT - -Party to be billed for other than freight (bill to) - -Party receiving invoice excluding freight costs. -
-BU - -Service bureau - -Party carrying out service bureau processing work, (e.g. a payroll bureau). -
-BV - -Member - -Member of a group (e.g. of a group of persons or a service scheme). -
-BW - -Borrower - -A person who acquires something temporarily with the promise or intention of returning. -
-BX - -Building site engineer - -Party at the building site responsible for engineering matters for that particular site. -
-BY - -Buyer - -[3002] Party to which merchandise or services are sold. -
-BZ - -Building site forwarder - -Party at the building site responsible for forwarding the received goods on that particular site. -
-C1 - -In care of party no. 1 - -A person taking responsibility on behalf of party no. 1. -
-C2 - -In care of party no. 2 - -A person taking responsibility on behalf of party no. 2. -
-CA - -Carrier - -[3126] Party undertaking or arranging transport of goods between named points. -
-CB - -Customs broker - -Agent or representative or a professional Customs clearing agent who deals directly with Customs on behalf of the importer or exporter (CCC). -
-CC - -Claimant - -Party who claims goods or insurance. -
-CD - -Agent's bank - -Bank of the agent. -
-CE - -Ceding company - -Company which cedes something to someone. -
-CF - -Container operator/lessee - -Party to whom the possession of specified property (e.g. container) has been conveyed for a period of time in return for rental payments. -
-CG - -Carrier's agent - -Party authorized to act for or on behalf of carrier. -
-CH - -Connecting carrier - -Owner or operator of a transportation conveyance to which goods in a given transaction will be transferred. -
-CI - -Commission processor - -Party who provides extra treatment to goods on commission base. -
-CJ - -Previous member - -Previous member of a group of persons or a service scheme. -
-CK - -Empty equipment despatch party - -Party from whose premises empty equipment will be or has been despatched. -
-CL - -Container location party - -Party from whose premises container will be or has been despatched. -
-CM - -Customs - -Identification of customs authority relevant to the transaction or shipment. -
-CN - -Consignee - -[3132] Party to which goods are consigned. -
-CNX - -Cash pool top account servicing financial institution - -Identification of a financial institution servicing the top account of a cash pool. -
-CNY - -Cash pool level account servicing financial institution - -Identification of a financial institution servicing the level account of a cash pool. -
-CNZ - -Cash pool sub-account servicing financial institution - -Identification of a financial institution servicing the sub-account of a cash pool. -
-CO - -Corporate office - -Identification of the Head Office within a company. -
-COA - -Entity in which a financial interest is held - -Business in which a financial interest is held. -
-COB - -Intermediate level parent company - -Identifies an intermediate parent company. -
-COC - -Transshipment party - -A party responsible for transshipment. -
-COD - -Quotation requesting party - -Party sending a request for a quotation. -
-COE - -Party maintaining the codes used in the message - -The party which maintains the codes used in the message. -
-COF - -Party maintaining the identifiers used in the message - -The party which maintains the identifiers used in the message. -
-COG - -Dispatcher - -An individual responsible for sending something to a destination. -
-COH - -Submitter of sample - -An entity responsible for the submission of a sample. -
-COI - -Institutional provider - -The institution providing the service. -
-COJ - -Primary health care provider - -Health care provider that has primary responsibility for patient. -
-COK - -Assistant surgeon - -Physician assisting in surgery. -
-COL - -Admitting health care provider - -Health care provider that admitted the patient. -
-COM - -Referring health care provider - -Health care provider that referred patient to current provider of services. -
-CON - -Supervising health care provider - -Health care provider that supervised the rendering of a service. -
-COO - -Party providing financing - -Identifies the party providing the financing. -
-COP - -Convoying party - -Party designated to escort the transported goods. -
-COQ - -Nominated bank - -Identifies the nominated bank. -
-COR - -Family member - -Identifies a family member. -
-COS - -Co-participant - -Identifies another party who participates in an activity. -
-COT - -Involved party - -Party which is involved in an activity. -
-COU - -Assigner - -Identifies the entity who assigns. -
-COV - -Registered principal - -An individual who is registered as a principal for an entity. -
-COW - -Freight payer on behalf of the consignor - -Freight payer is a third party acting on behalf of the consignor. -
-COX - -Freight payer on behalf of the consignee - -Freight payer is a third party acting on behalf of the consignee. -
-COY - -Party responsible for disinfection - -Party responsible for performing disinfection operations. -
-COZ - -Party responsible for refueling - -Party responsible for performing refueling operations. -
-CP - -Party to receive certificate of compliance - -Party acting for or on behalf of seller in matters concerning compliance. -
-CPA - -Advising bank - -Identifies the financial institution used by the issuing bank to advise the documentary credit. -
-CPB - -Reimbursing bank - -Identifies the financial institution through which the reimbursement is to be effected. -
-CPC - -Advise through bank - -Identifies the financial institution through which the advising bank is to advise. -
-CPD - -Charges payer at destination - -Party, other than the ordering party, which has to pay the charges concerning the destination operations. -
-CPE - -Transport means master name - -[3408] Name of the Master of a means of transport such as vessel. -
-CPF - -Means of transport charterer - -Charterer of the means of transport. -
-CPG - -Excise party - -Party to whom excise must be paid. -
-CPH - -Copy report to - -Party receiving a copy of a report. -
-CPI - -Related healthcare party - -A healthcare party related to the subject. -
-CPJ - -Clinical information provider - -Party providing clinical information. -
-CPK - -Service requester - -Party requesting a service. -
-CPL - -Patient admitted by - -Party who admitted a patient. -
-CPM - -Patient discharged to - -The party who receives the discharged patient. -
-CPN - -Patient hosted by - -The party hosting the patient. -
-CPO - -Prescriber's contact person - -Contact person for the prescriber. -
-CQ - -Cheque order - -Party to which the cheque will be ordered, when different from the beneficiary. -
-CR - -Empty equipment return party - -Party to whose premises empty equipment will be or has been returned. -
-CS - -Consolidator - -Party consolidating various consignments, payments etc. -
-CT - -Consignee to be specified - -The party to be identified at a later time as the consignee. -
-CU - -Container return company - -The company to which containers have to be returned. -
-CV - -Consignee of vessel - -Party to which the vessel shall be delivered. -
-CW - -Equipment owner - -Owner of equipment (container, etc.). -
-CX - -Consignee's agent - -Party authorized to act on behalf of the consignee. -
-CY - -Commissionable agent - -IATA cargo agent entitled to commission. -
-CZ - -Consignor - -[3336] Party which, by contract with a carrier, consigns or sends goods with the carrier, or has them conveyed by him. Synonym: shipper, sender. -
-DA - -Available with bank (documentary credits) - -Financial institution with whom the documentary credit is available. -
-DB - -Distributor branch - -The affiliate of a retailer or distributor. -
-DC - -Deconsolidator - -Party that splits up a large consignment composed of separate consignments of goods. The smaller consignments of goods were grouped together into that large consignment for carriage as a larger unit in order to obtain a reduced rate. -
-DCP - -Despatch charge payer - -Party, other than the ordering party, which has to pay the charges concerning the despatch operations. -
-DCQ - -Prescription database owner - -Organisation or person owning a prescription database. -
-DCR - -Original prescriber - -The doctor who issued the original prescription. -
-DCS - -Temporary employee - -A person employed on a temporary basis. -
-DCT - -Designer - -A party who designs. -
-DCU - -Quotation delivered to - -Party to whom the quotation is to be or has been delivered. -
-DCV - -Developer - -A party who develops. -
-DCW - -Test execution party - -The party performing a test. -
-DCX - -Party to receive refund - -Party to whom a refund is given. -
-DCY - -Authorised issuer of prescription - -Party authorised to issue a prescription. -
-DCZ - -Authorised dispenser of medicine - -Organisation or person authorised to dispense medicine. -
-DD - -Documentary credit account party's bank - -Bank of the documentary credit account party. -
-DDA - -Report responsible party - -The party or person taking responsibility for a report. -
-DDB - -Initial sender - -The party who does the initial sending. -
-DDC - -The party authorising the original prescription - -The party authorising the issuer of the original prescription. -
-DDD - -Applicant - -A party who applies for something. -
-DDE - -Meter reader - -A party physically reading the meter. -
-DDF - -Primary electronic business contact - -Code specifying a party who serves as a business entity's primary contact for matters related to electronic business. -
-DDG - -Alternate electronic business contact - -Code specifying a party who serves as a business entity's alternate contact for matters related to electronic business. -
-DDH - -Primary government business contact - -Code specifying a party who serves as a business entity's primary contact for matters related to doing business with the government. -
-DDI - -Alternate government business contact - -Code specifying a party who serves as a business entity's alternate contact for matters related to doing business with the government. -
-DDJ - -Past performance contact - -Code specifying a party who serves as a business entity's contact for matters related to the past performance of that entity. -
-DDK - -Balance responsible party - -A party responsible for balancing supply and consumption. -
-DDL - -Group of passengers - -A group of persons conveyed by a means of transport, other than the crew. -
-DDM - -Grid operator - -A party operating a grid. -
-DDN - -First financial institution in the transaction chain - -Identifies the financial institution that is the point of entry into the interbank transaction chain. -
-DDO - -Location manager - -Party responsible for the management of the location. -
-DDP - -Group leader - -Party responsible for leading the group. -
-DDQ - -Balance power supplier - -The supplier of balance power. -
-DDR - -Consignor's freight forwarder - -Identification of freight forwarder giving services to the consignor. -
-DDS - -Consignee's freight forwarder - -Identification of freight forwarder giving services to the consignee. -
-DDT - -In transit crew member - -The movement of a crew member from one country to another via the territory of an intermediate country for which no entry is intended. -
-DDU - -In transit passenger - -The movement of a passenger from one country to another via the territory of an intermediate country for which no entry is intended. -
-DDV - -Energy consumption imbalance responsible party - -A party who can be brought to rights, legally and financially, for any imbalance between energy bought and consumed for all associated metering points. -
-DDW - -Energy production imbalance responsible party - -A party who can be brought to rights, legally and financially, for any imbalance between energy sold and produced for all associated metering points. -
-DDX - -Imbalance settlement responsible party - -A party that is responsible for settlement of the difference between planned and realised quantities. -
-DDY - -Transmission capacity allocator - -A party managing the allocation of transmission capacity. -
-DDZ - -Metering point administrator - -A party responsible for registering the technical specifications of metering points and the parties linked to them. -
-DE - -Depositor - -Party depositing goods, financial payments or documents. -
-DEA - -Metered data aggregator - -A party responsible for aggregation of metered data. -
-DEB - -Meter operator - -A party responsible for the operation of a meter, including installing maintaining, testing, certifying and decommissioning. -
-DEC - -Party connected to grid - -A party that contracts for the right to consume or produce electricity at a metering point. -
-DED - -Profile maintenance party - -A party that maintains profiles. -
-DEE - -Stowaway - -A person who hides on a conveyance in order to obtain free passage. -
-DEF - -Meat cutter - -Person whose job is to cut up and/or mince meat. -
-DEG - -Consortium Carrier (maritime) - -A marine carrier that transports goods for more than one shipping line between named points. -
-DEH - -Non-vessel operating carrier - -A carrier that does not operate the vessel. -
-DEI - -Means of transport operator - -The operator of a means of transport, e.g. the captain of a vessel. -
-DEJ - -Stuffing address - -Address where cargo is loaded into the transport equipment e.g. container. Synonyms; vanning address / place of vanning. -
-DEK - -Mooring service provider - -Party responsible for mooring the vessel at the berth in the port. Synonym: Boatmen. -
-DEL - -Pilotage service provider - -Party responsible for the pilotage of the vessel. -
-DEM - -Berth towage service provider - -Party responsible for towing the vessel to/from the berth in the port. -
-DEN - -Agent/representative, direct representation - -Party authorised to act in the name and on behalf of another person. -
-DEO - -Agent/representative, indirect representation - -Party authorised to act in its own name but on behalf of another person. -
-DEP - -Stevedore - -A party which handles the loading and unloading of marine vessels from several terminals. + DEQ Shipper Party responsible for the shipment of goods. -
-DF - -Documentary credit applicant - -Party at whose request the applicant's bank/issuing bank is to issue a documentary credit. -
-DG - -Documentary credit beneficiary - -Party in whose favour the documentary credit is to be issued and the party that must comply with the credit's terms and conditions. -
-DH - -Documentary credit account party - -Party which is responsible for the payment settlement of the documentary credit with the applicant's bank/issuing bank, if different from the documentary credit applicant. -
-DI - -Documentary credit second beneficiary - -Party to whom the documentary credit can be transferred. -
-DJ - -Party according to documentary credit transaction - -Party related to documentary credit transaction. -
-DK - -Documentary credit beneficiary's bank - -Financial institution with which the beneficiary of the documentary credit maintains an account. -
-DL - -Factor - -Company offering a financial service whereby a firm sells or transfers title to its accounts receivable to the factoring company. -
-DM - -Party to whom documents are to be presented - -Party to whom documents are to be presented. -
-DN - -Owner of operation - -Owner of the operation. -
-DO - -Document recipient - -[1370] Party which should receive a specified document. -
-DP - -Delivery party - -[3144] Party to which goods should be delivered, if not identical with consignee, such as the place where a container is to be, or has been, positioned. -
-DQ - -Owner's agent - -Person acting on delegation of powers of the owner. -
-DR - -Driver - -Person who drives a means of transport. -
-DS - -Distributor - -Party distributing goods, financial payments or documents. -
-DT - -Declarant - -[3140] Party which makes a declaration to an official body or - where legally permitted - in whose name, or on whose behalf, a declaration to an official body is made. -
-DU - -Owner's representative - -Person commissioned by the owner to represent him in certain circumstances. -
-DV - -Project management office - -Party commissioned by the owner to follow through the execution of all works. -
-DW - -Drawee - -Party on whom drafts must be drawn. -
-DX - -Engineer (construction) - -Party representing the contractor to advise and supervise engineering aspects of the works. -
-DY - -Engineer, resident (construction) - -Party commissioned by the owner to advise and supervise engineering aspects of the works. -
-DZ - -Architect - -A designer who prepares plans for buildings, ships, etc. and supervises their construction. -
-EA - -Architect-designer - -Designer of the construction project. -
-EB - -Building inspectorate - -Party controlling the conformity of works to legal and regulation rules. -
-EC - -Exchanger - -Party exchanging currencies or goods. -
-ED - -Engineer, consultant - -Party providing professional engineering services. -
-EE - -Location of goods for customs examination before clearance - -The location where the goods are examined by customs before clearance. -
-EF - -Project coordination office - -Party responsible for technical coordination of works. -
-EG - -Surveyor, topographical - -Party responsible for topographical measurements. -
-EH - -Engineer, measurement - -Party responsible for quantity measurements. -
-EI - -Controller, quality - -Party controlling the quality of goods and workmanship for the project. -
-EJ - -Surveyor, quantity - -Party responsible for the quantification and valuation of the works on behalf of the contractor. -
-EK - -Surveyor (professional), quantity - -Party responsible to the owner for the quantification and valuation of the works. -
-EL - -Project - -Party responsible for a project, e.g. a construction project. -
-EM - -Party to receive electronic memo of invoice - -Party being informed about invoice issue (via EDI). -
-EN - -Tenderer - -Firm answering an invitation to tender. -
-EO - -Owner of equipment - -Party who owns equipment. -
-EP - -Equipment drop-off party - -The party which drops off equipment. -
-EQ - -Empty container responsible party - -Party responsible for the empty container. -
-ER - -Empty container return agent - -Party, designated by owner of containers, responsible for their collection as agreed between the owner and customer/ consignee. -
-ES - -Contractor, lead - -Leader representing a grouping of co-contractors. -
-ET - -Co-contractor - -Member of a grouping of co-contractors. -
-EU - -Contractor, general - -Single contractor for the whole construction project, working by his own or with subcontractors. -
-EV - -Subcontractor - -Firm carrying out a part of the works for a contractor. -
-EW - -Subcontractor with direct payment - -Subcontractor benefiting from direct payments. -
-EX - -Exporter - -[3030] Party who makes, or on whose behalf the export declaration is made, and who is the owner of the goods or has similar rights of disposal over them at the time when the declaration is accepted. -
-EY - -Subcontractor, nominated - -Subcontractor authorized by the owner after having been proposed. -
-EZ - -Operator, essential services - -Operator of essential services e.g. water, sewerage system, power. -
-FA - -Operator, communication channel - -Operator of a communication channel. -
-FB - -Nominated freight company - -Party nominated to act as transport company or carrier for the goods. -
-FC - -Contractor, main - -Firm or grouping of co-contractors which has been awarded the contract. -
-FD - -Buyer's parent company - -Parent company, e.g. holding company. -
-FE - -Credit rating agency - -A party which evaluates another party for credit rating. -
-FF - -Factor, correspondent - -Factoring company engaged by another factoring company to assist the letter with the services provided to the clients (sellers). -
-FG - -Buyer as officially registered - -Buying party as officially registered with government. -
-FH - -Seller as officially registered - -Selling party as officially registered with government. -
-FI - -Copy message to - -Party that is to receive a copy of a message. -
-FJ - -Trade Union - -Organisation representing employees. -
-FK - -Previous Trade Union - -Employee organisation who previously represented an employee . -
-FL - -Passenger - -A person conveyed by a means of transport, other than the crew. -
-FM - -Crew member - -A person manning a means of transport. -
-FN - -Tariff issuer - -The issuer of a tariff, e.g. a freight tariff. -
-FO - -Party performing inspection - -A party which inspects something. -
-FP - -Freight/charges payer - -Party responsible for the payment of freight. -
-FQ - -Container survey agent - -The container survey agency that will survey the containers. -
-FR - -Message from - -Party where the message comes from. -
-FS - -Party authorized to make definite a contract action - -Party who has the authority to make definite a contract action. -
-FT - -Financial settlement party - -[3450] Party responsible for either the transfer or repatriation of the funds relating to a transaction. -
-FU - -Hazardous material office - -The office responsible for providing information regarding hazardous material. -
-FV - -Party providing government furnished property - -The party responsible for providing government furnished property. -
-FW - -Freight forwarder - -Party arranging forwarding of goods. -
-FX - -Current receiver - -Current receiver of the goods in a multi-step transportation process (indirect flow) involving at least one grouping centre. -
-FY - -Current sender - -Current sender of the goods in a multi-step transportation process (indirect flow) involving at least one grouping centre. -
-FZ - -Grouping centre - -A party in charge of groupage, including degroupage and regroupage. -
-GA - -Road carrier - -A road carrier moving cargo. -
-GB - -Chamber of commerce - -Name of the Chamber of Commerce of the town where the company is registered. -
-GC - -Goods custodian - -[3024] Party responsible for the keeping of goods. -
-GD - -Producer - -Party or person who has produced the produce. -
-GE - -Registration tribunal - -Name of the tribunal where the company is registered. -
-GF - -Slot charter party - -An identification code of a participant or user that books slots (space) on a ship, more likely on a long term basis on a series of sailings. He pays for the space whether he uses it or not. -
-GH - -Applicant for job - -A person who applied for a job. -
-GI - -Spouse - -Person is a spouse. -
-GJ - -Mother - -Person is a mother. -
-GK - -Father - -Person is a father. -
-GL - -Socially insured person - -A person who is registered in a social security scheme. -
-GM - -Inventory controller - -To specifically identify the party in charge of inventory control. -
-GN - -Processor - -Party or person who has or will apply a process. -
-GO - -Goods owner - -The party which owns the goods. -
-GP - -Packer - -Party or person who has undertaken or will undertake packing. -
-GQ - -Slaughterer - -Party or person who has undertaken or will undertake a slaughter. -
-GR - -Goods releasing party - -[3026] Party entitled to authorize release of goods from custodian. -
-GS - -Consignor's representative - -Party authorised to represent the consignor. -
-GT - -Rail carrier - -A carrier moving cargo, including containers, via rail. -
-GU - -Originator of article number - -A code identifying the party which created a specific article number. -
-GV - -Procurement responsibility for order - -A code used to identify the organization which is responsible for the procurement. -
-GW - -Party fulfilling all operations - -Code indicating the fact that the party identified carries out all operations within that company's activities. -
-GX - -Central catalogue party - -Party controlling a central catalogue. -
-GY - -Inventory reporting party - -Party reporting inventory information. -
-GZ - -Substitute supplier - -Party which may be in a position to supply products or services should the main usual supplier be unable to do so. -
-HA - -Party which delivers consignments to the terminal - -Party which delivers consignments to a terminal. -
-HB - -Party which picks up consignments from the terminal - -Party which picks up consignments from a terminal. -
-HC - -Transit freight forwarder - -Freight forwarder to whom transit consignments are addressed, and from whom they are to be on-forwarded. -
-HD - -Inspection and acceptance party - -The party who will perform inspection and acceptance. -
-HE - -Transportation office - -The office that provides transportation information. -
-HF - -Contract administration office - -The office responsible for the administration of a contract. -
-HG - -Investigator - -A party who conducts investigations. -
-HH - -Audit office - -The office responsible for conducting audits. -
-HI - -Requestor - -The party requesting an action. -
-HJ - -Foreign disclosure information office - -The office that reviews sensitive information for foreign disclosure. -
-HK - -Mark-for party - -The party within an organization for whom the material is marked to be delivered. -
-HL - -Party to receive reports - -The party to whom reports are to be submitted. -
-HM - -Alternative manufacturer - -Party identification of an alternative manufacturer for a product. -
-HN - -Service performer - -The party who is performing a service. -
-HO - -Shipper's association - -An association of shippers. -
-HP - -Final message recipient - -To identify the final recipient of the message. -
-HQ - -Account owner - -Identifies the owner of the account. -
-HR - -Shipping line service - -Identifies the shipping line service organization. -
-HS - -Creditor - -Party to whom payment is due. -
-HT - -Clearing house - -Institution through which funds will be paid. -
-HU - -Ordering bank - -Bank which instructed the sender to act on the transaction(s). -
-HV - -Receiver of funds - -Identifies the financial party that receives the funds. -
-HW - -Sender of funds - -Identifies the party that sends the funds. -
-HX - -Debtor - -Party from whom payment is due. -
-HY - -Presenting bank - -The bank which presents documents to the drawee. -
-HZ - -Work team - -Team responsible for performing work. -
-I1 - -Intermediary bank 1 - -A financial institution between the ordered bank and the beneficiary's bank. -
-I2 - -Intermediary bank 2 - -A financial institution between the ordered bank and the beneficiary's bank. -
-IB - -Intermediary/broker - -A person intervening between parties to produce agreement or reconciliation. -
-IC - -Intermediate consignee - -The intermediate consignee. -
-ID - -Replacing manufacturer - -A code used to identify a party who replaces the previous party for the manufacture of an article. -
-IE - -Non-resident third party company with whom financial - -account is held Identifies the non-resident third party company with whom the financial account is held. -
-IF - -Non-resident group company with whom financial account is - -held Identifies the non-resident group company with whom the financial account is held. -
-IG - -Non-resident beneficiary - -The ultimate non-resident recipient of the funds. Normally the account owner who is reimbursed by the payer. -
-IH - -Resident beneficiary - -The ultimate resident recipient of the funds. Normally the account owner who is reimbursed by the payer. -
-II - -Invoice issuer - -[3028] Party issuing an invoice. -
-IJ - -Non-resident instructing party - -Identifies the non-resident party originating the instruction. -
-IL - -Resident instructing party - -Identifies the resident party originating the instruction. -
-IM - -Importer - -[3020] Party who makes - or on whose behalf a Customs clearing agent or other authorized person makes - an import declaration. This may include a person who has possession of the goods or to whom the goods are consigned. -
-IN - -Insurer - -A person or company offering insurance policies for premiums. -
-IO - -Insurance company - -A company engaged in the business of insurance. -
-IP - -Insurance claim adjuster - -A party which adjusts losses on behalf of an insurer. -
-IQ - -Domestic financial institution - -Domestic party acting as financial institution. -
-IR - -Non-domestic financial institution - -Non-domestic party acting as financial institution. -
-IS - -Party to receive certified inspection report - -Party (at buyer) to receive certified inspection report. -
-IT - -Installation on site - -A party who possesses the site on which an installation shall be made. -
-IU - -Non-resident debtor - -Non-resident party who makes the payment or against whom a claim exists. -
-IV - -Invoicee - -[3006] Party to whom an invoice is issued. -
-IW - -Non-resident creditor - -Non-resident party receiving the payment or against whom a liability exists. -
-IX - -Supplier work team - -The supplier's team responsible for performing the work. -
-IY - -Tenant manager - -A code to identify the party who rents the rights to use the goodwill and facilities of an enterprise. -
-IZ - -Party mandated to liquidate an enterprise - -A code to identify the party who has been legally mandated to sell off an enterprise. -
-JA - -Certified accountant - -Code identifying the party as a certified accountant. -
-JB - -Goods collection party - -Party that will collect or has collected the goods. -
-JC - -Party at final place of positioning - -Identifies the party at the final place of positioning. -
-JD - -Customs office of clearance - -Identifies the office where customs clearance procedures take place. -
-JE - -Party from whom customs documents are to be picked up - -Identification of the party from whom customs documents are to be picked up. -
-JF - -Party from whom non-customs documents are to be picked up - -Identification of the party from whom non-customs documents are to be picked up. -
-JG - -Party to receive customs documents - -Identification of the party to whom customs documents are to be delivered. -
-JH - -Party to receive non-customs documents - -Identification of the party to whom non-customs documents are to be delivered. -
-LA - -Party designated to provide living animal care - -Party responsible to take care of transported living animals. -
-LB - -Co-producer - -A code used to identify a party who participates in production. -
-LC - -Party declaring the Value Added Tax (VAT) - -A code to identify the party who is responsible for declaring the Value Added Tax (VAT) on the sale of goods or services. -
-LD - -Party recovering the Value Added Tax (VAT) - -A code to identify the party who is eligible to recover the Value Added Tax (VAT) on the sale of goods or services. -
-LE - -Person on claim - -To identify the person who is the subject of the claim. -
-LF - -Buyer's corporate office - -The identification of the buyer's corporate office. -
-LG - -Supplier's corporate office - -The identification of the supplier's corporate office. -
-LH - -Liquidator - -The party responsible for settling or paying a debt. -
-LI - -Account coordinator - -An individual with coordination responsibilities for a specific account. -
-LJ - -Inspection leader - -An individual responsible for an inspection team. -
-LK - -Patient - -A person receiving or registered to receive medical treatment. -
-LL - -Patient companion - -Person accompanying the patient. -
-LM - -Medical treatment executant - -The party who executes a medical treatment. -
-LN - -Lender - -Party lending goods or equipment. -
-LO - -Medical treatment prescriber - -The party who prescribes a medical treatment. -
-LP - -Loading party - -Party responsible for the loading when other than carrier. -
-LQ - -Debt payment authorisation party - -A party which authorises the payment of a debt. -
-LR - -Administration centre - -Identification of an administration centre. -
-LS - -Product services and repairs centre - -A centre which services and repairs products. -
-LT - -Secretariat - -Party is a secretariat. -
-LU - -Entry point technical assessment group - -Party acts as an entry point for technical assessment. -
-LV - -Party assigning a status - -Party responsible for assigning a status. -
-MA - -Party for whom item is ultimately intended - -Party for whom item is ultimately intended. -
-MAD - -Meter administrator - -A party responsible for keeping a register of meters and related characteristics. -
-MDR - -Metered data responsible - -A party responsible for the establishment and validation of metered data received from the Metered Data Collector. -
-MF - -Manufacturer of goods - -[3513] Party who manufactures the goods. -
-MG - -Party designated to execute re-icing - -Party designated to execute re-icing, selected in the official list of mandatories competent for this kind of operation. -
-MI - -Planning schedule/material release issuer - -A party issuing a planning schedule/material release. -
-MP - -Manufacturing unit - -A party acting as a particular production unit of a manufacturer. -
-MR - -Message recipient - -A party to receive a message or messages. -
-MS - -Document/message issuer/sender - -Issuer of a document and/or sender of a message. -
-MT - -Party designated to execute sanitary procedures - -A party which is designated to execute sanitary procedures. -
-X - -N1 Notify party no. 1 - -The first party which is to be notified. -
-N2 - -Notify party no. 2 - -The second party which is to be notified. -
-NI - -Notify party - -[3180] Party to be notified. Synonym: Notify party No. 1. -
-OA - -Break bulk berth operator - -Party who offers facilities for berthing of vessels, handling and storage of break bulk cargo. -
-OB - -Ordered by - -Party who issued an order. -
-OC - -Party data responsible party - -The party responsible for all party data. -
-OD - -Equipment repair party - -A party making repairs to equipment. -
-OE - -Owner of property - -Party owning a property. -
-OF - -On behalf of - -Party on behalf of which an action is executed. -
-OG - -Owner or lessor's surveyor - -Surveyor hired by the owner or lessor of the item. -
-OH - -Lessee's surveyor - -Surveyor hired by the lessee of the item. -
-OI - -Outside inspection agency - -Third party inspecting goods or equipment. -
-OJ - -Third party - -Another party besides the two principals. -
-OK - -Receiver's sub-entity - -Identifies a sub-entity within the receiver's organization. -
-OL - -Case of need party - -Party to be approached in case of difficulty. -
-OM - -Collecting bank - -Any bank, other than the remitting bank, involved in processing the collection. -
-ON - -Remitting bank - -The bank to which the principal has entrusted the handling of a collection. -
-OO - -Order of the shipper party - -The owner of goods under consignment which are moving under a negotiable transport document and will only be released upon receipt of the original transport document. -
-OP - -Operator of property or equipment - -The party which operates property or a unit of equipment. -
-OQ - -Collection principal - -The party entrusting the handling of a collection to a bank. -
-OR - -Ordered bank - -Identifies the bank servicing the account for the ordering customer or payer. -
-OS - -Original shipper - -The original supplier of the goods. -
-OT - -Outside test agency - -Third party testing goods, equipment or services. -
-OU - -Account owner's servicing bank on the sending side - -Identifies the financial institution on the sending side which services the account owner's bank account(s). -
-OV - -Transport means owner - -Party owning the means of transport. No synonym of carrier (= CA). -
-OW - -Account owner's servicing bank on the receiving side - -Identifies the financial institution on the receiving side which services the account owner's bank account(s). -
-OX - -Sender's correspondent bank - -The account, or branch of the sender, or another financial institution, through which the sender will reimburse the receiver. -
-OY - -Ordering customer - -Identifies the originator of the instruction. -
-OZ - -Receiver's correspondent bank - -The branch of the receiver, or another financial institution, at which the funds will be made available to the receiver. -
-P1 - -Contact party 1 - -First party to contact. -
-P2 - -Contact party 2 - -Second party to contact. -
-P3 - -Contact party 3 - -Third party to contact. -
-P4 - -Contact party 4 - -Fourth party to contact. -
-PA - -Party to receive inspection report - -Party to whom the inspection report should be sent. -
-PB - -Paying financial institution - -Financial institution designated to make payment. -
-PC - -Actual purchaser's customer - -Party the purchaser within the actual message is selling the ordered goods or services to. -
-PD - -Purchaser's department buyer - -Purchasing department of buyer. -
-PE - -Payee - -Identifies the credit party when other than the beneficiary. -
-PF - -Party to receive freight bill - -Party to whom the freight bill should be sent. -
-PG - -Prime contractor - -Party responsible for the whole project if other than the buyer. -
-PH - -Payer's financial institution - -Institution chosen by the payer to execute financial transactions on his behalf. -
-PI - -Payee's company name/ID - -Receiving company name/ID (ACH transfers). -
-PJ - -Party to receive correspondence - -Second party designated by a first party to receive certain correspondence in lieu of it being mailed directly to this first party. -
-PK - -Contact party - -Party to contact. -
-X - -PL Payor - -Identifies the debit party when other than the ordering customer (for banking purposes). Note: 1. This code value will be removed effective with directory D.09A. -
-PM - -Party to receive paper memo of invoice - -Party being informed about invoice issue (via paper). -
-PN - -Party to receive shipping notice - -The party is to be the recipient of the shipping notice. -
-PO - -Ordering party - -To be used only if ordering party and buyer are not identical. -
-PQ - -Certifying party - -A party which certifies something. -
-PR - -Payer - -[3308] Party responsible for making a payment. -
-PS - -Payer's company name/ID (Check, Draft or Wire) - -Party to send cheque, draft or wire for payment. -
-PT - -Party to receive test report - -A party which is named to be the recipient of test reports. -
-PW - -Despatch party - -[3282] Party where goods are to be, or have been, taken over by a carrier such as the place where a container is picked-up. -
-PX - -Party to receive all documents - -A party which is named to be the recipient of all documents. -
-PY - -Checking party - -Party or contact designated on behalf of carrier or his agent to establish the actual figures for quantities, weight, volume and/or (cube) measurements of goods or containers which are to appear in the transport contract and on which charges will be based. -
-PZ - -Party to print some document - -The party that is to print a specific document. -
-RA - -Central bank or regulatory authority - -Identifies central bank or regulatory authority which must be informed of certain aspects of a message. -
-RB - -Receiving financial institution - -Financial institution designated to receive payment. -
-RE - -Party to receive commercial invoice remittance - -Party to whom payment for a commercial invoice or bill should be remitted. -
-RF - -Received from - -Name of a person or department which actually delivers the goods. -
-RH - -Seller's financial institution - -Financial institution designated by seller to receive payment. RDFI (ACH transfers). -
-RI - -Reinsurance intermediary/broker - -Intermediary party between ceding company and reinsurance. -
-RL - -Reporting carrier (Customs) - -Party who makes the cargo report to Customs. -
-RM - -Reporting carrier's nominated agent/representative - -(Customs) Agent who formally makes a cargo report to Customs on behalf of the carrier. -
-RP - -Routing party - -Party responsible for the selection of the carrier(s). -
-RS - -Party to receive statement of account - -Party to whom the statement of account should be sent. -
-RV - -Receiver of cheque - -Identifies the party which is to receive the actual cheque, when different from the receiver of funds. -
-RW - -Issuer of waybill - -Party issuing the contract (waybill) for carriage. -
-SB - -Sales responsibility - -A party being responsible for sales. -
-SE - -Seller - -[3346] Party selling merchandise or services to a buyer. -
-SF - -Ship from - -Identification of the party from where goods will be or have been shipped. -
-SG - -Store group - -A chain of shops or stores. -
-SI - -Shipping schedule issuer - -The party which issues a shipping schedule. -
-SN - -Store keeper - -A party keeping a shop or store. -
-SO - -Sold to if different than bill to - -Party to whom the goods have been sold, if different to the bill to party. -
-SR - -Seller agent - -[3254] Party representing the seller for the purpose of a trade transaction. -
-SS - -Social securities collector's office - -Party collecting social securities premiums. -
-ST - -Ship to - -Identification of the party to where goods will be or have been shipped. -
-SU - -Supplier - -Party who supplies goods and or services. -
-SX - -Surety for additions - -Natural of legal person (generally a bank of insurance company) who accepts responsibility in due legal form for the financial guarantee to Customs of the payment of additional duties or fees that become due against a particular shipment, which have not previously been covered by surety. -
-SY - -Surety - -Natural or legal person (generally a bank or insurance company) who accepts responsibility in due legal form for the financial consequences of non-fulfillment of another's obligations to the Customs (CCC). -
-SZ - -Surety for antidumping/countervailing duty - -Natural or legal person that has been contracted by the importer to guarantee to Customs the payment of antidumping and/or countervailing duties that become due against a particular shipment. -
-TA - -Legal receiver - -The party responsible for a receivership. -
-TB - -Submitter - -To specify that the party is a submitter. -
-TC - -Tax collector's office - -Party collecting taxes. -
-TCP - -Transit charge payer - -Party, other than the ordering party, which has to pay the charges concerning the transit operations. -
-TCR - -Transport capacity responsible party - -Party responsible for transport capacity. -
-TD - -Party to receive technical documentation - -Party to whom technical documentation should be sent. -
-TE - -Bankruptcy referee - -To specify that the party is a referee in a bankruptcy case. -
-TF - -Source of information - -To specify that the party is the source of information. -
-TG - -Judge - -To specify that the party is a judge. -
-TH - -Attorney - -To specify that the party is an attorney. -
-TI - -Law firm - -To specify that the party is a law firm. -
-TJ - -Trustee - -To specify that the party is a trustee. -
-TK - -Signatory - -To specify that the party is a signatory. -
-TL - -Occupant - -The party is an occupant. -
-TM - -Co-occupant - -The party is a co-occupant. -
-TN - -Subject of inquiry - -The party is the subject of an inquiry. -
-TO - -Lessor - -The party is a lessor. -
-TP - -Owner of residence - -Identifies the owner of a residence. -
-TQ - -Founder - -Identifies the founder. -
-TR - -Terminal operator - -A party which handles the loading and unloading of marine vessels. -
-TS - -Party to receive certified test results - -Party to whom the certified test results should be sent. -
-TT - -Transfer to - -The party which is the recipient of a transfer. -
-TU - -President - -Identifies the president. -
-TV - -Chairperson - -Identifies the chairperson. -
-TW - -Legal title holder - -Identifies the legal title holder. -
-TX - -Shareholder - -Identifies a shareholder. -
-TY - -Provider - -Identifies the provider. -
-TZ - -Military branch - -Identifies the branch of the military. -
-UA - -Educational institution - -Identifies a university, college or school. -
-UB - -Assignor - -Identifies the assignor. -
-UC - -Ultimate consignee - -Party who has been designated on the invoice or packing list as the final recipient of the stated merchandise. -
-UD - -Ultimate customer - -The final recipient of goods. -
-UE - -Advisor - -Identifies the advisor. -
-UF - -Co-defendant - -Identifies the co-defendant. -
-UG - -Merged company with retained identity - -Company whose identity has been retained from a merger. -
-UH - -Party represented - -Identifies the party represented. -
-UHP - -Unexpected handling party - -Party authorized (during a voyage) to apply unexpected handling procedures or party having applied these procedures. -
-UI - -Assignee - -Identifies the assignee. -
-UJ - -Key person - -Identifies the key person. -
-UK - -Author - -Identifies the author. -
-UL - -Ultimate parent company - -Identifies the ultimate parent company. -
-UM - -Party not to be confused with - -Identifies a party not to be confused with another party. -
-UN - -Accountant - -Identifies the accountant. -
-UO - -Plaintiff - -Identifies the plaintiff. -
-UP - -Unloading party - -A party to unload the goods. -
-UQ - -Parent company - -Identifies the parent company. -
-UR - -Affiliated company - -Identifies the affiliated company. -
-US - -Bailiff - -Identifies the bailiff. -
-UT - -Merged company - -Identifies the company involved in a merger. -
-UU - -Defendant - -Identifies the defendant. -
-UV - -Petitioning creditor - -Identifies the petitioning creditor. -
-UW - -Guarantee agency - -Identifies the guarantee agency. -
-UX - -Organization group - -Identifies the organization group. -
-UY - -Subsidiary - -Identifies the subsidiary. -
-UZ - -Industry association - -Identifies the industry association. -
-VA - -Joint owner - -Identifies the joint owner. -
-VB - -Joint venture - -Identifies the joint venture. -
-VC - -Filing office - -Identifies the filing office. -
-VE - -Court - -Identifies the court. -
-VF - -Liability holder - -Identifies the liability holder. -
-VG - -Local government sponsor - -Identifies the local government sponsor. -
-VH - -Mortgage company - -Identifies the mortgage company. -
-VI - -Notary public - -Identifies the notary public. -
-VJ - -Officer - -Identifies the officer. -
-VK - -Publisher - -Identifies the publisher. -
-VL - -Party manufactured for - -Identifies the party for whom manufacturing of goods is done. -
-VM - -Previous owner - -Identifies the previous owner. -
-VN - -Vendor - -Party vending goods or services. -
-VO - -Purchased company - -Identifies the purchased company. -
-VP - -Receiver manager - -Manager of a business which is in receivership status and which will not be liquidated. -
-VQ - -Responsible government agency - -Identifies the responsible government agency. -
-VR - -Sole proprietor - -Identifies the sole proprietor. -
-VS - -Auctioneer - -Identifies the auctioneer. -
-VT - -Branch - -Identifies the branch. -
-VU - -Business - -Identifies the business. -
-VV - -Ultimate same country parent company - -Identifies the highest level parent company in the same country. -
-VW - -Responsible party - -Identifies the party that can be called to account. -
-VX - -Secured party - -Identifies a party that is guaranteed against loss. -
-VY - -Other related party - -Identifies an entity as an unspecified but related party. -
-VZ - -Co-debtor - -Identifies an entity as a joint or mutual debtor. -
-WA - -Company which holds financial interest - -Identifies a company which holds any financial stake in an undertaking or organization. -
-WB - -Rating organization - -Identifies an organization responsible for assigning a classification or rating. -
-WC - -Information reference agency - -The agency responsible for the reference of information. -
-WD - -Warehouse depositor - -[3004] Party depositing goods in a warehouse. -
-WE - -Compilation agency - -The agency responsible for the compilation of information. -
-WF - -Information maintenance agency - -The agency responsible for the maintenance of information. -
-WG - -Information dissemination agency - -The agency responsible for the dissemination of information. -
-WH - -Warehouse keeper - -[3022] Party taking responsibility for goods entered into a warehouse. -
-WI - -Inspection address - -Specifies the address for an inspection. -
-WJ - -Refusal party - -Identification of the party responsible for a refusal. -
-WK - -Value added network provider - -A party that provides telecommunications interconnectivity services in an electronic data interchange environment. -
-WL - -Agency - -The business or establishment of an agent. -
-WM - -Works manager - -A party managing works. -
-WN - -Party to receive order to supply - -Party designated by the registering party to receive a binding direction to supply something. -
-WO - -Party to receive invitation to offer - -An entity to receive an invitation to offer. -
-WP - -Sub-entity - -A part into which an entity has been divided. -
-WPA - -Weighting party - -Party designated (legally accepted) to ascertain the weight. -
-WQ - -Doing business as - -The name under which business is conducted. -
-WR - -Party submitting quote - -The party stating the price of something to be purchased. -
-WS - -Wholesaler - -Seller of articles, often in large quantities, to be retailed by others. -
-WT - -Affiliated party - -A party attached or connected to another party. -
-WU - -Previous name - -Name of an entity used before the current name. -
-WV - -Party performing task - -An entity responsible for performing a task to be undertaken. -
-WW - -Registering party - -Party performing the registration. -
-ZZZ - -Mutually defined - -Party specification mutually agreed between interchanging parties. Data Element Cross Reference DataElement 3035 is used in the following Batch Segments: -
-FII - -NAD PNA - -DataElement 3035 is used in the following Interactive Segments: -
-NAA - -PRT - -DataElement 3035 is used in the following Interactive Composite Elements: E012 E032 E966 E985 E986 Copyright United Nations, all rights reserved   UN Economic Commission for Europe Palais des Nations, CH-1211 Geneva 10, Switzerland Tel: +41-22 917 2773 Fax: +41-22 917 0037 E-mail: TradeMaster@unece.org UN/EDIFACT Directories -
diff --git a/docs/content/docs/codelists/untdid-3139.mdx b/docs/content/docs/codelists/untdid-3139.mdx deleted file mode 100644 index cf55120c..00000000 --- a/docs/content/docs/codelists/untdid-3139.mdx +++ /dev/null @@ -1,982 +0,0 @@ ---- -title: UNTDID 3139 - Contact function, coded -description: Code specifying the function of a contact (e.g. department or person). -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - UNTDID_3139, - Untdid3139, - untdid3139Code, - type Untdid3139Definition, - type Untdid3139Code, -} from "node-zugferd/codelist/untdid-3139"; - -``` - -
- -Source - -
- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Name - -Description -
-AA - -Insurance contact - -Department/person to contact for matters regarding insurance. -
-AB - -Workshop contact - -Department/person to contact for matters regarding the workshop. -
-AC - -Accepting contact - -Department/person in charge of accepting incoming goods. -
-AD - -Accounting contact - -Department/person responsible for the accounts payable function within a corporation. -
-AE - -Contract contact - -Department/person to contact for matters regarding contracts. -
-AF - -Land registry contact - -Department/person to contact for matters regarding land registry. -
-AG - -Agent - -Department/person of the agent which acts on behalf of another party. -
-AH - -Coordination contact - -Department/person to contact for matters regarding technical coordination of works. -
-AI - -Project management contact - -Department/person to contact for matters regarding project management on behalf of the contractor. -
-AJ - -Investment contact - -Department/person to contact for matters regarding investments. -
-AK - -Works management contact - -Department/person to contact for matters regarding management of works on behalf of the owner. -
-AL - -Personnel contact - -Department/person to contact for matters regarding personnel (human resources). -
-AM - -Claims contact - -Department/person to contact for matters regarding claims. -
-AN - -Laboratory contact - -Department/person to contact for laboratory matters. -
-AO - -Plant/equipment contact - -Department/person to contact for matters regarding plant/equipment. -
-AP - -Accounts payable contact - -Department/person responsible for the accounts payable function within a corporation. -
-AQ - -Quantity surveyor contact - -Department/person to contact for matters regarding quantity surveying. -
-AR - -Accounts receivable contact - -Department/person responsible for the accounts receivable within a corporation. -
-AS - -Public relations contact - -Department/person to contact for matters regarding public relations. -
-AT - -Technical contact - -Department/person to contact for matters regarding technical issues. -
-AU - -City works authority contact - -Department/person to contact for matters regarding city works. -
-AV - -Maintenance contact - -Department/person to contact for matters regarding maintenance. -
-AW - -Town planning contact - -Department/person to contact for matters regarding town ` planning. -
-AX - -Traffic authority contact - -Department/person to contact for matters regarding traffic. -
-AY - -Electricity supply contact - -Department/person to contact for matters regarding electricity supply. -
-AZ - -Gas supply contact - -Department/person to contact for matters regarding gas supply. -
-BA - -Water supply contact - -Department/person to contact for matters regarding water supply. -
-BB - -Telecommunications network contact - -Department/person to contact for matters regarding telecommunications network. -
-BC - -Banking contact - -Contact person for bank. -
-BD - -New developments contact - -Department/person to contact for matters regarding new developments (e.g. construction). -
-BE - -Transport infrastructure authority - -Department/person to contact for matters regarding transport infrastructure. -
-BF - -Service contact - -Department/person to be contacted in service matters. -
-BU - -Ultimate consignee - -Department/designated on the invoice or packing list as the final recipient of the stated merchandise. -
-CA - -Carrier - -(3126) Party undertaking or arranging transport of goods between named points. -
-CB - -Changed by - -Person who made the change. -
-CC - -Responsible person for information production - -Responsible person to contact for matters regarding the production of information. -
-CD - -Responsible person for information dissemination - -Responsible person to contact for matters regarding information dissemination. -
-CE - -Head of unit for computer data processing - -Head of unit to contact for matters regarding computer data processing. -
-CF - -Head of unit for information production - -Head of unit to contact for matters regarding the production of information. -
-CG - -Head of unit for information dissemination - -Head of unit to contact for matters regarding dissemination of information. -
-CN - -Consignee - -(3132) Party to which goods are consigned. -
-CO - -Consignor - -(3336) Party which, by contract with a carrier, consigns or sends goods with the carrier, or has them conveyed by him. Synonym: shipper/sender. -
-CP - -Responsible person for computer data processing - -Responsible person to contact for matters regarding computer data processing. -
-CR - -Customer relations - -Individual responsible for customer relations. -
-CW - -Confirmed with - -Person with whom the contents of the purchase order has been discussed and agreed (e.g. by telephone) prior to the sending of this message. -
-DE - -Department/employee to execute export procedures - -Self explanatory. -
-DI - -Department/employee to execute import procedures - -Self explanatory. -
-DL - -Delivery contact - -Department/person responsible for delivery. -
-EB - -Entered by - -Name of an individual who made the entry. -
-EC - -Education coordinator - -Person in charge of coordination of education. -
-ED - -Engineering contact - -Department/person to contact for matters regarding engineering. -
-EX - -Expeditor - -Party to be contacted where goods are (to be) expedited. -
-GR - -Goods receiving contact - -Department/person responsible for receiving the goods at the place of delivery. -
-HE - -Emergency dangerous goods contact - -Party who is to be contacted to intervene in case of emergency. -
-HG - -Dangerous goods contact - -Department/person to be contacted for details about the transportation of dangerous goods/hazardous material. -
-HM - -Hazardous material contact - -Department/person responsible for hazardous material control. -
-IC - -Information contact - -Department/person to contact for questions regarding transactions. -
-IN - -Insurer contact - -Self explanatory. -
-LB - -Place of delivery contact - -Self explanatory. -
-LO - -Place of collection contact - -Self explanatory. -
-MC - -Material control contact - -Department/person responsible for the controlling/inspection of goods. -
-MD - -Material disposition contact - -Department/person responsible for the disposition/scheduling of goods. -
-MH - -Material handling contact - -Self explanatory. -
-MR - -Message recipient contact - -Self explanatory. -
-MS - -Message sender contact - -Self explanatory. -
-NT - -Notification contact - -Self explanatory. -
-OC - -Order contact - -An individual to contact for questions regarding this order. -
-PA - -Prototype coordinator - -Description to be provided. -
-PD - -Purchasing contact - -Department/person responsible for issuing this purchase order. -
-PE - -Payee contact - -Self explanatory. -
-PM - -Product management contact - -Department/person to contact for questions regarding this order. -
-QA - -Quality assurance contact - -Quality assurance contact within an organization. -
-QC - -Quality coordinator contact - -Quality coordinator contact within an organization. -
-RD - -Receiving dock contact - -The receiving dock contact within an organization. -
-SA - -Sales administration - -Name of the sales administration contact within a corporation. -
-SC - -Schedule contact - -Name of the scheduling contact within a corporation. -
-SD - -Shipping contact - -The shipping department contact within an organization. -
-SR - -Sales representative or department - -The sales representative or department contact within an organization. -
-SU - -Supplier contact - -Department/person to be contacted at the supplier. -
-TA - -Traffic administrator - -The traffic administrator contact within an organization. -
-TD - -Test contact - -Department/person responsible for testing contact. -
-TI - -Technical documentation recipient - -Department/person to receive technical documentation. -
-TR - -Transport contact - -Department/person in charge of transportation. -
-WH - -Warehouse - -The warehouse contact within an organization. -
-ZZZ - -Mutually defined - -Self explanatory. -
diff --git a/docs/content/docs/codelists/untdid-5305.mdx b/docs/content/docs/codelists/untdid-5305.mdx deleted file mode 100644 index a9cb3951..00000000 --- a/docs/content/docs/codelists/untdid-5305.mdx +++ /dev/null @@ -1,146 +0,0 @@ ---- -title: UNTDID 5305 — Duty or tax or fee category -description: Code specifying a duty or tax or fee category. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - UNTDID_5305, - Untdid5305, - untdid5305Code, - type Untdid5305Definition, - type Untdid5305Code, -} from "node-zugferd/codelist/untdid-5305"; - -``` - -
- -Source - -
- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Name - -Semantic model -
-S - -Standard rate - -Standard rate -
-Z - -Zero rated goods - -Zero rated goods -
-E - -Exempt from tax - -Exempt from tax -
-AE - -VAT Reverse charge - -VAT reverse charge -
-K - -VAT exempt for EEA intra-community supply of goods and services - -VAT exempt for intra community supply of goods -
-G - -Free export item, tax not charged - -Free export item, tax not charged -
-O - -Service outside scope of tax - -Services outside scope of tax -
-L - -Canary Islands general indirect tax - -Canary Islands General Indirect Tax -
-M - -Tax for production, services and importation in Ceuta and Melilla - -Liable for IPSI -
diff --git a/docs/content/docs/codelists/vat-cat.mdx b/docs/content/docs/codelists/vat-cat.mdx deleted file mode 100644 index 8704f61d..00000000 --- a/docs/content/docs/codelists/vat-cat.mdx +++ /dev/null @@ -1,663 +0,0 @@ ---- -title: VAT Category code + Factur-X -description: Code specifying the VAT category. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - VAT_CAT, - VatCat, - vatCatCode, - type VatCatDefinition, - type VatCatCode, -} from "node-zugferd/codelist/vat-cat"; - -``` - -
- -Source - -
- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Name - -Description -
-AAA - -Petroleum tax - -A tax levied on the volume of petroleum being transacted. -
-AAB - -Provisional countervailing duty cash - -Countervailing duty paid in cash prior to a formal finding of subsidization by Customs. -
-AAC - -Provisional countervailing duty bond - -Countervailing duty paid by posting a bond during an investigation period prior to a formal decision on subsidization by Customs. -
-AAD - -Tobacco tax - -A tax levied on tobacco products. -
-AAE - -Energy fee - -General fee or tax for the use of energy. -
-AAF - -Coffee tax - -A tax levied specifically on coffee products. -
-AAG - -Harmonised sales tax, Canadian - -A harmonized sales tax consisting of a goods and service tax, a Canadian provincial sales tax and, as applicable, a Quebec sales tax which is recoverable. -
-AAH - -Quebec sales tax - -A sales tax charged within the Canadian province of Quebec which is recoverable. -
-AAI - -Canadian provincial sales tax - -A sales tax charged within Canadian provinces which is non-recoverable. -
-AAJ - -Tax on replacement part - -A tax levied on a replacement part, where the original part is returned. -
-AAK - -Mineral oil tax - -Tax that is levied specifically on products containing mineral oil. -
-AAL - -Special tax - -To indicate a special type of tax. -
-AAM - -Insurance tax - -A tax levied specifically on insurances. -
-AAO - -Provincial Cannabis Tax - -A tax levied on Cannabis products -
-AAP - -Outstanding duty interest - -Fee levied due to outstanding duties to be paid -
-ADD - -Anti-dumping duty - -Duty applied to goods ruled to have been dumped in an import market at a price lower than that in the exporter's domestic market. -
-BOL - -Stamp duty (Imposta di Bollo) - -Tax required in Italy, which may be fixed or graduated in various circumstances (e.g. VAT exempt documents or bank receipts). -
-CAP - -Agricultural levy - -Levy imposed on agricultural products where there is a difference between the selling price between trading countries. -
-CAR - -Car tax - -A tax that is levied on the value of the automobile. -
-COC - -Paper consortium tax (Italy) - -Italian Paper consortium tax. -
-CST - -Commodity specific tax - -Tax related to a specified commodity, e.g. illuminants, salts. -
-CUD - -Customs duty - -Duties laid down in the Customs tariff, to which goods are liable on entering or leaving the Customs territory (CCC). -
-CVD - -Countervailing duty - -A duty on imported goods applied for compensate for subsidies granted to those goods in the exporting country. -
-ENV - -Environmental tax - -Tax assessed for funding or assuring environmental protection or clean-up. -
-EXC - -Excise duty - -Customs or fiscal authorities code to identify a specific or ad valorem levy on a specific commodity, applied either domestically or at time of importation. -
-EXP - -Agricultural export rebate - -Monetary rebate given to the seller in certain circumstances when agricultural products are exported. -
-FET - -Federal excise tax - -Tax levied by the federal government on the manufacture of specific items. -
-FRE - -Free - -No tax levied. -
-GCN - -General construction tax - -General tax for construction. -
-GST - -Goods and services tax - -Tax levied on the final consumption of goods and services throughout the production and distribution chain. -
-ILL - -Illuminants tax - -Tax of illuminants. -
-IMP - -Import tax - -Tax assessed on imports. -
-IND - -Individual tax - -A tax levied based on an individual's ability to pay. -
-LAC - -Business license fee - -Government assessed charge for permit to do business. -
-LCN - -Local construction tax - -Local tax for construction. -
-LDP - -Light dues payable - -Fee levied on a vessel to pay for port navigation lights. -
-LOC - -Local sales tax - -Assessment charges on sale of goods or services by city, borough country or other taxing authorities below state or provincial level. -
-LST - -Lust tax - -Tax imposed for clean-up of leaky underground storage tanks. -
-MCA - -Monetary compensatory amount - -Levy on Common Agricultural Policy (European Union) goods used to compensate for fluctuating currencies between member states. -
-MCD - -Miscellaneous cash deposit - -Duty paid and held on deposit, by Customs, during an investigation period prior to a final decision being made on any aspect related to imported goods (except valuation) by Customs. -
-OTH - -Other taxes - -Unspecified, miscellaneous tax charges. -
-PDB - -Provisional duty bond - -Anti-dumping duty paid by posting a bond during an investigation period prior to a formal decision on dumping by Customs. -
-PDC - -Provisional duty cash - -Anti-dumping duty paid in cash prior to a formal finding of dumping by Customs. -
-PRF - -Preference duty - -Duties laid down in the Customs tariff, to which goods are liable on entering or leaving the Customs territory falling under a preferential regime such as Generalised System of Preferences (GSP). -
-SCN - -Special construction tax - -Special tax for construction. -
-SSS - -Shifted social securities - -Social securities share of the invoice amount to be paid directly to the social securities collector. -
-STT - -State/provincial sales tax - -All applicable sale taxes by authorities at the state or provincial level, below national level. -
-SUP - -Suspended duty - -Duty suspended or deferred from payment. -
-SUR - -Surtax - -A tax or duty applied on and in addition to existing duties and taxes. -
-SWT - -Shifted wage tax - -Wage tax share of the invoice amount to be paid directly to the tax collector(s office). -
-TAC - -Alcohol mark tax - -A tax levied based on the type of alcohol being obtained. -
-TOT - -Total - -The summary amount of all taxes. -
-TOX - -Turnover tax - -Tax levied on the total sales/turnover of a corporation. -
-TTA - -Tonnage taxes - -Tax levied based on the vessel's net tonnage. -
-VAD - -Valuation deposit - -Duty paid and held on deposit, by Customs, during an investigation period prior to a formal decision on valuation of the goods being made. -
-VAT - -Value added tax - -A tax on domestic or imported goods applied to the value added at each stage in the production/distribution cycle. -
diff --git a/docs/content/docs/codelists/vat-id.mdx b/docs/content/docs/codelists/vat-id.mdx deleted file mode 100644 index b5defeb0..00000000 --- a/docs/content/docs/codelists/vat-id.mdx +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: VAT Identifier -description: Code specifying the VAT identifier. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - VAT_ID, - VatId, - vatIdCode, - type VatIdDefinition, - type VatIdCode, -} from "node-zugferd/codelist/vat-id"; - -``` - -
- -Source - -
- - ---- - - - - - - - - - - - - -
-Code - -Value -
-VA - -Value added tax -
diff --git a/docs/content/docs/codelists/vatex.mdx b/docs/content/docs/codelists/vatex.mdx deleted file mode 100644 index 359f0107..00000000 --- a/docs/content/docs/codelists/vatex.mdx +++ /dev/null @@ -1,1006 +0,0 @@ ---- -title: CEF VATEX — VAT exemption reason code -description: Code specifying the VAT exemption reason. -priority: 0.6 ---- - -### Codelist [toc] - -```ts -import { - VATEX, - VatEx, - vatExCode, - PUBLISHED, - type VatExDefinition, - type VatExCode, -} from "node-zugferd/codelist/vatex"; - -``` - -
- -Source - -
- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Code - -Code name (english) - -Remark -
-VATEX-EU-79-C - -Exempt based on article 79, point c of Council Directive 2006/112/EC - -VATEX-EU-79-C -
-VATEX-EU-132 - -Exempt based on article 132 of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1A - -Exempt based on article 132, section 1 (a) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1B - -Exempt based on article 132, section 1 (b) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1C - -Exempt based on article 132, section 1 (c) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1D - -Exempt based on article 132, section 1 (d) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1E - -Exempt based on article 132, section 1 (e) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1F - -Exempt based on article 132, section 1 (f) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1G - -Exempt based on article 132, section 1 (g) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1H - -Exempt based on article 132, section 1 (h) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1I - -Exempt based on article 132, section 1 (i) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1J - -Exempt based on article 132, section 1 (j) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1K - -Exempt based on article 132, section 1 (k) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1L - -Exempt based on article 132, section 1 (l) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1M - -Exempt based on article 132, section 1 (m) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1N - -Exempt based on article 132, section 1 (n) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1O - -Exempt based on article 132, section 1 (o) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1P - -Exempt based on article 132, section 1 (p) of Council Directive 2006/112/EC - - -
-VATEX-EU-132-1Q - -Exempt based on article 132, section 1 (q) of Council Directive 2006/112/EC - - -
-VATEX-EU-143 - -Exempt based on article 143 of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1A - -Exempt based on article 143, section 1 (a) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1B - -Exempt based on article 143, section 1 (b) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1C - -Exempt based on article 143, section 1 (c) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1D - -Exempt based on article 143, section 1 (d) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1E - -Exempt based on article 143, section 1 (e) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1F - -Exempt based on article 143, section 1 (f) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1FA - -Exempt based on article 143, section 1 (fa) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1G - -Exempt based on article 143, section 1 (g) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1H - -Exempt based on article 143, section 1 (h) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1I - -Exempt based on article 143, section 1 (i) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1J - -Exempt based on article 143, section 1 (j) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1K - -Exempt based on article 143, section 1 (k) of Council Directive 2006/112/EC - - -
-VATEX-EU-143-1L - -Exempt based on article 143, section 1 (l) of Council Directive 2006/112/EC - - -
-VATEX-EU-144 - -Exempt based on article 144 of Council Directive 2006/112/EC - - -
-VATEX-EU-146-1E - -Exempt based on article 146 section 1 (e) of Council Directive 2006/112/EC - - -
-VATEX-EU-148 - -Exempt based on article 148 of Council Directive 2006/112/EC - - -
-VATEX-EU-148-A - -Exempt based on article 148, section (a) of Council Directive 2006/112/EC - - -
-VATEX-EU-148-B - -Exempt based on article 148, section (b) of Council Directive 2006/112/EC - - -
-VATEX-EU-148-C - -Exempt based on article 148, section (c) of Council Directive 2006/112/EC - - -
-VATEX-EU-148-D - -Exempt based on article 148, section (d) of Council Directive 2006/112/EC - - -
-VATEX-EU-148-E - -Exempt based on article 148, section (e) of Council Directive 2006/112/EC - - -
-VATEX-EU-148-F - -Exempt based on article 148, section (f) of Council Directive 2006/112/EC - - -
-VATEX-EU-148-G - -Exempt based on article 148, section (g) of Council Directive 2006/112/EC - - -
-VATEX-EU-151 - -Exempt based on article 151 of Council Directive 2006/112/EC - - -
-VATEX-EU-151-1A - -Exempt based on article 151, section 1 (a) of Council Directive 2006/112/EC - - -
-VATEX-EU-151-1AA - -Exempt based on article 151, section 1 (aa) of Council Directive 2006/112/EC - - -
-VATEX-EU-151-1B - -Exempt based on article 151, section 1 (b) of Council Directive 2006/112/EC - - -
-VATEX-EU-151-1C - -Exempt based on article 151, section 1 (c) of Council Directive 2006/112/EC - - -
-VATEX-EU-151-1D - -Exempt based on article 151, section 1 (d) of Council Directive 2006/112/EC - - -
-VATEX-EU-151-1E - -Exempt based on article 151, section 1 (e) of Council Directive 2006/112/EC - - -
-VATEX-EU-153 - -Exempt based on article 153 of Council Directive 2006/112/EC - - -
-VATEX-EU-159 - -Exempt based on article 159 of Council Directive 2006/112/EC - - -
-VATEX-EU-309 - -Exempt based on article 309 of Council Directive 2006/112/EC - - -
-VATEX-EU-AE - -Reverse charge - -VATEX-EU-AE -
-VATEX-EU-D - -Travel agents VAT scheme. - -VATEX-EU-D -
-VATEX-EU-F - -Second hand goods VAT scheme. - -VATEX-EU-F -
-VATEX-EU-G - -Export outside the EU - -VATEX-EU-G -
-VATEX-EU-I - -Works of art VAT scheme. - -VATEX-EU-I -
-VATEX-EU-IC - -Intra-community supply - -VATEX-EU-IC -
-VATEX-EU-J - -Collectors items and antiques VAT scheme. - -VATEX-EU-J -
-VATEX-EU-O - -Not subject to VAT - -VATEX-EU-O -
-VATEX-FR-FRANCHISE - -France domestic VAT franchise in base - -VATEX-FR-FRANCHISE -
-VATEX-FR-CNWVAT - -France domestic Credit Notes without VAT, due to supplier forfeit of VAT for discount - -VATEX-FR-CNWVAT -
-VATEX-FR-CGI261-1 - -Exempt based on 1 of article 261 of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261-1 -
-VATEX-FR-CGI261-2 - -Exempt based on 2 of article 261 of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261-2 -
-VATEX-FR-CGI261-3 - -Exempt based on 3 of article 261 of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261-3 -
-VATEX-FR-CGI261-4 - -Exempt based on 4 of article 261 of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261-4 -
-VATEX-FR-CGI261-5 - -Exempt based on 5 of article 261 of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261-5 -
-VATEX-FR-CGI261-7 - -Exempt based on 7 of article 261 of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261-7 -
-VATEX-FR-CGI261-8 - -Exempt based on 8 of article 261 of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261-8 -
-VATEX-FR-CGI261A - -Exempt based on article 261 A of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261A -
-VATEX-FR-CGI261B - -Exempt based on article 261 B of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261B -
-VATEX-FR-CGI261C-1 - -Exempt based on 1° of article 261 C of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261C-1 -
-VATEX-FR-CGI261C-2 - -Exempt based on 2° of article 261 C of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261C-2 -
-VATEX-FR-CGI261C-3 - -Exempt based on 3° of article 261 C of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261C-3 -
-VATEX-FR-CGI261D-1 - -Exempt based on 1° of article 261 D of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261D-1 -
-VATEX-FR-CGI261D-1BIS - -Exempt based on 1°bis of article 261 D of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261D-1BIS -
-VATEX-FR-CGI261D-2 - -Exempt based on 2° of article 261 D of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261D-2 -
-VATEX-FR-CGI261D-3 - -Exempt based on 3° of article 261 D of the Code Général des Impôts (CGI ; General tax code) -Exonération de TVA - Article 261 D-3° du Code Général des Impôts - -VATEX-FR-CGI261D-3 -
-VATEX-FR-CGI261D-4 - -Exempt based on 4° of article 261 D of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261D-4 -
-VATEX-FR-CGI261E-1 - -Exempt based on 1° of article 261 E of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261E-1 -
-VATEX-FR-CGI261E-2 - -Exempt based on 2° of article 261 E of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI261E-2 -
-VATEX-FR-CGI277A - -Exempt based on article 277 A of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI277A -
-VATEX-FR-CGI275 - -Exempt based on article 275 of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI275 -
-VATEX-FR-298SEXDECIESA - -Exempt based on article 298 sexdecies A of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-298SEXDECIESA -
-VATEX-FR-CGI295 - -Exempt based on article 295 of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-CGI295 -
-VATEX-FR-AE - -Exempt based on 2 of article 283 of the Code Général des Impôts (CGI ; General tax code) - -VATEX-FR-AE -
diff --git a/docs/content/docs/guides/create-your-first-profile.mdx b/docs/content/docs/guides/create-your-first-profile.mdx deleted file mode 100644 index 8c4d8277..00000000 --- a/docs/content/docs/guides/create-your-first-profile.mdx +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Create your first profile -description: In this guide, we'll walk you through the steps of creating your first node-zugferd profile. -priority: 0.4 ---- - -This guide assumes you have [setup the basics](/docs/basic-usage) -of node-zugferd and are ready to create your first profile. - - - - -### Plan your idea - -Before beginning, you must know what profile and version you intend to create. - -In this guide, we'll create a **demo profile** to showcase the basic profile usage. - - - -### Profile Configuration - -Go ahead and find a suitable location to create an demo plugin folder, with an `index.ts` file within. - - - - - - - -In the `index.ts` file, we'll export a variable with the return of `createProfile` that represents our profile. This will be what we'll later set as profile in our instance inside `invoicer.ts`. - -```ts title="index.ts" -import { createProfile } from "node-zugferd/profile"; - -export const demo = createProfile({ - contextParameter: - "urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic", - extends: [...BASIC_WL.extends, BASIC_WL], - xsdPath: "Factur-X_1.07.2_BASIC.xsd", - conformanceLevel: "BASIC", - documentFileName: "factur-x.xml", - documentType: "INVOICE", - version: "1.0", -}); -``` - -This will throw an type error, as we still have to define our schema. - - - - -### Defining a schema - -In order to generate documents from the profile, we must create a schema which is mapping the documents xml structure to an typescript object. -Because the schema, depending on its size, quickly gets unreadable we create it inside a `schema.ts` file, thats exporting the profiles schema. - -Our structure should now look something like this: - - - - - - - - -```ts title="schema.ts" -import type { Schema } from "node-zugferd/types"; - -export const demoSchema = { - /** - * Business process type - */ - businessProcessType: { - type: "string", - required: false, - xpath: - "/rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext/ram:BusinessProcessSpecifiedDocumentContextParameter/ram:ID", - }, - /** - * Invoice number - */ - number: { - type: "string", - xpath: "/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:ID", - }, - - //... -} satisfies Schema; -``` - -Now we still have to update the configuration in `index.ts` to use the schema from `schema.ts`: - -```ts title="index.ts" -//... -import { demoSchema } from "./schema"; // [!code highlight] - -export const demo = createProfile({ - //... - schema: demoSchema, // [!code highlight] -}); -``` - - - - \ No newline at end of file diff --git a/docs/content/docs/introduction.mdx b/docs/content/docs/introduction.mdx deleted file mode 100644 index ea5302a9..00000000 --- a/docs/content/docs/introduction.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Introduction -description: Introduction to node-zugferd. -priority: 0.9 ---- - -node-zugferd is a Node.js library that facilitates the generation and handling of ZUGFeRD-compliant invoices in both PDF/A-3b and XML formats. It streamlines the process of creating invoices with structured data, ensuring compliance with international e-invoicing standards for efficient processing and automation. - -## Why node-zugferd? - -node-zugferd simplifies the creation of compliant invoices for businesses that need to meet the ZUGFeRD/Factur-X standard. By using this library, you can easily generate structured invoices that are compatible with both PDF and XML formats, ensuring legal compliance and smooth integration into your business workflows. - -## Features - -node-zugferd streamlines the processing and integration of structured invoicing data, ensuring smooth workflows and compliance with industry standards. It supports both PDF/A-3b and XML formats for generating invoices, enabling automation and digital accuracy. Whether you're dealing with complex invoicing systems or need straightforward integration, node-zugferd provides the flexibility and reliability required for efficient invoicing operations. - - diff --git a/docs/content/docs/plugins/api.mdx b/docs/content/docs/plugins/api.mdx deleted file mode 100644 index 99c57a48..00000000 --- a/docs/content/docs/plugins/api.mdx +++ /dev/null @@ -1,585 +0,0 @@ ---- -title: API -description: Generate invoices using your preferred framework. ---- - -## Features - - - -## Installation - - - - - -### Install the package - -Let's start by adding the API Plugin to your project. - -```package-install -@node-zugferd/api -``` - -If you're using a separate client and server setup, make -sure to install the plugin in both parts of your project. - - - - - -### Setup API instance - -The API instance is the entry point for handling requests to generate and preview invoices. -Start by importing `api` and passing your zugferd (`invoicer`) instance. - -```ts title="invoicer.ts" -import { api } from "@node-zugferd/api"; - -export const zugferdApi = api({ - invoicer, - // ... -}); -``` - -At this stage, the call will proce a TypeScript error. -That's expected as `api` still requires additional configuration before it can run: - -- `renderer`: Tells the API how to render invoice templates (React, Vue, Svelte, etc.). -- `templates`: One or more layouts that control the content of generated PDF invocies. - -We'll configure these in the next steps. - - - - -#### Create a template - -Templates define the layout and content of generated PDF invoices. -The plugin comes with a renderer for all popular web frameworks, including vanilla html. - -Templates are rendered server-side during PDF generation. -They can be asynchronous, but streaming output (e.g React Suspense) is not supported. - - - - - -```tsx title="invoicer.tsx" -import { reactRenderer } from "@node-zugferd/api/react/renderer"; - -api({ - invoicer, - renderer: reactRenderer(), - templates: { - myTemplate: (data) => { - return { - body: ( -

Invoice {data.number}

- ), - }; - }, - }, -}); -``` - -
- - -1. Create a file called `template.vue` somewhere in your project - -```vue title="template.vue" - - - -``` - -2. Add the component to the config - -```ts title="invoicer.ts" -import { vueRenderer } from "@node-zugferd/api/vue/renderer"; -import Template from "./your/path/template.vue"; - -api({ - invoicer, - renderer: vueRenderer(), - templates: { - myTemplate: (data) => { - return { - body: { - component: Template, - props: data, - }, - }; - }, - }, -}); -``` - - - - -1. Create a file called `template.svelte` somewhere in your project - -```svelte title="template.svelte" - - -

Invoice {data.number}

-``` - -2. Add the component to the config - -```ts title="invoicer.ts" -import { svelteRenderer } from "@node-zugferd/api/svelte-kit/renderer"; -import Template from "./your/path/template.svelte"; - -api({ - invoicer, - renderer: svelteRenderer(), - templates: { - myTemplate: (data) => { - return { - body: { - component: Template, - props: data, - }, - }; - }, - }, -}); -``` - -
- - - -```ts title="invoicer.ts" -import { solidRenderer } from "@node-zugferd/api/solid-start/renderer"; -api({ - invoicer, - renderer: solidRenderer(), - templates: { - myTemplate: (data) => { - return { - body: ( -

Invoice {data.number}

- ), - }; - }, - }, -}); -``` - -
- - - -```ts title="invoicer.ts" -import { vanillaRenderer } from "@node-zugferd/api/vanilla/renderer"; - -api({ - invoicer, - renderer: vanillaRenderer(), - templates: { - myTemplate: (data) => { - return { - body: `

${data.number}

`, - }; - }, - }, -}); -``` - -
- -
- -
- - -### Mount Handler - -To handle api requests, you need to set up a route handler on your server. - -Create a new file or route in your framework's designated catch-all route handler. This route should handle requests for the path `/api/zugferd/*` (unless you've configured a different base path). - -node-zugferd supports any backend framework with standard Request and -Response objects and offers helper functions for popular frameworks. - - - - -```ts title="/app/api/zugferd/[...all]/route.ts" -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance -import { toNextJsHandler } from "@node-zugferd/api/next-js"; - -export const { POST, GET } = toNextJsHandler(zugferdApi); -``` - - - -```ts title="/server/api/zugferd/[...all].ts" -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance - -export default defineEventHandler((event) => { - return zugferdApi.handler(toWebRequest(event)); -}); -``` - - - -```ts title="hooks.server.ts" -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance -import { svelteKitHandler } from "node-zugferd/svelte-kit"; - -export async function handle({ event, resolve }) { - return svelteKitHandler({ event, resolve, api: zugferdApi }); -} -``` - - - -```ts title="/app/routes/api.zugferd.$.ts" -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance -import type { LoaderFunctionArgs, ActionFunctionArgs } from "@remix-run/node"; - -export async function loader({ request }: LoaderFunctionArgs) { - return zugferdApi.handler(request); -} - -export async function action({ request }: ActionFunctionArgs) { - return zugferdApi.handler(request); -} -``` - - - -```ts title="/routes/api/zugferd/*.all.ts" -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance -import { toSolidStartHandler } from "@node-zugferd/api/solid-start"; - -export const { GET, POST } = toSolidStartHandler(zugferdApi); -``` - - - -```ts title="src/index.ts" -import { Hono } from "hono"; -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance -import { serve } from "@hono/node-server"; -import { cors } from "hono/cors"; - -const app = new Hono(); - -app.on(["GET", "POST"], "/api/zugferd/\*\*", (c) => zugferdApi.handler(c.req.raw)); - -serve(app); - -``` - - - -```ts title="server.ts" -import express from "express"; -import { toNodeHandler } from "@node-zugferd/api/node"; -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance - -const app = express(); -const port = 8000; - -app.all("/api/zugferd/*", toNodeHandler(zugferdApi)); // For ExpressJS v4 -// app.all("/api/zugferd/*splat", toNodeHandler(zugferdApi)); For ExpressJS v5 - -// Mount express json middleware after node-zugferd handler -// or only apply it to routes that don't interact with node-zugferd -app.use(express.json()); - -app.listen(port, () => { - console.log(`node-zugferd app listening on port ${port}`); -}); -``` - -This also works for any other node server framework like express, fastify, hapi, etc. - - - - -```ts title="server.ts" -import { Elysia, type Context } from "elysia"; -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance - -const nodeZugferdView = (ctx: Context) => { - const NODE_ZUGFERD_ACCEPT_METHODS = ["GET", "POST"]; - // validate request method - if (NODE_ZUGFERD_ACCEPT_METHODS.includes(ctx.request.method)) { - return zugferdApi.handler(ctx.request); - } else { - ctx.error(405); - } -} - -const app = new Elysia().all("/api/zugferd/\*", nodeZugferdView).listen(3000); - -console.log( -`🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}` -); - -``` - - - -```ts title="/routes/api/zugferd/$.ts" -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance -import { createAPIFileRoute } from "@tanstack/react-start/api"; - -export const APIRoute = createAPIFileRoute("/api/zugferd/$")({ - GET: ({ request }) => { - return zugferdApi.handler(request); - }, - POST: ({ request }) => { - return zugferdApi.handler(request); - }, -}); -``` - - - - - - - - -### Create Client Instance - -The client-side library helps you interact with the zugferd api server. - -```ts title="lib/zugferd-client.ts" -import { createClient } from "@node-zugferd/api/client"; -import type { zugferdApi } from "./your/path/invoicer"; // Import as type - -export const zugferdClient = createClient({ - /** the base url of the server (optional if you're using the same domain) */ // [!code highlight] - baseURL: "http://localhost:3000", // [!code highlight] -}); -``` - - - - - -### 🎉 That's it! [#thats-it] - -That's it! You're now ready to use `@node-zugferd/api` in your application. - -Continue to [basic usage](#basic-usage) to learn how to use the API Plugin to preview or generate invoices. - - -
- -## Basic Usage - -The API Plugin provides endpoints for: - -- Previewing PDF invoices -- Generating PDF/A-3b compliant invoices - -### Creating an invoice - -To create an invoice we first need to define the data. - -```ts -const data: typeof invoicer.$Infer.Schema = { - // ... -}; -``` - -Then we need to call the endpoint with the data as body. -This can be done client or server-side. - -#### Server Side - -```ts -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance - -const result = await zugferdApi.api.create({ - body: { - template: "myTemplate", - data, // pass the data defined previously - }, -}); -``` - -#### Client Side - -```ts -import { zugferdClient } from "./lib/zugferd-client"; // path to your zugferd client - -const { data, error } = await zugferdClient("@post/create", { - body: { - template: "myTemplate", - data, // pass the data defined previously - }, -}); -``` - -You can also use it with client-side data-fetching libraries like [TanStack Query](https://tanstack.com/query/latest). - -### Previewing an invoice - -To preview an invoice we first need to define the data. - -```ts -const data: typeof invoicer.$Infer.Schema = { - // ... -}; -``` - -Now we can finally call the endpoint. - -```ts -import { zugferdApi } from "./your/path/invoicer"; // path to your api instance - -const result = await zugferdApi.api.preview({ - body: { - template: "myTemplate", - data, // pass the data defined previously - }, -}); -``` - -## Options - -### `invoicer` - -The zugferd instance used to generate the invoice. - -```ts -import { invoicer } from "./your/path/invoicer"; - -api({ - invoicer, -}); -``` - -### `renderer` - -Tells the API how to render invoice templates (React, Vue, Svelte, etc.). - -See [Create a template](#create-a-template). - -### `templates` - -One or more layouts that control the content of generated PDF invocies. - -See [Create a template](#create-a-template). - -### `authorize?` - -Restrict access to endpoints. - -```ts -api({ - authorize: async (ctx) => { - const user = await getUser(ctx.request); - - if (user.role === "admin") { - return true; - } - - return false; - }, -}); -``` - -### `baseURL?` - -Base URL for the node-zugferd api. This is typically the root URL where your application is hosted. - -```ts -api({ - baseURL: "https://example.com", -}); -``` - -### `basePath?` - -Base path for the node-zugferd api. This is typically the path where the node-zugferd api routes are mounted - -```ts -api({ - basePath: "/api/zugferd", -}); -``` - -Default: `/api/zugferd` - -### `trustedOrigins?` - -List of trusted origins. - -```ts -api({ - trustedOrigins: ["https://example.com", "*.trusted.com"], -}); -``` - -The [baseURL](#baseurl) is always included. - -### `advanced?` - -Advanced configuration options. - -```ts -api({ - advanced: { - disableCSRFCheck: false, - puppeteer: { - lauch: { - headless: true, - args: ["--no-sandbox"], - }, - }, - }, -}); -``` - -- `disableCSRFCheck?`: Disable trusted origins check (⚠ security risk) -- `puppeteer.launch?`: Launch options for puppeteer, See [`LaunchOptions`](https://pptr.dev/api/puppeteer.launchoptions) - -### `onAPIError?` - -API error handling configuration. - -```ts -api({ - onAPIError: { - throw: false, - onError: (error, ctx) => { - console.error("API Error:", error); - }, - }, -}); -``` - -- `throw`: Throw an error on API error (default: `true`) -- `onError`: Custom error handler - -### `disabledPaths?` - -Disable specific api paths. - -```ts -api({ - disabledPaths: ["/preview"], -}); -``` diff --git a/docs/content/docs/profiles/basic-wl.mdx b/docs/content/docs/profiles/basic-wl.mdx deleted file mode 100644 index 5dd2ab4b..00000000 --- a/docs/content/docs/profiles/basic-wl.mdx +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: Basic WL -description: Includes MINIMUM profile plus additional data for buyer's process automation. -priority: 0.7 ---- - -import { BASIC_WL } from "node-zugferd/profile/basic-wl"; - -This includes the profile [MINIMUM](/docs/profiles/minimum) plus some -additional data which is typically required for process automation on the buyer’s side. Such data may -be optional or conditional, depending on the underlying business transaction. This profile does not -include any invoice information at line level, but it contains all mandatory fields on document level, -including those on which business rules from the EN 16931 may apply. - -```ts -import { BASIC_WL, type ProfileBasicWL } from "node-zugferd/profile/basic-wl"; -``` - -Documents containing only information of the first two profiles (MINIMUM and -BASIC WL) are not considered to be invoices according to German fiscal law ([→ -GoBD](https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Weitere_Steuerthemen/Abgabenordnung/2019-11-28-GoBD.html)); -they may therefore not be used as electronic invoices in Germany. They will -not be considered as invoices in France anymore once the einvoicing B2B -mandate CTC reform has been fully deployed (2028). **It is then highly -recommended to target the [BASIC](/docs/profiles/basic) profile at minimum.** - -## Basic Usage - - - - -### Setup the Profile - -First configure the zugferd instance (`invoicer`) to use the Basic WL profile. -This defines the standard and complexity level of the invoice. - -```ts title="invoicer.ts" -import { BASIC_WL } from "node-zugferd/profile/basic-wl"; // [!code highlight] - -export const invoicer = zugferd({ - profile: BASIC_WL, // [!code highlight] -}); -``` - - - - -### Define Invoice Data - -Now define the actual invoice content, including all required fields of the -profile, using the `ProfileBasicWL` type for type safety. - -```ts -import { ProfileBasicWL } from "node-zugferd/profile/basic-wl"; - -const data: ProfileBasicWL = { - number: "INV-001", - // ... -}; -``` - - - - -### Create Invoice - -Use the previously created instance (`invoicer`) to generate the invoice from your data. You can either: - -- Generate standalone XML -- Embed the XML inside a PDF/A-3b compliant file. - -```ts -import fs from "fs"; -import { invoicer } from "./invoicer"; - -const invoice = invoicer.create(data); - -// Only generate xml -const xml = await invoice.toXML(); - -// Or embed xml in a PDF-A/3b -const pdf = fs.readFileSync("./your/invoice.pdf"); -const pdfA = await invoicer.embedInPdf(pdf); // [!code highlight] -``` - - - - -### 🎉 That's it [#thats-it] - -Your invoice is now ready! You've successfully created a ZUGFeRD invoice using the Basic WL profile. - - - - - -## Schema - -Extends [MINIMUM](/docs/profiles/minimum) - - diff --git a/docs/content/docs/profiles/basic.mdx b/docs/content/docs/profiles/basic.mdx deleted file mode 100644 index d393d778..00000000 --- a/docs/content/docs/profiles/basic.mdx +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: Basic -description: Includes BASIC WL with line-level details and EN 16931 compliance. -priority: 0.7 ---- - -import { BASIC } from "node-zugferd/profile/basic"; - -This profile includes [BASIC WL](/docs/profiles/basic-wl) with some details at line level. It is a subset -of EN 16931, which contains all mandatory fields including those on which business rules from the -EN 16931 may apply. It is a compliant CIUS (Core Invoice Usage Specification), which means that all -business rules of the EN 16931 apply. - -```ts -import { BASIC, type ProfileBasic } from "node-zugferd/profile/basic"; -``` - -## Basic Usage - - - - -### Setup the Profile - -First configure the zugferd instance (`invoicer`) to use the Basic profile. -This defines the standard and complexity level of the invoice. - -```ts title="invoicer.ts" -import { BASIC } from "node-zugferd/profile/basic"; // [!code highlight] - -export const invoicer = zugferd({ - profile: BASIC, // [!code highlight] -}); -``` - - - - -### Define Invoice Data - -Now define the actual invoice content, including all required fields of the -profile, using the `ProfileBasic` type for type safety. - -```ts -import { ProfileBasic } from "node-zugferd/profile/basic"; - -const data: ProfileBasic = { - number: "INV-001", - // ... -}; -``` - - - - -### Create Invoice - -Use the previously created instance (`invoicer`) to generate the invoice from your data. You can either: - -- Generate standalone XML -- Embed the XML inside a PDF/A-3b compliant file. - -```ts -import fs from "fs"; -import { invoicer } from "./invoicer"; - -const invoice = invoicer.create(data); - -// Only generate xml -const xml = await invoice.toXML(); - -// Or embed xml in a PDF-A/3b -const pdf = fs.readFileSync("./your/invoice.pdf"); -const pdfA = await invoicer.embedInPdf(pdf); // [!code highlight] -``` - - - - -### 🎉 That's it [#thats-it] - -Your invoice is now ready! You've successfully created a ZUGFeRD invoice using the Basic profile. - - - - - -## Schema - -Extends [BASIC WL](/docs/profiles/basic-wl) - - diff --git a/docs/content/docs/profiles/en16931.mdx b/docs/content/docs/profiles/en16931.mdx deleted file mode 100644 index 242913d2..00000000 --- a/docs/content/docs/profiles/en16931.mdx +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: EN16931 (Comfort) -description: Includes BASIC profile with additional EN 16931-compliant data for invoices. -priority: 0.7 ---- - -import { EN16931 } from "node-zugferd/profile/en16931"; - -This profile includes [BASIC](/docs/profiles/basic), with -all the additional data required by the European Semantics Standard, whether optional or -conditional. It is **fully compliant to EN 16931**, focussing on the core elements of an electronic invoice. - -```ts -import { EN16931, type ProfileEN16931 } from "node-zugferd/profile/en16931"; -import { COMFORT, type ProfileComfort } from "node-zugferd/profile/comfort"; -``` - -## Basic Usage - - - - -### Setup the Profile - -First configure the zugferd instance (`invoicer`) to use the EN16931 profile. -This defines the standard and complexity level of the invoice. - -```ts title="invoicer.ts" -import { EN16931 } from "node-zugferd/profile/en16931"; // [!code highlight] - -export const invoicer = zugferd({ - profile: EN16931, // [!code highlight] -}); -``` - - - - -### Define Invoice Data - -Now define the actual invoice content, including all required fields of the -profile, using the `ProfileEN16931` type for type safety. - -```ts -import { ProfileEN16931 } from "node-zugferd/profile/en16931"; - -const data: ProfileEN16931 = { - number: "INV-001", - // ... -}; -``` - - - - -### Create Invoice - -Use the previously created instance (`invoicer`) to generate the invoice from your data. You can either: - -- Generate standalone XML -- Embed the XML inside a PDF/A-3b compliant file. - -```ts -import fs from "fs"; -import { invoicer } from "./invoicer"; - -const invoice = invoicer.create(data); - -// Only generate xml -const xml = await invoice.toXML(); - -// Or embed xml in a PDF-A/3b -const pdf = fs.readFileSync("./your/invoice.pdf"); -const pdfA = await invoicer.embedInPdf(pdf); // [!code highlight] -``` - - - - -### 🎉 That's it [#thats-it] - -Your invoice is now ready! You've successfully created a ZUGFeRD invoice using the EN16931 profile. - - - - - -## Schema - -Extends [BASIC](/docs/profiles/basic) - - diff --git a/docs/content/docs/profiles/extended.mdx b/docs/content/docs/profiles/extended.mdx deleted file mode 100644 index 916a1c6c..00000000 --- a/docs/content/docs/profiles/extended.mdx +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Extended -description: Extension of EN16931 for complex processes and French business cases. -priority: 0.7 ---- - -import { EXTENDED } from "node-zugferd/profile/extended"; - -This profile constitutes an extension of [EN16931 (Comfort)](/docs/profiles/en16931) -aimed at supporting complex business processes (i.e. invoices which are being invoiced across -multiple deliveries or delivery locations, structured terms of payment, further details at item level to -facilitate warehousing etc.), and any business case inventoried in France (gathered in a subset named -EXTENDED B2B FR and its subset EXTENDED-CTC-FR, as referenced by the French Tax Administration -and National Platform PPF – Portail Public de Facturation). This includes additional code lists values -which are not part of the [European Norm EN 16931 code lists](https://ec.europa.eu/digital-building-blocks/sites/display/DIGITAL/Registry+of+supporting+artefacts+to+implement+EN16931). - -```ts -import { EXTENDED, type ProfileExtended } from "node-zugferd/profile/extended"; -``` - -## Basic Usage - - - - -### Setup the Profile - -First configure the zugferd instance (`invoicer`) to use the Extended profile. -This defines the standard and complexity level of the invoice. - -```ts title="invoicer.ts" -import { EXTENDED } from "node-zugferd/profile/extended"; // [!code highlight] - -export const invoicer = zugferd({ - profile: EXTENDED, // [!code highlight] -}); -``` - - - - -### Define Invoice Data - -Now define the actual invoice content, including all required fields of the -profile, using the `ProfileExtended` type for type safety. - -```ts -import { ProfileExtended } from "node-zugferd/profile/extended"; - -const data: ProfileExtended = { - number: "INV-001", - // ... -}; -``` - - - - -### Create Invoice - -Use the previously created instance (`invoicer`) to generate the invoice from your data. You can either: - -- Generate standalone XML -- Embed the XML inside a PDF/A-3b compliant file. - -```ts -import fs from "fs"; -import { invoicer } from "./invoicer"; - -const invoice = invoicer.create(data); - -// Only generate xml -const xml = await invoice.toXML(); - -// Or embed xml in a PDF-A/3b -const pdf = fs.readFileSync("./your/invoice.pdf"); -const pdfA = await invoicer.embedInPdf(pdf); // [!code highlight] -``` - - - - -### 🎉 That's it [#thats-it] - -Your invoice is now ready! You've successfully created a ZUGFeRD invoice using the Extended profile. - - - - - -## Schema - -Extends [EN16931 (COMFORT)](/docs/profiles/en16931) - - diff --git a/docs/content/docs/profiles/minimum.mdx b/docs/content/docs/profiles/minimum.mdx deleted file mode 100644 index c487fda5..00000000 --- a/docs/content/docs/profiles/minimum.mdx +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: Minimum -description: This profile contains the minimum required data, some dependent. -priority: 0.7 ---- - -import { MINIMUM } from "node-zugferd/profile/minimum"; - -This profile contains the minimum of data which must be present in the -structured data file, some of which may depend on the data being actually available, like the -supplier's intra-community VAT identifier number which is mandatory if the supplier has one. - -```ts -import { MINIMUM, type ProfileMinimum } from "node-zugferd/profile/minimum"; -``` - -Documents containing only information of the first two profiles (MINIMUM and -BASIC WL) are not considered to be invoices according to German fiscal law ([→ -GoBD](https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Weitere_Steuerthemen/Abgabenordnung/2019-11-28-GoBD.html)); -they may therefore not be used as electronic invoices in Germany. They will -not be considered as invoices in France anymore once the einvoicing B2B -mandate CTC reform has been fully deployed (2028). **It is then highly -recommended to target the [BASIC](/docs/profiles/basic) profile at minimum.** - -## Basic Usage - - - - -### Setup the Profile - -First configure the zugferd instance (`invoicer`) to use the Minimum profile. -This defines the standard and complexity level of the invoice. - -```ts title="invoicer.ts" -import { MINIMUM } from "node-zugferd/profile/minimum"; // [!code highlight] - -export const invoicer = zugferd({ - profile: MINIMUM, // [!code highlight] -}); -``` - - - - -### Define Invoice Data - -Now define the actual invoice content, including all required fields of the -profile, using the `ProfileMinimum` type for type safety. - -```ts -import { ProfileMinimum } from "node-zugferd/profile/minimum"; - -const data: ProfileMinimum = { - number: "INV-001", - // ... -}; -``` - - - - -### Create Invoice - -Use the previously created instance (`invoicer`) to generate the invoice from your data. You can either: - -- Generate standalone XML -- Embed the XML inside a PDF/A-3b compliant file. - -```ts -import fs from "fs"; -import { invoicer } from "./invoicer"; - -const invoice = invoicer.create(data); - -// Only generate xml -const xml = await invoice.toXML(); - -// Or embed xml in a PDF-A/3b -const pdf = fs.readFileSync("./your/invoice.pdf"); -const pdfA = await invoicer.embedInPdf(pdf); // [!code highlight] -``` - - - - -### 🎉 That's it [#thats-it] - -Your invoice is now ready! You've successfully created a ZUGFeRD invoice using the Minimum profile. - - - - - -## Schema - - diff --git a/docs/content/docs/reference/contributing.mdx b/docs/content/docs/reference/contributing.mdx deleted file mode 100644 index 6445c6bb..00000000 --- a/docs/content/docs/reference/contributing.mdx +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: Contributing to node-zugferd -description: A short guide to contributing to node-zugferd -priority: 0.3 ---- - -Thank you for considering contributing to node-zugferd! Your potential involvement is greatly appreciated. - -## Getting Started - -Before diving in, take a look at existing: - -- Issues -- Pull Requests - -## Development Setup - -Make sure you have Node.js{" "} -installed, preferably on LTS. - - - - - - ### 1. Fork the repository - - Visit https://github.com/jslno/node-zugferd - - Click the "Fork" button in the top right. - - - - - - ### 2. Clone your fork - - ```bash - # Replace YOUR-USERNAME with your GitHub username - git clone https://github.com/YOUR-USERNAME/node-zugferd.git - cd node-zugferd - ``` - - - - - - ### 3. Install dependencies - - Make sure you have pnpm installed! - - ```bash - pnpm install - ``` - - - - - - ### 4. Prepare ENV files - - Copy the example env file to create your new `.env` file. - - ```bash - cp -n ./docs/.env.example ./docs/.env - ``` - - - - - -## Making changes - -Once you have an idea on what you want to contribute, you can start making changes. Here are some steps to get started: - - - - - - ### 1. Create a new branch - - ```bash - # Make sure you're on main - git checkout main - - # Pull latest changes - git pull upstream main - - # Create and switch to a new branch - git checkout -b feat/your-feature-name - ``` - - - - - - ### 2. Start development server - - Start the development server: - - ```bash - pnpm dev - ``` - - To start the docs server: - - ```bash - pnpm -F docs dev - ``` - - To start the bun server: - - ```bash - pnpm -F @dev/bun dev - ``` - To start the node server: - - ```bash - pnpm -F @dev/node dev - ``` - - - - - ### 3. Make your changes - - * Make your changes to the codebase. - - * Write tests if needed. - - * Update documentation. - - - - - -### Issues and Bug Fixes - -- Check our [GitHub issues](https://github.com/jslno/node-zugferd/issues) for tasks labeled `good first issue` -- When reporting bugs, include steps to reproduce and expected behavior -- Comment on issues you'd like to work on to avoid duplicate efforts - -### Documentation - -- Fix typos and errors -- Add examples and clarify existing content -- Ensure documentation is up-to-date with code changes - -## Testing - -We use Vitest for testing. Place test files next to the source files they test: - -```ts -import { describe, it, expect } from "vitest"; - -describe("Feature", () => { - it("should work as expected", async () => { - // Test code here - expect(result).toBeDefined(); - }); -}); -``` - -## Best Practices - -- Write clear commit messages -- Update documentation to reflect your changes -- Add tests for new features -- Follow our coding standards -- Keep pull requests focused on a single change - -Thank you for contributing to node-zugferd! - - diff --git a/docs/content/docs/reference/options.mdx b/docs/content/docs/reference/options.mdx deleted file mode 100644 index 51f8e024..00000000 --- a/docs/content/docs/reference/options.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Options -description: node-zugferd configuration options reference. -priority: 0.3 ---- - -import { X } from "lucide-react"; - -List of all the available options for configuring node-zugferd. See [node-zugferd Options](https://github.com/jslno/node-zugferd/blob/main/packages/node-zugferd/src/types/options.ts) - -## `profile` - -Specifies the ZUGFeRD profile, defining the structure and required field of the document. - -```ts -import { zugferd } from "node-zugferd"; -import { BASIC } from "node-zugferd/profile/basic"; - -export const invoicer = zugferd({ - profile: BASIC, -}); -``` - -## `strict?` - -Determines whether to skip validation checks. -Defaults to `true` - -```ts -import { zugferd } from "node-zugferd"; - -export const invoicer = zugferd({ - strict: false, -}); -``` - -If set to false `xsd-schema-validator` will not be used. - -## `plugins?` - -List of node-zugferd plugins. - -```ts -import { zugferd } from "node-zugferd"; - -export const invoicer = zugferd({ - profile: BASIC, - plugins: [ - api()(), - // or `api(BASIC)()` - ], -}); -``` - -## `logger?` - -Logger configuration for node-zugferd. - -```ts -import { zugferd } from "node-zugferd"; - -export const invoicer = zugferd({ - logger: { - disabled: false, - level: "error", - log: (level, message, ...args) => { - // Custom logging implementation - console.log(`[${level}] ${message}`, ...args); - }, - }, -}); -``` - -The logger configuration allows you to customize how node-zugferd handles logging. -It supports the following options: - -- `disabled`: Disable all logging when set to `true` (default: `false`) -- `level`: Set the minimum log level to display. Available levels are: - - `"info"`: Show all logs - - `"warn"`: Show warnings and errors - - `"error"`: Show only errors - - `"debug"`: Show all logs including debug information -- `log`: Custom logging function that receives: - - `level`: The log level (`"info"`, `"warn"`, `"error"`, or `"debug"`) - - `message`: The log message - - `...args`: Additional arguments passed to the logger diff --git a/docs/content/docs/reference/resources.mdx b/docs/content/docs/reference/resources.mdx deleted file mode 100644 index 7642a7b1..00000000 --- a/docs/content/docs/reference/resources.mdx +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Resources -description: A curated collection of resources related to e-invoicing. -priority: 0.3 ---- - -import { Resource } from "@/components/resource"; -import { BadgeCheckIcon } from "lucide-react"; - -# Collection [toc] - -, - badgeTooltip: "Official", - tags: ["standard"], - }, - { - title: "ZF/FX Validation", - description: - "Web-based tool by the ZUGFeRD community with OXSEED, Mustang, and XML.Valitool. Validates ZUGFeRD/Factur-X invoices against schema and profile rules for e-invoicing compliance in Germany.", - href: "https://www.zugferd-community.net/en/open_community/validation", - tags: ["validation"], - }, - { - title: "Quba-Viewer", - description: - "Open-source desktop app and Mustangproject sister project for viewing Factur-X/ZUGFeRD and XRechnung invoices. Displays embedded PDFs with invoice data for easy inspection.", - href: "https://quba-viewer.org/", - tags: ["visualization", "open source"], - }, - { - title: "Mustangproject", - description: - "Open-source Java library, validator, and tool for Factur-X/ZUGFeRD and UN/CEFACT CII (XRechnung). Creates, reads, and validates e-invoices against official standards for compliant electronic invoicing.", - href: "https://www.mustangproject.org", - tags: ["validation", "generation", "parsing", "open source"], - }, - { - title: "OpenXRechnungToolbox", - description: - "Graphical user interface for the visualization and validation of XRechnung (and other EN16931-compliant e-invoices), as well as a tool for calculating and checking routing IDs (Leitweg-IDs).", - href: "https://github.com/jcthiele/OpenXRechnungToolbox", - tags: ["visualization", "validation", "open source"], - }, - { - title: "Ultramarin eRechnung Viewer", - description: - "Offline desktop application for visualizing electronic invoices, including CEN invoices and XRechnung 3.0. Uses KOSIT visualization to display invoice data clearly and support compliance checks.", - href: "https://www.ultramarinviewer.de", - tags: ["visualization"], - }, - ]} -/> diff --git a/docs/next.config.mjs b/docs/next.config.mjs deleted file mode 100644 index c4ad639f..00000000 --- a/docs/next.config.mjs +++ /dev/null @@ -1,36 +0,0 @@ -import { createMDX } from "fumadocs-mdx/next"; - -const withMDX = createMDX(); - -/** @type {import('next').NextConfig} */ -const config = { - reactStrictMode: true, - redirects: async () => { - return [ - { - source: "/docs", - destination: "/docs/introduction", - permanent: true, - }, - ]; - }, - rewrites: async () => { - return [ - { - source: "/docs/:path*.mdx", - destination: "/llms.txt/:path*", - }, - ]; - }, - serverExternalPackages: [ - "@ts-morph", - "typescript", - "oxc-transform", - "@shikijs/twoslash", - ], - typescript: { - ignoreBuildErrors: true, - }, -}; - -export default withMDX(config); diff --git a/docs/package.json b/docs/package.json deleted file mode 100644 index 017b715a..00000000 --- a/docs/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "docs", - "version": "0.0.0", - "private": true, - "scripts": { - "build": "next build", - "dev": "next dev", - "start": "next start", - "typecheck": "tsc --noEmit", - "postinstall": "fumadocs-mdx" - }, - "dependencies": { - "@radix-ui/react-accordion": "^1.2.3", - "@radix-ui/react-dialog": "^1.1.6", - "@radix-ui/react-popover": "^1.1.14", - "@radix-ui/react-select": "^2.1.6", - "@radix-ui/react-separator": "^1.1.2", - "@radix-ui/react-slot": "^1.1.2", - "@radix-ui/react-tooltip": "^1.1.8", - "@vercel/og": "^0.6.5", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "fast-glob": "^3.3.3", - "fumadocs-core": "15.6.7", - "fumadocs-docgen": "^2.1.0", - "fumadocs-mdx": "11.7.1", - "fumadocs-typescript": "^4.0.6", - "fumadocs-ui": "15.6.7", - "geist": "^1.4.2", - "gray-matter": "^4.0.3", - "lenis": "^1.3.8", - "lucide-react": "^0.475.0", - "mini-svg-data-uri": "^1.4.4", - "motion": "^12.4.5", - "next": "15.4.10", - "next-themes": "^0.4.4", - "node-zugferd": "latest", - "prism-react-renderer": "^2.4.1", - "react": "^19.0.0", - "react-device-detect": "^2.2.3", - "react-dom": "^19.0.0", - "react-markdown": "^10.1.0", - "react-use-measure": "^2.1.7", - "remark": "^15.0.1", - "remark-gfm": "^4.0.1", - "remark-mdx": "^3.1.0", - "remark-stringify": "^11.0.0", - "tailwind-merge": "^3.0.1", - "tailwindcss-animate": "^1.0.7", - "uncrypto": "^0.1.3", - "zod": "^3.24.1" - }, - "devDependencies": { - "@tailwindcss/postcss": "^4.0.6", - "@types/mdx": "^2.0.13", - "@types/node": "22.13.4", - "@types/react": "^19.0.9", - "@types/react-dom": "^19.0.3", - "postcss": "^8.5.2", - "source-map-support": "^0.5.21", - "tailwindcss": "^4.0.6", - "typescript": "^5.7.3" - } -} diff --git a/docs/postcss.config.mjs b/docs/postcss.config.mjs deleted file mode 100644 index 017b34b9..00000000 --- a/docs/postcss.config.mjs +++ /dev/null @@ -1,5 +0,0 @@ -export default { - plugins: { - "@tailwindcss/postcss": {}, - }, -}; diff --git a/docs/public/favicon/android-chrome-192x192.png b/docs/public/favicon/android-chrome-192x192.png deleted file mode 100644 index 2cf09611de2f5bc2ada8b3ccfb2380accd567092..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14544 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 diff --git a/docs/public/favicon/android-chrome-512x512.png b/docs/public/favicon/android-chrome-512x512.png deleted file mode 100644 index a047ef39f99cc73291530e4372bbdcc1ab358101..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54526 zcmZTvc|4Tu*S}_roh(tv7Ae`+l64fOv>0UxF)Cv#B}>*ZBZX{3SyGmXM7AlECCijT z_FcA2A^W~>GwmhbtVb3aC3LUFPQu>k-$&z&{63;-PZ z6%JUKppRAG?rrD;=6M-)8Wgq)PXQnf&Kc;N`P$7^om$pDU!=Y|^RtDVJ&0>js^y4d zd~>$d=hVcBLveu9m@Q?5_ zyhd;yARvgan6@{|F(SC`PJ|NZH<$=zL5_Tz$DUS9n2IF0-O9I-CC~cH)yHA3wmG?U z>;Js6L>A8UELM@<@C3kJ3<0;=?o}D;{f_(jw;VTk0U&f%jUNOcf+kj@ed02Ah z?(y1#0Vj9vS^uRC3s&UI+#>7%F(r9MS@z5+zCArglwvI#u;h1~4=+3RgAA?2b}<2$ zSZz%yy=*b>T-I=KD<89;#)0iSQ^iR)C8RV;7E;3@s z*l&whZ~KNB)7O1j&7;zsrP|&tP0Q$^pkX;O{ba?#?t76EaJcV@#1Z4ryW6z&o27_9 zyUCLRQaOzyuusNzmiv{8Ck_H}C;+B687wV;66@3HTTLwJEDae{~)q)Yz|qTMAF|%wf}X{ zg^6IJv%E4*zJMG*Y8`hOB^Y1bcbwb4D(T%&uzoyBFrlUp;k*6D0`MUm2*{1O@-Jcu zFJsumP#5=eyp@xf``LTi;ahr-pPvIM$DWeDG%Y%$cN?@f;U9;C~2`gUb z@FkTdXuz0Wz~@|ED5r51-A*mWGa~lwE96a4=)&M&@5b5yA@PjW4u@{zl_|@ZvZG0( zJsx<+FDJE1m$gf+^-oFAX>O1~xAXd1vX&X@6wDT9T8|K0Mf~_D?Q{W{Lu6zQ@IyYrU{>k6iO&+zFdcj4Am}T%W~}e?)Ht;xTPvZdl*p z9?tgvN-p&_LmD-a8;~}@Z(tN^Z3KW}n_@Imv3Apx3#mrRzCB?eC=$&&9_7>KyL9G|J&0qjec<0`FJy|{%u5%m&PJw>OA`GG-(<( zciKL%c}2no8FCv`H}vCol6K+NF)AQDN)c(Pv|3H(rOLyQ2D76~o@gq1ev>wLq{UN} zgls4916<6luKtBsHJ8Xl)V^d6hcZii5N3+F!W!^>3e!CWgIuPw-! zsTQOr?FW+HUt#u-1(uZ}EUq&2 z=(O81PSGX`LoziGIkmY2Sz26uEiZ8YYI0KZ+CvvW$o-V2IODWhtyBHs+W2 z@c*m=SOIXz54KBl+i&2Y&!2fZC9~uc0^Z8^tb)DO0;tsZF@k4V#Qg1^aW1xz%w1(F z(P;C`fZwjVFR}L%)64%O&0FS${9umd(eX^`Y2$+&NYb4Ll4KZ`GYU{*Px$f!jSj9L zF6`dZUrCL2bBq~kTYIP!+St}z;J%OKP}2$7LU8n+8uGQ@WhSQ!I84U#3p* zRLY}o)z{Z6R%=P5;&6A<=Yu&|^LKVD_PAj@1tT4AaV>wPlRwKx9eK-(5s#E%0VHqq zbWL&~e$RF<{KWUEhe;M7rS4=?E#PjXM=n%fKw*alvoj{Db(gE_i7#4!aohGz)_)?E z(-Y+HyKNo=h;}1_vDoOOa`6RUD&I+18kE;wRzz8xlxoAPWV>7B& zmk|767XSLr@J8o9>O)B(iNSK+O2IG-M9$)I>n$k|dv8f=LeByWF)DeoBLHcc7-PMDfwS*lmB
vkXu1Y}2PfTQXi(?=%6kc=KtPafIZF5czQ-?;l% zzWoclT;O%LBghe@aMFQ6`Yf;fE;0Z!37#j4)PUuN+kh0WbCvj8{ka$*sK8GDL^Ttn zvz=gD2#LPai8@zm*Q)*-%)$}zYT;8k9I_1PWuE<{BnF^Fh&4LkkSq$*Xaq=xUF0_> zKREcpK=>sl0s|=*&YpYpd}!kA#`MUCze5M5*qGG#of!Zc9*Ph=fDjy_7Om2z2m_qI zRL`H8x`iakEkp%5OLJ*_DROfAQceE%Ao7hVwX3f2y3EYz-CY%>c4_jbkfK#yu-L!r z?8rqxZ^?Wj-qCZIGKXz!{TpL^Em(67+a=bqfq36>E$hRJ6)J#`@ftQV%VJNMgAE^T z=$!kpkw09tkoQlpP1A>?yE}@4N`_3NOa=)Z$_T(Sr_ktJWs;=({&$}W00Jzz*XB9E$(`{(3UbMAQ|he96#BShMb(R39rllQplt$x+Pro?ORDRJO4>{PO%X97u;JFNH`7|pO4V>MEn6BZZ^TVdd2|oRpase@h}i2u^UI%^Eer3^m9Y! zpQHul;yB(02}b`@fFOf=wRRp5inzgUJuCE?{n^Qy2$&lffOHL>j~cc{C7n|JpEKo1Ip0V9`(dvpHaE-C(;-&q|Hcfvzxjdx*|7GL#s!5EF)+w zPor2A0loSM1ZY5l;DrE?@fTLV$W17MAky7cTK&K03mMkW5H3QaUQ?J2pnJkW&Z-mY z;lBC*r-FF=_#x<66&U~!!vi3y-tuQHw?$g%ziT1kq>V?*VOrwVnO-b_)`tMdPbka- z(5nt6W4`}u&pYQKjivzv`0J`t$jQ?65^(W%fIHo20skM+kObSc@4H% z!)p%=FcC#y7;<#_CEC+Qv4GvPJ8{t2MMN7(5l6Z3o3$p!dX1JC3!1m#n-yVU`ewae z(B*B@>dmt_YskCZd0AICJ)eYHf4m3>(ohwu;|e7Kx=9fnJR)Oc0u}E9^lc>>e`$PB zu?o%#=Z&24TAvq3^6Pe?cek^aH;R5q{w>tGKSG@oa-BQzvir@h2*MXiMzoPJdd}oa zs`*p^?cIy-w?6w%_M2_%ZFdlLVFbC<0yf`rI7siw>$Ehahw1J9+|Sa`$;EF*_xmH6 z=O4*D<8*5o`GJ8w5GVZcDEbqAAnh-+V_E@2zB@!^eE2yXhx4W+=$3N1e+i4gzz9kA zLb)F4?fe@0t0W>z1&iYC@^oqfgrvRA7gN>(1lxAfxJi{Y#$Qfnkx?lN$ay-<$-MxUvn&5TcC5=SflkJ`pvy32?z zdb}KgOhD#Pb%zRGaZhpmm`tFwe-JB+8nLJu-OlOf&hFZc0^EYzra#Ygtei)Z{NmTL zAxrm_hmLT?dM;VJC44}A74EF?J!J2O(SWCw!qz7)-4+`Cmm=-ge$cLl1j|}5%GoVh z7WZD{IA0m^+roDQ%Ixz+)xftm*V>?L)Vi7cF1Rp8PZRdIQ>#85zm^*dSyFjafQ&hBglL;^*-YEFoNfDw& zotR7@6!Z3)&Yd0Wc_n(W(Qey9WVDWJ5Ku|TrPJFUxUsvDDl&UDyG=Eful%~z8W(R= zyug%4Va(M_#4c8B+g7qO%7!Uni}1qr7Q+!UA5lb)yfou|qlA({Qm?Pdif`I@w5 zM_L7E`OV!=0xNCw-L`{SZJDp%%MCO}HTowkeV>6?#Amw-5!S=o-K8Tw$NRkNg=oeBBi(m3SW9`V{vhDwxS9w2#eX~L4D z^~~1MtC@5n)~%vIEES)E)Nw-qZ_LU>NUFDHokwg3mKUp+E)3qn3`EMVws7`z1&pnhQN=oE{_o56^a z1aCnMj+VL~s0LJ~Z12_Mck7jiBaS7tK^SJkVZFPom5&e^ZeN>a8#dNZqbB@-S}8Kh zl|Xa8c0HA>rm|r45PHl%&nns_GvO-83p=}L8hX=g+e&C6Itu650g6dTRVJh@&t@2Y zGmL8w4j`V}d3aC5%AScTFPk7~}F358-o$ zloQ=g$7Q()=iG_SkQbp1`9z9j( zGp^F4nZZDzj!;1NoI7^+)74Lp5&ZaglvRl#2?AR#{qHO@U=-yo+jaV>;&hQWV=pJ) z%qI6%76R(JQBZZ|UNdjHqV#kEj}jZ=i%Rn}erIqbXqz@XvS<6O?i6xu-jDl{z)yL>2AHY%`%!uVvTq+W6nrtYwq)`R`co2om+kn=1DFVAzcu_d z8&@jx_mQsGAIo5Fl@6)dTOZ_tIE5JuCgypsN@aY{%)IaGYRB``9tgR`DzEyTI?CR& zr!;5T-SKe zYi}t6_8P3L+G-S|8E2HpoE!S2UWPIoo}@W&sXc+Q*Rl-m8>1JzKS&MMP!NE^EF9o% zzgJ7P9JV~>@=PVn(Zv=PUUyJlvPB~#28${LL#IXkIq$%7l;0J?eai<$J80nmwg%NP z1NJmL@!-8%Cx8G{wX#S0SDK+06Uc{Pj((NhTDm-0cg>gp0f(R8Q!PNv(j`p*H;<2R zvJkufkS$$IdTbgaWv}f&}Ngmf|N7gRfupW*@b3#ran?M3eEgAXzFVZRHeU2)+qMz1Mk?6HZ!Z^Et8s=&qgwX386X(v7{>a+jiJ?w>)q7?MG#+Wbc%ICo0Bj z&+*lbBlMTQ+Uoe>Y@wUu&wlfq$2}=NgEm#W%ylNlQ>ohEK1#`W-DBf)@wM{1I85xSDoYJ;FUEQ^G8Hzf8tO&P%`H`D zO6f)O)~(=fNn{+D7eC`9a^G&ITDI=9nt-VM#7t-PAiLp*(;8v>!yC(Z-EKMBq-t3^ z8yFT2;sqE;lL?VWn(}x&zPL8hZ-aJOFs^%1rZujEBjE&$q8PLkX~L#=eiU0E1W&ko z|L2z|6@esocak%XPd)a$UxLPn&|XuQsNn72%9OooJJ{7pfSYcSLYvdP<{~-PRmNLA z)$N~UTSBgZ%}_2DbJ-2_)W-!r3_PrPbK zJmDuqeB@~T#LoIC9ruonqM4%S3A?cub1*jI2QluWtLxnLD!{ZCLJ^|3=s+Tz23=l!ch`H}OGduWl9J1C}C_n#C7Fd(jG7@X^9u z)p_p3GcTRgsOVW^slte$_#a;fHX4rBeKgs=mo3@n@k;p)`deF!j;I=tUb_Vc}2qzB=P%a)Ab&Xh@B zkfN9=!DA}@x?ZZbw5oA)gPsIA`10t+Ir(5Bv8j4HoFi&yUL)+lrm1z4#391%h4ec? z$y(w~J{{}2Mf<6#zk~D=svf{b;G`!$CQ?4?cR)KJb(4Fr$0QayR0cp42h3_C0szIl zj9Js?HVkIVLK8MKXBEbDKl5~ONAs$}WA~x1O)uk~w9tlajx}ke78Y%}2u+y2X}h+Y z(oY|7%Fr?#dy+=OSG&lnbhRR~dF8nQ7fP})GiP56~eG6X!yS!99Zw{k0 zvxKcxn8ylo%9tSQ4!j=sf<iAxRFQ)%DatMEf0rK9K^rm)uZig`rBwj%eC1Tb=*x zI;v@H8sFq!{p=Fcm;rKIqOB7!9NBrc#c&c#{v=Dl{9)$Tf>H55IzGI-yzXD3_uGYV z4Qpg#yZfJ6fQ>xuuH;tOGvetu6czyfeY{MZnoou2?~yqH6A(W=EBYl2Ag$=aEN`K` z5n4+U=9-erGpaO4vOQywCJ&n1xhGJ;VHtlI1%b=0bTL^wWb5q78{1dfB)nDc6D6Uh zfOYyEdCGyGJ-P_ch{$<}w7vvl8TmWE8P?FN7$Gf|!O^S@aWF#oflYoGu*+@6wl%$p zcbeDCX}iXr>7J1=qg;)A!?1b|qL-SPq@Ta@jB*dvQ~xpgqlRhsp437fr}x@+)z1p^LO58a-x3D$0p@_pfl0;&Jt~L{#m_6pDzg~v z1i2y1rhnruO9Usd61vtjZ;BP{-do)i%UrBnMWRg*if4jOx_p<^WUb?p!85{4li`5N z;YffMQI9RK7BBX_1R2s;$w1M@W36{M=m7Y_qQrPkv zTKdNdIyXk-*L6%j=&t?D#@C4HjNSQdg*;drMaDE?1VPT{HpmMv>AtoJ%b(e(fi~iP zh!cpGg#gMKIBLrh0l0IjubN(ivFQ|b6C2-NM)p$rd8kN1=Dn|d75_Zq0X(K`L)F!; zXtO1T-wqbdczRq{tJ*r`9-}xL>nwEG74nm_nbv&^c*s9Lb^_9o*W*u9>M?GJl6|tU zS4W!{v2!w)h75#c?xfSIhO*Pvqi& z3vi>xbnk0L8_!@uO3qGd)digHwUH-5*-NEkNv?_nB(jR}Z8n1=&z|-)M4%__^&EgG zZL0+v05#;Uon%*?z0YneHao>3JsW3@@je!6f1)YK2SM(=(hzyS!>o4F{05KHw(9;)$1=CU_7&##cJ?0roUvw!Mk zE+=6IuY<2rgFi}F?A%bVMv@WvtAxRHt;?@;i!FkJ)N{J3d{aWIw!_0}KDUrh!2NX_ z%i&bYmoqFizp81*O{F~4h?1DpK>)RG`41vfR_5;zWQWN@T*3@UbqZR2pZ=GFRI^&I zD`Up6QP!v!PGI3rnQP0^7k28)%v@e}lEZ5-_in3>>Ur-p9c9)HHHgr)&T>ne2zzjvUuPnj|uVc8X}+lZ|aTCjI-V&E~NaD0?Y3rEWmornyIA zPFoqx-!oOy<(+93pi#+s%fQ2u8r9L(q>63x82(W9=yt1r^ig;Prb+z|$_*cHYWk7N z=9`sgq&ju`{@j@EB?&c2{)p*eU3)&F_(0)e0hwtyq!|7gI^6ISw;? zih+;AY?NKP9R1-{o2QD(%W$vo4=nTL)GY`ZOuHh*qYLG{IQ5S2S4LofU8NuM{=p^d)Vd z8f*hK5Ad(H#CR@}L!LN?rk5Yly_7+uPe6;-oNxw8S7GQ!VutId1ua1}l=8Vk=`EdP zV}#jUAcM15hqtUAp0_S#O?q zdQHe5#gf?Y@l1g9x!$x3AfDrW05C=62b=mCNC|gvWXgHWMe?19*W=U8kA&EeCik=o z#y^Doy7cdE>@|hfFte^=d-rT29k4gzZDpSX{@F;&vR^s`=@7=X;eO z&DJ4-Sb&P8z5LxjX;iI{iuI}`$(aD;I2i>8iRwW5u^#6DPZfpdqy2|#T#Oi2<%kup zTc0fXOA2Agf{Q+>k9=g zg(esn3PrkclYa z86gGD;nsSprHLD|m)E6te!sX|ZOIIf#Pr#-qg0=O8X5U68}RJ_rP=b?nt(yzdO8d! z9BkbUK7=rn6M zq%EU>pTs11b&a{WAjI;v-NvJORZVGhpKj`7)PWc!maH0woty38+9CrQ(Y2WY!8GWn|fNL;hfecGS^e*9PG#WU#MSM z-^W2ROMR?*Wm=ASbvw{vfvK|jBm3dyo{gG0?`fSLSosF77h<&gXF8hR!ea$tAH&dl zmqsR)9e*H#Lm0VvO7zLIHBqMi zQUxzU{&}jlQ)?8aT!cU)@9qfsnI!M1$@v%!=8fN}8C}=ezGE>$X98=qgTcejJNp*i z$l}JfzD|QK04nPy_fFg5{TWF^%+66sf^+YJ7=gXf6G47WH>Db|kL&2eKtA7ag%IJ*jL8Rbd3t+(tz%lFY$G_@%cvey z`a_+#5#1kp82N_fOsguP-$olJg}7R~;KZsfnW~c(zpnkf0+HEBAz9F4PN~=3^P~kZ z5MaQ*C%lrmI5L+LgoHT+#8n*IN*NyaTWI7Aln6-=H~!A~G&YR4*D5gHQ7~R7grg-! zNYCEDZnaSs@EAfk@y~d zgfcVwk)HAB-iwRCi+3^bvfr$TI?#~D!+{k2o`m>sL0z?CSI1Kptba0(J<^m6Hn`ih znZ(EW+zVkX0S2|Uc_+m0Pk z2?VDthsNL5Qt_Oh+tf6=u&?LGc08*PLg1R> zM<}>JoKe5wR9lSZdBHiG8&Xt3T}=V=#P4|iXLJIfwHo);PKqO%8V+ ztLb0wSR__;GSlbwctxpp(wOzM!lA6CLM6na^bw_Lh#B^Myac(~)3uuDu{ zR^7ECw}vz47|WbYqzdcvn|16Y+63^H5@e`-ud+zIQ(!m+L4TUUOEDBSfu>Vr`fDNm zXFqFh&)X9!MTUY5-pc;R9(WsKed*i((NUA4a(mRetT+9#le$oHl#3{gTXgSn{GKVG zvgrwxrCld|_H31iI-ZRzQRgn_Z2g?z8U?cz5y*lvQhTxC8~sH$q9kjF2aQY@CJm1# z33z!CFUu!61w6C5?E!*OcxREea@ebeUmQrhZ-KQwn;W_LdwAiZmz%wMRuK`H6|=})Ag zzoC%G8H)u~kJ3iMr|I{1y>-*bH}dPVw)&gX8VBasB#dw9)PFK`ATDwMarWw353cX3 zjki)))=^u|T8D4;1+KDDW^FsS6RL%)uCNuY?OB)47qmTkGI7Cnq^-%d_xz-gvqIQvQ zp)Y@aS_s{5j9GOim%n;>UA7PZWny7>x4N>;pZMlyRM2z$tCYo&1==P3cQ+OB>tA{C zb-7dX<-~b9asCR5UITS1SZ{#Km{FeNtkH-mWiU#aWG5|7axu&LoLX5<*l7kxqxK?? zIh*vnd@K*9+5}XPqfb#!!8kDurq2^V-_Yi??OBmpe$av2iz-cT z+G`wKkPAx7{`j+Cr(t?c7&t8S<~lL|$cw5%H(4%h^iG_4SL-2G7g(~~r#1t)Gf3A= ztr!S53!qX0YIN-od%_(67-Iq~=pW$sy)S-5nwiy#1yi0gsqxuQ(Y;;YLb+>idQZLR zcOFOfGfc@m6OpWymLK()R0Tl&#<;7%hj%Kv__YV7Z%N3*5wU{h+?sK*%lmw{1-H%K zW6T%K^}W{>ma6jXJp266vx_72^})M}nAcStBnsz^;@!+r%KdNCc71NZ9o;Dqua;O= z&)=u*xI^MRdJi3M)UOI7n1&CVvwMlfW`25sWqvV!R8P!L$9dTK5ppJ8jKHRSWmPRg zqDqN_l(Cu_O?s zi^{q?r)l zh|y?EYC=iVsge)%(vJrf_#{@y5uGAF7rF{Q#%5#<-6nh1uUL}b0H+Uba9LVMknRi% zo5rZ6^>q^lkaNRS>etk?{hOk`pb3|;jyB0l>~~=9-pI!|#}f=!)nCXv&2;*_FSws_ zaOhRu=EZ5XS$oe+SL3_$9HdmTU_w!*uYPxqMze7q({)*;Rp?hzd66bdu zL$BG=5UN50M85$IN-eBnvv>)jADQL!3lz%>0S0jZD<&= zsA{eu)(b@^+g;I5>^iv5>dOSS9AVso`&FHnn4MZmm3bqCi`ZPiuWgc|}a* zp52l2GC}I?1?yAOE0u$O(0e8yG!mXyr&v9I2iHCu%gh4@?m=EBBW~!>@b%dhP`{EK zw0P-irgtC{;|15Ag2WL?ABBPdM?j^Le)W;XUlv&tR#3r@N(wcvo_=j5c3&(&dZs@r zElpX_vSx(^m_ZzX>|h5yukYanOIxG=oG|0}5;X8Bq?jrn3)IByBC(O70xMAWyO7hDhZnKWY6tWrF+h-pd zYg{?=E^iH=coZ~zC=T=}S}t5KANkYh3(=7n=xcQ(FD~>!Q-KKm3YZ5-Ye6hxv~+u* zNfYtZH%8Sna<%pe$6@9`ul0?zd!xV3+bl3wC9De+H?D0XljHuos!J9{BmR^{apvQ%RD|1#= zZD8<+2@|<#AD4IC8D6oA6QkC%$2EwJ7^0Qcn%z!in-tXWwG3fkTAO<@w~9yek_)le&EFpuFR<6YGOyZ5(Vx`m0c!dJ^O>6YZjC$6!I%-J}Y ziq2u~<$dvmZ#e;ElTXz#*)}o|zX6VjgPWv~>Dw;~1}@?3cxSpoNGc^>byg@zuH4~d7ph4)7BYh?&~o7 z#mc+{ONHpkp&K1@2O;W}5yU365gUJnX~GH8N8Tn)@p}LMUFXq=iPkP&b+s8@4lF^b z=oGr>Qp$DV|)yCREt&>z}w|r0cO(X+WBpae67X<6L0KX;@sAq zK3Cu#a)7vgEOXo#PB2vxXX1#EzAVXR&QbK2WpcREE~ES^cM%}jqr(Hk(=b$*#t0?} z<8#U{S`2n!{r7_pB`VidcrqCb!DNB>@+h&fT_G;Ox}+o>Hro7Nab?lBWFqW?;=mgr zii-g~-}|a5HG*Wa4_$~A*zY(bls}?;DgRIGsb_is)5{Re3$1?gd%?1Y)S>LqUEBQok$>Uo_eJt2re$vJEi@0h$DHM3$cWr~(!M71G+jP3D5Wr02R zW7e;2Sf1frQ&vr**7%{Zx<Dr4w&^++qUHw7%G>f&Q4<+4chD(@t&YhuvPm7L z$s*Ij>o=J}>w$W0Kxy85vIb4k;@s}9>P$u{Irs6d<~B+HQ$y6D%HLmOWO3hOLXy8^vu-tJ{8Hq zpep8B`ao1Z%qSEqd9zsSesmix*O(mDf8&4&g?Wr0kSr#L{3GPL4&$A&o0p04PUdf} zOy#+Ss8)Ewar=O9eV6K;(RSXWFx2!SaKwyk(nT!>kZI(I;g?Onci ziOPg}vBt8of~rKasnw5nw_XAJ*WnGdO3(c+vlc)YtTpPx&8sFrNpy1?4W_a5IJK>2-J7?)BJ78*ILI~c;Y(pT?T+Nek>S}u^@jwuwsgbXRS!kSqPQl5)`JH<#v(VgJzbw7~9d}n%v7Tb9s8h<9O!G)Kea4cki$5syJOM|BOv! zPICM)y;WO5Vu2%jCVJVc<<(buvp_8UY4EK(@AYYSB;&^gHKux(H#SB%&8-$rNPF#> zf8$g&wp7ENw|(BxiUt176*TAvJ_SK zu&rHqLrJz11Pvbb`W8uM2__=+pK=~nq73#@0?|U}w`3m5$i237ct1Kc4K7F==P(FiPww#Ut{i7eqX)%U>(Z?08gfd}SkbQZH4oA?-l+-QRY5a(7r9W=`n2 z?qs^a2{uhNY{;ejWM#2ny%`s|Q^iRX^&L;KKZO}FMUl???$wls`iyeq+S^ZxHo6S28 z<6&C`Rm%%Puz*9t33zXIwzdfye8pV03s$F_pO^Upu=roTv(#QHd^J^>lL2~1APB$J zgbA_;^_MP(aI^T^?VNpZjhQ}4JB#f!Pcait|B~kDjKDT%>Z$A~f1rVC-f9s5(@DC< zvOTlS&Ti%wrMmbJjI}4)vu2}iJR6tY&{&?aG{)E}F9rEJFuIQ0i5PeFU>NZJFL_9is-tz>U2DtXsOWkzZxL?;dH!J0QN{>cQJOB8YIiH7=nReLeNpISj~ids<(MJ4a-SB# z>OmU=8x}MzGeL%&IfylS{>XosFl0?LKWWxbXN#9SXrEHck1QoGoa>xWi`#0KF=Ms zXn-d4wFS_LmJ)B{u8Uc`>&AW`Rg}hlP!0ZJOf#2|!NR?NDIQ}9xuz0v%O@^>y-RoD z85B36!O2dt;JpD_N;(@f6$-abD5 z#0~G?>Ep^a?n3R(79Wifm-(AqmAHow9>IV_<^(MeBA-wqGbtS%jAnS{`<9P0_jE7v z0sEbAllP+zeVAG|PKOOXGW_A9Rn43$5@&SQ$E8y| z#)@NBR73SJ^G2948S^i5nM*=pwE);__dch7ekKaT%t_q84{*19$W-A7 z7dn49@*Tk=i_>DO%dIt3nYgSazt{6C-32=xIT?`p?e19KB?<-W zX71?F?8z9Gg~Q>C)mpDu_JxN(Ui%0L+p_`Io>fSi3dujM(`s#1!4dZv$ zB`~(kjAbIy3C-5e;wV>%S#IV8tLIU{r9sy!n*}qUtCIEKb!o83f;30L);tbg4HN^j zVM$|!lXccXQQP_%C8fMJZ5^HY@kjS&)&mn~%9p?33?mXxNN4T^+WzRvd0gFWVi>j@ zE+#H>MyySDUl~8(W-&lj4#shsn0;UX)T-x8;&1Ij=sCB@A9p280Oh{f=tXlHq_>R& zCqP+xz9QZ1@GRl-O%3~Kgh19g-e1+9O@r#~+Z)pp5g!`1%1iOybWDR z=T+yojnRiW#m(M*iTV7~@rb6+ylXb?<8;1|vEPA5CW6v9$3x@yg2u?ArmUm7c^`Dp zvvKmoq@UW}<|0`>1=De#iak~v@K!(gX*tm*!+s`SE08clSCa#tCGH0Xy>ri&Zk>w$ z(GVb}9R2S0L9kfW8m_`O!41$$TBau!fXgo{Tv$n|BrN{?N?P#3s&x$2L*5msWd_(13 zCVyzGOz0Pq;QgJ={br#Yk$%5ayUml@?cUt@u}~HFKV-dyUsTb%FT7`lP*M<(20?VB zQ)vb%1(lHQEF#a`0qJh(?hbhuzjNMu&-vUx0A|P9Ydz1mp6J(% zcLk8D+Uk*f)HD`WXEWVxJLo*u@p{@r=G^9fiA>LDY`KHA%CW;D0W50;@L5@_v1qdC z#WfqcpxU|V&-+Z>x888cwEil$u@ueTns>5F?7QSwT$K1CGy#pMVN2{CR4ncvlsba4 z#r?~4auOte4<9Fm&%3H#O&!m^n+Tc>6yu%71m1*r%eeD^c}Z0aUoay$nDwC!;jbpD znxY)5IF!5|0fryg2ho9%pAHrKhh93+WZ8QU=euAGRq21qH=?4K@Fa)BrUXeg#peGS ziV<9z^N6GVVM7gyWo8)@pUU4Tu7QlsG6BRu6JP@&KrS} z?x$BLyq8Q}8*k-+jpAlZK?B;dY%boE1|g$`KijXGAzp1*F9$k;p=dZHxS*ylDMzSz z#6b{+H+F@At>Yv-@uiuFwWZ9h9a^iClUO)PevYNt}RJzp>f}dOP zP=^6WYA-)^m69!o_XIGap4B?PM!`^r;_5v#4|Qu^Q7NSJc|7T6ZkEq|%~C%uf8JvU z6&SR3UO_THHYL4;B9+aNPqlT22P}RRf3$oUVb=Lr??mz!V%El}eZB@<-kE*AG|_;4 zj&sQ1qVE*bEM8Yv8NB{(vmseMdQ0bkBJc#3vN-K8sOT1??b%~~Lf-8j557PhNXxk+ z2*xM|%W6{NA{+lEt$z>MSs`|VU#_XlAx3qKkUw+eC}Q$NK!4S^|-wLj!};-fyP zNkFb=Z$kU;!BqexgpU?g-*kPedg`UUAMS$HCAPt}rwOxX-RWW}hBbt$i@5?=rfs2o zaYU&*qEq`9Zubq7ZsJ?JH!6CB$$fvma}}k;!QWyF4TbP9lpET(I(};w(q|Yf$w}6X zoF-HD;Fp5GP}1Z9g?eSwYC@aBVa1;5n<1j&Sw1I9kK|QvE1zWf`jVA1sTitJ3Enot zqPR(&omV^RGrpTyrA`V-zp3h&@$;-1ATd$_Qhh_YZ2D>-CO6re*n53eCMW-koT&M) z%3nE>R?Rm1irCbu=xujy_B;Llqo1C{OPelf|MDc@A0mdrdpe@{(0m>&}TK~!57L8>Ur^}b`8H(dg&e_C738+O1)=l(5=k@uSnFw4?gq}OsjH&Y~>V-;7p>= zH;bc@=v3k?PKlkKxhV>FosI8MzJXfofsUHJOleiF>L=MxPP{$zTy3mPp^D}Ke~&1` zZ;QDc1X5i+o_V`pD-5BPR}B08zhc|BIUNe*Uqh4YX62hP5X3ja#EOp%1(V#8p_Zb9 zQ2Y}ITC1TD^DT;KV`c;g$9$L1f>%y9Hrsiru1}9?64n!W8qt(n>LX2B&;8q;V7C1Kghq>uENut11U$vhu^gA@%R z9Afnn^920v`-*H0$hBmx5Lgie@7HtG=Y@Y(`a}XLtpfavo6W`WFU3aA%&y^N;v&6| zdCmJXt#>@bK>c>umzY|4nc|92rsh?1ZBQPUl)>QzqTOD>9MT|-sW#p!{YcDZ@$9R* z+}TGrm=y!8uRazH&+20MKVf9a26Tx( zI%fsMBxKq zg3OZCVb$T*edzbRxK_{X_AjC0*(cVI3#9&q)uq8jm)Ax_`}@km`@4BxK(q4fai4^1 zcaYO4HFe0nW9v?8+@2u{9sQO|+D9Myi7}-Sc4-`u%Hh=2o#8 z|G%yZ3r)DG-4%o-I6ZTM(g)4mPXk5CTG)KvQb^2gxk)J%U3dsZszsGE@cubU&Yw!e zfll^1xws6FXUf_k_N9t4m#^i{v-=rreNkyj2dYOP+QTwt!zuTOC%qr=`6k{Aj`BvqQ?%(|>B)$vs}2*GG8X zk!Bsu<0nj=nx?^#g*Rn=Haj1yoWMeg%vq4YT)MTifn3l9=6ozMtXB=! zs9hGf%Lg6bM%4CEwv-2QJ&_M?J#8}Pr5}^wHhB_wqt$}3TaaQ5ehZRT_^v$G!6#EV z0-BVyv3?&i`-~>8B)*oXLKS{1$U5|Ru(Z6dY8o4BA1i(b6PsiDiJ1;GS_!jkolIZO zyn_z7LE0sK-b;j)XXR_V|J1<*8!ex3el@v&?8q{w5-^ZqkURPMP`AACcMT7toeFH7 zhgGMrF>~4?(M{qS#YxO5zqm~%Plm08K@{nmj9FOu`_nz9*{zf_qs(BMb`T&irRHnu zaB=9iS=C7tnqN6~+?a7R&*wX}RF^QpQ!Pi$-09w{VK86`G%rw{8{^TgN~CgEt{m7C zcPeGJyFzLPpP#Q+j%`2X=Bw_BDhr#m=L5aCrKtq+ACeg2Uel=RFPOh%hG?*5p3uzx zpl;ddt-3x7)_g{6AbSZdyVD2A5WLz9nyiqy$?X&-wPs926CAVTa8iq9Fdgik&_uY6E!o_FI`Ctydjni>a z(bQb%nD4#y-vHh85!V8f#{0Z2iw?P$x029z;l!ZDUh-Vv)KOZZ4-=h7C~-P&Sqa;T z?q@@cjx7t&A4ysu5B{DQV^#MhZ|7EcePcORk=WAH#xV2CH+tJRu4|9CTu|E*jhG z<4_xuzRjPMN<7yEpz)6GX5rh%N|ef@mHnI}I;DHpX{-4{9t z^BrbfwokMnwCrwUoLQDVv+tYZ;{a9OxK zfNO@0^1Fv`fjHis_%VuE`WrR}-=fs?xl0ah6h0ohYs@;_R(9|Ld(DFJw@MfFt#VJI z=p74m-1bQOj>@_^{DInbaZh#PHD;qYtn=?#NU!;Gr!6KB<752Zuq{0WZBK;bMI^0s zbav-M`jO+0F{_-s&gadw6S1dyFBdr)x_j1+!TJ=Nsn;}jSmg{Az|15Mrn#F_k9H>0M&uWL!oAIqF z4Apu3@ql{BXME7m;tl)n)TPaupW@yBh#lJ<$pb({|MX40a7eGER>G!U3T?nw8urRm z-aX2aBE_F%c9-EwgVql5?{Q=+d7B;b`#l!4>hPd9m%4rb-b!;3nB`3f6Y$a69*97 zr9j&ul&rFG(c`+o{Ys3n4+3K}%&I&S;G^szWtl}HaHuQTTB{x(QY{}&8ZG9oXMZqn zzR*e)B}Sc-Tjra1<$YZfc!V`1@j7YEb=?Zm%l%T!Z^0&iALBJ8uUTXw0|m&pVs9^E zVPW0S-&R5nt^d@aS_z=B8q4aR#kKKwVqS^B=}ly-a0Wv%Y<_|OTL`~Xga_eGRh zs0$JOi9|$hW9W!VxvBkS`%b9$1hXjomNZajMtsg4hGA`hER|9IT-$cArjhRbXXbM8 za%K_}MOIJ&CVhGvm_N53taDsR&-1#8>@ONF$UTDaa0((b{hp~Bd3b`9MY*@FxIMK# z$g}p+hpbL9JlN34$>;n>EA5884=tFBl8_%nSIscFSR7L48Wurn2+?@C$Ec8fCT zB$qQ;Hf+n)-}TBm-n#}diCUMm;cer<5S4$~J4mZ(Qs&0tjL30KAw83%MM~GCT=sOa;C#R!;MBccOY6 zi==K=%Eh7Fo{-bGYWItKb~tdSmI5bvYV`?mrUK9&GtBBzJi~=u`Hwrczg#_4$3ld2 zO~WqXWL{KSd{Mq8WR6~KuCZ`#f3Cb%XxN$>67D=fya2~lX+AG3vU?|Kl$$0eV?BURYY&HE(E+gm-}8< zvQba`4jbC^Z!glD&>!ftu~kiTsk08xCF_bl^-jI36E%9*cf9kYue>*@oq1k!`KV2Z z8w$4JOZi3&K=iYcer`D)9!m)+*4cWvWESu3BJe+}9 zm^bLAM)sARy_Jkd-iA`Uue%xmdacKqqSU$HY|zEaiP2@ zV)0!TY}2=lnq3H~YMBsS>q`A{I6AJPAFNEh{p?r$En7ZaW=oBegmgNBdA;CJ)8Fwe zV+~o_zSB}*-1V+&b+?OR&Xr8x$ zqz{(Gu8C!_@zcFX%AEL~c>YvnA$2%!s1qEA;Ahr?cfRm=bzWeN_50w)j^8hM-B2HX zs!3Q`6kw{27U|F9ot{D7rE^8N)iFW%jNQr*w-cXkgnEnG?GdS~p>KDn5zX^Ps`IZQ z)#Ly9L!(*B-G;bIMpDh_HHgv4O^2iu0bM+TV^ij2Nuwah`O_YTln91(uzYwAU6=J! zOp98+_6c0tWDKvemlfZzh441VJD+t2F6U2)E=ZGa8(Q&%H4iR5h_5@rFxNU!793RA z!^D<2jiq8`>XDyp)PAUixH4;eZbzwpV75Ga+!I<7ou&iClmzy@i6dW8!y~&dD;Y=lts|W(FG}H4dgQT;i!YhHo(Up@C$g0Y zr42*L>SLf}&t_%>5*togk;0-REwo;o9grf*p$BCDfRx;PfsL>2gCw9 z(}I81OGsTe@xH=Cf1c!gYg37^z4X&Z{$g?xwaa>dK1nZOxGNRin0oG_6$vJ;FW$Li4}1Jr2W##}S-kkCfk<=U*UN*DK$4G+ zj=&T6oRhXVKvOe^wV`q5BW|Ts8-E0q5Vwbtkgo+tYzFCUCr&ECwJz{4@k2gPVK*65 zO`Y=-$wp6;<4ZBKhW4+_s~*S)rkb%ofS?K`*)F7SbK0tcSRv>^L>=ZQ&xTVhEtRQY zXwEAO9T>rfCUPu2<(;ATucMz>@InCwOWi-WUPhDy^$Is5-euZuy&7-yn3(IO{>`rT zbWP%xJe=GE%TFEcR7q_aHej*TzrxN{<`!eR-)wa5C{d0$xB=n^L6oD7-RHxhM49U% zCY5E&o}pWnq9w+nA(EXs4)+-h${45EfJ5{|YI<=cpWmCGKoKWOF}SvOp5c2D5o;gN}o zs)Yw|;AgZ5VL_?~Svz8vqw1T!^)c5yr9!{rj>J~h@*B?_U=Cu=jA$f-px^J`)<-Uy zQcuF5q;Enxb9^G)@LAIK*6FLw?WJ5=QoZ2zbDZ9F)zZPi`Ka}|G+ZC-KWNEDR_2Me_ zI~j0E@@L@bVp15{?h#a#B9nermapFRE)+{Lqr5jHC%pGvmI_DNfK}~Qk_#d9W-8_N zNM~7b&;0`smGECP0#Y22uAT)IF`t(l=xvQAU4{vDK#|m%i*6dp2LZ7euytg}u_XDw z;5Y8MEN2^h*Xw-4POhq~D4zWr z--!C)ZD@sEg3q~DdH=vHLHBws*Z95h_KN6?j4|R4NlAX_MZGSWmy%E{06EpbplM>$Ng|*z1;gVIhZf4cA(Yd8eWMVV{>byS>bC zGj!PkV<*`sXAou~38B8Q5ng3GaEHrYwa88B@M(;I$S10NMo@R>_Xd6L;bwl(h{9{3 z-%az1#ZfV8AX|QE;e!iC5U4wh1sH#9YC8rHvHXA_m-e$jkkQKST1S)k5^6~Gd{C~U zgf{bGJ>#ms*!yzC++m-P7j%jjJ2G_=!8yzKSqt_)-{oi7@W~xzc7k|0sNvk!FHn)*9f3sFlCmmhlB2sfOhP1|8-MqbPt;@jv{O3;uZ!2yc`rPda4;xi~9OHOj2X2d~+ zQN&R|5{AxuV!EpHm{8+7oOuY6m=k@B?AjB{n68Q%&ih!m7JaHEJ`N8oL%71BA1)SF z5R};Wnil`Xx;2X8cEAMAl*Y)}ut@wAG)t%Lu}j61(c~V6hT0Vq^Srd>xFBNd#a&MO=}^Uz z8G2xPu;)r_^`>w0_vkvHI%f*%pZehCpXI%x02DT-OF->LH@!U+ZLPw z!4<8{03Qks#C7O-rz1h@0Zo$kf^CB&`Bv;`q-FcDnw@u#cWoh7Z+c{`U8E~Lntf8> zY(F$?JahIemWKW;vNeR1g9p0$fW}FXL8TnI^{5^%09j zW3Qs4$Zw%t+SgK3gnG^0Z%vr~%bh;bm4kMrWQV_t#+@eK0-HXFpXAu&lY z1eFEXYK8ZTKZBCYL;%X=BhB%L_u%2?*MwnF5V9U;*xF?1jX<{@4p>|+159e1m$-%t zxxjiySRFElsS8#&8E%s0f^&D?WJc9OZ9!={Sl&XD`AFacRV&Cb2#wA%xa}=po+_IY zX_|jeY0)}r*{G*ze%|Jb7QJ@|=G=+^{{?8>Hr0yWBGCWq2||#z%2!f>;v7)3?`MPX zX*4@t@->M`5dBmB5VM_c{@g}Cw6RPg>?;V8FM1K$Un1l1og9v!hgrM5m5n$lA%f8S zL&ePMkSsl${Ku(ljx^yMARXOPJ`-EhLcLK+GV8PCv+9H0#V<|R2!`dy)(�LKQX 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

Cf(o`)C^?rsqOmxLv`1y>g*!?J0cGZB;XDz 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 W=8=O}X%nF$0qiA2h6z7T$^9F=Gj7WO diff --git a/docs/public/favicon/apple-touch-icon.png b/docs/public/favicon/apple-touch-icon.png deleted file mode 100644 index 51a38e6a3eda12eb1632ea328e6210d22481f7be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14414 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 Q1ObY&sxlSt%>MiT0D|lt$N&HU diff --git a/docs/public/favicon/favicon-16x16.png b/docs/public/favicon/favicon-16x16.png deleted file mode 100644 index 720a683437866b795a623a6b4d625ffaea987c3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520 zcmV+j0{8uiP)Px$!bwCyR5(walRwC5aTv!xN4=MYfsNrN7G)%g-5qWegUO#6-HDhm5|$fgF)1nT z9j={HjLKxSF|gnr+TrL+3 z1_M5yPpwh~h{R&CNTE<5kx0lJiA1>H?@Xst27`gTqPkkGrnaa7m`o<-^EsQ%hIBfO z)9I7|p-HdT!|iqx2n5vDG%Y-k(P)%@zmM1JWxL(V*DjZf^?FSzm0~m+X$00(AR@6? zOaeR}j|Q+>tw<)5jK|~u1BBX(#X@aC2rJINEd+x>PN&ny8k9;UY1Ko-a5#*jC`=|3 zRm4W4LA_po2H5R(M48v?Rb!)0r=wghW3^hPjlyET-~VjmW01szwOTDXD34M_YuRj8 zR%bSwp9V=R#@i=H`6gWW1$_VHGED_Qtn*Lcn^>wBLGQo}$o&O|{L!4XMDwix0000< KMNUMnLSTZ{UGFde diff --git a/docs/public/favicon/favicon-32x32.png b/docs/public/favicon/favicon-32x32.png deleted file mode 100644 index 644e2750fc2a9735dc973d37feb7bf7c06f30c29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1389 zcmV-z1(N!SP)Px)CrLy>R9HvFS6N7vTNM7xa>#sfz9QG6P#;vxP?R)9Q6jQLFbCA@fZ{BQ1BgU~ zSd=AUr4**OylN5RgovUkAsR|b`JkdWJec!KgF{yLe(UDN;hf`%E45$#|D65rwZ661 zw}!2Of0q^jPXJK>d;l1J|9`(9?*P02@Bly$fOU=U$`b&j1F+n0jY{NA0Vo1cLI55B z{sizl0RH|N>l=V+0C80K7l6>8p;dv78UmOB@Y~i+4Gj&Ln3%|4^Yiog_Kkple5oO4 zi2$}q=b^J_&mtou0|yTtM00a9Dk>_lw6uh;U%#q_;=q9eFf%j5rAwD^;lc%c`SJy~ zZ{J2sOUo`}b^$OoHAQ7*CA_`8K`^VUtLW+J!JRvI(AL(5PoF-i1aaiZ5qNodAt@;d z?(Xi;(b19b+uPd_78ZuNxw&oU6#}TPu7;`5` z+9ED44uOGzFfcIq?>s;3?CeBvaPZy$s5C7t4Fv@S(ACuyw{L80fC~6NF)@L%vNF`v z)L?RQQa~I%dK3Wx0Z2$lfTg9Sgzod_&+=qA=*7#IFQc%qaPJUMpt-p@%FD~)R{IXOW~OG}h-Z)$2vJfW?vE!GDG1z}-f zVORKeg@9iW_4)JX@#xVbaplXGFNKu8zP<@cH4<9~6 zS63Hq-MWP{XU>Sr>tNs1`D+~AT-BYQYn`!|diAYE;bpS9U z($mxN-~rpd>a`~T78x>`Ay`~ol-jN;1oidxFg7;cpAc*%A@iQaiKP7S;e$f6m>t)z zUq@nMqGZSaCZV039cpW9apJ@Y3=ItlsRjoJrSRC>+vC)!Q^E_TA@@Ii{0K)!M`>o( z*47vwAD50eFfj1rX?XbXVIfg?c(_<|_3Blr_Z?B&0I0DJ{i*etsw|Ed|^2W-0dY@IY*AEUc`o#B!EmKG`3b_rt@(sH&<$ zYip}yjhmYrmY0_i9UYCPrY7}EF-i3F=~HRRTbmIZ4wbR6u;GxLEKqE-++*WmGkW#v z6{e@Br2%oDa|Dai%nXOG?MvZAl$x4~YuB#rYR9yaEtqa4z|A7VVnt=_8+>OoW5*Eh0-m>T2sUKLjM)sXX!9H<5mtd_+6|EP)pe7|27f5p}84+78z5dVuVr=^>hQG#&c vWf6cE0JHt~wn$t8(Du(Qyc|FmfVIB?-ExuH)(@ha00000NkvXXu0mjfw#K8m diff --git a/docs/public/favicon/favicon.ico b/docs/public/favicon/favicon.ico deleted file mode 100644 index 7a4cc31aac8eef4ffca4621547aad37370c3d034..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15406 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ʋu(TJd5>YI+N?kjzukuJsi>-<}YOZoQ$(e&xJ5XRt6o?rMve3ag+#`+5xD{`a!B1YjHR_Ho7QnBRU mLco-`5Zm(8h19i7mi#V9$}?gW-s^uq6RZ9xe^{V>3;YjOy~&pV diff --git a/docs/public/favicon/light/android-chrome-192x192.png b/docs/public/favicon/light/android-chrome-192x192.png deleted file mode 100644 index 3219923865fc826fd7da54c2087a11b7703cc514..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14729 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

p{eCqHKM9Adh}m|h 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 XQgg{lV+8JMD*?*#FXYN(&_Vwn=R%tr diff --git a/docs/public/favicon/light/android-chrome-512x512.png b/docs/public/favicon/light/android-chrome-512x512.png deleted file mode 100644 index 3508e9286e4dbbf879238c8e8930dd56ad82fdce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54624 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 G@c#kegz?D$ diff --git a/docs/public/favicon/light/favicon-16x16.png b/docs/public/favicon/light/favicon-16x16.png deleted file mode 100644 index 07590cf9c24146a4b7c524610cc649d137e670e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 553 zcmV+^0@nSBP)Px$<4Ht8R5(waQ@@WXQ5Zc_jA$rOX*NM4QIZIM0L9XfsL+eNLI@=)LiK_km4t%b zf@rX{R1Ha!7i^T##5L9T!7`EFjMxzlTkqAsC6TkoB1dN~R z^*WNtBn$=v(&;pvbvhl9TrL+h8VyvdRh&*I!X^?4x>E=?n+@Dn*M1^swOR;;LcbGSuUB|H9>oGL8(%yyu4=hlVmuy0uh%OiiUJ;D zsZ^p;$srB~0|EwvK?;!XOeTYDHv1gnZnuNW<$^||QI+xWc%WD;;&3=n8SnQyrqd|} zs|rzWB%{%YR4PS{BunMiYPA}vJD<-_jl>5-lv~;7^O5JDTA8aH4u{`cS>hRd0C@k; rVH$7(KF)su`1w%1Nc06@1R(hjr(_Cy7j3=`00000NkvXXu0mjf-S6hT diff --git a/docs/public/favicon/light/favicon-32x32.png b/docs/public/favicon/light/favicon-32x32.png deleted file mode 100644 index a0a219e450d0c43b8e54f90ac43c55e6d21329d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1357 zcmV-T1+w~yP)Px)2T4RhR9HvFS7}I=Sr|Q^<*t8RYD91gL`X#{aTLPQa6vFda7olrq)}T4OASOM zM1)ckDRaTlsm2Wz7Z6co6hR>|!V>gHmP3u2%b&_EmzndR-+bxk=jYgRf4=v=&pr1% z=bq=e3IN#L+|&c`3xEUwegMq*{Tqxa0Dl6g05GUfC{`6)o2LLs1z`IPHdPmL5@H+q-0E+JfU=zS!0DdEYKLA93r;T@RQ%3-Q1F%w^+1S{?`}gnV)3Ia6prfPn zzwl`hXPy8^hjQ?z&dyF06&2z0=g$ZV3PM6c0?f?JaOB7lt$;Ab)YKFj8XC~n)`p`; zk0LcS6@h_)yAHDp!1VMqVq;^`)6>J-0eyXaczSx`+O=!&^YeqTv9U%FA3uJSe@jYA z(BI#W<>h546bhU>cMeaUJi+nf$G`YrEr1IbE}*x!SGkY@_+vmo0IpxZ4ksrk=;`t1 z{x?=vSMl=YOH@=;ps}$L^Yimx%zJx#qrSd=e*mPfxVRXZnVCxTq<(E}O;TWIXNSbZ zL_|eJ!QS3pHhJ^r4Vs#oP+D4w$;nAsOWN1h*Oe^h zJUkq4-@e7ur%$o6vLdHC-y;f)(NL<77< zWo2au4h~i;VzmGm?8Ao-NKa44!-o%rh1}d+T)lc#@=U5*T3SHCahRH#A|fIJ@$vC+ zb#+BSK>&+j4Bw70J!k=>(}B70|NuFu&_XDYpeKzxl zl9CP&Ks5#C=H}w^En8xc(=G&B?`DJgJvcE-JX_mGv9B}POyr7`Wr znpzQ(Zd!42ax!LSW|UUk*Vl*2%1SvMhpH8`X`xv~M@Pfo-(RXGt(dx@o6?HaH8yGi z%+Ah=19C$e%62hg!J+SO7bE%u4XUoLPFalDKX`a}z{bW#zLN#^5i}=jYwKN^P}>n{ zQ;s7eBb6pIF)<;vo+o8#W}zYwRzfy4WGXK&Pnw#YENIn`5H_i#%TX5;oVtdDRgzVc zEggGG)o#zn#|O2wwfi?DJ6kfMXF2A^zP`Rv`7{lRmwg0Tq&1U;1GQwTO)2xoQ&SIC zR#sYf#}x6x!h+#_JF zo@T!ifIfiaAM`jalgH>5h@bgb1mFwcr?1bpMC4++gT`rfZC- P00000NkvXXu0mjfB7cQP diff --git a/docs/public/favicon/light/favicon.ico b/docs/public/favicon/light/favicon.ico deleted file mode 100644 index e7914ffd863aaa85f2e7c4983b861d7075da4247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15406 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 { - const lenis = useLenis(); - - useEffect(() => { - if (!lenis) { - return; - } - - const target = document.body || document.documentElement; - - const observer = new MutationObserver((mutations) => { - const target = document.body || document.documentElement; - mutations.forEach((mutation) => { - if ( - mutation.type === "attributes" && - mutation.attributeName === "style" - ) { - if ( - target.computedStyleMap().get("overflow")?.toString() && - !lenis.isStopped - ) { - lenis.stop(); - } else if (lenis.isStopped) { - lenis.start(); - } - } - }); - }); - - observer.observe(target, { - attributes: true, - attributeFilter: ["style"], - }); - - return () => { - observer.disconnect(); - }; - }, [lenis]); - - return ( - <> - -

- - ); -}; -Home.displayName = "Home"; diff --git a/docs/src/app/(home)/layout.tsx b/docs/src/app/(home)/layout.tsx deleted file mode 100644 index 2ce84d8a..00000000 --- a/docs/src/app/(home)/layout.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import type { ReactNode } from "react"; -import { HomeLayout } from "fumadocs-ui/layouts/home"; -import { baseOptions } from "@/app/layout.config"; -import { Footer } from "@/components/footer"; - -export default function Layout({ children }: { children: ReactNode }) { - return ( - - {children} -