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:
| Resource | Description |
|---|---|
GET payments | Returns a list of payments filtered by store and by payment period with merchant information and details of each payment. |
GET orders | Returns a list of orders by payment or by store and a payment period. |
GET order_adjusments | Returns a list of order adjustments by payment or by store and a payment period. |
GET charged_cancellations | Returns a list of cancellations (orders) and its details by payment or by store and a payment period. |
GET store_adjustments | Returns a list of store adjustments by payment or by store and a payment period. |
GET loans | Returns a list of loans installments by payment or by store and a payment period. |
GET debts | Returns information of outstanding debts from past periods by payment or by store and a payment period. |
GET extras | Returns a list of extra charges (fees, discounts, others) by payment or by store and a payment period. |
GET taxes | Returns a list of taxes by payment or by store and a payment period. |
GET compensations | Returns a list of compensations and its details by payment or by store and a payment period. |
GET cancellations | Returns a list of cancellations (orders) by store and a payment period. |
GET agreements | Returns 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 body | json |
response body | json |
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:
| Attributes | Requirement | Description | |
|---|---|---|---|
client_id | string | required | Client ID of your Finance API credentials. |
client_secret | string | required | Client 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 Object | Object Description | |
|---|---|---|
access_token | string | Access token to access Financial API endpoints. |
token_type | string | Token type. |
expires_in | integer | Token expiration time in seconds. |
Using the Finance Token
Include the Finance token in the x-authorization header of all Financial API requests:
| Key | Value |
|---|---|
x-authorization | Bearer: <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
| Field | Type | Description |
|---|---|---|
id | integer | Unique payment identifier |
status | string | Payment status |
period_date_start | datetime | Payment period start date |
period_date_end | datetime | Payment period end date |
expected_execution_date | datetime | Expected payment execution date |
confirmed_payment_date | datetime | Confirmed payment date |
total_amount | number | Total payment amount |
payment_reference | string | Payment reference |
frequecy_type | string | Payment frequency type |
frequecy_type_descripcion | string | Frequency type description |
balance_request_id | string | Balance request ID |
bank_account | object | Bank account information |
bank_account.bank_name | string | Bank name |
bank_account.account_number | string | Account number |
bank_account.bank_code | string | Bank code |
bank_account.account_type | string | Account type |
bank_account.ispb | string | ISPB code (Brazil) |
bank_account.document.identification_type | string | Identification document type |
bank_account.document.identification_number | string | Document number |
bank_account.document.holder_name | string | Account holder name |
consolidated_stores | array | List 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
| Field | Type | Description |
|---|---|---|
id | integer | Unique order identifier |
payment_id | integer | Associated payment ID |
order_date | datetime | Order date |
store_id | integer | Store ID |
store_name | string | Store name |
store_type | string | Store type |
order_status | string | Order status |
payment_method | string | Payment method used |
is_prime | string | Indicates if the order is from a Prime user |
items | array | List of order products |
items[].name | string | Product name |
items[].units | string | Number of units |
amount | number | Order amount |
billing.total_order | number | Order total |
billing.comission_product | number | Product commission |
billing.cofins | number | COFINS tax (Brazil) |
billing.pis | number | PIS tax (Brazil) |
billing.iss | number | ISS tax (Brazil) |
billing.income_tax | number | Income tax |
billing.compensation | number | Applied compensation |
billing.discount_by_marketplace_in_cash | number | Marketplace discount in cash |
billing.total_order_whim | number | Whim order total |
billing.free_shipping | number | Free shipping applied |
billing.other_discounts | number | Other discounts |
billing.meal_voucher | number | Meal voucher |
billing.marketplace_fee_no_cash | number | Marketplace fee (non-cash) |
billing.global_offer_coupon | number | Global offer coupon |
billing.paid_by_user | number | Amount paid by user |
billing.commission_whim | number | Whim commission |
billing.rappi_credits_cash_back | number | Rappi credits cashback |
billing.service_fee | number | Service fee |
billing.shipping_partner_no_limit | number | Partner shipping without limit |
billing.shipping_partner_limit | number | Partner shipping with limit |
billing.marketplace_charge | number | Marketplace 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:
| Field | Type | Description |
|---|---|---|
descriptionAdjustment | string | Description 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:
| Field | Type | Description |
|---|---|---|
cancellatioPercentage | string | Cancellation percentage charged |
descriptionCancellation | string | Cancellation description |
cancellation_code | string | Cancellation code |
cancellation_description | string | Cancellation 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
| Field | Type | Description |
|---|---|---|
id | integer | Unique adjustment identifier |
description | string | Adjustment description |
amount | number | Adjustment amount |
created_at | date | Creation date |
payment_id | integer | Associated payment ID |
store_id | integer | Store ID |
description_reason | string | Adjustment 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
| Field | Type | Description |
|---|---|---|
id | integer | Unique loan identifier |
description_type | string | Loan type |
balance | number | Outstanding balance |
frequency | integer | Collection frequency |
created_at | date | Creation date |
currency | string | Currency |
disbursement_date | date | Disbursement date |
disbursement_amount | number | Disbursed amount |
deadline | date | Payment deadline |
reason | string | Loan reason |
stores | array | Stores associated with the loan |
type | string | Type |
installment_amount | number | Installment amount |
installment_percentage | number | Installment percentage |
lastCollection_date | date | Last collection date |
amortization | string | Amortization type |
installments.installment_amount | number | Each installment amount |
installments.installment_created_at | date | Installment creation date |
installments.store_id | integer | Installment store ID |
installments.payment_id | integer | Installment 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
| Field | Type | Description |
|---|---|---|
id | integer | Unique debt identifier |
description | string | Debt description |
payment_debt | number | Debt amount |
payment_paid | number | Amount paid on debt |
store_id | string | Store ID |
amount | number | Total amount |
created_at | date | Creation 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
| Field | Type | Description |
|---|---|---|
id | integer | Unique extra charge identifier |
reason | string | Charge reason |
description | string | Charge description |
amount | number | Charge amount |
store_id | integer | Store ID |
payment_id | integer | Associated payment ID |
created_at | date | Creation 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
| Field | Type | Description |
|---|---|---|
id | integer | Unique tax identifier |
reason | string | Tax reason |
description | string | Tax description |
amount | number | Tax amount |
store_id | integer | Store ID |
payment_id | integer | Associated payment ID |
created_at | date | Creation date |
flow_name | string | Fiscal 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
| Field | Type | Description |
|---|---|---|
id | integer | Unique compensation identifier |
payment_id | integer | Associated payment ID |
order_date | date | Order date |
store_id | integer | Store ID |
store_name | string | Store name |
store_type | string | Store type |
order_status | string | Order status |
amount | number | Compensation amount |
comments | string | Comments |
created_at | date | Creation date |
order_id | integer | Associated order ID |
product_ids[].product_id | integer | Product ID |
product_ids[].units | string | Product units |
reason | string | Compensation 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
| Field | Type | Description |
|---|---|---|
order_id | integer | Cancelled order ID |
cancellation_date | datetime | Cancellation date |
order_date | datetime | Original order date |
store_id | integer | Store ID |
store_name | string | Store name |
store_type | string | Store type |
order_status | string | Order status |
payment_method | string | Payment method |
cancellation_code | string | Cancellation code |
cancellation_description | string | Cancellation description |
amount | number | Cancellation amount |
is_prime | string | If 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
| Field | Type | Description |
|---|---|---|
contracted_plan | string | Contracted plan |
application_fnfo.name | string | Applicant name |
application_fnfo.document_number | string | Document number |
application_fnfo.corporate_name | string | Corporate name |
application_fnfo.state_registration | string | State registration |
application_fnfo.municipal_registration | string | Municipal registration |
application_fnfo.address.country | string | Country |
application_fnfo.address.state | string | State/Department |
application_fnfo.address.city | string | City |
application_fnfo.address.district | string | District |
application_fnfo.address.street | string | Street |
application_fnfo.address.number | string | Number |
application_fnfo.address.zipCode | string | Zip code |
application_fnfo.address.complement | string | Address complement |
application_fnfo.address.reference | string | Reference |
application_fnfo.contact_fnfo.contact_email | string | Contact email |
application_fnfo.contact_fnfo.contact_phone | string | Contact phone |
application_fnfo.contact_fnfo.contact_name | string | Contact name |
store_info.store_id | string | Store ID |
store_info.type | string | Store type |
store_info.document | string | Store document |
store_info.name | string | Store name |
store_info.corporate_name | string | Store corporate name |
store_info.is_marketplace | boolean | If it is marketplace |
store_info.address.city | string | Store city |
contract_info.frequency_type | string | Payment frequency type |
contract_info.contract_term.start_date | date | Contract start date |
contract_info.contract_term.end_date | date | Contract end date |
conditions[].name | string | Condition name |
conditions[].commision | string | Commission 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" } ] } ] }
