Only this pageAll pages
Powered by GitBook
1 of 38

Received Docs

Welcome to Received

Loading...

Loading...

Loading...

Loading...

Enterprise Contract Billing

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Subscription Billing

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Partner Billing

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

API Docs

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Support and Resources

Loading...

Overview

Manage Partner Contracts and Automate Partner Billing with Received.

Use Received to manage Referral and Reseller partner contracts and automate billing and partner fees:

  1. Create a Partner: Referral or Reseller.

  2. Create and customize partner contracts.

  3. Define partner fees (when applicable).

  4. Track usage for usage-based products.

  5. Automatically send invoices.

  6. Collect payments.

  7. Automatically reconcile payments.

  8. Automatically recognize revenue.

Reseller

Referral

Overview

Automate Subscription Billing with Received.

Use Received's API to automate subscription billing for customers signing up on your website:

  1. Add custom subscription plans to your website.

  2. Add a Stripe checkout link to collect payment info.

  3. Automatically create a new customer and subscription in Received's Platform.

  4. Auto-charge customers according to their selected plan and send payment confirmations.

  5. Automatically reconcile payments.

  6. Automatically recognize revenue.

Received APIs Intro

Received's API operates on a REST architecture, featuring resource-oriented URLs for easy navigation. It accepts form-encoded request bodies and delivers JSON-encoded responses. Standard HTTP response codes, authentication methods, and verbs are utilized throughout.

API Headers

API calls, except for Authentications, must include the next headers

  1. Bearer Token - return from the login call

  2. API Version - {"Version": "V0"}

Current version

Start using with Swagger UI:

The Referral Billing Process

Follow our step-by-step guide to see how to set up referral billing automation.

The Reseller Billing Process

Follow our step-by-step guide to see how to set up reseller billing automation.

Overview

Automate contract-based Billing with Received.

Use Received to manage bespoke enterprise contracts and automate contract-based billing:

  1. Build your products and define pricing.

Key Features

Manage referral and reseller billing, automate partner fees and sales commissions, and monitor partner activity.

Manage Referral Partners

Manage referral partners and automate referral fees for a seamless end-to-end referral program.

  • Manage Referral Contracts - automate Referral Partner contracts of any complexity, and link referral partners to their referred customers and contracts.

Set Up Referrals

Step 1: Create a Partner

Navigate to the 'Customers Tab' and click on 'New Customer'. Fill in the partner information and turn on the 'Partner' toggle to mark it as a partner.

Set Up Resellers

Step 1: Create a Partner

Navigate to the 'Customers Tab' and click on 'New Customer'. Fill in the partner information and turn on the 'Partner' toggle to mark it as a partner.

Key Features

Automate billing for self-serve customers from sign-up-to-cash. Set up in minutes, no engineering required.

Embedded Checkout Links

Integrate Received with your website to offer self-serve customers a smooth onboarding experience.

  • Custom Plans - use custom plans for a seamless sign-up experience.

B2B Revenue Streams

Manage all All B2B revenue streams in one place.

Received's platform is specifically designed to fit all B2B use cases: self-serve customers, sales-led contracts, and partners.

Automate Sales-Led Contracts

Manage sales-led customers and automate contract-based billing for bespoke multi-year contracts with various products and pricing models.

System Integrations

No-Code integrations with your CRM, ERP and Tax and Payments software. Unlock speed and insights with data consistency across teams and systems.

CRM Integration

  • Two-Way Integration - connect and sync your billing system activity directly to your CRM account.

Key Features

Configure complex B2B pricing, manage bespoke enterprise contracts and automate contract-based invoicing. You set the logic, let the system do the rest.

Automate Billing for Enterprise Contracts

  • Contract-based-Billing - turn complicated contracts into accurate invoices created automatically, delivered right on time.

Set Up Subscriptions

Create products, define pricing & build subscription plans to embed in your website.

Step 1: Create Products and Define Pricing

Navigate to the Pricing Tab to create products and define their pricing models. Use ready-made templates or start from scratch to create your model.

Click 'Use this Pricing' and use our ‘Spreadsheet-in-a-System’ to edit your pricing. Edit line items, change prices and ranges, connect usage products, define billing logic and more. Once you're done, click on 'Publish' to save the product and add it to your products catalog.

The Subscription Billing Process

Follow our step-by-step guide to see how to set up subscription billing automation.

Automate Invoicing & Track Reseller Dats

Step 1: Automate Invoicing & Payment Collection

Your resellers will be automatically invoiced like any Enterprise customer. See the full invoicing process .

Resellers can pay their invoices by credit card (via Stripe), wire transfer, or crypto wallet.

Upon payment, Received's system automatically matches incoming payments with outstanding invoices for seamless reconciliation and automatically recognizes revenue according to ASC-606 and IFRS-15

FAQ

Find answers to the most frequently asked questions.

Is Received the right fit for my company?

Received is the perfect fit for modern B2B Software companies managing complex billing processes and looking to (a) automate the billing process to reduce time and errors; (b) gain scalability and stay agile in the market as they grow and add new pricing models and revenue streams; and (c) gain visibility and a single source of truth for financial data.

Can Received support my pricing model?

The Enterprise Contract Billing Process

Follow our step-by-step guide to see how to set up Enterprise Contract billing automation.

Received offers a comprehensive solution that supports all pricing models, including subscriptions, usage-based pricing, and hybrid pricing. The platform comes with pre-built templates for the most common pricing models in each pricing category and also offers the option to create custom pricing from scratch. All pricing models can be fully customized at any stage and for any purpose.

What revenue streams are supported?

Received is the only billing platform that supports all B2B revenue streams: self-serve subscriptions, sales-led contracts, and referral and reseller partners.

Can Received integrate with existing business software and workflows?

Received has built-in integrations with your CRM, ERP, Accounting, Payments, and Tax Compliance software, ensuring that all contract-to-cash data is consolidated into a single source of truth.

Can my usage data be connected to Received?

Received's usage API enables full usage tracking automation with a single line of code. In addition, usage can be uploaded manually or in bulk using CSV files of any format.

Set Up Subscriptions
Sync & Track Subscriptions
Auto-Charge Payments
⚙️The Referral Billing Process
Automate Invoicing
Track Billing Data
Set Up Referrals
Automate Invoicing & Fees, and Track Referral Data
Set Up Resellers
Automate Invoicing & Track Reseller Dats
{"Version": "V0"}
https://api.received.ai/swagger/

Create and customize B2B contracts.

  • Track usage for usage-based products.

  • Automatically send invoices.

  • Collect payments.

  • Automatically reconcile payments.

  • Automatically recognize revenue.

  • Automate Referral Fees - define custom Referral partner fee types and rates, and automate those at scale.

  • Automatic Reconciliation - automate fee reconciliation for any type, including Usage and non-linear fees.

  • Manage Reseller Partners

    Manage reseller partners and automate reseller fees to streamline reseller partnerships and foster revenue growth.

    • Manage Reseller Contract - automate Reseller Partner contracts of any complexity, and link reseller partners to their customers and contracts.

    • Automate Reseller Fees- define multiple billing hierarchies, for different types of reseller billing, including optionality of ‘pass-through’ billing, and automate those at scale.

    • Automatic Reconciliation - automate fee reconciliation for any type, including Usage and non-linear fees.

    Track Partner Analytics

    Track and analyze all partnership data in one place to optimize partnerships and accelerate growth.

    • Partner Analytics - monitor your partner analytics to identify your top performing partners, including bookings, customers, partner fees, gross income, active contracts, and churn rates.

    • Partner Fees - monitor partner fees and commissions to see paid and unpaid fees, and analyze partner success.

    • Products Breakdown - track your products’ Cash Inflow to identify your highest performing products and pricing models.

    Step 2: Create a Customer Contract, Attach Partner, and Define Referral Fees

    Navigate to the 'Customers Tab' and click on 'Create a Contract'. Click on 'Search' to add the relevant customer to the contract. Continue to add products and customize the contract (see the full contract creation process here). Once the customer contract is complete, attach the relevant referral partner.

    Once you attach a partner, a new tab will appear - 'Partners'. Use the partners tab to define your partner fees. You can define one fee for the whole contract, or define separate fees for each product in the contract.

    Step 2: Create a Bespoke Reseller Price

    Navigate to the 'Pricing Tab' to create bespoke pricing for your resellers. You can duplicate existing products and change pricing, or create new products from scratch. See the full product and pricing creation process here.

    Step 3: Create a Reseller Contract

    Once the reseller has made a sale, a reseller contract needs to be created. Navigate to the 'Customers Tab' and click on 'Create a Contract'. Click on 'Search' to add the relevant reseller to the contract. Continue to add the relevant products with the reseller price and customize the contract (see the full contract creation process here). *Note that in a reseller contract, the customer is the partner, not the end user.

    Checkout Link - provide customers with a Stripe checkout link to enter their credit card information for all future charges.

  • Easy Set-Up - copy and paste Received's URL into your website for an easy, coding-free set-up.

  • Hybrid Pricing Plans

    Make self-serve more than a subscription. Connect Received to your website to offer unlimited pricing complexity at scale.

    • Automate Self-Serve Complex Pricing - offer subscription-based, usage-based, and hybrid plans on your website to maximize ACV.

    • Self-Serve for Any Billing Cycle - bill self-serve customers with any billing cycle you see fit - monthly, yearly, quarterly, per-usage, and more.

    Payment Collection

    Automatically charge and send payment confirmations to active subscription customers.

    • Auto-Charge - automatically charge customers according to their selected plan.

    • Automatic Reconciliation - automatically match auto-charged payments with outstanding balances.

    • Automatic Revenue Recognition - define revenue recognition per subscription plan to automatically recognize revenue.

    Error Handling

    Automatically detect and resolve payment errors.

    • Error detection - automatically detect payment errors and flag them for easy tracking.

    • Re-Charge - automatically re-charge customers following a failed payment.

    • Automatic Error Handling - automatically send customers with failed payments a new checkout link to update their card information.

    Automate Self-Serve Subscriptions

    Embed Received into your website to manage self-serve customers and auto-charge self-serve contracts.

    Automate Partner Management

    Manage referral and reseller billing, automate partner fees and sales commissions, and monitor partner activity.

    Data Integrity - enhance billing automation with complete data integrity between the Sales and Finance functions.

    ERP/ Accounting Integration

    • Two-Way Integration - connect and sync your billing system activity directly to your ERP/Accounting account.

    • Automatic Data Validation - eliminate manual data verification and field corrections.

    Payment Service Provider Integration

    • Invoice-Native-Checkout - allow customers to make instant payments straight from the invoice.

    • Automatic Reconciliation -automatically match incoming payments with outstanding invoices.

    • No extra fees - manage data and payment activities from your payment provider account.

    Tax Compliance Integration

    • Automate Tax Compliance - automatically apply tax rates and keep up with the latest location-based tax rates and obligations.

    • Tax-to-ERP Sync - integrate with your ERP/Accounting system for a single source of truth.

    Invoice Configuration - define your own bespoke invoice formats and select which data and line items will be shown for each customer.
  • Accounting Compatibility -All the Invoice and revenue data synced with your accounting system.

  • Configure Any B2B Pricing Model

    • Any pricing model - complete pricing flexibility for growth and experimentation.

    • B2B Pricing - pricing configuration built for B2B companies. Usage pricing, recurring licenses and services built for B2B complexity.

    • ‘Spreadsheet-in-a-System’ - power or a spreadsheet, within a system, giving you the brain you need, in a format you love.

    Manage Bespoke B2B Contracts

    • Bespoke B2B Logic - create complex B2B contracts with various products and services in minutes.

    • One Contract Hub - manage all contract metrics from one place. Cashflow, Revenue, Renewal and more.

    • CRM Automation - sync with your CRM to automate customer and contract creation.

    Automate Payment Collection

    • Invoice-Native-Checkout - allow customers to make instant payments straight from the invoice.

    • Automatic Reconciliation - automatically match incoming payments with outstanding invoices.

    • No Extra Fees -manage data and payment activities from your payment provider account.

    Step 2: Create a Subscription

    Navigate to Pricing > Subscriptions to create your subscription plans. You can add multiple products with varying pricing models to each plan. Once you're done, click on 'Update Subscription'. Once you update a subscription plan, the platform automatically generates an embeddable URL for your website. This URL must be embedded in the specific plan's CTA, to ensure accurate billing.

    Step 3: Embed Subscription URLs into Your Website

    Now that you have a specific URL for each plan, you can embed the appropriate link in the right call-to-action button on your website. Once customers sign up for a subscription, they will be directed to a specific checkout page where they will enter their payment information. The information collected will be used to automatically charge customers based on their specific plan and billing logic.

    compliance.

    Step 2: Track Reseller Data

    Navigate to Customers>Partners>Resellers to view your reseller data. In this tab, you will find all reseller partners, contracts status and value, invoicing status, payment collection status, and more.

    here

    Set Up Enterprise Contracts

    Step 1: Create Products and Define Pricing

    Navigate to the Pricing Tab to create products and define their pricing models. Use ready-made templates or start from scratch to create your model.

    Click 'Use this Pricing' and use our ‘Spreadsheet-in-a-System’ to edit your pricing. Edit line items, change prices and ranges, connect usage products, define billing logic and more. Once you're done, click on 'Publish' to save the product and add it to your products catalog.

    Step 2: Create a Customer

    Navigate to the Customers tab and click on 'New Customer' to create a customer in the system. Fill in the details and click 'Save' to add the customer to your customers list.

    Step 3: Create a Contract

    Navigate to the 'Customers Tab' and click on 'Create a Contract'. Click on 'Search' to add the relevant customer to the contract. To add products to the contract, either select an existing product from the product catalog, or create a new one from scratch. You can add multiple products with varying pricing models to the same contract.

    Now it's time to edit and customize the contract. Set Billing & Revenue Recognition logic, and use the ‘Spreadsheet-in-a-System’ to customize the pricing for each product. Edit line items, change prices and ranges, connect usage products, and more.

    Finally, select the payment method (you can add multiple payment methods per product), and add taxes and discounts where relevant.

    Once you finish editing the contract, click on 'Publish Contract' to activate it.

    Use the 'Overview Tab' to get an overview of your contract. View your cash inflows, revenue recognition schedule, and more.

    Auto-Charge Payments

    Automatically track usage, charge subscription fees, reconcile payments and recognize revenue.

    Step 1: Track Usage (for usage-based products)

    In the event that a subscription plan includes a usage-based product, Received's usage API automatically tracks and calculates usage rates for each subscriber per billing cycle.

    This API is provided by Received, and embedded into your software, enabling automatic usage tracking. Our embeddable API looks like this:

    Once this API is embedded, usage is tracked and collected by Received. When it's time to charge customers, Received's internal API collects the relevant data and calculates the total due for each specific subscription.

    Our API looks like this:

    Request Body

    Example Value

    Responses

    Example Value

    Step 2: Auto-Charge Customers

    Received automatically charges active subscription customers according to their selected plan and usage rates (where applicable), and sends payment confirmations. Upon payment, Received's system automatically matches auto-charged payments with outstanding balances for seamless reconciliation and automatically recognizes revenue according to ASC-606 and IFRS-15 compliance.

    Our Features

    Whether you're managing Enterprise Contracts, Self-Serve Subscriptions, or Channel Partners - Received's robust platform enables you to customize and automate every step of the way.

    Pricing Configuration

    • Any pricing model - complete pricing flexibility for growth and experimentation.

    • B2B Pricing - pricing configuration built for B2B companies. Usage pricing, recurring licenses and services built for B2B complexity.

    • ‘Spreadsheet-in-a-System’ - power or a spreadsheet, within a system, giving you the brain you need, in a format you love.

    Contract Management

    • Bespoke B2B Logic - create complex B2B contracts with various products and services in minutes.

    • One Contract Hub - manage all contract metrics from one place. Cashflow, Revenue, Renewal and more.

    • CRM Automation - sync with your CRM to automate customer and contract creation.

    Invoice Automation

    • Contract-based-Billing - turn complicated contracts into accurate invoices created automatically, delivered right on time.

    • Invoice Configuration - define your own bespoke invoice formats and select which data and line items will be shown for each customer.

    • Accounting Compatibility -All the Invoice and revenue data synced with your accounting system.

    Usage Tracking

    • Automate Usage Billing - fully automate your usage tracking using API, or upload usage data manually or in bulk using a CSV file.

    • Usage for B2B - manage usage scenarios, such as sub-activity, formula manipulation (running average, aggregation), and debit/credit relationships.

    • Usage Reporting - keep track of usage product performance, analyze performance by product or cash flow over time.

    Payment Collection

    • Invoice-Native-Checkout - allow customers to make instant payments straight from the invoice.

    • Auto-Charge - automatically charge customers according to their selected plan.

    • Automatic Reconciliation - automatically match incoming payments with outstanding invoices.

    • No Extra Fees - manage data and payment activities from your payment provider account.

    Revenue Recognition

    • Contract-Native - define each B2B contract its own revenue recognition logic.

    • Built for ASC 606 and IFRS 15 - configure and automate revenue recognition for ASC-606 and IFRS 15 compliance.

    • Contract Financial Hub - track cash flow, revenue recognition, invoices, usage and more.

    • Company Revenue Recognition - manage company level metrics: revenue recognized, deferred revenue, cash collection, and more.

    Automate Invoicing & Fees, and Track Referral Data

    Step 1: Automate Customer Invoicing & Payment Collection

    Your referred customers will be automatically invoiced like any Enterprise customer. See the full invoicing process here.

    Customers can pay their invoices by credit card (via Stripe), wire transfer, or crypto wallet.

    Upon payment, Received's system automatically matches incoming payments with outstanding invoices for seamless reconciliation and automatically recognizes revenue according to ASC-606 and IFRS-15 compliance.

    Step 2: Automate Referral Fee Allocation

    Once the referred customer's contract is activated, referral fees will be calculated automatically and allocated according to the terms defined in the contract. To see the referral fees for a specific partner, navigate to Customers>Partners>Referrals and click on the referral partner you wish to view. Click on the 'Fees Tab' to view your partner fee allocation and status (paid, unpaid, sent, failed).

    Step 3: Track Referral Data

    Navigate to Customers>Partners>Referrals to get an overview of your referral data. View all referral partners, along with the customers they have referred, and a breakdown of contract value, products, churn rate, referral fees, and more.

    Navigate to Customers>Partners>Referrals and click on the referral partner you wish to view. Use the 'Overview Tab' to view of the partner bookings, referred customers, fees, churn rate, and more.

    Click on the 'Contracts Tab' to view all contracts with customers referred by this referral partner. See the total contract value and partner fees per customer, product breakdowns, and more.

    Track Billing Data

    Step 1: Track Billing and Revenue Data

    Navigate to the 'Dashboard Tab' to get an overview of your billing and revenue data, including your collection status, Cash inflow forecast, Product Allocation, ARR, MRR and more.

    Step 2: Track Usage Data

    Navigate to the 'Usage Tab' to track all usage data, including Usage and Cash breakdown, Usage activities, and more.

    Step 3: Track Invoicing Data

    Navigate to the 'Invoices Tab' to see an overview of your invoicing status over time. This includes sent invoices, late invoices, paid invoices, and invoices under review.

    Step 4: Track Enterprise Customer's Data

    Navigate to Customers>Enterprise to view the status of all enterprise customers, including an overview of your active contracts, total contracts value, and more.

    Platform Overview

    Received is a B2B Billing & Revenue management platform, made for B2B finance teams managing custom contracts and complex pricing models, looking to automate their operations and gear up for growth.

    Complex B2B Billing, Solved.

    Got 2 minutes? Check out a video overview of our platform:


    Sync & Track Subscriptions

    Automatically sync new customers and subscriptions to Received.

    Step 1: Automatically Sync Customers and Subscriptions

    Once you have embedded the custom URLs into your website, Received's platform is ready to automatically 'catch' user information and create new customers and subscriptions. Using APIs, we can access the subscription data from your website to create the following:

    1. New Customer Using a specific API, a new customer is automatically created in

    Automate Invoicing

    Step 1: Track Usage (for usage-based products)

    In the event that a contract includes a usage-based product, Received's usage API automatically tracks and calculates usage rates for each customer per billing cycle.

    This API is provided by Received, and embedded into your software, enabling automatic usage tracking. Our embeddable API looks like this:

    Once this API is embedded, usage is tracked and collected by Received. When it's time to invoice customers, Received's internal API collects the relevant data and calculates the total due for each specific product in the contract.

    usage_event = {
      "timestamp": "2024-02-05T08:55:32.160Z",
      "customer_ref": "4096966d-5c1c-4e18-8b47-6a365e3c16ea",
      "customer_name": "ACME",
      "usage_product_ref": "bb50da07-c686-4688-8550-66305e17aab0",
      "usage_product_name": "Units",
      "quantity": 10,
      "additional_report_data": {
        "note": "User-specific note"
      },
      "validations": {
        "currency": "USD",
        "entity_ref": "55899733-32a0-4912-9d2e-a5b0f04dcdb6"
      }
    }
    
    event_report_resp = requests.post('https://api.received.ai/api/usage/event', headers=headers, data=json.dumps(usage_event))
    // POST/api/usage/event
    {
      "timestamp": "2024-02-05T09:02:27.279Z",
      "customer_ref": "b4fe1e43-321f-479c-aee7-c11d73616ff2",
      "customer_name": "ACME",
      "usage_product_ref": "9db3fbc3-5e77-43c8-828f-bc2b69cbc9f3",
      "usage_product_name": "Units",
      "quantity": 10,
      "additional_report_data": {
        "note": "User-specific note"
      },
      "validations": {
        "currency": "USD",
        "entity_ref": "d78bf43b-e76a-4a70-8f56-d3dfcea0dffe"
      }
    }
    {
      "event_ref": "d1d3416c-0b33-479e-a42f-dbb74effd290",
      "related_document_ref": "fffb529d-e5ad-4d87-b1e5-fa5085a675b5",
      "related_document_numbers": "US-INV-1234",
      "related_parent_document_ref": "cb88774f-fbdd-42ef-b9eb-822e6c581ee1",
      "related_parent_document_numbers": "US-INV-12345"
    }
    Received makes it easy for B2B finance teams to operate in this ever-changing market.

    As B2B go-to-market motions and pricing models evolve and become increasingly complex, B2B finance teams need a flexible solution that will allow them to remain agile in their business operations.

    By providing full commercial flexibility, removing business barriers and letting automation handle the heavy lifting, finance teams can eliminate time-consuming manual tasks and focus on creating real value.

    Received - Full B2B Revenue Stack for Modern Finance Teams

    • Made for B2B finance teams managing custom contracts and complex pricing models, looking to streamline their processes and gear up for growth.

    • A next generation integrated financial system that combines all revenue streams into one central hub to manage cash flow and revenue.

    • A plug & play platform transforming payments and business revenues to open up new revenue streams, prevent revenue leakage, and unlock the full potential of every enterprise.

    Received's Stack

    Benefits of Received 💸

    Operational Efficiency

    Turn manual tangled processes into a smooth automated workflow to save work time, money and resources.

    Flexible Scalability

    Remove capacity barriers and gain flexible scalability for rapid growth.

    Data Control

    Take control of your financial data, regain trust in the numbers, and improve decision-making.

    Customers > Subscriptions
    . Our API looks like this:

    Request body

    Example Value

    Responses

    Example Value

    1. New Subscription Using a specific API, a new subscription is automatically created in Contracts > Subscriptions. Our API looks like this:

    Request body

    Example Value

    Responses

    Example Value

    Step 2: Track Subscriptions Data

    Navigate to Customers>Subscribers to see all subscriptions data. On this screen you can view the number of subscribers, subscriptions ARR and MRR, payment status, churn rate and more. Received offers an error handling mechanism, which quickly identifies failed payments and automatically sends a new payment link to the customer.

    Our API looks like this:

    Request Body

    Example Value

    Responses

    Example Value

    Step 2: Automatic Invoicing

    When the issue date is reached, Received's system calculates the total amount due for each product in the contract and sends out invoices to customers. Depending on each contract's settings, invoices can be sent separately for each product, or as one collective invoice for the entire contract.

    Step 3: Payment Collection

    Customers can pay their invoices by credit card (via Stripe), wire transfer, or crypto wallet.

    Upon payment, Received's system automatically matches incoming payments with outstanding invoices for seamless reconciliation and automatically recognizes revenue according to ASC-606 and IFRS-15 compliance.

    Authentication

    Automatically authenticate user information.

    Received's APIs use a Bearer token in the Authorization header for each request. This token is obtained after a successful login or registration process and must be securely stored by the client. Ensure the header format is "Authorization: Bearer <your_token_here>", where "<your_token_here>" is replaced with your actual token.

    Authenticate API user

    Authenticate user and return JWT token for future requests. The JWT token is used to authenticate the user in the API Gateway.

    Products

    Fetch product and their pricing

    Received Products' APIs allow our users to manage their products and pricing models. The APIs support operations such as creating new products and pricing models, updating existing products, and fetching products to use in customer contracts and subscriptions.

    Don't forget! APIs must include:

    1. Bearer Token - return from the login call

    // POST/api/customers
    {
      "name": "Received",
      "legal_name": "Received ltd.",
      "email": "[email protected], [email protected]",
      "ein": "12-3456789",
      "phone": {
        "countryCode": "1",
        "phone": "2121234567"
      },
      "country": "United States",
      "city": "New York",
      "zip_code": "string",
      "billing_address": "643 Mundy St, Watertown, New York(NY), 13601",
      "shipping_address": "643 Mundy St, Watertown, New York(NY), 13601",
      "country_state": "NY",
      "currency": "USD",
      "tax": 17,
      "entity_ref": "693122c3-54e0-4acd-aeb8-7de4686cea3e",
      "entity_name": "Acme Inc",
      "net_terms": 30,
      "settings": {
        "attach_usage_logs_csv": false,
        "attach_usage_logs_pdf": true
      },
      "icon_data": "string"
    }
    {
      "customer_ref": "dcaff9c0-4a9c-4d01-b2dc-0da7efcc616c"
    }
    // POST/api/contracts/subscriptions
    {
      "customer_ref": "19ed1ce4-082b-4cea-8dfb-c7e673f88224",
      "entity_ref": "cec40f99-a2e1-4bd7-805d-9c1a3c2e69a1",
      "po_number": "string",
      "billing_start_date": "2024-02-01T12:05:23.613Z",
      "billing_end_date": "2024-02-01T12:05:23.613Z",
      "issue_day": "2023-07-13",
      "payment_time": "AFTER_USE",
      "tax": 17,
      "discount": 0,
      "net_terms": "DUE_UPON_RECEIPT",
      "note": "string",
      "billing_online_payment_details": {
        "auto_charge": true,
        "payment_gateway_id": "string",
        "payment_gateway_card_id": "string"
      },
      "products": [
        {
          "product_pricing_ref": "string",
          "line_items": [
            {
              "line_item_id": "string"
            }
          ]
        }
      ]
    }
    {
      "subscription_ref": "32c320bb-431b-488f-bcd4-729e495a33ad"
    }
    usage_event = {
      "timestamp": "2024-02-05T08:55:32.160Z",
      "customer_ref": "4096966d-5c1c-4e18-8b47-6a365e3c16ea",
      "customer_name": "ACME",
      "usage_product_ref": "bb50da07-c686-4688-8550-66305e17aab0",
      "usage_product_name": "Units",
      "quantity": 10,
      "additional_report_data": {
        "note": "User-specific note"
      },
      "validations": {
        "currency": "USD",
        "entity_ref": "55899733-32a0-4912-9d2e-a5b0f04dcdb6"
      }
    }
    
    event_report_resp = requests.post('https://api.received.ai/api/usage/event', headers=headers, data=json.dumps(usage_event))
    // POST/api/usage/event
    {
      "timestamp": "2024-02-05T09:02:27.279Z",
      "customer_ref": "b4fe1e43-321f-479c-aee7-c11d73616ff2",
      "customer_name": "ACME",
      "usage_product_ref": "9db3fbc3-5e77-43c8-828f-bc2b69cbc9f3",
      "usage_product_name": "Units",
      "quantity": 10,
      "additional_report_data": {
        "note": "User-specific note"
      },
      "validations": {
        "currency": "USD",
        "entity_ref": "d78bf43b-e76a-4a70-8f56-d3dfcea0dffe"
      }
    }
    {
      "timestamp": "2024-02-05T09:02:27.279Z",
      "customer_ref": "b4fe1e43-321f-479c-aee7-c11d73616ff2",
      "customer_name": "ACME",
      "usage_product_ref": "9db3fbc3-5e77-43c8-828f-bc2b69cbc9f3",
      "usage_product_name": "Units",
      "quantity": 10,
      "additional_report_data": {
        "note": "User-specific note"
      },
      "validations": {
        "currency": "USD",
        "entity_ref": "d78bf43b-e76a-4a70-8f56-d3dfcea0dffe"
      }
    }
    API Login

    Responses

    JWT token for future requests.

    Schema

    Term
    Type
    Description
    Example

    username*

    String

    API Key

    password*

    String

    API Password

    ************

    API Key Generation

    API keys serve as unique identifiers to authenticate API clients, ensuring that the client is authorized to access the requested resources. Upon successful login, the API issues a JWT (JSON Web Token) to the client, which encapsulates the user's identity and permissions in a secure format. This JWT can then be used for subsequent API calls, streamlining the authentication process and enhancing security by limiting exposure of sensitive credentials.

    Admin Login

    Response

    Cookie session for further requests with Admin permissions

    Generating API key

    Response

    API keys are critical for securing access to web services, acting as unique identifiers for each user or application. To keep them safe, it's essential to store them securely, avoid sharing them publicly, and use environment variables or encrypted secrets management services to manage them in applications.

    Explore More APIs

    Delves into additional authentication methods and initial setup instructions, broadening your integration capabilities and enhancing secure access

    Admin Logout

    List API Keys

    Delete API key

    API version - {"Version": "V0"}

    Getting Products and Pricing

    Fetching products and pricing provides detailed listings of available offerings and their associated costs. This information is crucial to build a contract, tailor their purchase orders, and negotiate contracts effectively.

    Get Products

    Response

    Response Schema

    Return list of pricing model with a product as a property. Those pricing and their lineitems can be used to build a contract (see Contract page)

    Pricing Schema

    Term
    Type
    Description
    Example

    pricing_ref

    String

    The ID of the related product pricing

    35bfdd59-6462-4ec6-bd7b-b3e654d85774

    product_name

    String

    The pricing's related product

    Subscription

    pricing_name

    String

    Name of the pricing

    Lineitem Schema

    Term
    Type
    Description
    Example

    line_item_ref

    String

    The ID of the related lineitem

    e72dd70c-cc65-4804-af2f-2fe6dab5f689

    item

    String

    Item name

    Starter

    price

    String

    Item price

    Prevent Revenue Leakage

    Let the machine calculate and keep track of every single event to ensure nothing slips through the cracks and your revenue is always kept in check.

    Reduce Month Close Time

    Reduce month close time from days to hours and free up your team to focus on excellence , and less repetitive work.

    Reduce DSO

    Send bills way faster, and reduce sales to cash timeline. Build an efficient invoicing and collections process and keep a healthy cash flow.

    Flexible Scalability

    Remove capacity barriers and gain flexible scalability for rapid growth.

    Open Up New Revenue Streams

    Don’t let systems be your business model bottleneck - we enable any revenue stream - self-serve, sales-led and partners - in one system.

    All Systems Sing in Harmony

    Stop worrying about data inputs into different systems, and seamlessly sync with your CRM, ERP, PSP and Tax systems for smooth data flow.

    Single Source of Truth Replace messy, error-prone data with a single source of truth for clean and accurate financial data.

    Better Decision Making Utilize reliable and comprehensive data to make better cross-functional strategic decisions and accelerate growth.

    Access B2B Insights at Every Level Utilize analytics dashboards at the company, customer, or contract level to deep dive into billing, revenue, and usage analytics.

    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Endpoint on this page
    POST https://api.received.ai/auth/login
    POST https://api.received.ai/auth/logout
    POST https://api.received.ai/auth/keys/generate
    GET https://api.received.ai/auth/keys/list
    DELETE https://api.received.ai/auth/user/<api_key
    POST https://api.received.ai/auth/login
    {
      "api_key": "{{api_key}}",
      "password": "{{api_password}}"
    }
    Example:
    "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZIjoiSm9obiBEb2UiLCJpYXQiOjE1MTYyMzkwMjJ9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
    POST https://api.received.ai/auth/login
    {
      "email": "{{admin_email}}",
      "password": "{{admin_password}}"
    }
    POST https://api.received.ai/auth/keys/generate
    {
      "api_key": "{{api_key}}",
      "password": "{{api_password}}"
    }
    POST https://api.received.ai/auth/logout
    GET https://api.received.ai/auth/keys/list
    Response
    [
        {
            "api_key_ref": "{{api_key_ref}}",
            "api_key": "{{api_key}}"
        }
    ]
    DELETE https://api.received.ai/auth/user/<api_key_ref>
    Endpoint on this page
    GET https://api.received.ai/api/products
    GET https://api.received.ai/api/products
    [
        {
          "pricing_ref": "35bfdd59-6462-4ec6-bd7b-b3e654d85774",
          "product_name": "Subscriptions",
          "pricing_name": "Plans",
          "line_items": [
            {
              "line_item_ref": "e72dd70c-cc65-4804-af2f-2fe6dab5f689"
              "item": "Starter",
              "price": 3000,
              "quantity": 1,
              "amount": 3000
            },
            {
              "line_item_ref": "e72dd70c-cc65-4804-af2f-2fe6dab5f680"
              "item": "Professional",
              "price": 6000,
              "quantity": 1,
              "amount": 6000
            },
            {
              "line_item_ref": "e72dd70c-cc65-4804-af2f-2fe6dab5f681"
              "item": "Organization",
              "price": 9000,
              "quantity": 1,
              "amount": 9000
            }
          ]
        },
        {
          "pricing_ref": "946ba17b-6f16-491e-bfa3-d189e827a9a3",
          "product_name": "Pay-as-you-go",
          "pricing_name": "Tiered",
          "line_items": [
            {
              "line_item_ref": "e72dd70c-cc65-4804-af2f-2fe6dab5f682"
              "item": "Starter",
              "price": 10,
              "quantity": 0,
              "amount": 0
            },
            {
              "line_item_ref": "e72dd70c-cc65-4804-af2f-2fe6dab5f683"
              "item": "Professional",
              "price": 9,
              "quantity": 0,
              "amount": 0
            },
            {
              "line_item_ref": "e72dd70c-cc65-4804-af2f-2fe6dab5f684"
              "item": "Organization",
              "price": 8,
              "quantity": 0,
              "amount": 0
            }
          ]
        }
    ]

    Plans

    line_items

    Array

    List of pricing related lineitems

    30000

    quantity

    String

    Item quantity

    1

    amount

    Array

    Total amount of the item

    3000

    https://www.youtube.com/watch?v=bNIp0bCYUSMwww.youtube.com
    Received - B2B Billing, Solved.
    46SQZ49LT100U2QWQ3SI

    Usage Reports

    Automatically collect usage information.

    Received's usage API collects usage data from customer software.

    Don't forget! APIs must include:

    1. Bearer Token - return from the login call

    2. API version - {"Version": "V0"}

    Reporting Customer Usage

    The usage API is built out of a main API (Default) and an API add-on (Formatted):

    1. Default Usage API - This is the main API used to collect usage data. When a user does not have a customized usage format, this API will be used with no add-ons. In this scenario, the usage data will be formatted according to Received's default format.

    2. Formatted Usage API - This API is used as an add-on when the user has created a customized usage format in the system. In this scenario, the data will be formatted according to the user's bespoke format.

    Report Default Usage

    Response

    Schema

    Term
    Type
    Description
    Example

    Response Schema

    Term
    Type
    Description
    Example

    Report Formatted Usage

    Response

    Request Schema

    Term
    Type
    Description
    Example

    Response Schema

    Term
    Type
    Description
    Example

    Explore More APIs

    Edit Usage Event

    Updating usage events via API by specifying date, quantity, or additional information allows for real-time adjustments to consumption records, ensuring accurate billing and a transparent overview of service utilization for both providers and clients.

    Response

    Updated usage event

    Edit Formatted Usage Event

    Applying changes to usage events via API according to some format, by adjusting attributes like date, quantity, or ancillary data, enables dynamic updates to loosely defined entities, fostering flexibility in managing and reflecting real-world variations in service or product usage.

    Response

    Updated usage event

    Delete Usage Event

    Endpoint on this page
    POST https://api.received.ai/api/usage/event
    POST https://api.received.ai/api/usage/event/formatted
    POST https://api.received.ai/api/usage/event/update
    POST https://api.received.ai/api/usage/event/formatted/update
    DELETE https://api.received.ai/api/usage/event/<event_ref>

    quantity*

    String

    Usage quantity

    10

    additional_report_data

    String

    Key-value set for the usage report use. Will added as a new column in the report.

    validations

    String

    Validate the usage event match the related document properties: Currency, Entity reference

    USD 27db2a0c-a11f-4b2e-bfab-8032d0a5a7a1

    related_parent_document_ref

    String

    Related parent document reference ( In case of 'Due upon usage' return also the parent invoice)

    cb88774f-fbdd-42ef-b9eb-822e6c581ee1

    related_parent_document_numbers

    String

    Related parent document numbers ( In case of 'Due upon usage' return also the parent invoice)

    US-INV-12345

    timestamp

    String

    Date and time

    ($date-time)

    customer_ref

    String

    Customer reference

    eaa65954-9eb7-4246-a96c-7f6bc3aac42f

    customer_name

    String

    Customer name

    Acme

    usage_product_ref

    String

    Usage product reference

    94434ff8-8537-4f72-a5df-a45cca271544

    usage_product_name

    String

    Usage product type (Look for the relevant usage product if ref is undefined

    Units

    quantity

    Number

    Quantity

    10

    additional_report_data

    String

    Additional data (User-specific note)

    OrderedMap

    timestamp*

    String

    Date and time. Standard time format "ISO 8601"

    2024-02-05T19:03:39.784Z

    customer_ref*

    String

    The ID of the related customer

    eaa65954-9eb7-4246-a96c-7f6bc3aac42f

    usage_product_ref*

    String

    The ID of the related usage product

    event_ref

    String

    Event reference

    d1d3416c-0b33-479e-a42f-dbb74effd290

    related_document_ref

    String

    The ID of the related document (Invoice, Credit, Debit)

    fffb529d-e5ad-4d87-b1e5-fa5085a675b5

    related_document_numbers

    String

    Related document numbers

    format_name*

    String

    Look for the relevant format if ref is undefined

    Default Format

    event*

    String

    Any key value pair that will be processed by the format

    event_ref

    String

    Event reference

    d1d3416c-0b33-479e-a42f-dbb74effd290

    related_document_ref

    String

    Related document reference

    fffb529d-e5ad-4d87-b1e5-fa5085a675b5

    related_document_numbers

    String

    Related document numbers

    94434ff8-8537-4f72-a5df-a45cca271544

    US-INV-1234

    US-INV-1234

    Customers

    Create, update and fetch contracts information.

    Received's Customers' APIs allow our users to manage their customers and subscribers. The APIs support operations such as creating a new customer, updating existing customers and fetching customers' related data.

    Don't forget! APIs must include:

    1. Bearer Token - return from the login call

    POST https://api.received.ai/api/usage/event
    {
      "timestamp": "2024-02-06T11:37:38.872Z",
      "customer_ref": "eaa65954-9eb7-4246-a96c-7f6bc3aac42f",
      "usage_product_ref": "94434ff8-8537-4f72-a5df-a45cca271544",
      "quantity": 10,
      "additional_report_data": {
        "note": "User-specific note"
      },
      "validations": {
        "currency": "USD",
        "entity_ref": "27db2a0c-a11f-4b2e-bfab-8032d0a5a7a1"
      }
    }
    {
      "event_ref": "d1d3416c-0b33-479e-a42f-dbb74effd290",
      "related_document_ref": "fffb529d-e5ad-4d87-b1e5-fa5085a675b5",
      "related_document_numbers": "US-INV-1234"
    }
    POST https://api.received.ai/api/usage/event/formatted
    {
      "format_name": "Default Format",
      "event": {}
    }
    {
      "event_ref": "d1d3416c-0b33-479e-a42f-dbb74effd290",
      "related_document_ref": "fffb529d-e5ad-4d87-b1e5-fa5085a675b5",
      "related_document_numbers": "US-INV-1234",
      "related_parent_document_ref": "cb88774f-fbdd-42ef-b9eb-822e6c581ee1",
      "related_parent_document_numbers": "US-INV-12345",
      "timestamp": "2024-02-06T11:55:00.037Z",
      "customer_ref": "eaa65954-9eb7-4246-a96c-7f6bc3aac42f",
      "customer_name": "ACME",
      "usage_product_ref": "94434ff8-8537-4f72-a5df-a45cca271544",
      "usage_product_name": "Units",
      "quantity": 10,
      "additional_report_data": {
        "note": "User-specific note"
      }
    }
    POST https://api.received.ai/api/usage/event/update
    {
      "event_ref": "ccd65954-0eb7-5246-a96c-7f6kc3atc42g"
      "timestamp": "2024-02-06T11:37:38.872Z",
      "quantity": 10,
      "additional_report_data": {
        "note": "User-specific note"
      }
    }
    POST https://api.received.ai/api/usage/event/formatted/update
    {
      "event_ref": "ccd65954-0eb7-5246-a96c-7f6kc3atc42g",
      "format_name": "Default Format",
      "event": {}
    }
    DELETE https://api.received.ai/api/usage/event/<event_ref>
    {
        "note": "User-specific note"
    }

    API version - {"Version": "V0"}

    Adding Customer For Debit Entity

    Adding a new customer for the receiving entity involves registering their details and payment information, enhancing the entity's client base and opening avenues for increased revenue streams.

    Add Customer

    Responses

    Request Schema

    Term
    Type
    Description
    Example

    name*

    String

    Company name

    Acme

    email*

    String

    Company's email addresses comma separated

    [email protected], [email protected]

    legal_name

    String

    Company's legal name - documents use

    Response Schema

    Term
    Type
    Description
    Exmaple

    customer_ref

    String

    Customer reference

    dcaff9c0-4a9c-4d01-b2dc-0da7efcc616c

    Get Debit Entity

    Responses

    Explore More APIs

    Delves into additional customers methods, broadening your integration capabilities and enhancing secure access

    List All Customers

    Filter List Of Customers

    Customer Invoices

    See invoices API

    List All Debit Entities

    Response

    Response Schema

    Term
    Type
    Description
    Exmaple

    entity_ref

    String

    The ID of the supplier entity

    dcaff9c0-4a9c-4d01-b2dc-0da7efcc616c

    entity_name

    String

    The name of the supplier entity

    Acme

    entity_legal_name

    String

    The legal name of the supplier entity - used of documents

    Endpoint on this page
    POST https://api.received.ai/api/customers
    GET https://api.received.ai/api/entities/<entity_ref>
    GET https://api.received.ai/api/customers/names
    GET https://api.received.ai/api/entities/names
    POST https://api.received.ai/api/customers
    Mandatory request
    {
      "name": "Acme",
      "email": "[email protected], [email protected]",
    }
    Extensive request
    {
      "name": "Acme",
      "legal_name": "Acme Inc.",
      "email": "[email protected], [email protected]",
      "ein": "12-3456789",
      "phone": {
        "countryCode": "1",
        "phone": "2121234567"
      },
      "country": "United States",
      "country_state": "NY",
      "city": "New York",
      "zip_code": "13601",
      "billing_address": "643 Mundy St, Watertown",
      "shipping_address": "643 Mundy St, Watertown",
      "currency": "USD",
      "tax": 17,
      "entity_ref": "9f9f6a42-fba0-4fb5-ac7a-e83ac2c045a9",
      "net_terms": 30,
      "billing_bank_transfer_details": {
        "billing_account_id": "12345678-1234-1234-1234-1234567890ab"
      },
      "billing_online_payment_details": {
        "auto_charge": true,
        "payment_gateway_id": "87654321-4321-4321-4321-0987654321ba",
        "payment_gateway_card_id": "card_abcdef1234567890"
      },
      "billing_crypto_details": {
        "address": "0x1234567890abcdef1234567890abcdef12345678",
        "tokens": ["BTC", "ETH"]
      },
      "settings": {
        "attach_usage_logs_csv": false,
        "attach_usage_logs_pdf": true
      }
    }
    {
      "customer_ref": {{customer_ref}}
    }
    GET https://api.received.ai/api/entities/<entity_ref>
    {
      "entity_ref": "db93868d-01f6-40dc-8609-0a314969d03b",
      "name": "ACME",
      "legal_name": "ACME Ltd.",
      "email": "[email protected], [email protected]",
      "registration_number": "12-3456789",
    
      "billing_details": {
        "billing_accounts": [
          {
            "billing_account_id": "0c013466-84f4-48a4-a91b-5cc9808fc3f5",
            "bank_name": "Bank Of America",
            "bank_code": "123",
            "branch": "123",
            "account": "123123",
            "account_name": "US BOA Account",
            "iban": "IL62 0108 0000 0009 9999 999",
            "swift": "BOFAUS3N",
            "routing": "071904779",
            "address": "643 Mundy St, Watertown, New York(NY), 13601",
          }
        ],
        "payment_gateways": [
          {
            "payment_gateway_id": "b59ec2d9-379a-46cf-b69c-fdb5fa47787d",
            "provider": "STRIPE",
            "payment_gateway_card_id": "acct_1OPTJWKoIU7lFy9r",
            "account_name": "US Account"
          }
        ]
      },
      
      "country": "United States",  
      "country_state": "NY",
      "city": "New York",
      "address": "643 Mundy St, Watertown",
      "phone": {
        "countryCode": "1",
        "phone": "2121234567"
      },
      "zip_code": "13601",
    }
    All Customers
    GET https://api.received.ai/api/customers/names
    Response
    {
        "customers": [
            {
                "customer_ref": {{customer_ref}},
                "customer_name": {{customer_name}},
                "customer_legal_name": {{customer_legal_name}}
            }
        ]
    }
    Filter list of customers
    GET https://api.received.ai/api/customers/names/filter?customer_name={{customer_name}}&orderBy=name&order=ASC
    Response
    {
        "customers": [
            {
                "customer_ref": {{customer_ref}},
                "customer_name": {{customer_name}},
                "customer_legal_name": {{customer_legal_name}}
            }
        ],
        "count": 1,
        "total": 1
    }
    GET https://api.received.ai/api/entities/names
    {
        "entities": [
            {
                "entity_ref": {{entity_ref}},
                "entity_name": {{entity_name}},
                "entity_legal_name": {{entity_legal_name}}
            }
        ]
    }

    Acme Inc.

    ein

    Number

    Employer identification number

    12-3456789

    phone

    Number

    Company's phone number in international format (7-20 digits)

    2121234567

    country_code

    Number

    Country code (1-4 digits)

    123

    country*

    String

    Company's country of operation

    United States

    country_state

    String

    Company's state of operation

    NY

    city

    String

    Company's city of operation

    New York

    zip-code

    Number

    Company's zip code

    10001

    billing_address

    String

    Company's billing address

    643 Mundy St, Watertown, New York(NY), 13601

    shipping_address

    String

    Company's shipping address

    643 Mundy St, Watertown, New York(NY), 13601

    currency

    String

    The default currency that is used for this company

    USD

    tax

    Number

    Value Added Tax - in percentage

    17

    entity_ref

    String

    The ID of the related supplier entity

    fae8fc36-d321-473f-9890-a9cb16deb4dd

    net_terms*

    Number

    The default net terms used for this company, It must be a positive number or a payment term: "DUE_UPON_RECEIPT", "DUE_UPON_USAGE"

    30

    billing_bank_transfer_details billing_account_id

    Object String

    Bank account details The ID of the bank account

    billing_online_payment_details auto_charge payment_gateway_id payment_gateway_card_id

    Object Boolean String String

    Online payment details Indicates whether the charging should be automatic or not The ID of the payment gateway The ID of a specific card defined in the payment gateway account, such as Stripe card id

    billing_crypto_details address tokens

    Object String Array

    The details of the crypto wallet The address of the crypto wallet The crypto tokens that supported by the wallet

    settings attach_useage_logs_csv attach_useage_logs_pdf

    String Boolean Boolean

    Set usage reports for Invoice email:

    Attach logs csv to invoice email Attach logs appendix to invoice PDF

    Acme Ltd.

    {
      "billing_account_id": "3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f"
    }
    {
      "auto_charge": true,
      "payment_gateway_id": "3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f",
      "payment_gateway_card_id": "card_abcdef1234567890"
    }
    {
      "address": "1Lbcfr7sAHTD9CgdQo3HTMTkV8LK4ZnX71",
      "tokens": ["BTC", "ETH"]
    }
    {
      "attach_usage_logs_csv": false,
      "attach_usage_logs_pdf": true
    }

    Contracts

    Create, update and fetch contracts information.

    Received's Contract APIs allow users to manage their contracts. The APIs support operations such as creating a new contract, manipulating existing contracts, cancelling active contracts and fetching contracts' related data.

    Don't forget! APIs must include:

    1. Bearer Token - return from the login call

    2. API version - {"Version": "V0"}

    Mange customer contracts

    Customers & Products

    Please refer to and APIs pages

    Create Contract

    Response

    Request Schema

    Contract scheme

    Field Name
    Type
    Description
    Example

    Product schema

    Field Name
    Type
    Description
    Example

    Response Schema

    Term
    Type
    Description
    Example

    Cancel Contract

    Response

    Request Schema

    Term
    Type
    Description
    Example

    Edit Contract

    Response

    Request Schema

    In addition to the contract schema (see Create Contract above):

    Field Name
    Description
    Example

    Explore More APIs

    Delves into additional contracts methods, broadening your integration capabilities and enhancing secure access

    Get Contract

    Response

    Get Customer Contracts

    URL Params

    Field Name
    Description
    Example

    Response

    Contract invoices

    See

    Get Current Invoices

    Returns the invoices for the ongoing billing period of the contract.

    Response

    Invoices schema can be found in

    Get Next Invoices

    Returns the invoices for the next billing period of the contract.

    Response

    Invoices schema can be found in

    Invoices

    Fetch and update invoices information.

    Received's Invoices APIs allow our users to manage their invoices and contracts. The APIs support operations such as fetching an invoice, reconciliation of an invoice, fetching customers' related data.

    Don't forget! APIs must include:

    1. Bearer Token - return from the login call

    2. API version - {"Version": "V0"}

    Fetching Invoices

    Fetching invoices involves retrieving specific billing documents either by their unique invoice ID or through a contract ID, which allows access to both current and upcoming invoices, ensuring timely financial management and client servicing

    Get Invoice

    Response

    Response Schema

    Field Name
    Type
    Description
    Example

    Get Customer / Contract Invoices

    URL Params

    Field Name
    Description
    Example

    Response

    Explore More APIs

    Delves into additional invoices methods, broadening your integration capabilities and enhancing secure access

    Reconcile Invoice / Mark Paid Invoice

    The Reconcile Invoice API facilitates the comparison and adjustment of invoice records with actual transactions, ensuring that payment details align with billed services, thereby streamlining the accounting process and enhancing financial accuracy

    Response

    Updated invoice object

    Endpoint on this page
    POST https://api.received.ai/api/contracts/
    POST https://api.received.ai/api/contracts/cancel/<contract_ref>
    POST https://api.received.ai/api/contracts/edit/<contract_ref>
    GET https://api.received.ai/api/contracts/<contract_ref>
    GET https://api.received.ai/api/contracts/filter
    GET https://api.received.ai/api/contracts/invoices/current/<contract_ref>
    GET https://api.received.ai/api/contracts/invoices/next/<contract_ref>
    Endpoint on this page
    GET https://api.received.ai/api/invoices/<invoice_ref>
    GET https://api.received.ai/api/invoices/reconcile

    customer_ref

    String

    The ID of the related customer

    fae8fc36-d321-473f-9890-a9cb16deb4dd

    customer_name

    String

    The name of the related customer

    Acme

    customer_legal_name

    String

    The legal name of the related customer

    Acme Inc.

    state

    String

    The current state of the invoice

    PAID

    created_at

    String

    The date of invoice creation. Standard time format "ISO 8601"

    2023-08-01T00:00:00Z

    issue_date

    String

    The date that the invoice should be issued. Standard date format "ISO 8601"

    2024-02-05

    due_date

    String

    The max date that the invoice should be paid. Standard date format "ISO 8601"

    2024-02-05

    submission_date

    String

    The date on which the invoice was submitted to a customer. Standard time format "ISO 8601"

    2023-08-01T00:00:00Z

    paid_date

    String

    The date that the invoice was paid. Standard date format "ISO 8601"

    2024-02-05

    is_partial_period

    Boolean

    Is the period of the invoice is a prtial period

    false

    accounting_event_type

    String

    The type of the accounting event of the document

    INVOICE

    currency

    String

    The currency of the invoice

    USD

    net_terms

    Number

    The default net terms used for this company, It must be a positive number or a payment term: "DUE_UPON_RECEIPT", "DUE_UPON_USAGE"

    DUE_UPON_RECEIPT

    sub_total

    Number

    The subtotal of the invoice

    1000.00

    total_discount

    Number

    The total discount applied on the invoice

    100.00

    total_tax

    Number

    The total tax applied on the invoice

    50.00

    credits_amount

    Number

    The amount of credit applied on the invoice

    0.00

    total

    Number

    The total amount of the invoice

    950.00

    contract

    Object

    The related contract

    contract_ref

    String

    The ID of the related contract

    3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f

    contract_number

    Number

    The number of the related contract

    335

    number_in_contract

    Number

    The serial number of the invoice inside the contract

    1

    total_in_contract

    Number

    The total amount if the contract

    1050.00

    products

    Array

    A list of the products associated with the contract

    product_name

    String

    The name of the product

    Smartwatch

    minimum_fee

    number

    The minimum fee of the product

    0.00

    sub_total

    Number

    The subtotal of the product

    800.00

    total

    Number

    The total amount of the product

    1000.00

    billing_bank_transfer_details

    Object

    Bank account details

    billing_account_id

    String

    The ID of the bank account

    3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f

    billing_online_payment_details

    Object

    Online payment details

    auto_charge

    Boolean

    Indicates whether the charging should be automatic or not

    true

    payment_gateway_id

    String

    The ID of the payment gateway

    3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f

    payment_gateway_card_id

    String

    The ID of a specific card defined in the payment gateway account

    card_abcdef1234567890

    billing_crypto_details

    Object

    The details of the crypto wallet

    address

    String

    The address of the crypto wallet

    1Lbcfr7sAHTD9CgdQo3HTMTkV8LK4ZnX71

    tokens

    Array

    The crypto tokens that supported by the wallet

    ["BTC", "ETH"]

    entity

    Object

    The related entity

    entity_ref

    String

    The ID of the related supplier entity

    7f90df6e-b833-4bfa-b6d8-ac6cbe347bc6

    entity_name

    String

    The name of the related entity

    US Entity

    entity_legal_name

    String

    The legal name of the related entity

    US Entity Ltd

    page*

    Number

    Page number

    0

    invoice_ref

    String

    The ID of the related invoice

    3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f

    document_number

    String

    Invoice number

    PO-2024-12345

    customer

    Object

    The related customer

    customer_refs

    List<String>

    The IDs of the customers

    contract_refs

    List<String>

    The IDs of the contracts

    limit*

    Number

    Page size

    50

    GET https://api.received.ai/api/invoices/<invoice_ref>
    {
        "invoice_ref": "3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f",
        "document_number": "INV-2023-001",
        "customer": {
          "customer_ref": "32c320bb-431b-488f-bcd4-729e495a33ad",
          "customer_name": "Acme Corporation",
          "customer_legal_name": "Acme Corp Ltd"
        },
        "state": "PAID",    
        "created_at": "2023-08-01T00:00:00Z",
        "issue_date": "2023-08-01",
        "due_date": "2023-09-01",
        "submission_date": "2023-08-02T00:00:00Z",
        "paid_date": "2023-08-01T00:00:00Z",
        "is_partial_period": false,
        "accounting_event_type": "INVOICE",
        "currency": "USD",
        "net_terms": 30,
        "sub_total": 1000.00,
        "total_discount": 50.00,
        "total_tax": 100.00,
        "credits_amount": 0.00,
        "total": 1050.00,
        "products": [
          {
            "product_name": "Product Name",
            "minimum_fee": 0.00,
            "sub_total": 800.00,
            "total": 1000.00
          }
        ],
        "contract": {
          "contract_ref": "32c320bb-431b-488f-bcd4-729e495a33ad",
          "contract_number": 123
        },
        "number_in_contract": 1,
        "total_in_contract": 1050.00,
        "billing_bank_transfer_details": {
          "billing_account_id": "32c320bb-431b-488f-bcd4-729e495a33ad"
        },
        "billing_online_payment_details": {
          "auto_charge": true,
          "payment_gateway_id": "32c320bb-431b-488f-bcd4-729e495a33ad",
          "payment_gateway_card_id": "card_abcdef1234567890"
        },
        "billing_crypto_details": {
          "address": "0x1234567890abcdef1234567890abcdef12345678",
          "tokens": ["BTC", "ETH"]
        },
        "entity": {
          "entity_ref": "32c320bb-431b-488f-bcd4-729e495a33ad",
          "entity_name": "Supplier Name",
          "entity_legal_name": "Supplier legal Name",
        }
      }
    
    GET https://api.received.ai/api/documents/filter
    // List of invoices
    GET https://api.received.ai/api/invoices/reconcile
    {
      "invoice_ref": "3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f",
      "paid_date": "2024-04-02T14:36:36.630Z"
    }

    line_items

    Array

    Selected lineitems from the pricing.

    If not set, all lineitems in the pricing will be added. Empty list will add pricing with no lineitems.

    line_item_id

    String

    The ID of the related lineitem in the pricing model

    3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f

    entity_ref

    String

    The ID of the related supplier entity

    7f90df6e-b833-4bfa-b6d8-ac6cbe347bc6

    billing_cycle

    Object

    The interval of time during which invoices are prepared

    unit

    String

    The time unit of the interval. Options

    MONTHLY

    cycle

    Number

    The number of time units between the intervals

    1

    issue_day

    String

    The date when the first invoice should be issued. Standard date format "ISO 8601". If not defined, will be set s.t. last invoice will not be partial.

    2024-02-10

    payment_time

    String

    Determines the timing of the payment relative to the billing period. Options

    BEFORE_PERIOD

    tax

    Number

    The percentage of tax to apply on the invoices

    17

    discount

    Number

    The percentage of discount to apply on the invoices

    10

    note

    String

    An free-form text field related to the contract

    "Special offer"

    billing_bank_transfer_details

    Object

    Bank account details

    billing_account_id

    String

    The ID of the bank account

    3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f

    billing_online_payment_details

    Object

    Online payment details

    auto_charge

    Boolean

    Indicates whether the charging should be automatic or not

    true

    payment_gateway_id

    String

    The ID of the payment gateway

    3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f

    payment_gateway_card_id

    String

    The ID of a specific card defined in the payment gateway account

    card_abcdef1234567890

    billing_crypto_details

    Object

    The details of the crypto wallet

    address

    String

    The address of the crypto wallet

    1Lbcfr7sAHTD9CgdQo3HTMTkV8LK4ZnX71

    tokens

    Array

    The crypto tokens that supported by the wallet

    ["BTC", "ETH"]

    net_terms

    Number

    The default net terms used for this company, It must be a positive number or a payment term "DUE_UPON_RECEIPT"

    DUE_UPON_RECEIPT

    customer_ref*

    String

    The ID of the related customer

    3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f

    po_number

    String

    Purchase order number

    PO-2024-12345

    products

    Array<Product>

    A list of the products associated with the contract

    product_pricing_ref*

    String

    The ID of the related pricing model

    3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f

    billing_start_date*

    String

    Billing start date

    2024-01-01

    billing_end_date*

    String

    Billing end date

    contract_ref

    String

    Contract reference

    32c320bb-431b-488f-bcd4-729e495a33ad

    contract_ref*

    String

    Contract reference

    32c320bb-431b-488f-bcd4-729e495a33ad

    contract_ref*

    String

    The ID of the edited contract

    3a7b0f7d-fdf6-4f54-90f4-2307b73ae85f

    include_current_invoice

    Boolean

    Should the change be applied on the current invoice or start from the next one. The default value is "false"

    false

    customer_ref*

    String

    The ID of the customer

    pageSize*

    Number

    Page size

    20

    pageNumber*

    Number

    Page number

    Customer
    Product
    invoices API
    invoices page
    invoices page

    2025-12-31

    0

    POST https://api.received.ai/api/contracts/
    Request
    {
      "customer_ref": "e0b8d5f5-6c4c-4ce9-bf21-1e52c2c4770a",
      "po_number": "PO123456",
      "products": [
        {
          "product_pricing_ref": "a3c4e5f6-7b8d-9e0f-1234-5a6b7c8d9e0f",
          "billing_start_date": "2023-01-01",
          "billing_end_date": "2023-12-31",
          "line_items": [
            {
              "line_item_id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
            }
          ]
        }
      ]
    }
    Extensive request
    {
      "customer_ref": "e0b8d5f5-6c4c-4ce9-bf21-1e52c2c4770a",
      "po_number": "PO123456",
      "products": [
        {
          "product_pricing_ref": "a3c4e5f6-7b8d-9e0f-1234-5a6b7c8d9e0f",
          "billing_start_date": "2023-01-01",
          "billing_end_date": "2023-12-31",
          "line_items": [
            {
              "line_item_id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
            }
          ],
          "entity_ref": "a3c4e5f6-7b8d-9e0f-1234-5a6b7c8d9e0f",
          "billing_cycle": {
              "unit": "MONTHLY",
              "cycle": 1
          },
          "issue_day": {{first-invoice-day yyyy-mm-dd}},
          "payment_time": {{BEFORE_USE/DURING_USE/AFTER_USE}},
          "tax": {{tax-percentage}},
          "discount": {{discount-percentage}},
          "net_terms": {{days-number/DUE_UPON_RECEIPT}},
          "note": {{note}},
          "billing_bank_transfer_details": {
              "billing_account_id": {{billing_account_id}}
          },
          "billing_online_payment_details": {
              "auto_charge": {{bool}},
              "payment_gateway_id": {{payment_gateway_id}},
              "payment_gateway_card_id": {{payment_gateway_card_id}}
          },
          "billing_crypto_details": {
              "address": {{address-wolet}},
              "tokens": [{{USDC/USDT}}]
          }
        }
      ]
    }
    {
      "contract_ref": "32c320bb-431b-488f-bcd4-729e495a33ad"
    }
    POST https://api.received.ai/api/contracts/cancel/<contract_ref>
    {
      "include_current_invoice": false
    }
    {
      "contract_ref": "32c320bb-431b-488f-bcd4-729e495a33ad",
      // Contract scheme
    }
    POST https://api.received.ai/api/contracts/edit/<contract_ref>
    Request
    {
      "include_current_invoice": false,
      
      "customer_ref": "e0b8d5f5-6c4c-4ce9-bf21-1e52c2c4770a",
      "po_number": "PO123456",
      "products": [
        {
          "product_pricing_ref": "a3c4e5f6-7b8d-9e0f-1234-5a6b7c8d9e0f",
          "billing_start_date": "2023-01-01",
          "billing_end_date": "2023-12-31",
          "line_items": [
            {
              "line_item_id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
            }
          ]
        }
      ]
    }
    {
      "contract_ref": "32c320bb-431b-488f-bcd4-729e495a33ad"
      // Contract scheme
    }
    GET https://api.received.ai/api/contracts/<contract_ref>
    // Contract scheme
    GET https://api.received.ai/api/contracts/filter
    Example
    GET https://api.received.ai/api/contracts/filter?pageSize=20&pageNumber=0&customer_ref=1c577d64-ced0-4fce-a40f-9da39032d8c4
    [
      {
        "contract_ref": "f9ab37b9-b96a-488c-b04e-604c7cb374fa",
        "customer_ref": "string",
        "po_number": "string",
        "products": []
      }
    ]
    GET https://api.received.ai/api/contracts/invoices/current/<contract_ref>
    // List of invoices
    GET https://api.received.ai/api/contracts/invoices/next/<contract_ref>
    // List of invoices
    ONE_TIME/MONTHLY/YEARLY/QUARTERLY
    BEFORE_USE/DURING_USE/AFTER_USE