Financial

The Financial resources allow you to interact with the payment conciliation and financial data of your stores.

The following table describes the different Financial API resources:

ResourceDescription
GET paymentsReturns a list of payments filtered by store and by payment period with merchant information and details of each payment.
GET ordersReturns a list of orders by payment or by store and a payment period.
GET order_adjusmentsReturns a list of order adjustments by payment or by store and a payment period.
GET charged_cancellationsReturns a list of cancellations (orders) and its details by payment or by store and a payment period.
GET store_adjustmentsReturns a list of store adjustments by payment or by store and a payment period.
GET loansReturns a list of loans installments by payment or by store and a payment period.
GET debtsReturns information of outstanding debts from past periods by payment or by store and a payment period.
GET extrasReturns a list of extra charges (fees, discounts, others) by payment or by store and a payment period.
GET taxesReturns a list of taxes by payment or by store and a payment period.
GET compensationsReturns a list of compensations and its details by payment or by store and a payment period.
GET cancellationsReturns a list of cancellations (orders) by store and a payment period.
GET agreementsReturns information about the contract conditions that underlie the charged amounts for each concept within a payment.

Authentication for Financial API

To access the Financial API endpoints, you must first obtain a Finance access token using your credentials.

POST Finance Login

Use this endpoint to generate an access token for the Financial API.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/auth/v1/token/login/finance

{COUNTRY_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

request bodyjson
response bodyjson

Parameters

This endpoint does not permit additional parameters.

Sample Request

This is an example of an API request using this endpoint:

POST https://api.dev.rappi.com/restaurants/auth/v1/token/login/finance

This is an example of the request:

{ "client_id": "{{your_client_id}}", "client_secret": "{{your_client_secret}}" }

This table describes the attributes that the JSON of your request requires:

AttributesRequirementDescription
client_idstringrequiredClient ID of your Finance API credentials.
client_secretstringrequiredClient Secret of your Finance API credentials.

URL url = new URL("https://api.dev.rappi.com/restaurants/auth/v1/token/login/finance"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setDoOutput(true); final String jsonInputString = "{\n" + " \"client_id\":\"{{your_client_id}}\",\n" + " \"client_secret\":\"{{your_client_secret}}\"\n" + "}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response body: " + response.toString()); } System.out.println("Response Code : " + connection.getResponseCode());



Status Codes

These are the possible status codes of the response for this endpoint:

Sample Response

This is an example of the response:

{ "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpeyJhbGciOiJIUzI1NiIsInR5cCI6IkpeyJhbGciOiJIUzI1NiIsInR5cCI6Ikp", "token_type": "Bearer", "expires_in": 86400 }

This table describes the objects contained in the response example:

Response ObjectObject Description
access_tokenstringAccess token to access Financial API endpoints.
token_typestringToken type.
expires_inintegerToken expiration time in seconds.

Using the Finance Token

Include the Finance token in the x-authorization header of all Financial API requests:

KeyValue
x-authorizationBearer: <access_token>

Payment Conciliation

GET payments (V2)

The payments endpoint returns information about the "ids" that the partner has in a given month. These "ids" are the identifiers that group a set of accounting entries that make up the partner's transfer and should be used in the requests of other endpoints to understand which set of data impacted a specific transfer.

The total value will be the sum of the values from all APIs, whether positive or negative. We can have multiple transfers to the partner on the same day, depending on various factors during billing.

If the partner has made a credit advance with a financial entity and has granted the Rappi credit portfolio as collateral, these payments may be affected by the contract effect (credit registration). This API will only show the residual payment destined for the Rappi partner merchant if it exists, as the establishment may commit part or all of its portfolio.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/payments

Response Fields

FieldTypeDescription
idintegerUnique payment identifier
statusstringPayment status
period_date_startdatetimePayment period start date
period_date_enddatetimePayment period end date
expected_execution_datedatetimeExpected payment execution date
confirmed_payment_datedatetimeConfirmed payment date
total_amountnumberTotal payment amount
payment_referencestringPayment reference
frequecy_typestringPayment frequency type
frequecy_type_descripcionstringFrequency type description
balance_request_idstringBalance request ID
bank_accountobjectBank account information
bank_account.bank_namestringBank name
bank_account.account_numberstringAccount number
bank_account.bank_codestringBank code
bank_account.account_typestringAccount type
bank_account.ispbstringISPB code (Brazil)
bank_account.document.identification_typestringIdentification document type
bank_account.document.identification_numberstringDocument number
bank_account.document.holder_namestringAccount holder name
consolidated_storesarrayList of stores consolidated in the payment

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "id": 1000, "status": "string", "period_date_start": "2023-11-07T22:02:47.009Z", "period_date_end": "2023-11-07T22:02:47.009Z", "expected_execution_date": "2023-11-07T22:02:47.009Z", "confirmed_payment_date": "2023-11-07T22:02:47.009Z", "total_amount": 0, "payment_reference": "string", "frequecy_type": "string", "frequecy_type_descripcion": "string", "balance_request_id": "string", "bank_account": { "bank_name": "string", "account_number": "string", "bank_code": "string", "account_type": "string", "ispb": "string", "document": { "identification_type": "string", "identification_number": "string", "holder_name": "string" } }, "consolidated_stores": [1000] } ] }

GET orders (V2)

Each sale has individual characteristics that, together with the conditions agreed in the contract, Rappi uses to bill and compose the amount to be paid or charged to the merchant. The orders endpoint contains details about orders such as the unique order identifier, taxes, sales discounts, and commissions. These are all orders that have gone through the Rappi app, regardless of the payment method used by the consumer.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/orders

Response Fields

FieldTypeDescription
idintegerUnique order identifier
payment_idintegerAssociated payment ID
order_datedatetimeOrder date
store_idintegerStore ID
store_namestringStore name
store_typestringStore type
order_statusstringOrder status
payment_methodstringPayment method used
is_primestringIndicates if the order is from a Prime user
itemsarrayList of order products
items[].namestringProduct name
items[].unitsstringNumber of units
amountnumberOrder amount
billing.total_ordernumberOrder total
billing.comission_productnumberProduct commission
billing.cofinsnumberCOFINS tax (Brazil)
billing.pisnumberPIS tax (Brazil)
billing.issnumberISS tax (Brazil)
billing.income_taxnumberIncome tax
billing.compensationnumberApplied compensation
billing.discount_by_marketplace_in_cashnumberMarketplace discount in cash
billing.total_order_whimnumberWhim order total
billing.free_shippingnumberFree shipping applied
billing.other_discountsnumberOther discounts
billing.meal_vouchernumberMeal voucher
billing.marketplace_fee_no_cashnumberMarketplace fee (non-cash)
billing.global_offer_couponnumberGlobal offer coupon
billing.paid_by_usernumberAmount paid by user
billing.commission_whimnumberWhim commission
billing.rappi_credits_cash_backnumberRappi credits cashback
billing.service_feenumberService fee
billing.shipping_partner_no_limitnumberPartner shipping without limit
billing.shipping_partner_limitnumberPartner shipping with limit
billing.marketplace_chargenumberMarketplace charge

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "id": 0, "payment_id": 0, "order_date": "2023-11-07T23:01:44.394Z", "store_id": 0, "store_name": "string", "store_type": "string", "order_status": "string", "payment_method": "string", "is_prime": "string", "items": [ { "name": "string", "units": "string" } ], "amount": 0, "billing": { "total_order": 0, "comission_product": 0, "cofins": 0, "pis": 0, "iss": 0, "income_tax": 0, "compensation": 0, "discount_by_marketplace_in_cash": 0, "total_order_whim": 0, "free_shipping": 0, "other_discounts": 0, "meal_voucher": 0, "marketplace_fee_no_cash": 0, "global_offer_coupon": 0, "paid_by_user": 0, "commission_whim": 0, "rappi_credits_cash_back": 0, "service_fee": 0, "shipping_partner_no_limit": 0, "shipping_partner_limit": 0, "marketplace_charge": 0 } } ] }

GET order_adjusments (V2)

Sales adjustments are financial credit or debit discounts that serve various purposes, always related to an order (order_id). Examples include the cancellation of an item after the order has been delivered (completed), the charge of a pending balance, disputes accepted by Rappi, among other options.

Each manual adjustment deducted from the payment contains a description in the descriptionAdjustment field to better understand the reason for this movement.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/order_adjusments

Response Fields

Same fields as GET orders (V2) plus:

FieldTypeDescription
descriptionAdjustmentstringDescription of the adjustment applied to the order

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "id": 0, "payment_id": 0, "order_date": "2023-11-07T23:03:55.722Z", "store_id": 0, "store_name": "string", "store_type": "string", "order_status": "string", "payment_method": "string", "is_prime": "string", "items": [ { "name": "string", "units": "string" } ], "amount": 0, "billing": { "total_order": 0, "comission_product": 0, "cofins": 0, "pis": 0, "iss": 0, "income_tax": 0, "compensation": 0, "discount_by_marketplace_in_cash": 0, "total_order_whim": 0, "free_shipping": 0, "other_discounts": 0, "meal_voucher": 0, "marketplace_fee_no_cash": 0, "global_offer_coupon": 0, "paid_by_user": 0, "commission_whim": 0, "rappi_credits_cash_back": 0, "service_fee": 0, "shipping_partner_no_limit": 0, "shipping_partner_limit": 0, "marketplace_charge": 0 }, "descriptionAdjustment": "string" } ] }

GET charged_cancellations (V2)

The charged_cancellations endpoint returns information about the amount that Rappi has deducted from the partner, when the order cancellation is Rappi's responsibility. For example, a cancellation caused by a problem with the independent delivery person. If the partner uses Rappi's delivery logistics and during the trip a problem occurs and the order does not reach its destination, it is understood that the partner has fulfilled their duty to prepare and send the order. In this case, Rappi makes a credit to the partner, deducting the corresponding expenses defined in the contract terms.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/charged_cancellations

Response Fields

Same fields as GET orders (V2) plus:

FieldTypeDescription
cancellatioPercentagestringCancellation percentage charged
descriptionCancellationstringCancellation description
cancellation_codestringCancellation code
cancellation_descriptionstringCancellation code description

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "id": 0, "payment_id": 0, "order_date": "2023-11-07T23:09:48.153Z", "store_id": 0, "store_name": "string", "store_type": "string", "order_status": "string", "payment_method": "string", "is_prime": "string", "items": [ { "name": "string", "units": "string" } ], "amount": 0, "billing": { "total_order": 0, "comission_product": 0, "cofins": 0, "pis": 0, "iss": 0, "income_tax": 0, "compensation": 0, "discount_by_marketplace_in_cash": 0, "total_order_whim": 0, "free_shipping": 0, "other_discounts": 0, "meal_voucher": 0, "marketplace_fee_no_cash": 0, "global_offer_coupon": 0, "paid_by_user": 0, "commission_whim": 0, "rappi_credits_cash_back": 0, "service_fee": 0, "shipping_partner_no_limit": 0, "shipping_partner_limit": 0, "marketplace_charge": 0 }, "cancellatioPercentage": "string", "descriptionCancellation": "string", "cancellation_code": "string", "cancellation_description": "string" } ] }

GET store_adjustments (V2)

Store adjustments are financial credit or debit discounts that serve various purposes, always related to a store (store_id). Examples include financial corrections for errors in calculating a payment or financial item, among other options.

Each manual adjustment deducted from the payment contains a description in the description_reason field to better understand the reason for this movement.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/store_adjustments

Response Fields

FieldTypeDescription
idintegerUnique adjustment identifier
descriptionstringAdjustment description
amountnumberAdjustment amount
created_atdateCreation date
payment_idintegerAssociated payment ID
store_idintegerStore ID
description_reasonstringAdjustment reason

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "id": 0, "description": "string", "amount": 0, "created_at": "2023-11-07", "payment_id": 0, "store_id": 0, "description_reason": "string" } ] }

GET loans (V2)

The loans endpoint delivers information about the deductions made by Rappi on the value of a payment due to the collection of a loan installment, and also general information about the related loan. Loans can be of different types and the endpoint only delivers the information of the installment charged in a specific payment.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/loans

Response Fields

FieldTypeDescription
idintegerUnique loan identifier
description_typestringLoan type
balancenumberOutstanding balance
frequencyintegerCollection frequency
created_atdateCreation date
currencystringCurrency
disbursement_datedateDisbursement date
disbursement_amountnumberDisbursed amount
deadlinedatePayment deadline
reasonstringLoan reason
storesarrayStores associated with the loan
typestringType
installment_amountnumberInstallment amount
installment_percentagenumberInstallment percentage
lastCollection_datedateLast collection date
amortizationstringAmortization type
installments.installment_amountnumberEach installment amount
installments.installment_created_atdateInstallment creation date
installments.store_idintegerInstallment store ID
installments.payment_idintegerInstallment payment ID

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "id": 0, "description_type": "string", "balance": 0, "frequency": 0, "created_at": "2023-11-07", "currency": "string", "disbursement_date": "2023-11-07", "disbursement_amount": 0, "deadline": "2023-11-07", "reason": "string", "stores": ["string"], "type": "string", "installment_amount": 0, "installment_percentage": 0, "lastCollection_date": "2023-11-07", "amortization": "string", "installments": { "installment_amount": 0, "installment_created_at": "2023-11-07", "store_id": 0, "payment_id": 0 } } ] }

GET debts (V2)

The debts endpoint delivers information about the deductions made by Rappi on the value of a payment due to an outstanding debt that originated in a previous payment whose balance was negative, since the sales do not cover the related deductions.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/debts

Response Fields

FieldTypeDescription
idintegerUnique debt identifier
descriptionstringDebt description
payment_debtnumberDebt amount
payment_paidnumberAmount paid on debt
store_idstringStore ID
amountnumberTotal amount
created_atdateCreation date

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "id": 0, "description": "string", "payment_debt": 0, "payment_paid": 0, "store_id": "string", "amount": 0, "created_at": "2023-11-07" } ] }

GET extras (V2)

These are detailed records of transactions/operations, linked to the partner, that have a date, value, and nature of operation, that directly and/or indirectly impact the partner's financial calculation. Contains the information of values deducted for different concepts related to marketing operations such as Ads and discounts.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/extras

Response Fields

FieldTypeDescription
idintegerUnique extra charge identifier
reasonstringCharge reason
descriptionstringCharge description
amountnumberCharge amount
store_idintegerStore ID
payment_idintegerAssociated payment ID
created_atdateCreation date

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "id": 0, "reason": "string", "description": "string", "amount": 0, "store_id": 0, "payment_id": 0, "created_at": "2023-11-07" } ] }

GET taxes (V2)

The taxes endpoint returns information about the reimbursements made by Rappi to the partner, due to operations in which income tax was collected. This amount is calculated at each Rappi payment cutoff. It also contains information about order-level taxes.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/taxes

Response Fields

FieldTypeDescription
idintegerUnique tax identifier
reasonstringTax reason
descriptionstringTax description
amountnumberTax amount
store_idintegerStore ID
payment_idintegerAssociated payment ID
created_atdateCreation date
flow_namestringFiscal flow/concept name

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "id": 0, "reason": "string", "description": "string", "amount": 0, "store_id": 0, "payment_id": 0, "created_at": "2023-11-07", "flow_name": "string" } ] }

GET compensations (V2)

The compensations endpoint returns information about financial compensations to users made by Rappi due to an accepted dispute attributable to the partner (wrong product, missing product, product in poor condition) that affect the partner's transfer.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/compensations

Response Fields

FieldTypeDescription
idintegerUnique compensation identifier
payment_idintegerAssociated payment ID
order_datedateOrder date
store_idintegerStore ID
store_namestringStore name
store_typestringStore type
order_statusstringOrder status
amountnumberCompensation amount
commentsstringComments
created_atdateCreation date
order_idintegerAssociated order ID
product_ids[].product_idintegerProduct ID
product_ids[].unitsstringProduct units
reasonstringCompensation reason

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "id": 0, "payment_id": 0, "order_date": "2023-11-07", "store_id": 0, "store_name": "string", "store_type": "string", "order_status": "string", "amount": 0, "comments": "string", "created_at": "2023-11-07", "order_id": 0, "product_ids": [ { "product_id": 0, "units": "string" } ], "reason": "string" } ] }

GET cancellations (V2)

The cancellations endpoint returns information about cancelled orders that will not be paid to the merchant. There are different reasons why a cancellation is not paid:

  • Product not available: The store does not have the requested product.
  • Store closed: The restaurant was closed.
  • Restaurant technical problems: The restaurant had problems preparing the order.
  • Partner does not recognize order: The establishment is not operating on the Rappi platform.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/cancellations

Response Fields

FieldTypeDescription
order_idintegerCancelled order ID
cancellation_datedatetimeCancellation date
order_datedatetimeOriginal order date
store_idintegerStore ID
store_namestringStore name
store_typestringStore type
order_statusstringOrder status
payment_methodstringPayment method
cancellation_codestringCancellation code
cancellation_descriptionstringCancellation description
amountnumberCancellation amount
is_primestringIf the order was from a Prime user

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "order_id": 0, "cancellation_date": "2023-11-07T23:35:38.537Z", "order_date": "2023-11-07T23:35:38.537Z", "store_id": 0, "store_name": "string", "store_type": "string", "order_status": "string", "payment_method": "string", "cancellation_code": "string", "cancellation_description": "string", "amount": 0, "is_prime": "string" } ] }

GET agreements (V2)

The agreements endpoint returns information about the contract conditions that underlie the charged amounts for each concept within a payment, including payment frequency, commission conditions, and contract terms.

Endpoint URL

https://{COUNTRY_DOMAIN}/restaurants/finance/v2/stores/{store_id}/agreements

Response Fields

FieldTypeDescription
contracted_planstringContracted plan
application_fnfo.namestringApplicant name
application_fnfo.document_numberstringDocument number
application_fnfo.corporate_namestringCorporate name
application_fnfo.state_registrationstringState registration
application_fnfo.municipal_registrationstringMunicipal registration
application_fnfo.address.countrystringCountry
application_fnfo.address.statestringState/Department
application_fnfo.address.citystringCity
application_fnfo.address.districtstringDistrict
application_fnfo.address.streetstringStreet
application_fnfo.address.numberstringNumber
application_fnfo.address.zipCodestringZip code
application_fnfo.address.complementstringAddress complement
application_fnfo.address.referencestringReference
application_fnfo.contact_fnfo.contact_emailstringContact email
application_fnfo.contact_fnfo.contact_phonestringContact phone
application_fnfo.contact_fnfo.contact_namestringContact name
store_info.store_idstringStore ID
store_info.typestringStore type
store_info.documentstringStore document
store_info.namestringStore name
store_info.corporate_namestringStore corporate name
store_info.is_marketplacebooleanIf it is marketplace
store_info.address.citystringStore city
contract_info.frequency_typestringPayment frequency type
contract_info.contract_term.start_datedateContract start date
contract_info.contract_term.end_datedateContract end date
conditions[].namestringCondition name
conditions[].commisionstringCommission percentage

Response Example

{ "page_number": 1, "page_size": 10, "order_by": "string", "order_type": "string", "total_pages": 0, "total_entries": 0, "entries": [ { "contracted_plan": "string", "application_fnfo": { "name": "string", "document_number": "string", "corporate_name": "string", "state_registration": "string", "municipal_registration": "string", "address": { "country": "string", "state": "string", "city": "string", "district": "string", "street": "string", "number": "string", "zipCode": "string", "complement": "string", "reference": "string" }, "contact_fnfo": { "contact_email": "user@example.com", "contact_phone": "string", "contact_name": "string" } }, "store_info": { "store_id": "string", "type": "string", "document": "string", "name": "string", "corporate_name": "string", "is_marketplace": true, "address": { "city": "string" } }, "contract_info": { "frequency_type": "string", "contract_term": { "start_date": "2023-11-07", "end_date": "2023-11-07" } }, "conditions": [ { "name": "string", "commision": "string" } ] } ] }