Catalina’s API for Dynamics SL can be used for many things. We can retrieve all types of data from SL. We can also save transactions to SL. In this demo I did for several folks, I am taking sensor data and pushing it through an advanced rules based engine to create Service Calls in Dynamics SL.
While this demo highlights Dynamics SL, we could just as easily use these same types of rules based development to integrate with other systems like CRM, helpdesk, field service, etc. We can monitor all types of things like temperature, barometric pressure, vibrations (helpful if you an HVAC company and need to monitor your customer’s properties for problems), humidity, ambient light, flooding, and more.
Catalina’s SLQuickCollect is a way to send a request for payment to your customer as an email with a link to click to pay. Your customer simply clicks on it and pays (no need for a portal login or anything). The payment works through a PCI compliant payment processor and is automatically integrated back into Dynamic SL’s AR.
There are many ways to create SLQuickCollect links. One of which is calling a stored procedure by passing a few parameters.
The stored procedure is called: xct_spSLPaddInvoicePaymentRequest
The parameters to this proc is:
@batNbr: The batch number of the invoice you want to send
@refNbr: The invoice number you want to send
@CustID: The customer who the link is going to be going to
@paymentEmailList: A delimited list of email addresses the link will be sent to
@siteID: (optional) For which configuration site to use (defaults to ‘SLPAY’)
@setupID: (optional) The PayFabric setupID you are to send. If not passed, the default will be used from SLQuickCollect’s configuration
@deviceID: (optional) The PayFabric deviceID you are to send. If not passed, the default will be used from SLQuickCollect’s configuration
You can call this stored procedure from most anything. You could call it from a trigger when an invoice is created. You can call it from a SL screen. Or even another application all together (like maybe excel that has a list of invoices to send)
Here is an example of how I added a button on the Invoice and Memo screen to send a SLQuickCollect link for a particular invoice.
Below, you can see where I created a button “Send SLQuickLink” that will take the current invoice on the screen and send a payment request link to the customer.
Below is the code behind the click event of the button. This will look at the current batNbr, refNbr (invoice number), custID, and get the email tied to the customer to send the link to that customer’s email.
Private Sub bPayLink_Click()
Dim SQLStr As String
Dim Csr_temp As Integer
Dim sCustID As String
Dim recfound As Integer
Dim maintflg As Integer
sCustID = GetObjectValue("ccustid")
SQLStr = "Customer_All " + SParm(sCustID)
serr = SqlFetch1(Csr_temp, SQLStr, bCustomer, LenB(bCustomer))
Dim lsSQL As String
Dim liCursor As Integer
lsSQL = "xct_spSLPaddInvoicePaymentRequest" & SParm(ThisScreen.cbatnbr.Text) & SParm(ThisScreen.crefnbr.Text) & SParm(ThisScreen.ccustid.Text) & SParm(bCustomer.EMailAddr) & SParm("SLPAY")
Call sql(liCursor, lsSQL)
Call SqlFree(liCursor)
MsgBox ("SLQuickLink Sent to CustID " + ThisScreen.ccustid.Text + " for invoice " + ThisScreen.crefnbr.Text)
End Sub
Many of Catalina Technology’s stored procedures accept a field called @parms that is an XML field for configurable parameters to be passed. An example of this is below.
You can see that there is a parameter getting passed called “@parms”. In that is a XML string that contains one or more parameter. In this case, there is a single parameter called “ADDRID” and it is getting passed the value of “C%” so that it can return all addresses that start with a “C”
COVID-19 has made sending out invoices and getting paid has become a challenge. Catalina’s Account Central is a customer portal, for Dynamics SL, that allows customers to review statements, pay invoices or against their account, and manage their customer account in SL. All payments are through a PCI compliant payment processor. And all transactions are completely integrated with Dynamics SL
Because of COVID-19, sending out invoices and getting paid has become a challenge. Catalina’s SLQuickCollect allows you to get paid quicker by lowering the barrier of entry for customers to pay. We can simply send out a request for payment link to the customer via email. All they have to do is click on the link and make a payment through a PCI Compliant payment page (no Payment Portal login required.)
There are several ways that you can send out a link:
Add a button to most any screen in SL
Invoice and Memo: Send a link to pay the invoice
Sales Order Management Screen: Most likely to do a payment entry to collect a down payment
Shipper Screen
Any other screen that you might want to request payment
Automatically send links out when invoices are generated in SL
Add a button on Catalina’s Account Central or Order Central products
Catalina’s evergrowing list of API’s for Dynamics SL increases your capabilities to integrate other systems and apps to SL quickly and easily with modern API technology.
Earlier today, I was asked if I could come up with a query that would allow you to bring back line items for a sales order. But create a numbering scheme for the line items that re-start for each new order number. So, example:
You can see below, that ORD1234 has 3 items, indexed 1,2,3. and ORD5555 has 2 line items indexed 1,2
OrdNbr
InvtID
LineIndex
ORD1234
IN82344
1
ORD1234
IN82341
2
ORD1234
IN82344
3
ORD5555
IN089723
1
ORD5555
IN0123998
2
I accomplished this by using the DENSE_RANK().
Here is sample code:
[code language=”sql”]
SELECT DENSE_RANK() OVER (PARTITION BY OrdNbr ORDER BY OrdNbr, LineRef) * 10 AS LineIndex
, OrdNbr
, LineRef
, InvtID
, QtyOrd
FROM SOLine
ORDER BY OrdNbr, LineIndex
[/code]
What I wanted to do in this was to show the order number, lineRef, invtID, and qtyOrd. But I wanted to show the LineIndex in increments of 10 that restarted for every time the OrdNbr changed. I have one of the orders that have multiple line items circled below.
Catalina’s SMS Central allows you to easily dispatch your field techs, salespeople, and others straight from your Dynamics SL without any special mobile apps. All using SMS messaging. Nothing to deploy, works on any phone, and easy to maintain.
Your people in the field can send updates as replies that will get automatically updated in your back office. They can even send pictures, GPS coordinates, and other attachments which will automatically be attached to the service call, quote, invoice, timecard, or any other screen in Dynamics SL.
1. Create a service call, quote, invoice, or any other type of record in Dynamics SL. SMS Central will send an SMS message to the appropriate person in the field.
2. Your person in the field receives the message and can respond. Those responses will automatically update Dynamics SL.
3. The field person can also take pictures, GPS coordinates, or other mobile files and attach them to the service call, quote, invoice, or other screen in Dynamics SL using just an SMS message.
4. That photo, or other attachment, automatically attaches to the appropriate record in Dynamics SL
5. All attachments and SMS communication are also stored in a web portal, allowing your field people to review history without needing any special app. Any browser on any type of device will work!