## TL;DR
The source changed its export format and the sync mapping broke. Diff the new export headers against the expected schema, update renamed or removed fields in the mapping, test on one record, and re-run.

```text
license usage sync failed: schema mismatch
```

## Use this when
- A sync fails with a schema or field error.
- The sync worked until a vendor update.
- The error names a specific field.

## Not for this skill when
- The sync fails on auth. Fix credentials.
- The sync fails on network. Fix connectivity.
- The data is wrong but the sync succeeds. That is a mapping logic problem.

## Steps
1. Capture the failing sync's error and note the field it names. Verify: you have the specific complaint.
2. Diff the source export headers against the mapping's expected schema. Verify: you see exactly what changed.
3. Update renamed or removed fields in the mapping. Verify: every expected field resolves.
4. Run a dry run or single-record test. Verify: the test record syncs cleanly.
5. Re-enable the sync. Verify: a full cycle completes.

## Variant phrasings
### sync schema error
The short phrasing.
### field mapping failed
The cause-first search.
### ETL schema mismatch
The generic phrasing.

Compatibility: Any license usage sync with a field mapping, ETL or integration-platform based.

## Why it happens
SaaS vendors rename export columns without notice. Rigid mappings break on the rename while the data itself is fine, so the fix is mapping maintenance, not data repair.

## Edge cases / pitfalls
- Vendors adding columns is harmless; renaming is breaking. Diff for renames specifically.
- Type changes, string to number, breaking downstream logic even when names match.
- The vendor reverting the change later; keep the mapping history so you can revert too.
- Multiple sources with different schemas feeding one sync; version the mapping per source.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_s45-jMm7jp_gJ5Gum2290A
