diff --git a/packages/lib/server-only/template/create-document-from-template.ts b/packages/lib/server-only/template/create-document-from-template.ts index 470e909e5..cde04b1c0 100644 --- a/packages/lib/server-only/template/create-document-from-template.ts +++ b/packages/lib/server-only/template/create-document-from-template.ts @@ -256,10 +256,20 @@ export const createDocumentFromTemplate = async ({ }, }); + const recipientMapping = new Map(); + + template.recipients.forEach((templateRecipient, index) => { + const documentRecipient = document.recipients[index]; + if (documentRecipient) { + recipientMapping.set(templateRecipient.id, documentRecipient.id); + } + }); + let fieldsToCreate: Omit[] = []; - Object.values(finalRecipients).forEach(({ email, fields }) => { - const recipient = document.recipients.find((recipient) => recipient.email === email); + finalRecipients.forEach(({ templateRecipientId, fields }) => { + const documentRecipientId = recipientMapping.get(templateRecipientId); + const recipient = document.recipients.find((r) => r.id === documentRecipientId); if (!recipient) { throw new Error('Recipient not found.');