Skip to content

business-jp

English | 日本語

Japanese documents, visual seals, legal-text parsing, JP PINT checks, holiday data and regional presentation/calculation presets in one MIT package. This package in the public monorepo is canonical. The generic engine never depends back on it.

Terminal window
npm install @alneas/business-jp
import { resolveSealLabel, parseLegalDocument, japaneseHolidayCalendar } from '@alneas/business-jp';
const label = resolveSealLabel('山田 太郎'); // 山田
const document = parseLegalDocument('第1条(目的)\n本文');
const holiday = japaneseHolidayCalendar({ year: 2024, month: 0, day: 1 }); // true; month is zero-based

Standalone installation requires only holiday-jp and YAML parsing. It does not install data-engine, AJV, Zod, AI, graph, database or storage packages. The root is safe to load and type-check without engine. Runtime support starts at Node 24.0.0; quality CI covers Node 24/26, ESM/CJS and strict NodeNext types.

Entry Install data-engine?
root, /pdf/stamp, /holidays, /legal-document and its parser/types/constants No
/pdf/legal-document-pdfmake, /notifications No
/integrations/data-engine (former full root aggregation) Yes
/date-utils, /finance, /csv, /pdf, /excel, /edi and their integration subpaths Yes, including declaration resolution
Terminal window
npm install @alneas/business-jp @alneas/data-engine
import { calculateInvoiceAmounts, pdf } from '@alneas/business-jp/integrations/data-engine';
// The narrower @alneas/business-jp/finance entry remains available too.
const amounts = calculateInvoiceAmounts({ subtotal: 1000 }); // legacy 10% / Math.round: 1100
const template = pdf.japaneseDocumentPresets.invoice;

Engine is an optional peer and an exact development dependency for testing. It is needed for generic date arithmetic, finance, CSV, document models, EDI/UBL and Excel composition. Merely selecting a subpath cannot prune a mandatory npm dependency; this package therefore removes engine from ordinary dependencies as well as from the standalone runtime/declaration graph. Engine’s own optional peers are not needed for these business integrations.

Before the first release, root date/finance exports and pdf/edi/excel/csv namespaces moved to /integrations/data-engine. Existing domain subpaths keep their behavior. Private app-core/react-tools facades retain their established paths and defaults. There are no separate invoice/seal/legal packages and no duplicated generic engine.

Japanese payment/inventory text and yen presentation are supplied by japaneseNotificationMessages from the root or /notifications.

import { japaneseNotificationMessages } from '@alneas/business-jp/notifications';
import { SlackNotificationAdapter, SlackClient } from '@alneas/data-engine/notifications/slack';
const adapter = new SlackNotificationAdapter(new SlackClient({ botToken: 'host-supplied-token' }), japaneseNotificationMessages);

Read Usage, regional presets and limitations. Visual seals are not electronic signatures. The EDI checker is not complete or certified JP PINT validation. This package supplies data and helpers, not fonts, a PDF renderer, Excel calculation engine or legal/tax advice. Applications select the appropriate profile, timezone, tax and rounding policy. JSDoc defines API signatures.

See CONTRIBUTING.md, RELEASING.md and ALNEAS Docs.

Consumer AI guidance ships in dist/ai/SKILL.md and package-context.json. Preview the package-scoped additions to your project instructions with the following command. Add --write after reviewing the preview; existing instructions are preserved.

Terminal window
node node_modules/@alneas/business-jp/dist/ai/setup.mjs --project .