💸Generate Invoice

Generate and send invoice to task creator

Input parameters

  • TaskID

How to call from app

HTTP request to: /generate-invoice/TASKID

Logic (Plan)

  1. Get all the user data for the assigned person and the task owner.

  2. Save the pdf file in the to the storage (Under: "invoices/TaskId")

  3. Get the URL from the the storage and add it to the task document (InvoiceUrl="")

Implemented Logic

  1. get task, developer & owner data

  2. add invoiceSend: true to the task data

  3. create invoice with this details (using invoice-generator.com format so it will be easier if decided to use their service later)

    const invoice = {
        from: `${developerData.firstName} ${developerData.lastName}
        \n${developerStreetAddress}${developerLocation} 
        ${developerPostalCode}`,
        to: `${ownerData.firstName} ${ownerData.lastName}`,
        currency: "eur",
        number: `${taskId}`,
        items: [
          {
            name: `Task #${taskId}`,
            quantity: 1,
            unit_cost: updatedTaskData.price,
          },
        ],
        fields: {
          tax: "%",
        },
        tax: 0,
        projectId: projectDoc.id,
        projectName: projectData.projectName,
        taskId: taskId,
        taskName: updatedTaskData.taskName,
        status: "open",
        updatedAt: updatedTaskData.updatedAt,
        developerEmail: updatedTaskData.assignToEmail,
        taskCreator: updatedTaskData.taskCreator,
      };
  4. save invoice to "invoices/TaskId"

Last updated