When someone makes a pledge, they may use a different contribution page to fullfil that pledge.
I see an API question about assigning an existing contribution to a pledge here: Connecting existing contribution to pledge.
Is it necessary to create an extension to assign an existing contribution to fulfill a pledge? Perhaps this is a feature request to add an "assign to pledge" section on the contribution edit form.