Rillet Modern ERP for invoices, contracts, revenue, and the general ledger
Connect to Rillet for accounting and ERP automation -- customers, invoices, contracts, usage records, bills, credit memos, journal entries, and the general ledger. Rillet is a modern, AI-native ERP built for finance teams.
The Rillet block currently surfaces only the Send Email action in the Studio dropdown. The additional operations below are available through the rillet.<operation> dispatch layer (used by programmatic and API-defined workflows) but are not yet exposed as Studio dropdown options. Field tables reflect the executor requirements, not a Studio form.
Rillet account
Rillet API key (RILLET_API_KEY) or apiKey passed in step config
Optional RILLET_BASE_URL (defaults to the Rillet sandbox)
Rillet uses direct HTTP with an API key (not Nango). Set the RILLET_API_KEY environment variable or pass apiKey in the step config. POST requests automatically include an idempotency key.
Operations are invoked as rillet.<operation>. List operations are paginated (cursor-based).
Operation Description listCustomersList customers (paginated) getCustomerGet a customer by customerId createCustomerCreate a customer updateCustomerUpdate a customer by customerId setupCustomerAutoPaymentConfigure auto-payment for a customer getCustomerPaymentMethodGet a customer's payment method
{
"type" : "action" ,
"action" : "rillet.createCustomer" ,
"config" : {
"name" : "{{input.companyName}}" ,
"email" : "{{input.email}}"
}
}
Operation Description listInvoicesList invoices (paginated) getInvoiceGet an invoice by invoiceId createInvoiceCreate an invoice addInvoiceTaxAdd tax to an invoice updateInvoiceSentStatusUpdate an invoice's sent status
{
"type" : "action" ,
"action" : "rillet.createInvoice" ,
"config" : {
"customerId" : "{{input.customerId}}" ,
"lineItems" : [
{ "description" : "Subscription" , "quantity" : 1 , "unitAmount" : "{{input.amount}}" }
]
}
}
Operation Description listInvoicePaymentsList invoice payments (paginated) createInvoicePaymentRecord an invoice payment
Operation Description listProductsList products (paginated) getProductGet a product by productId createProductCreate a product
Operation Description listContractsList contracts (paginated) getContractGet a contract by contractId createContractCreate a contract amendContractAmend a contract endContractEnd a contract
Operation Description upsertContractItemUsageUpsert usage records for a contract item listContractItemUsageRecordsList usage records for a contract item deleteContractItemUsageRecordDelete a usage record
{
"type" : "action" ,
"action" : "rillet.upsertContractItemUsage" ,
"config" : {
"contractItemId" : "{{input.contractItemId}}" ,
"usageRecords" : [
{ "date" : "{{input.date}}" , "quantity" : "{{input.units}}" }
]
}
}
Operation Description listBillsList bills (paginated) getBillGet a bill by billId createBillCreate a bill uploadBillDocumentUpload a document to a bill
Operation Description listCreditMemosList credit memos (paginated) getCreditMemoGet a credit memo by creditMemoId createCreditMemoCreate a credit memo addCreditMemoTaxAdd tax to a credit memo
Operation Description listVendorsList vendors (paginated) getVendorGet a vendor by vendorId createVendorCreate a vendor
Operation Description listJournalEntriesList journal entries (paginated) getJournalEntryGet a journal entry createJournalEntryCreate a journal entry listAccountsList the chart of accounts listBankAccounts / getBankAccountBank accounts listCharges / getChargeCharges listReimbursements / getReimbursementReimbursements listSubsidiaries / getSubsidiarySubsidiaries
Operation Description listFields / createField / updateFieldManage custom fields getApiKeyInfoGet info about the current API key healthCheckCheck API connectivity
Create a Rillet invoice when a Stripe invoice is paid:
{
"name" : "Sync Invoice to Rillet" ,
"trigger" : {
"type" : "webhook" ,
"provider" : "stripe" ,
"events" : [ "invoice.paid" ]
},
"steps" : [
{
"id" : "create-rillet-invoice" ,
"type" : "action" ,
"action" : "rillet.createInvoice" ,
"config" : {
"customerId" : "{{input.data.object.customer}}" ,
"currency" : "{{input.data.object.currency}}" ,
"lineItems" : [
{
"description" : "Subscription" ,
"quantity" : 1 ,
"unitAmount" : "{{input.data.object.amount_paid | divided_by: 100}}"
}
]
}
}
]
}
Error Cause Solution Rillet API key not foundNo API key Set RILLET_API_KEY or pass apiKey in step config customerId is requiredMissing required ID Provide the required ID field for the operation Rillet API error (4xx)Bad request/auth Check the API key, base URL, and request payload