plugin-icon

DentalZaikoMaker

Inventory and expense management for dental clinics and labs. JAN barcode scanning, expiry alerts, supplier ranking, and savings tracking.
Évaluations
Version
1.25.0
Mis à jour récemment
Jul 17, 2026
DentalZaikoMaker

DentalZaikoMaker is an inventory and expense management plugin built for dental clinics and dental laboratories. The plugin tracks lots and expiry dates, requires at least one registered supplier per material so reordering is always possible, highlights the recommended supplier based on price, events, and purchase history, and visualizes monthly savings. The user interface ships in Japanese for the Japanese dental market.

Key features

  • JAN code based inventory registration and management, with automatic sync to the companion material database web service
  • Smartphone barcode scanning via PWA: JAN/EAN barcodes plus GS1/UDI codes on medical-supply packaging (1D GS1-128 / GS1 DataBar, and 2D DataMatrix/QR). GS1 codes auto-fill the lot number and expiry date on stock-in. Decoding is done in the browser by a bundled pure-JavaScript library; codes can always be typed in by hand instead.
  • Lot number and expiry date tracking with expiration alerts
  • Low stock alerts (in-screen and email)
  • Order request and administrator approval workflow
  • Three role tiers: administrator (approves orders, edits budgets), staff (stock in, use and dispose), and view-only
  • Offline-capable Service Worker cache
  • Expense dashboard with monthly trend, supplier, category, and branch axes (Chart.js)
  • Monthly budget management with 80% and 100% threshold alerts
  • Savings visualization with per-material ranking
  • Weekly recommendation engine: overstock, dead stock, joint purchase
  • CSV export in freee and Money Forward formats
  • Recommended supplier highlighting
  • Cross-branch unit price comparison
  • Local price-trend chart (own clinic data, no external transmission)
  • Optional opt-in monthly statistics report for public price-trend reference (OFF by default, anonymous by default)

Camera scanning

Barcode decoding runs entirely in the browser, using the bundled pure-JavaScript library @zxing/library (public/js/vendor/zxing-library.js, upstream’s unminified build). There is no WebAssembly and no binary in this package, and nothing is downloaded from any external host: camera frames never leave the device, and only the resulting code string is sent to the site.

Formats read by the camera: EAN-13 / EAN-8 / UPC-A (JAN), Code 128 (GS1-128), GS1 DataBar (RSS-14), GS1 DataBar Expanded, DataMatrix and QR. GS1 DataBar Limited and UPC-E are not decoded by this library and are typed in by hand. Camera scanning needs a browser with camera access; on any device, codes can be entered manually instead.

External service integration

This plugin connects to the companion material database web service at https://healthbanks.org/dzm/. Data exchanged includes the corporation ID, JAN/in-store codes, order details, and material feedback posts; see « Communication timing » below for the full list of what is sent, when, and by which feature. Integration can be disabled at any time with the « 連携を解除する » (revoke) button on the settings screen. Revoking deletes the stored consent and access tokens; from that moment the plugin sends no API request of any kind, and every scheduled task that would contact the service stops. Your local inventory data is kept.

  • Service: https://healthbanks.org/dzm/
  • Terms of Use: https://healthbanks.org/dzm/terms
  • Privacy Policy: https://healthbanks.org/dzm/privacy

In addition, the plugin offers an OPTIONAL monthly statistics report (see « Optional monthly statistics report » below). This report is OFF by default and requires a separate, explicit opt-in.

Optional monthly statistics report (opt-in only)

To help public bodies (such as dental associations and the Ministry of Health, Labour and Welfare) understand material price trends — for example as reference material for insurance fee reviews — the plugin can send an aggregated monthly statistics report to the same web service (https://healthbanks.org/dzm/).

  • This feature is DISABLED by default. Nothing is sent unless the clinic administrator explicitly opts in on the « Public report » settings screen and acknowledges what is sent.
  • When enabled, once a month the plugin sends an AGGREGATED summary for the previous month: for each material or category, its JAN code, the monthly unit price (average, minimum, maximum), the quantity and the order count, together with the business type (clinic or laboratory) and the prefecture. The JAN code is what makes the statistics comparable across clinics; no order-level record is included.
  • Raw order records, patient information, and clinical information are NEVER sent — only the monthly aggregates above.
  • The sender identity is ANONYMOUS by default; the administrator may optionally choose to disclose it.
  • You can turn the report off at any time from the same settings screen; sending stops immediately.

Communication timing

No communication with the web service happens until the clinic administrator enables the integration (the consent dialog on the settings screen). After consent, most communication happens in response to explicit user actions; a few background tasks also run on a schedule, as listed below.

User actions:

  • Connecting the site: when the administrator enters the connection key, it is exchanged with the web service for an access token, and that token is renewed when it expires
  • Connecting the site with an application code instead of a connection key: the code is exchanged with the web service for the connection credentials
  • « Connection test » button: fetches one material master record to confirm the site can reach the web service
  • Material lookup and registration: when a JAN code or in-store code is entered
  • Inventory list view: refreshes status if the cached data is older than 24 hours
  • Material detail view: refreshes status if the cached data is older than 24 hours
  • « Refresh from server » button: forces an immediate status refresh
  • Order request creation: fetches recommended supplier, discontinued flag, and name changes
  • Order approval: records the order click on the web service
  • Seller linking: when a seller code is entered, links/unlinks a registered seller
  • Order to a linked seller: sends the order request to the seller via the web service
  • Material feedback: when the user posts a request, suggestion, or defect report about a material, the post is sent to the web service so it can reach the material’s manufacturer
  • Campaign/event digest: while a staff member views the My Page screen, a conditional GET (ETag) asks the web service whether the list of active supplier campaigns has changed

Scheduled background tasks (only after consent):

  • Seller order sync (hourly): checks the web service for status updates (confirmed/shipped/declined) on orders sent to linked sellers
  • Material feedback sync (hourly): checks the web service for the read/handled status of feedback the clinic has posted, and re-sends any feedback post that previously failed to reach it
  • Monthly statistics report (opt-in only, separate from consent): sends aggregated price statistics for the previous month on a monthly schedule

Three further scheduled tasks run entirely on your own site and never contact the web service: the daily stock/expiry alert check, the weekly recommendation pass, and a daily cleanup of unattached image uploads.

Data sent on user actions: corporation ID, JAN code, in-store code, (at order time) quantity and chosen supplier, (for seller orders) the order request lines, each with JAN code, product name, quantity and unit price, and (for material feedback) the post category, title, free-text body, the JAN code and manufacturer name of the material, the anonymous/urgent flags, and the clinic’s name and contact email. Data sent by the opt-in monthly report: for each material or category, the monthly average/minimum/maximum unit price, quantity and order count, along with the material’s JAN code, the business type, and the prefecture. Data NOT sent: patient information, clinical information, or personal health information. The opt-in monthly report never sends raw order records — only the aggregates above.

Bundled third-party libraries

Every bundled third-party file is copied verbatim, byte for byte, from the prebuilt distribution of a pinned upstream npm package. Nothing is minified, transformed, concatenated or patched by this plugin. One of the three (Chart.js) is minified in the form upstream publishes it; the human-readable source of every file is named below. The exact versions are pinned in package.json.

To verify this, run the following from the plugin’s root directory. It checks the SHA-256 of every bundled file and exits non-zero on any mismatch:

shasum -a 256 -c public/licenses/VENDOR-CHECKSUMS.txt

public/licenses/VENDOR-PROVENANCE.txt lists, for each bundled file, its upstream project, license, the exact path it was copied from, and the commands to regenerate it from npm.

  • @zxing/library 0.23.0 (Apache-2.0 License) — https://github.com/zxing-js/library — public/js/vendor/zxing-library.js, the pure-JavaScript barcode decoder used by the staff PWA. This is upstream’s unminified UMD build (umd/index.js), shipped as-is so the code running in the browser is human-readable; the TypeScript source is https://github.com/zxing-js/library/tree/v0.23.0/src. No WebAssembly and no external request is involved. License text: public/licenses/ZXING-JS-LICENSE.txt.
  • Chart.js 4.5.1 (MIT License) — https://github.com/chartjs/Chart.js — admin-side expense and price charts (public/js/vendor/chart.umd.min.js). Upstream ships this file minified; the human-readable source is dist/chart.js in the same npm package, and the original source is in the repository above.
  • qrcode-generator 2.0.4 (MIT License) — https://github.com/kazuhikoarase/qrcode-generator — renders the staff-app login QR code locally in the browser (public/js/vendor/qrcode-generator.js); no external request is made. Unminified upstream source.

Privacy Policy

  • Data sent to the web service: corporation ID and corporation name, the clinic’s contact email, JAN/in-store codes looked up, order details (JAN code, product name, quantity, unit price) for orders placed with a linked seller, and the full text of any material feedback the user chooses to post.
  • Data sent only when the optional monthly report is enabled: per material/category, the JAN code and the aggregated monthly price statistics (average/minimum/maximum unit price), quantity and order count, plus the business type (clinic or laboratory) and the prefecture. The sender identity is anonymous by default.
  • Data NOT sent: patient information, clinical information, or personal health information. The optional monthly report never sends raw order records.
  • All data is managed under the privacy policy at https://healthbanks.org/dzm/privacy (terms of use: https://healthbanks.org/dzm/terms).
Gratuitsur les plans payants
En procédant à l’installation, vous acceptez les Conditions d’utilisation de WordPress.com ainsi que les Conditions de l’extension tierce.
Testé jusqu’à version
WordPress 7.0.1
Cette extension est disponible en téléchargement pour votre site .