Skip to main content

Finance pack

Finance reference pack, invoices, ledger balances, idempotent payments and reconciliation, on fictitious data with a simulated ERP.

Reference​

FieldValue
Namefinance
Version1.0.0
LicenceMIT
TypeReference pack
formatpack
domainfinance
Categoryfinance
namespaceenterprise-ai-packs
publisherEnterprise AI reference packs
ownerenterprise-ai-packs
compatibility.platform>=1.0.0 <2.0.0
compatibility.sdk>=1.0.0 <2.0.0
compatibility.runtimesnavin
dependenciesNone
Sourcepacks/finance/plugin.yaml
Documentationpacks/finance/docs/en/README.md, packs/finance/docs/fr/README.md

Capabilities​

KindName
toolfinance-invoice-lookup
toolfinance-ledger-balance
toolfinance-payment-initiate
toolfinance-reconcile
connectorfinance-erp
policyfinance

Requested permissions​

The administrator grants a subset at install time; only the granted scopes are enforced.

ScopeSensitiveClassificationReason
finance.invoices.readNoconfidentialRead supplier invoices and their status.
finance.ledger.readNoconfidentialRead ledger account balances.
finance.payments.writeYesrestrictedInitiate the payment of an approved invoice, exactly once.
finance.reconciliation.readNoconfidentialMatch bank statement lines with payments and invoices.

Data protection​

FieldValue
classification_maxrestricted
piifalse
residencyeu-west-1
retention_days90
dlpmask
fictitious_datatrue
piiDetectionRequiredtrue
maskingPolicymask
externalExportDefaultdeny

Approvals​

Required for: install, upgrade, sensitivePermissions, production, externalExport, resume.

GateQuorumRoles
install1tenant_admin, security_officer
sensitive2tenant_admin, security_officer
production2tenant_admin, security_officer

Security and test flags​

FieldValue
security.signedArtifactRequiredtrue
security.sandboxRequiredtrue
security.dynamicAuthorizationtrue
security.auditRequiredtrue
testFlags.sdkConformancetrue
testFlags.authorizationtrue
testFlags.securitytrue

Configuration​

Properties of spec.configSchema, set by the administrator at install time:

NameTypeConstraints
model_idstring{"minLength": 3}
mcp_serversobject{"additionalProperties": {"additionalProperties": false, "properties": {"url": {"pattern": "^https?://", "type": "string"}}, "required": ["url"], "type": "object"}}

Components​

KindNameVersionDescriptionDetailsPath
Agentfinance-assistant1.0.0Answers on invoices and ledger balances, initiates approved payments exactly once, runs the reconciliation.risk_level: limited, autonomy.level: supervised, tools tool:finance-invoice-lookup, tool:finance-ledger-balance, tool:finance-payment-initiate, tool:finance-reconcilepacks/finance/agents/finance-assistant.yaml
Subagentfinance-controller1.0.0Reviews a proposed payment against the invoice and the reconciliation before the human approval.risk_level: minimal, autonomy.level: assisted, tools tool:finance-invoice-lookup, tool:finance-reconcilepacks/finance/subagents/finance-controller.yaml
Promptfinance-close-report-Month end close report from the reconciliation result.variables period, matched, unmatched, languagepacks/finance/prompts/finance-close-report.yaml
Promptfinance-invoice-answer-Answer of the finance assistant on an invoice.variables invoice_id, supplier, status, open_amount, currency, languagepacks/finance/prompts/finance-invoice-answer.yaml
MCP serverfinance-mcp-MCP server of the Finance pack (official MCP Python SDK, MIT licence).transport: streamable_http, tools finance_invoice_lookup, finance_ledger_balance, finance_payment_initiate, finance_reconcilepacks/finance/mcp/servers/finance-mcp.yaml
MCP toolfinance-invoice-lookup1.0.0Fictitious supplier invoice, status and open amount, without bank details.action: read, scopes finance.invoices.read, risk_level: limited, requires_approval: falsepacks/finance/mcp/tools/finance-invoice-lookup.yaml
MCP toolfinance-ledger-balance1.0.0Balance of a fictitious ledger account.action: read, scopes finance.ledger.read, risk_level: limited, requires_approval: falsepacks/finance/mcp/tools/finance-ledger-balance.yaml
MCP toolfinance-payment-initiate1.0.0Pay an approved fictitious invoice exactly once, idempotent per key, after a human approval.action: payment, scopes finance.payments.write, risk_level: high, requires_approval: truepacks/finance/mcp/tools/finance-payment-initiate.yaml
MCP toolfinance-reconcile1.0.0Match the fictitious bank statement with payments and invoices.action: read, scopes finance.reconciliation.read, risk_level: limited, requires_approval: falsepacks/finance/mcp/tools/finance-reconcile.yaml
Connectorfinance-erp1.0.0ERP connector of the Finance pack. Simulated on fictitious invoices until the tenant configures it.system: erp, auth.type: service_account, scopes finance.invoices.read, finance.ledger.read, finance.payments.write, finance.reconciliation.readpacks/finance/connectors/finance-erp.yaml
Workflowfinance-invoice-payment-Payment of an approved invoice with a controller review and a four eyes approval.steps invoice, review, approval, pay, reconcile, on_failure: stoppacks/finance/workflows/finance-invoice-payment.yaml
Knowledge basefinance-knowledge-Knowledge base of the Finance pack (fictitious accounts payable procedure).classification: internalpacks/finance/rag/config.yaml
Skillfinance-month-end-close1.0.0Month end close checklist covering balances, open invoices and the reconciliation.scopes finance.ledger.read, finance.reconciliation.read, data_classification_max: confidentialpacks/finance/skills/finance-month-end-close/SKILL.md
Skillfinance-payment-controls1.0.0Controls applied before and while initiating a supplier payment.scopes finance.payments.write, data_classification_max: restrictedpacks/finance/skills/finance-payment-controls/SKILL.md

Evaluations and tests​

NameTypePathThreshold
finance-answerspromptfooevaluations/promptfoo.yaml1.0
finance-retrievalragasevaluations/ragas.jsonl0.8
KindPath
unittests/unit
integrationtests/integration
authztests/authz
securitytests/security
opapolicies/opa

Files​

KindPath
Rulespacks/finance/rules/finance-rules.md
Policiespacks/finance/policies/opa/finance.rego, packs/finance/policies/opa/finance_test.rego, packs/finance/policies/openfga/model.fga, packs/finance/policies/openfga/tests.fga.yaml
Observabilitypacks/finance/observability/alerts/finance.yaml
Knowledge base documentspacks/finance/rag/documents/payables-procedure.md

Install it​

Validate, build, sign and publish the pack, then install it from the Marketplace: the preflight checks the capabilities and the configuration before the installation.

enterprise-ai plugin validate packs/finance
enterprise-ai plugin build packs/finance --out /tmp/finance-dist
COSIGN_PASSWORD=... enterprise-ai plugin sign packs/finance --out /tmp/finance-dist --key cosign.key --signer <publisher>
enterprise-ai plugin publish packs/finance --out /tmp/finance-dist --key cosign.key \
--oci <registry>/packs/finance:1.0.0

cosign.key: signing key of your organization. <publisher>: publisher name registered in the Marketplace. <registry>: OCI registry of the Marketplace. Then call POST /v1/marketplace/preflight and POST /v1/marketplace/installations, see the Marketplace guide.