dsh-ap-three-way

workflowtested: passnpmApache-2.0

Accounts-payable three-way match: import invoices, purchase orders and goods receipts, apply the tolerance policy and export the exception workpaper — 4 `ap.*` tools.

下载量 / Downloads
2,229
依赖体积 / node_modules
7.7 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-ap-three-way

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

<div align="center">

dsh-ap-three-way

Official repository. The only official repository of this package, maintained by PerryLink. Same-name repositories under other accounts are not affiliated. Apache-2.0.

![npm](https://www.npmjs.com/package/dsh-ap-three-way)

![CI](https://github.com/PerryLink/dsh-ap-three-way/actions)

![License](LICENSE)

![dsh-plugin](https://github.com/topics/dsh-plugin)

![docs](https://perrylink.github.io/dsh-plugins/)

![Gitee](https://gitee.com/perrylink/dsh-plugins)

![dshfind](https://dshfind.com/plugins/PerryLink/dsh-ap-three-way?ref=badge)

![DSH Market](https://dsh.market/)

![Node](#)

![npm downloads](https://www.npmjs.com/package/dsh-ap-three-way)

AP invoice/PO/GRN three-way match with tolerance policy and exception workpaper.

Status: alpha / public-synthetic / partial / not counted / not GA. No customer evidence, customer data, or production-readiness claim.

[English](README.md) · [简体中文](README-zh.md) · [Español](README-es.md) · [Português](README-pt.md) · [हिन्दी](README-hi.md)

dsh plugin --profile <profile> add dsh-ap-three-way

</div>

⭐ If this helps, a star makes it easier for the next person to find it. Nothing is gated behind it.

Workflow: local input → plugin → local output. No model call is required.

Real local test run; no model or network call.

Install

Install and verify:

dsh plugin --profile <profile> add dsh-ap-three-way
dsh --profile <profile> --dump-config | grep dsh-ap-three-way

Uninstall:

dsh plugin --profile <profile> remove dsh-ap-three-way

Install channels

npm is the recommended channel; the others are for pinning or offline use.

  • npm (recommended): dsh plugin --profile <profile> add dsh-ap-three-way
  • git channel: dsh plugin --profile <profile> add github:PerryLink/dsh-ap-three-way
  • tarball: pnpm pack then dsh plugin --profile <profile> add ./dsh-ap-three-way-<version>.tgz
  • 1024 store: npm i -g dsh1024 then dsh1024 plugin --profile <profile> add dsh-ap-three-way

What it does

AP invoice/PO/GRN three-way match with tolerance policy and exception workpaper. Runs locally on DeepSeek Harness. The table below is the exact tool surface; the examples use the real command surface.

Input and output stay local; nothing is uploaded.

Tools

Tool names and descriptions are kept in English to match the runtime output.

Tool · Purpose · Risk

ap.import · Import invoice, PO and GRN rows · R1 local write

ap.import_invoice_xml · Import an invoice XML fixture · R1 local write

ap.match · Three-way match with a 1% default price tolerance and quantity checks · R0

ap.export · Export Matches/Exceptions xlsx · R1 local write

Quick start

dsh plugin --profile <profile> add dsh-ap-three-way
dsh --profile <profile> --dump-config | grep dsh-ap-three-way

Examples

Fixture-backed example

Input: fixtures/public/mit/invoice-github-sample.xml

Command: pnpm test

Acceptance row:

req_id · metric · threshold · actual · pass · source · counted

SKU-05-A01 · 发票行解析 · 20/20 · 20 · true · public/synthetic · false

This is a fixture-backed acceptance row, not a customer run; no output is invented.

Limits

  • Public/synthetic only; no customer data or customer evidence.
  • Alpha/partial, not counted, no GA or production-readiness claim.
  • No model or network call unless a tool explicitly says so.
  • The exact per-tool boundaries are in the table and ACCEPTANCE.csv.

Public sample

Public/synthetic fixtures live in fixtures/; ACCEPTANCE.csv records the public checks with counted=false.

Development

pnpm install --frozen-lockfile
pnpm build && pnpm lint && pnpm typecheck && pnpm test

Compatibility

Surface · Status

Harness · dsh >=0.2.1-rc.3 <0.3.0

Node · >=24.9.0 <25

Platforms · All; local files only

Data · No network, no model call, no upload

Permissions & data

  • Runs locally; no network, no model call, no upload.
  • Public/synthetic fixtures only; no customer data, no customer evidence.
  • Alpha/partial; not counted, no GA or production-readiness claim.

Related work

Sibling packages and family indexes: dsh-einvoice · dsh-bankrec · dsh-travel-recon · dsh-finops-suite

Related checkers

Each entry is a separate package with its own rule pack and version; install only the ones you need.

Package · Why it is relevant

dsh-invoice-ledger · Invoice-side duplicate and arithmetic checks before or after the three-way match.

dsh-excel-reconcile · Fallback two-table alignment when PO/GRN data arrives as flat files.

  • [Troubleshooting](TROUBLE

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::13,最后更新 2026-11-04

Links

GitHub · Homepage · npm

Same category