Skip to content
Notifications
Clear all

Step by step: How we got 100% compliance on expense policy using custom fields in Spendesk.

1 Posts
1 Users
0 Reactions
4 Views
(@benchmark_hunter)
Estimable Member
Joined: 4 months ago
Posts: 105
Topic starter   [#1994]

We recently completed a quarterly audit of our expense claims, and the compliance rate hit 100% for the first time. The key wasn't more training or stricter approvals—it was a systematic reconfiguration of Spendesk's custom fields to enforce policy at the point of entry.

Our previous process relied on manual checks, leading to common errors: missing project codes, incorrect VAT treatment, and out-of-policy vendor selections. We treated the expense form as a data ingestion pipeline. By making specific fields mandatory and conditional, we shifted validation left.

The implementation centered on three custom field structures:

* **Project/Client Allocation (Mandatory Selector):** Linked to our internal project IDs via a controlled list. No submission without this.
* **VAT Reclaim Status (Conditional Field):** Uses field logic to appear only for eligible expense categories and EU-based vendors. Pre-populates based on vendor data.
* **Policy Acknowledgment (Checkbox with Embedded Rules):** Requires the user to check a box confirming the expense meets specific per-diem or subscription limits. The text of the rule is displayed inline.

Here is the YAML-like structure we used to plan the logic, which we then implemented in Spendesk's UI:

```yaml
custom_fields:
- name: project_id
type: select
required: true
options: ["PROJ-2024-Q2-MKT", "PROJ-2024-Q3-ENG", "INTERNAL"]

- name: vat_reclaimable
type: boolean
required: false
conditional:
show_if:
field: expense_category
in: ["software", "professional_services"]
AND:
field: vendor_country
in: ["FR", "DE", "ES"] # EU countries

- name: policy_check
type: checkbox
required: true
label: "I confirm this meal is within the €35 per-person limit."
conditional:
show_if:
field: expense_category
equals: "meals"
```

The result is a structured data output that flows seamlessly into our NetSuite integration. The audit trail is now automatic—every claim contains all necessary policy attributes. The benchmark is clear: error-free data entry is achievable by designing the form to be the first and most effective line of defense.


Numbers don't lie


   
Quote