Appearance
Purpose
The Mappings page is where you configure how Givebutter campaigns and Square (type and locations) map to LGL funds and campaigns. No code deploy is needed for mapping changes; they are stored in the database and used on the next sync.
What You Can Configure
Givebutter
- Type defaults – Default LGL fund (and optionally campaign, gift type, payment type) per Givebutter transaction type (e.g. donation, ticket, peer_to_peer).
- Campaign overrides – For a specific Givebutter campaign (by ID or name), override the type default and set a specific LGL fund. Campaign list is cached from Givebutter; use refresh to update.
Square
- Square type default – Default LGL fund (and optionally campaign) for all Square orders when no location override applies.
- Location overrides – Map each Square location (by location_id) to an LGL fund. Used when you have multiple Square locations and want different funds per location.
UI Overview
- Tabs or sections for Givebutter vs Square (or type defaults vs overrides).
- Dropdowns for LGL fund (and campaign, gift type, payment type where supported). Data comes from LGL API; refresh from Settings if needed.
- Add / Edit / Delete for campaign overrides and location overrides.
- Refresh – Reload Givebutter campaign list from API so new campaigns appear in the override dropdown.
API
- GET /api/mappings/types – Type defaults (Givebutter and Square).
- PATCH /api/mappings/types/:type – Update type default for a given type.
- GET /api/mappings/overrides – Campaign overrides (Givebutter) and possibly Square overrides.
- POST /api/mappings/overrides – Create or update override (body includes source, campaign_id or location_id, fund_id, etc.).
- DELETE /api/mappings/overrides/:id – Delete an override by ID.
- GET /api/square/location-overrides, PUT /api/square/location-overrides – Square location overrides specifically.
Access requires admin or super_admin.
LGL Reference Data
Fund and campaign dropdowns use data from LGL. If you add a new fund in LGL, run Settings → Refresh LGL reference data (or equivalent) so it appears in Mappings.

