Stripe Integration Overview

Get an overview of the Stripe integration in Maica.

What does the Stripe Integration in Maica support?

In Maica, there are two main processes that the Stripe Integration supports, these are:

  1. Manual Sync via Process Invoice Quick Action

  2. Automated Sync via Salesforce Flow

To learn about the Manual Sync Process, click here.

This article further explains and provides an overview of the Automated Sync via Salesforce Flow in Maica.

Automated Process Invoice Overview

The below diagram outlines the steps involved in the automated Stripe sync, as well as the outcomes of the process.

Condition Description
  1. Conditions Met

In order for the Processing Sync to be triggered, the Invoice must satisfy a specific set of conditions, these being:

  • maica__Payment_Balance__c > 0

  • maica__Total_Amount__c > 0

  • maica__Status__c = Entered

  • maica__Stripe_Invoice_ID__c = NULL

  • (maica__Funding_Structure__c = Self Managed OR maica__Is_Copayment_Invoice__c = TRUE)

  • maica__Authorise_Stripe_Auto_Billing__c = TRUE

  • Stripe_Customer_ID__c != NULL

These conditions are further explained below.

  1. Sync Executed

Once the above conditions are met, the Sync will be executed. This essentially means the Sync will be active 24/7 and triggered to run at any time the conditions are met. A Sync can also be manually executed if required, click here to learn how to manually Process an Invoice. The Flow responsible for this Automation in Maica is the Maica - Create Stripe Invoice Flow. To learn more about this flow, click here.

  1. Create Invoice

Once the Sync is executed, an Invoice and associated Payment record are created in Stripe. Maica maps relevant information directly to Stripe including Invoice information such as the Participant and the Date, as well as the detail from the related Invoice Line Item records, such as Product, Quantity and Rate.

  1. Process Invoice

Immediately after the Invoice record is created in Stripe, it will be automatically processed using the default Payment Method associated with Customer (the Participant from the Invoice in Maica).

  1. Create Payment

Once the Payment has been successfully processed, the corresponding Payment Record will be created in Maica. This record represents the Payment that has been used to process the associated Invoice. This record can be found in the Payments related list on the Invoice in Maica. This Payment record will be automatically populated with fields such as Source, Type, Stripe Invoice ID, Stripe Payment ID and Payment Amount. Any error messages and descriptions from Stripe will also show on the Payment Record.

You can learn more about the Payment Record fields below.

  1. Update Invoice

For traceability, the Invoice is updated with relevant Stripe information, including:

  • Stripe Dashboard Link

  • Stripe Invoice ID

  • Stripe Invoice Link

These fields will assist you in locating the Payment/Invoice in Stripe.

The creation of the Payment record also triggers a number of Rollup Summary fields on the parent Invoice, specifically:

  • maica__Total_Payment_Amount__c

  • maica__Last_Payment_Date__c

  • The maica__Payment_Amount__c Formula will also be updated

The Invoice Status will also be updated.

  1. Process Ends

The process completes.

Automated Process Invoice Sync Conditions

The following table further outlines the required conditions for the Sync to commence.

ConditionDescription

maica__Payment_Balance__c > 0

The invoice must have an outstanding balance that is greater than zero. This means there's an amount that still needs to be paid.

maica__Total_Amount__c > 0

The total amount for the invoice must be greater than zero. This ensures that only invoices with actual charges are processed.

maica__Status__c = Entered

The invoice status must be marked as Entered.

maica__Stripe_Invoice_ID__c = NULL

This condition checks that the invoice has not already been processed through Stripe. If the invoice has a Stripe ID, it means it has already been synced.

(maica__Funding_Structure__c = Self Managed OR maica__Is_Copayment_Invoice__c = TRUE)

The invoice is either for a self-managed participant or it is marked as a co-payment invoice, meaning the participant is responsible for a portion of the payment.

maica__Authorise_Stripe_Auto_Billing__c = TRUE

The participant or your organisation has authorised automatic billing through Stripe by checking the Authorise Stripe Auto Billing on your Participants Service Agreement.

Stripe_Customer_ID__c != NULL

The participant must have a valid Stripe Customer ID and hence Payment Method, indicating they are set up for payment processing through Stripe.

Payment Record Fields

As mentioned, after a Payment has been applied to an Invoice a Payment Record will be created. It includes a number of important fields, including:

FieldDescription

Type

This field indicates the type of Payment Record, whether it is a transaction processed via Stripe or a Reconciliation following a Payment applied to an invoice in the Finance System (Xero).

Source

This field indicates how the Payment was created.

Paid

This field indicates if the Payment has been successfully processed. For example, the Invoice has been reconciled in Xero and synchronised with Maica.

Include

This field indicates if the Payment Amount should be included in the rollup to the Total Payment Amount on the Invoice record. The default value is checked.

Payment Date

This field indicates the Date & Time in which Payment was received

Finance External ID

The unique identifier of the Payment record in an external system. Maica uses this field as part of the Xero integration.

Payment Amount

The amount of the received Payment. This can be the full or a partial amount of the total Invoice.

Stripe Payment ID

The ID of the corresponding Payment record in Stripe.

Stripe Invoice ID

The ID of the corresponding Invoice record in Stripe.

Error Code

The Error Code returned by Stripe

Error Message

The Error Message returned by Stripe

Last updated