For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
API StatusPartner Portal
HomeGuidesAPI ExplorerSDKsGitHubSupport
HomeGuidesAPI ExplorerSDKsGitHubSupport
  • Monite SDK
    • Overview
  • Drop-in
    • Drop-in overview
    • Drop-in theming
    • Drop-in localization
    • Iframe App
  • React SDK
    • Overview
    • SDK customization
    • SDK localization
    • SDK theming
    • SDK releases
    • v4 migration guide
LogoLogo
API StatusPartner Portal
On this page
  • Overview
  • Components settings
  • general
  • approvalPolicies
  • approvalRequests
  • counterparts
  • payables
  • products
  • receivables
  • tags
  • userRoles
  • onboarding
  • financing
React SDK

SDK customization

Learn how to customize the components on the Monite React SDK.
Was this page helpful?
Previous

SDK localization

Learn how to rename and localize UI labels in Monite React SDK.
Next
Built with

Overview

The Monite components use the default settings by default. However, there are scenarios where you can to customize this settings to match the needs of your business.

Below, see a component settings object, with its parameters and default values. This object must be inserted into the <MoniteProvider> component:

1const componentSettings = {
2 general: {},
3 approvalPolicies: {
4 pageSizeOptions: [20, 50, 100]
5 },
6 approvalRequests: {
7 pageSizeOptions: [20, 50, 100]
8 },
9 counterparts: {
10 pageSizeOptions: [20, 50, 100],
11 customerTypes: ["customer", "vendor"]
12 },
13 payables: {
14 pageSizeOptions: [20, 50, 100],
15 isShowingSummaryCards: true,
16 fieldOrder: ["document_id", "counterpart_id", "created_at", "due_date", "status", "amount", "amount_paid", "pay"],
17 summaryCardFilters: {
18 "Overdue Invoices": {
19 status__in: ["waiting_to_be_paid"],
20 overdue: true
21 },
22 "High-Value Invoices": {
23 amount__gte: 10000
24 }
25 },
26 requiredColumns: ["document_id"],
27 optionalFields: {
28 invoiceDate: true,
29 tags: true
30 },
31 ocrRequiredFields: {
32 currency: true,
33 invoiceDate: true,
34 counterpart: true,
35 invoiceNumber: true,
36 counterpartBankAccount: true,
37 document_issued_at_date: true,
38 dueDate: true,
39 tags: true,
40 counterpartName: true,
41 contactPerson: true,
42 issueDate: true,
43 amount: true,
44 appliedPolicy: true,
45 addedByUser: true,
46 addedOn: true,
47 updatedOn: true
48 },
49 ocrMismatchFields: {
50 amount_to_pay: true,
51 counterpart_bank_account_id: true
52 },
53 isTagsDisabled: false
54 },
55 products: {
56 pageSizeOptions: [20, 50, 100]
57 },
58 receivables: {
59 pageSizeOptions: [20, 50, 100],
60 tab: 0,
61 tabs: [
62 {
63 label: "Invoices",
64 query: { type: "invoice" },
65 filters: ["document_id__contains", "counterpart_id", "due_date__lte"]
66 },
67 {
68 label: "Quotes",
69 query: { type: "quote" }
70 },
71 {
72 label: "Credit notes",
73 query: { type: "credit_note" }
74 },
75 {
76 label: "Financing",
77 query: { type: "financing" }
78 }
79 ],
80 onCreate: (receivableId) => {},
81 onUpdate: (receivableId, invoice) => {},
82 onDelete: (receivableId) => {},
83 onInvoiceSent: (invoiceId) => {},
84 enableEntityBankAccount: false,
85 bankAccountCountries: ["US", "DE", "GB"],
86 bankAccountCurrencies: ["USD", "EUR", "GBP"]
87 },
88 tags: {
89 pageSizeOptions: [20, 50, 100]
90 },
91 userRoles: {
92 pageSizeOptions: [20, 50, 100]
93 },
94 onboarding: {
95 footerLogoUrl: "https://example.com/logo.png",
96 footerWebsiteUrl: "https://example.com",
97 hideFooter: false,
98 showContinueButton: false,
99 allowedCurrencies: ["USD", "EUR", "GBP"],
100 allowedCountries: ["US", "DE", "GB"],
101 onComplete: () => {},
102 onContinue: () => {},
103 onWorkingCapitalOnboardingComplete: (entityId) => {}
104 },
105 financing: {
106 enableFinanceWidgetButton: true
107 }
108};

Components settings

This table lists all configurable SDK components with their properties, descriptions, and default values. Use it as a reference to customize the SDK for your needs.

general

PropertyDescriptionDefault
No properties definedEmpty configuration object{}

approvalPolicies

PropertyDescriptionDefault
pageSizeOptionsTable results per page options[20, 50, 100]

approvalRequests

PropertyDescriptionDefault
pageSizeOptionsTable results per page options[20, 50, 100]

counterparts

PropertyDescriptionDefault
pageSizeOptionsTable results per page options[20, 50, 100]
customerTypesCustomer types supported in counterpart forms["customer", "vendor"]

payables

PropertyDescriptionDefault
enableGLCodesEnables GL code field in payable creation and editing.false
fieldOrderTable columns order["amount", "amount_paid", "counterpart_id", "created_at", "document_id", "due_date", "pay", "status"]
isShowingSummaryCardsShow/hide summary cards on table viewtrue
isTagsDisabledEnable/disable tags functionalityfalse
ocrMismatchFieldsFields to check for OCR mismatches{ amount_to_pay: true, counterpart_bank_account_id: true }
ocrRequiredFieldsRequired fields for OCR processingObject with multiple fields set to true (currency, invoiceDate, counterpart, etc.)
optionalFieldsOptional fields configuration{ invoiceDate: true, tags: true }
pageSizeOptionsTable results per page options[20, 50, 100]
requiredColumnsRequired columns in the table["document_id"]
summaryCardFiltersPredefined filters for summary cardsObject with "Overdue Invoices" and "High-Value Invoices" filters

products

PropertyDescriptionDefault
pageSizeOptionsTable results per page options[20, 50, 100]

receivables

PropertyDescriptionDefault
pageSizeOptionsTable results per page options[20, 50, 100]
tabIndex of default open tab0
tabsTabs displayed in the invoicing table. Note: the Financing tab might not show if the entity is in an unsupported countryArray with Invoices, Quotes, Credit notes, and Financing tabs
onCreateCallback function when receivable is created(receivableId) => {}
onUpdateCallback function when receivable is updated(receivableId, invoice) => {}
onDeleteCallback function when receivable is deleted(receivableId) => {}
onInvoiceSentCallback function when invoice is sent(invoiceId) => {}
enableEntityBankAccountEnable entity bank account featurefalse
bankAccountCountriesSupported countries for bank accounts["US", "DE", "GB"]
bankAccountCurrenciesSupported currencies for bank accounts["USD", "EUR", "GBP"]

tags

PropertyDescriptionDefault
pageSizeOptionsTable results per page options[20, 50, 100]

userRoles

PropertyDescriptionDefault
pageSizeOptionsTable results per page options[20, 50, 100]

onboarding

PropertyDescriptionDefault
footerLogoUrlURL for footer logo"https://example.com/logo.png"
footerWebsiteUrlURL for footer website link"https://example.com"
hideFooterShow/hide footerfalse
showContinueButtonShow/hide continue buttonfalse
allowedCurrenciesCurrencies allowed during onboarding["USD", "EUR", "GBP"]
allowedCountriesCountries allowed during onboarding["US", "DE", "GB"]
onCompleteCallback function when onboarding completes() => {}
onContinueCallback function when continue is clicked() => {}
onWorkingCapitalOnboardingCompleteCallback when working capital onboarding completes(entityId) => {}

financing

PropertyDescriptionDefault
enableFinanceWidgetButtonEnable/disable finance widget buttontrue