Quote to Invocie conversion help!

When converting quotes to invoices, I need to know how to duplicate the line items in the transaction items table, and then assign the new transaction row id to each new duplicated line item… What is the shortest and most efficient was inside of glide for this?

LOOM: Loom | Free Screen & Video Recording Software | Loom

@Darren_Murphy you are so fast man! You are the best! @david if you pay him he needs a raise!

yeah, but the audio quality on your Loom is so bad I can’t make out a word you are saying :upside_down_face:

1 Like

Sorry…https://www.loom.com/share/8727d0e6b7254decb67bcb16430a40ab

The kind and gentle Darren, and many of us here, are not paid to help people everyday, but I don’t think we can live without the experience of going to the forum to do it daily. It’s kind of a routine for me now, I think it’s fulfilling to help people out and learn more about the platform in the process.

6 Likes

So if I understand you right:

  • You have a transactions table
  • You have a transaction items table, that is linked to the transactions table by an ID
  • When you click convert, what I want to ask is if you’re creating a new row for that invoice, where does that row being inserted to?
  • Is there a reason the new invoice can not be connected to the same transaction item rows?
1 Like

It cannot be connected bc we need to keep a record of the quotes separately and even more importantly, the line items may change a bit on the invoice through further iterations as the work is being carried out and we need the original quote to just stay the same.

Off the top of my head, you can:

  • Create a JSON template for the transaction items table, using the “Make JSON object” column, containing all the info you need, e.g:
{
"Transaction Name": "ABC",
"Transaction Date": "20 Jun, 2023",
"Transaction Amount": "$1,000"
}
  • In the Transactions table, through the relation to the Transaction Items table, create a joined list column of the JSON column above, delimited by a comma and a space, e.g:
 {
"Transaction Name": "ABC",
"Transaction Date": "20 Jun, 2023",
"Transaction Amount": "$1,000"
},
{
"Transaction Name": "DEF",
"Transaction Date": "20 Jun, 2023",
"Transaction Amount": "$2,000"
}
  • Create a template column to add the square brackets around the joined list value above.

[
{J}
]

with {J} being the result of the joined list column, so you’ll get:

[
{
"Transaction Name": "ABC",
"Transaction Date": "20 Jun, 2023",
"Transaction Amount": "$1,000"
},
{
"Transaction Name": "DEF",
"Transaction Date": "20 Jun, 2023",
"Transaction Amount": "$2,000"
}
]

Pass that through a webhook to Make, alongside the info you need to create the invoice.

In Make, it should look like this:

  • Webhook (getting info from Glide).
  • HTTP module to create the new invoice line, using the Glide API. Make sure you choose “Parse response” to get the rowID back.
  • JSON (parse JSON), pointing to the JSON string you passed through Glide. This will return an array of transaction item rows to be added.
  • HTTP module to iterate through the array and add new transaction items row to the invoice, adding the rowID of the invoice you got through step 2.

There is a way to batch the calls instead of doing it iteratively, but it’s a lot to digest already so I suggest you trying the above first.

1 Like

This is way to much work for a no code approach. Glide @david needs a lookup or search function like aritable does in the actions panel, furthermore we need to be able to pull records or data in from anything that we looked up from a search within an action. Like in an action if we search four different records in one action set we need to be able to pull whatever data we can from those records. This would be solved if so.

I appreciate your hard work explaining though!

1 Like