# KeyError 'exchange_rate' when parsing Paddle Transaction webhook data (use Notifications entity)
## What was going on
Parsing transaction webhook data with Transaction.from_dict(data) threw KeyError: 'exchange_rate' because the exchange_rate key is missing from the TransactionPayoutTotalsAdjusted section of webhook payloads. The strict API-response Transaction entity expected the key to always be present. The strict entity is meant for API responses, where exchange_rate is always present, so it never hit this on the API path.
## The fix that worked
Use the notification-specific entity paddle_billing.Notifications.Entities.Transaction (not the API-response Transaction) for webhook payloads, since it parses the adjusted totals leniently. Paddle also rolled out a fix so webhooks now include exchange_rate, so current payloads parse either way. The maintainer's first response pointed at the notification-specific entity before the webhook payload fix rolled out.
## Where this came from
https://github.com/PaddleHQ/paddle-python-sdk/issues/160