Receipt validity check (documentary evidence)

Verifies genuine receipt validity by distinguishing file presence from pre-signed URL availability. Crucial for documentary compliance audits.

โ†“ Download skill (.md)
80/100ยท๐Ÿ“… WeeklyยทIntermediateControllerAP Manager
ComplianceReconciliationget_payable_by_id

๐ŸŽฏ Skill purpose

Verifies genuine receipt validity by distinguishing file presence from pre-signed URL availability. Crucial for documentary compliance audits.

๐Ÿ“Š What it produces

Receipt compliance report: count of invoices with and without valid attachments.

โšก Benefit

Before

Impossible to distinguish genuine attachments from corrupted or missing metadata.

After

Precise receipt compliance report, ready for audit or statutory auditor.



# Instructions โ€” Validity of receipts (documentary evidence)

## โš ๏ธ Critical distinction

| Filter | What it means | What it does NOT mean |
|--------|-------------------|--------------------------|
| `documentaryEvidenceStatus=provided` | A file is attached | That the document is valid or compliant |
| `documentaryEvidenceStatus=providedAndDpr` | File attached + DPR processing | That the document is valid |
| `documentaryEvidenceStatus=missing` | No file attached | |
| `documentaryEvidenceStatus=declaredAsInvalid` | Marked invalid by the user | |

**For actual validity**: read `documentaryEvidence.validity.valid` (boolean) and `documentaryEvidence.compliances` on each payable.

## Use case 1 โ€” Identify expenses without a receipt

Call `get_payables` with:
```json
{ "field": "documentaryEvidenceStatus", "operator": "=", "value": ["missing", "declaredAsInvalid"] }
```

โ†’ All expenses requiring receipt follow-up.

## Use case 2 โ€” Check compliance of attached receipts

Step 1: Retrieve payables with an attached receipt
```json
{ "field": "documentaryEvidenceStatus", "operator": "=", "value": ["provided", "providedAndDpr"] }
```

Step 2: For each payable, inspect:
```
documentaryEvidence.validity.valid       โ†’ true/false
documentaryEvidence.compliances          โ†’ absent, {} or { spainEreceipt: ... } (country-specific compliance)
documentaryEvidence.type                 โ†’ "invoice" | "creditNote" | ...
documentaryEvidence.invoiceNumber        โ†’ present if invoice
```

Step 3: Flag cases where `validity.valid=false` and quote `validity.reason` when present. For Spain, also flag a `compliances.spainEreceipt.closure.error`.

## Full structure of the documentaryEvidence field

```json
{
  "validity": {
    "valid": true/false
  },
  "compliances": {
    // country-specific compliance information, e.g. spainEreceipt (optional field, often absent or empty)
  },
  "type": "invoice" | "declarationOfMissingInvoice" | "mileageEntry" | "perDiemEntry" | "creditNote" | "declarationOfMissingCreditNote",
  "invoiceNumber": "XXXX",              // if type=invoice
  "creditNoteNumber": "XXXX",           // if type=creditNote
  "referenceInvoiceNumber": "XXXX"      // if credit note with a reference
}
```

## Use case 3 โ€” Full receipt audit

For a full audit, combine both searches (and also query `cannotBeProvided`, `hasDpr` and `hasDprError`, the three other statuses the filter accepts):

1. No receipt: `status=["missing","declaredAsInvalid"]`
2. With a potentially invalid receipt: `status=["provided","providedAndDpr"]` + filter on `validity.valid=false` client-side

Display:
- % of payables with a valid receipt
- List of problematic cases (no receipt + invalid receipt)
- Priority on high amounts

## Note on the demo account

On the Spendesk demo account, all `provided` receipts have `validity.valid=true` and `compliances={}`. `compliances` carries country-specific compliance information (currently `spainEreceipt` for the Spanish e-receipt), not validation errors. The reason for invalidity, when there is one, is in `validity.reason` (present only when `validity.valid=false`).

## Example prompts

- "Which expenses have no receipt?" โ†’ filter status=missing
- "Are there any receipts attached but non-compliant?" โ†’ provided + validity.valid=false
- "Audit missing receipts before closing" โ†’ missing + declaredAsInvalid

How to install this skill

/
  1. 1
    Download the file s12-documentary-evidence-validite.md using the button above.
  2. 2
    Place the file in the .claude/ directory of your project (or ~/.claude/ for a global install).
    cp s12-documentary-evidence-validite.md .claude/s12-documentary-evidence-validite.md
  3. 3
    Use in Claude Code โ€” the skill is automatically discovered. Describe your need in natural language and Claude will apply the skill instructions.
๐Ÿ’ก Make sure the Spendesk MCP is configured in your .claude/settings.json with the tools get_payable_by_id.

Similar skills

โ˜… Top
95/100ยท๐Ÿ” Ad hocยทExpert

Audit what the MCP covers

Probes all available MCP tools, re-evaluates coverage of 50 persona use cases, detects new fields or tools, and regenerates the gap analysis report.

CFOControllerAP Manager
90/100ยท๐Ÿ“… WeeklyยทBeginner

Card requests via get_requests

Explains how to use get_requests for card requests and why expense reimbursements don't appear there. Avoids a frequent source of confusion between two distinct workflows.

ControllerFinance Analyst
90/100ยท๐Ÿ” Ad hocยทIntermediate

Active vs archived cost centers

Distinguishes active cost centers from archived ones with correct use of get_cost_centers. Avoids the counter-intuitive isArchived vs isActive naming convention pitfall.

ControllerFinance Analyst

Interested in AI Agent services or Custom Integrations?