Skip to main content
Vendor paid advertising

Integration guide for the Vendor Paid Advertising product

Christiaan Lok avatar
Written by Christiaan Lok
Updated over 2 months ago

Introduction

Vendor Paid Advertising (VPA) with Rello is an invoice factoring product that allows vendors to effectively finance their advertising/marketing costs up front, and repay the agreement from the settlement proceeds (assuming a successful sale). Vendors are also able to include other costs to support a sale, including minor renovations, auction fees, professional fees and others.

The agency typically facilitates the agreement (regardless of the use of funds), and receives funds from Rello for approved agreements.

Repayment to Rello is typically arranged with the vendor's conveyancer, however agents can also manage this process and typically also act as the single point of contact for updates and communication around the agreement while it's active.

Parties to an agreement

A VPA agreement involves three parties - an agency, a vendor, and Rello - which may be technically facilitated by a fourth party, the CRM/platform used by the agency.

An agency uses their CRM to create a payment request in Rello, and send to the vendor

Payment requests are always created within an agency (or merchant) account, by either a CRM (authenticated as a partner) or the agency direct (authenticated as a merchant). Once created, the payment request can be accessed via secure URL, which is provided to the vendor via various optional methods (e.g. via CRM, via Rello email, via Rello SMS, etc).

Request statuses

Payment requests enabled with the VPA product can exist in a number of statuses, depending on the specifics of the agreement.

Note that any payment request enabled with the VPA product will, by default, also offer the vendor the option of paying the entire request amount up front via credit/debit card or EFT, instead of taking the finance option. If a vendor chooses to pay via card/EFT, the request will move directly from "pending" to "complete" when the payment is successful.
โ€‹

The status model for a VPA enabled request exists as:

Where:

  1. PENDING requests are awaiting vendor action

    1. If a request is not completed or submitted within 30 days, it will expire and show as CANCELLED

  2. CANCELLED requests have been cancelled by the agent or Rello for a variety of reasons, and typically will not be re-used

    1. Some agents will choose to resend an expired request via the Rello portal, which will move the request back into PENDING status

  3. SUBMITTED requests are under review by Rello's credit team (vendor has accepted the terms of an agreement and submitted the request for VPA to Rello)

  4. DECLINED requests are not able to be financed by Rello are are explicitly declined (i.e. don't send this one back again)

  5. ACTIVE requests are approved finance agreements

  6. COMPLETED requests have been fully paid, either up front via card/EFT, or per the terms of a finance agreement

Data needed for a VPA request

To create a payment request enabled with the VPA product, the following minimum data is required:

  1. Request amount - the amount the agency is requesting the vendor to pay, for the agreed/authorised costs

  2. Reference - a reference from the agency to contextualise/identify the request for anyone viewing it

  3. Disbursement account - the bank account the agency wishes to receive funds into

  4. Property address - the address of the property being sold

  5. Estimated sale price - the price advised by the agent to the vendor, typically noted in the listing agreement (if a range, use the higher number)

To activate a payment request enabled with the VPA product, the following additional data is required (can be provided at the time of creating the request, or later if the calling system flow requires as such):

  1. Signed listing agreement - a PDF copy of the signed listing agreement or other contractual documentation, showing

    1. The property address

    2. The vendors

    3. The agency authorised to sell the property

    4. The authorised marketing amount

For optimal CX, we'd recommend considering the later points in this article based on having access to the following data:

  1. Vendor name, email, mobile

  2. Email for agency user/s to receive notifications and remittance advice (separately)

  3. Portal (REA, Domain, etc) links to the listing

  4. Vendor conveyancer details

  5. Estimated/actual settlement dates

  6. Sale status

  7. References to support auto/easy reconciliation of bank transfers to the agency


It's recommended to build your integration such that all data required to activate a finance agreement is provided in the initial API call - this simplifies the technical and business process, and supports a full-automated assessment process for same day funding.

API requests

This guide assumes a working knowledge of the Rello API, including authentication methods as partner/merchant, understanding of the different field/ID types etc - please review the API documentation for further detail before attempting your first API request.

The VPA product requires use of the /paylater endpoint, documented here:

A sample payload to create a VPA enabled payment request (POST to /paylater) is noted below.

The payload for a payment request is generic across all product types, product fields are used to specifically identify the product (VPA) and collect data required to activate an agreement enabled with the product

Initial request

Refer to the API documentation to confirm the specific field mandatory/optional fields to create a payment request, otherwise you can copy the payload below as a base to trial in Postman or similar tools against the Rello sandbox environment (just remember to update the email/phone, file contents, and merchant ID).

{
"merchantId": "M-1234-5678",

"reference": "1 Smith Street Sydney",

"amount": 10000.01,

"product": [
{
"productId": "PL-2204-0871",
"productFields": [
{
"fieldId": "PF-3163-4120",
"value":
{
"unit_number": "4454",
"street": "1 Smith Street",
"suburb": "Sydney",
"state": "VLC",
"postcode": "2000",
"country": "Australia"
}
},
{
"fieldId": "PF-3904-5873",
"value": "2000000.00"
},
{
"fieldId": "PF-9890-6039",
"value": "data:application/pdf;base64,JVBERi0xLjMNCiXi48=="
},
{
"fieldId": "PF-1121-9062",
"value": "Conveyancer Business Name"
},
{
"fieldId": "PF-5977-6671",
"value": "[email protected]"
}
]
},

"disbursement": {
"accountName": "Harry Smith",
"accountNumber": "1234567890",
"accountBsb": "123-456",
"reference": "INV-12345"
},

"sender": {
"sendComms": true,
"emailMask": "Agency Name Here",
"name": "Sales Agent Name",
"phone": "1300 123 456",
"email": "[email protected]"
},

"receiver": {
"name": "Jane Jones",
"mobile": "0412345678",
"email": "[email protected]"
},

"paymentPage": {
"name": "Agency Pty Ltd",
"abn": "321234567899",
"address": "1 Smith Street, Sydney NSW 2000",
"phone": "1300 123 456",
"email": "[email protected]",
"website": "https://www.agency.com",
"message": "Hey there, please pay the marketing costs.",
"logos": [
"https://www.agency.com/logo1.jpg",
"https://www.crm.com/logo2.jpg"
]
},

"files": [
"some-file-in-base64",
"another-file-in-base64"
],

"notifications": {
"webhook": "https://crm.webhook/auth-required",
"token": "eyJpZCI6IjYwZWU3MzY0ODYwNGY3MmQzOTBmMGNkZCIsIm5hbWUiOi",
"email": [
"[email protected]",
"[email protected]"
]
},

"remittance": [
"[email protected]",
"[email protected]"
]
}

Field map (noting that all fields are of JSON string type, except for the amount which is JSON number):

merchantId

(required)

The agency account the PR is to be created on

reference (required)

A reference provided by the CRM or agent, displayed to the vendor and in the Rello portal

(typically the property address)

amount (required)

The amount required to be paid to the agency (excludes transaction/service fees that may be added depending on the vendor's choice of payment method)

product (required)

productId: "PL-2204-0871"

productFields / fieldId: "PF-3163-4120"

productFields / fieldId: "PF-3904-5873"

(validated as numbers only with 2 decimal places)

productFields / fieldId: "PF-9890-6039"

(b64 file, PDF format, max 15mb)

productFields / fieldId: "PF-1121-9062"

productFields / fieldId: "PF-5977-6671"

PL-2204-0871 = VPA

(required)

PF-3163-4120 = property address (required)

PF-3904-5873 = estimated sale price (or max value of a range, if provided)

(required)

PF-9890-6039 = sales/listing authority

(optional on create, required to activate)

PF-1121-9062 = vendor's conveyancer name

(optional)

PF-5977-6671 = vendor's conveyancer email address

(optional)

disbursement (required)

accountName

accountBsb

accountNumber

reference

OR

accountId

reference

accountName, accountBSB, accountnumber = agency bank account details (must match a verified bank account on the agency's Rello account)

reference = reference to add to the bank transfer sent to the agency (to assist reconciliation - e.g. invoice number, property address, CRM reference etc)

accountId = optional alternative to providing the full bank details, a unique ID for the verified bank account at Rello, requires initial sync of these details (refer to: https://api-docs.rellopay.co/v2.html#tag/General/operation/get-bankaccounts)

sender (optional/recommended)

sendComms

emailMask

name

phone

email

sendComms = true/false, to send SMS/email from Rello

emailMask = mask the email sent from Rello

name, phone, email = details to show as the "sender" of the payment request (e.g. the sales agent)

receiver (optional/recommended)

name

mobile

email

name, mobile, email = vendor details, to send an SMS/email to (must be a valid Australian mobile number)

paymentPage (optional/recommended)

name

abn

address

phone

email

website

message

logos

Details to present on the payment page, representing the agency

Max 2 logo images

files

(b64 file, PDF format, max 15mb)

Any PDF files to be attached to the payment request for display to vendor, or shared with Rello (e.g. supporting invoices, other documentation as appropriate to the request)

notifications (optional/recommended)

webhook

token

email

webhook to receive notifications back to the calling system, as PR changes status (typically the CRM)

token to secure the webhook

email addresses to receive email notifications (typically agency contacts)

remittance (optional/recommended)

email addresses to receive remittance advice for Rello disbursement to agency

200 Response

{
"prId": "PR-1234-5678",
"prUrl": "https://www.flippay.com.au/PR-1234-5678",
"status": "pending"
}

Field map (noting that all fields are of JSON string type):

prId

The unique ID within Rello for this payment request

prUrl

A publicly-accessible URL to the payment request's payment page

status

The current status of the payment request (typically will be returned as "pending")

Follow-up requests (depending on your CX)

For the best customer experience (both vendor and agency), we recommend the following API requests are executed as data becomes available - either including in the initial request, or updating the payment request at a later time using the PATCH service (refer to API docs here: https://api-docs.rellopay.co/v2.html#tag/Pay-later/operation/patch-paylater)

Conveyancer details

The easiest method to facilitate repayment to Rello from the property sale proceeds is via the settlement process - providing the conveyancer details to Rello allows Rello to contact the conveyancer and provide instructions (with vendor approval) for the repayment ... benefiting the agency and vendor .

As the vendor's conveyancer details are available, they can be updated using the following payload on the PATCH service:

{
"productFields": [
{
"fieldId": "PF-1121-9062",
"value": "Conveyancer name"
},
{
"fieldId": "PF-5977-6671",
"value": "Conveyancer email"
}
]
}
  • Name is preferred to to be the business name, but can be any contact name available

  • Email address must be a valid email address

  • Both fields are JSON string type

Estimated settlement date

As the settlement date is confirmed, Rello can provide updated financials to the vendor's conveyancer and ensure the repayment process completes smoothly, while keeping the agent in the loop.

As the settlement date is advised/updated, it can be updated (multiple times) using the following payload on the PATCH service:

{
"productFields": [
{
"fieldId": "PF-6966-4726",
"value": "2024-09-15"
}
]
}
  • Field is JSON string type

  • Field is validated as numbers separated by hyphen "-", in format "YYYY-MM-DD" only

Property sale status

Advising the status of the sale keeps Rello aware of the progress of the agreement, saving time/email/calls between Rello and agency.

E.g. when a property is withdrawn or sold, a Rello agreement is immediately due for replacement - it's easier for all parties if this status is shared & aligned.

As the property moves through it's sale process, the status of that process can be updated using the following payload on the PATCH service:

{
"productFields": [
{
"fieldId": "PF-3251-7669",
"value": "Withdrawn"
}
]
}
  • Field is JSON string type

  • Values must match from the following list (case-sensitive):

    • Currently off-market

    • For sale

    • Under contract

    • Unconditional

    • Withdrawn

    • Settled

REA/Domain/other portal URL

Providing the portal link acts to support/prove the property sale status, and saves check-in email/calls between Rello, agents and vendors.

As the listing is published to a marketing portal such as REA or Domain, the link to that portal listing can be updated using the following payload on the PATCH service:

{
"productFields": [
{
"fieldId": "PF-7740-1873",
"value": "https://www.domain.com.au/1-smith-street-sydney-nsw-2000-2019444651"
}
]
}
  • Field is JSON string type

  • REA or Domain preferred in the case of multiple portals, otherwise any is acceptable

CX considerations

Where possible:

  • Consider including as much data as available in the initial POST request

  • Consider updating as much data as available in subsequent PATCH requests - particularly the property sale status, settlement date and portal links

Decide how to get a payment request to a vendor:

  • Email OR SMS from Rello to Vendor (enable comms in the initial POST request)

  • Retrieve URL in response to initial POST request and share via CRM

Set/manage notifications & remittance advice to support individual agency preferences:

  • Webhook notifications are useful for presenting data/status etc inside a CRM

  • Email notifications can be sent to any number of email addresses - consider allowing agencies to set a default, or allowing individual users to add/remove themselves

  • Remittance advice can be sent to any number of email addresses - consider allowing agencies to set a default, or allowing individual users to add/remove themselves

Set disbursement reference to support agency reconciliation:

  • The reference field within the disbursement object is powerful - allow users/agencies to set it according to their system/process preferences (if no value is set, Rello will apply a default value per preferences advised within the Rello portal).

  • If a CRM supports automated reconciliation from bank statements, consider what reference needs to be on a bank transaction to support this, and insert it in this field

  • If an agency is using some other accounting service, consider how a similar function operates and how a user might add/control the reference to be added

Set payment page styling:

  • More populated fields provide more confidence & credibility to users accessing the payment page

Supporting docs:

  • Consider allowing users to attach PDF documents to a payment request, outside of the product fields - this supports a range of use cases for agencies & Rello, all providing for better transparency and efficiency around the payment process

Did this answer your question?