# Migrating from Edvisor and EdWallet

> Connect the Edvisor API to Qualy with the Edvisor add-on, or migrate from Edvisor and EdWallet: students, sales, invoices, direct payment links, school payments and commissions.

Edvisor is an agency platform (CRM, quotes, sales, student portal), and EdWallet is the wallet built into it for collecting from students and paying schools. Neither publishes a developer API. Agencies can connect Edvisor to Qualy with the **Edvisor add-on**, which brings students, sales and invoices across for you; otherwise, import your data through Qualy's API.

You don't have to stop using Edvisor for sales and quotes. Many agencies keep it as the CRM and use Qualy for the money.

---

## Concept map

| Edvisor / EdWallet | Qualy | Notes |
| --- | --- | --- |
| Student | [Contact](https://v1-spec.qualyhq.com/#post-/v1/contacts/create) | — |
| Sale / booked quote | [Order](/docs/guides/creating-orders.md) + [payment intents](/docs/guides/creating-payment-intents.md) | One payment per amount due. Keep a link back to the Edvisor sale (see below). |
| Course / product on a quote | [Service](https://v1-spec.qualyhq.com/#post-/v1/services/create) | Set the school as the service's `supplier`. |
| EdWallet direct payment link | [Payment link](/docs/guides/payment-links.md) | One-off per student, or reusable per service. |
| EdCommerce booking with a deposit | [Reusable link](/docs/guides/payment-links.md#reusable-links) with a variable-amount or plan template | — |
| Student pays in their own currency | `settlementCurrency`, or the student chooses on the portal | Local methods appear by currency (PIX, PayID, bank transfer…). |
| Agency markup on FX | Your Qualy pricing settings | Talk to us about how FX is priced on your account. |
| Payment to school | [Payment split](/docs/guides/creating-payment-splits.md) to a [partnership](https://v1-spec.qualyhq.com/#post-/v1/partnerships/create) | Paid out automatically once the student's payment settles. |
| Collecting commission from a school | `keep-percentage` split, or a [dunning](/docs/guides/dunning.md) chase for what a partner owes | Qualy can issue the recipient-created tax invoice (RCTI) for partner payouts. |
| Withdraw to your bank | Payouts to your account | — |

---

## The Edvisor add-on

For agencies, the add-on keeps Qualy in step with Edvisor so you don't re-key anything:

| Edvisor | Becomes in Qualy |
| --- | --- |
| Student | Contact, linked back to the student in Edvisor |
| Provider (school) | Partnership |
| Sale, or each instalment of its payment plan | Order + payment intent |
| Invoice (OSHC, visa and other fees) | Payment intent |
| Payments already recorded | Transactions on those payments |
| Tuition commission (optional) | `keep-percentage` split, using the partnership's default rate |

### Connecting it

1. Turn on the Edvisor add-on in your Qualy dashboard.
2. Enter an Edvisor email and password. Use a dedicated integration login rather than a person's.
3. Pick the offices to sync, or leave it empty for all the login can see.
4. Choose what to sync: a date window, sales, invoices, commission splits, and whether synced payments are approved automatically.

### Good to know

* **It syncs on a schedule, not instantly.** Edvisor has no webhooks, so a new sale appears in Qualy at the next sync.
* **Sales without a payment plan wait** until one is added, unless you change that setting.
* **Avoid double-counting.** If you moved from invoices to sales in Edvisor, set "Invoices moved to sales on" so the same booking isn't synced from both.
* **Set commission rates on the partnerships in Qualy.** Edvisor doesn't hold rates the add-on can use.
* **Agencies only** for now. Talk to us if you're a school on Edvisor.

---

## Importing your data yourself

If you'd rather not use the add-on, or you're moving off Edvisor entirely:

1. **Export** students, sales and open balances from Edvisor (ask your Edvisor contact if an export isn't available in the app).
2. **Create contacts** from the export with `POST /v1/contacts/create`. Contacts are matched by email, so re-running is safe.
3. **Create partnerships** for each school you pay, with their bank accounts.
4. **Create services** for the courses you sell, with the school as `supplier`.
5. **Create payments** only for balances still to be collected. Leave anything already in EdWallet to finish there.

### Linking back to Edvisor

Payments and contacts accept `integrationLinks.edvisor`, the URL of the matching Edvisor sale. Your team gets a one-click way back to the original record:

```javascript
body: JSON.stringify({
  intentType: 'ad-hoc',
  contact: 'ana.lima@example.com',
  currency: 'AUD',
  items: [{ name: 'Tuition fee', amount: 820000 }],
  integrationLinks: {
    edvisor: 'https://app.edvisor.io/agency/en/1974/sales/22388',
  },
}),
```

---

## Paying the school and keeping your commission

On EdWallet you receive the student's money, then send the school its share. In Qualy you declare that on the payment and it happens on its own:

```javascript
body: JSON.stringify({
  type: 'keep-percentage',
  currency: 'AUD',
  amount: 697000, // what the school receives
  keep: 123000,   // your commission
  partnership: 'usyd',
  contact: 'ana.lima@example.com',
  paymentIntent: '661e9bbfe0eb901d6b2f2670',
  item: '661e9bc0e0eb901d6b2f2682',
}),
```

Preview the payouts first with [`POST /v1/payment-splits/preview`](/docs/guides/creating-payment-splits.md#previewing-payouts).

---

## Things to know

* **Wallet balances don't move.** Withdraw EdWallet balances to your bank before you switch.
* **Students re-enter payment details** on their first Qualy payment.
* **Send new links.** Old EdWallet links keep working with EdWallet; new balances should go out as Qualy links so nobody pays twice.
