
Configuring Vindi as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Vindi option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need your Vindi API Token for this connection. You can find it in your Vindi account settings (more instructions here). Once you have it, add the account access and click Next.2. Select streams
Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix and make this process faster!
-
Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can determine when to execute a full sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. Once you are ready, click Next to finalize the setup.5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.For you to be able to see it on your Catalog, you need at least one successful source run.
Streams and Fields
Below you’ll find all available data streams from Vindi and their corresponding fields:Account Charges
Account Charges
Stream for managing account charges.
id: Account charge IDamount: Charge amountstatus: Charge statusdue_at: Due datepaid_at: Paid atinstallments: Number of installmentsattempt_count: Number of payment attemptsnext_attempt: Next attemptprint_url: Print URLcreated_at: Charge creation timestampupdated_at: Charge last update timestamplast_transaction: Last transaction infopayment_method: Payment method infobill: Bill infocustomer: Customer info
Account Periods
Account Periods
Stream for managing account periods.
id: The account period’s system IDbilling_at: Billing date for the account periodcycle: Current cycle numberstart_at: Account period start dateend_at: Account period end dateduration: Duration of the account periodsubscription: Subscription associated with the account periodcreated_at: Account period creation timestampupdated_at: Account period last update timestamp
Bills
Bills
Stream for managing bills and their details.
id: Bill IDcode: Bill codeamount: Bill amountinstallments: Number of installmentsstatus: Bill statusseen_at: Datetime when bill was seenbilling_at: Billing datedue_at: Due dateurl: Bill URLcreated_at: Bill creation timestampupdated_at: Bill last update timestampbill_items: List of bill itemscharges: List of chargesbill_affiliates: List of bill affiliatescustomer: Customer infoperiod: Period infosubscription: Subscription infometadata: Custom metadata for the billpayment_profile: Payment profile infopayment_condition: Payment condition info
Customers
Customers
Stream for managing customer information.
id: The customer’s system IDname: The customer’s nameemail: The customer’s email addressregistry_code: The customer’s registry codecode: The customer’s codenotes: Notes about the customerstatus: The customer’s status (e.g., active)created_at: Customer creation timestampupdated_at: Customer last update timestampmetadata: Custom metadata for the customeraddress: Customer addressphones: List of customer phone numbers
Export Batches
Export Batches
Stream for managing export batches.
id: Export batch IDstatus: Status of the export batchurl: URL to download the export batchcreated_at: Timestamp when the export batch was createdupdated_at: Timestamp when the export batch was last updatedpayment_method: Payment method associated with the export batch
Import Batches
Import Batches
Stream for managing import batches.
id: Import batch IDstatus: Status of the import batchbatch_file_name: Name of the batch filebatch_file_size: Size of the batch file in bytesbatch_fingerprint: Fingerprint of the batch fileurl: URL to download the import batchcreated_at: Timestamp when the import batch was createdupdated_at: Timestamp when the import batch was last updatedpayment_method: Payment method associated with the import batch
Invoices
Invoices
Stream for managing invoices.
id: Invoice system IDamount: Invoice amountstatus: Invoice statusintegration_invoice_id: Integration invoice IDintegration_reference: Integration referenceprint_url: URL to print the invoicedescription: Invoice descriptionsettings: Invoice settings (object/hash)issued_at: Invoice issued ataccrued_on: Invoice accrued onscheduled_at: Invoice scheduled atcreated_at: Invoice creation timestampupdated_at: Invoice last update timestampbill: Bill associated with the invoicecustomer: Customer associated with the invoice
Merchant Users
Merchant Users
Stream for managing merchant users.
id: Merchant User IDstatus: Status of the merchant userlast_sign_in_at: Timestamp of the last sign inuser: User detailsrole: Role details
Messages
Messages
Stream for managing messages.
id: Message system IDnotification_type: Type of notificationseen_at: Timestamp when the message was seencreated_at: Timestamp when the message was createddelivered_at: Timestamp when the message was deliveredcustomer: Customer associated with the messagecharge: Charge associated with the messagenotification: Notification details
Notifications
Notifications
Stream for managing notifications.
id: Notification IDstatus: Status of the notificationnotification_type: Type of the notificationname: Name of the notificationsubject: Subject of the notificationcontent: Content of the notificationtrigger_type: Type of trigger for the notificationtrigger_day: Day of the trigger for the notificationbcc: BCC email addresses for the notificationcreated_at: Timestamp when the notification was createdupdated_at: Timestamp when the notification was last updated
Payment Methods
Payment Methods
Stream for managing payment methods.
id: The payment method’s system IDpublic_name: The public name of the payment methodname: The internal name of the payment methodcode: The code of the payment methodtype: The type of the payment methodstatus: The status of the payment methodsettings: Settings for the payment methodset_subscription_on_success: Behavior for setting subscription on successallow_as_alternative: Whether this payment method is allowed as an alternativepayment_companies: List of payment companies associated with this payment methodmaximum_attempts: Maximum number of attempts for this payment methodcreated_at: Payment method creation timestampupdated_at: Payment method last update timestamp
Payment Profiles
Payment Profiles
Stream for managing customer payment profiles.
id: Payment profile IDstatus: Payment profile statusholder_name: Holder nameregistry_code: Registry codebank_branch: Bank branchbank_account: Bank accountcard_expiration: Card expirationallow_as_fallback: Allow as fallbackcard_number_first_six: Card number first sixcard_number_last_four: Card number last fourrenewed_card: Renewed card infocard_renewed_at: Card renewed attoken: Tokengateway_token: Gateway tokentype: Payment profile typecreated_at: Payment profile creation timestampupdated_at: Payment profile last update timestamppayment_company: Payment company infopayment_method: Payment method infocustomer: Customer info
Plans
Plans
Stream for managing subscription plans.
id: The plan’s system IDname: The plan’s nameinterval: The interval type (e.g., days, months)interval_count: The number of intervals between billingsbilling_trigger_type: The billing trigger typebilling_trigger_day: The day of the billing triggerbilling_cycles: The number of billing cyclescode: The plan’s codedescription: The plan’s descriptionstatus: The plan’s statusinstallments: The number of installmentsinvoice_split: Whether the invoice is splitinterval_name: The interval namecreated_at: Plan creation timestampupdated_at: Plan last update timestampplan_items: List of plan itemsmetadata: Custom metadata for the plan
Products
Products
Stream for managing products and their pricing.
id: The product’s system IDname: The product’s namecode: The product’s codeunit: The product’s unitstatus: The product’s statusdescription: The product’s descriptioninvoice: The invoice typecreated_at: Product creation timestampupdated_at: Product last update timestamppricing_schema: Product pricing schemametadata: Custom metadata for the product
Roles
Roles
Stream for managing user roles.
id: The role’s system IDname: The role’s namebase_role: The role’s base role in the system
Subscriptions
Subscriptions
Core stream for managing customer subscriptions.
id: The subscription’s system IDstatus: The subscription’s statusstart_at: Subscription start dateend_at: Subscription end datenext_billing_at: Next billing dateoverdue_since: Date since subscription is overduecode: The subscription’s codecancel_at: Scheduled cancellation dateinterval: Billing intervalinterval_count: Number of intervals per billing cyclebilling_trigger_type: Billing trigger typebilling_trigger_day: Billing trigger daybilling_cycles: Number of billing cyclesinstallments: Number of installmentscreated_at: Subscription creation timestampupdated_at: Subscription last update timestampcustomer: Customer associated with the subscriptionplan: Plan associated with the subscriptionproduct_items: List of product items in the subscriptionpayment_method: Payment method used for the subscriptioncurrent_period: Current billing period detailsmetadata: Custom metadata for the subscriptionpayment_profile: Payment profile detailsinvoice_split: Whether the invoice is splitsubscription_affiliates: List of subscription affiliates
Transactions
Transactions
Stream for tracking payment transactions.
id: Transaction IDtransaction_type: Type of transactionstatus: Transaction statusamount: Transaction amountinstallments: Number of installmentsgateway_message: Gateway messagegateway_response_code: Gateway response codegateway_authorization: Gateway authorizationgateway_transaction_id: Gateway transaction IDgateway_response_fields: Gateway response fieldsfallback_type: Fallback typefraud_detector_score: Fraud detector scorefraud_detector_status: Fraud detector statusfraud_detector_id: Fraud detector IDcreated_at: Transaction creation timestampupdated_at: Transaction last update timestampgateway: Gateway infopayment_profile: Payment profile infocharge: Charge infocustomer: Customer infopayment_method: Payment method info
Data Model
The following diagram illustrates the relationships between the core data streams in Vindi. The arrows indicate the join keys that link the different entities, providing a clear overview of the data structure.Use Cases for Data Analysis
This guide outlines some business intelligence use cases when consolidating Vindi data, along with ready-to-use SQL queries that you can run on Explorer.1. Monthly Recurring Revenue (MRR) and Churn Analysis
Track your MRR growth and identify churn patterns to improve customer retention. Business Value:- Monitor the health of your subscription business
- Identify drivers of churn and take corrective actions
- Forecast future revenue more accurately
SQL code
SQL code
2. Customer Lifetime Value (LTV) Analysis
Understand the total revenue generated by a customer over their entire lifecycle. Business Value:- Identify your most valuable customer segments
- Optimize marketing spend by focusing on high-LTV segments
- Improve customer retention strategies to maximize LTV
SQL code
SQL code
3. Payment Method Efficiency
Analyze the performance of different payment methods to reduce failures and improve revenue collection. Business Value:- Identify payment methods with high failure rates
- Optimize payment processing to increase successful transactions
- Reduce involuntary churn due to payment failures
SQL code
SQL code