Practical Use Cases
This section describes real implementation scenarios of Max Capital APIs, with concrete examples based on available endpoints.
π’ Companies: Accounting Automationβ
Business Problemβ
A corporate company invests in investment funds through its treasurer who operates directly with Max Capital. It needs:
- Automate daily download of current account movements
- Automatically record these movements in its ERP/accounting system
- Reconcile balances without manual intervention
- Generate automatic reports for auditing and management control
Solution with Max Capital APIsβ
Automate the download of current account movements using the Statements API for direct integration with the ERP.
Automation Flowβ
1. Automatic Download of Daily Movementsβ
# Query movements from the previous day (run daily at 8:00 AM)
GET /v1/current-account/instruments?number=12345678&dateFrom=2024-06-01&dateTo=2024-06-01&dateType=operation
# Response with movements for the ERP:
[{
"isPreviousBalance": false,
"currentAccountCode": 12345678,
"operationDate": "2024-06-01",
"settlementDate": "2024-06-01",
"detail": "SuscripciΓ³n FCI MAX RENTA FIJA - Orden 789456",
"isAvailable": true,
"instrumentDescription": "MAX RENTA FIJA CLASE A",
"amount": 1000000.00,
"net": 1000000.00,
"gross": 1000000.00,
"balance": 5500000.00,
"currencyCode": "ARS",
"instrumentTypeCode": "FCI"
}]
2. Query Movements by Periodβ
# For monthly reconciliation or specific reports
GET /v1/current-account/instruments?number=12345678&dateFrom=2024-06-01&dateTo=2024-06-30&dateType=settlement
3. ERP Integrationβ
// Service that runs daily at end of day
async function syncAccountMovements() {
const yesterday = getYesterday(); // 2024-06-01
// 1. Download movements from previous day
const movements = await maxAPI.get('/v1/current-account/instruments', {
params: {
number: company.accountNumber,
dateFrom: yesterday,
dateTo: yesterday,
dateType: 'operation'
}
});
// 2. Process each movement
movements.forEach(movement => {
// Determine journal entry type based on movement
let accountMapping = getAccountMapping(movement.instrumentTypeCode, movement.amount);
// Record in accounting system
erpSystem.createJournalEntry({
date: movement.settlementDate,
reference: movement.detail,
entries: [
{
account: accountMapping.debit,
debit: Math.abs(movement.net)
},
{
account: accountMapping.credit,
credit: Math.abs(movement.net)
}
],
externalRef: `MC-${movement.currentAccountCode}-${movement.operationDate}`
});
// Update reconciliation control
updateReconciliationControl(movement);
});
}
function getAccountMapping(instrumentType, amount) {
// Account mapping based on instrument type and debit/credit
const mappings = {
'FCI': {
debit: amount > 0 ? '1.1.3.001' : '1.1.1.001', // FCI Investments : Bank
credit: amount > 0 ? '1.1.1.001' : '1.1.3.001' // Bank : FCI Investments
},
'PLAZO_FIJO': {
debit: amount > 0 ? '1.1.2.001' : '1.1.1.001', // Term Deposits : Bank
credit: amount > 0 ? '1.1.1.001' : '1.1.2.001' // Bank : Term Deposits
}
};
return mappings[instrumentType] || mappings['FCI'];
}
βοΈ Report Automationβ
Monthly Report for Auditingβ
async function generateMonthlyReport(month, year) {
const startDate = `${year}-${month.toString().padStart(2, '0')}-01`;
const endDate = new Date(year, month, 0).toISOString().split('T')[0];
// Get all operations for the month
const operations = [];
for (let date = startDate; date <= endDate; date = nextDay(date)) {
const dailyOps = await Promise.all([
maxAPI.get('/v1/subscriptions', {
params: {
operationDate: date,
accountHolderNumber: company.accountNumber
}
}),
maxAPI.get('/v1/redemptions', {params: {operationDate: date, accountHolderNumber: company.accountNumber}})
]);
operations.push(...dailyOps.flat());
}
// Generate Excel report for auditing
const report = {
period: `${month}/${year}`,
totalSubscriptions: operations.filter(op => op.type === 'subscription').reduce((sum, op) => sum + op.amount, 0),
totalRedemptions: operations.filter(op => op.type === 'redemption').reduce((sum, op) => sum + op.amount, 0),
finalPosition: await getCurrentPosition(),
operations: operations
};
return generateExcelReport(report);
}
π Benefits Obtainedβ
- 100% automation of accounting registration
- 95% reduction in monthly reconciliation time
- Complete traceability for audits
- Daily valuation of investment portfolio
- Automatic reports ready for AFIP and auditing
π Implementation Checklistβ
- Map accounting accounts
- Develop ERP connectors
- Configure scheduled queries
- Implement report generation
- Establish reconciliation procedures
π³ PSP/Wallet: Balance Remunerationβ
Business Problemβ
A PSP or digital wallet has users with inactive balances that don't generate returns. It wants to offer automatic remuneration of these balances to:
- Increase user retention
- Generate commission income
- Compete with traditional banks
Solution with Max Capital APIsβ
Automate the investment of idle balances in high-liquidity money market funds using the Onboarding, Mutual Funds and Auth APIs.
Implementation Flowβ
1. User Onboardingβ
# Create onboarding process for wallet user
POST /v1/onboardings
{
"account": {
"people": [{
"type": "HUMAN",
"ownership_type": "OWNER",
"signature_type": "INDIVIDUAL",
"personal_info": {
"first_name": "MarΓa",
"last_name": "GonzΓ‘lez",
"document": {
"type": "DNI_AR",
"code": "35123456"
},
"email": "[email protected]",
"phone": "+5491156781234"
},
"tax_info": {
"document": {
"type": "CUIT_AR",
"code": "27351234567"
},
"economic_activity": "47"
}
}]
}
}
2. Query Available Fundsβ
# Get money market fund information
GET /v1/mutual-funds/3852
# Response: "MAX MONEY MARKET Class A" fund with T+0 liquidity
3. Automate Subscriptionsβ
# When balance exceeds $10,000, invest automatically
POST /v1/subscriptions
{
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 25000,
"cvu": "0000003100059118503787"
}
4. Automatic Redemptionsβ
# When user needs liquidity, redeem automatically
POST /v1/redemptions
{
"mutualFundCafciCode": 3852,
"accountHolderNumber": 11772,
"amount": 5000,
"redeemAll": false,
"assetsDestination": "ECHEQ_ORDER"
}
βοΈ Benefits Obtainedβ
- +3.5% annual return for users vs 0% in current account
- +25% retention of users with remunerated balances
- 0.8% annual commission on managed assets as new income source
π Complete flow example: PSP with Automationβ
A PSP that combines both use cases: remunerates end-user balances AND automates its own accounting.
π Success Metricsβ
- Implementation time: 8-12 weeks vs 12+ months own development
- Operational cost: 60% reduction in manual tasks
- Compliance: 100% regulatory compliance from day 1
- Revenue: New revenue line through asset management
π Implementation Checklistβ
- Get development credentials
- Implement onboarding flow
- Configure automatic subscription logic
- Develop on-demand redemption functionality
- Integrate return notifications
Is your use case similar? Contact our integration team for a personalized technical consultation: [email protected]