Signing the Agreements

Present Everee's embedded signing experience so the company's signer can review the agreements, choose the funding bank account, and sign once.

The company's signer reviews and signs Everee's agreements in an embedded experience that you show inside your product. You do not build any of it: Everee renders the documents, collects the signature and the funding bank account, and keeps the signed record.

What the signer signs

The signer signs one set of three documents with a single signature:

DocumentPurpose
Subscription AgreementThe company's agreement with Everee, including pricing and billing items Everee set for it.
ACH Debit AuthorizationAuthorizes Everee to debit the company's funding bank account.
IRS Form 8655Authorizes Everee to act for the company on payroll tax matters.

The signer also connects the company's funding bank account in the same flow. They choose it by signing in to their bank, and it must be a business account. They confirm the account, type their name to sign, agree to sign electronically, and initial the key terms. The signer's name must match the signer you gave Everee.

When you can ask for a signature

You cannot start signing until Everee has requested a signature. That happens when:

  1. the draft is complete (the readiness check shows nothing missing except the contract, the bank account, and the certificate of authority), and
  2. Everee has loaded the contract terms for the company.

You are notified with a company-onboarding.signature-requested webhook, and Get onboarding status shows contract.status of AWAITING_SIGNATURE. Creating a session before then returns 409.

Show the signing experience

  1. Call Create contract signing session for the company. Give an eventHandlerName that your page listens for (see Component events), and optionally brandingEnabled to control whether Everee's branding is shown.

    curl -X POST https://api.everee.com/integration/v1/partner/companies/$ID/contract/embedded-session \
      -u "$KEY:" -H "Content-Type: application/json" \
      -d '{ "eventHandlerName": "evereeHandler" }'
  2. Display the returned url in an iframe or webview, as you would any other Everee Embed Component.

Sessions are single-use and expire after a few minutes, so create one immediately before you show the experience and create a new one each time the signer returns. The signer's access is limited to this experience; it cannot be used for anything else.

The experience uses your partner's branding (name, logo, and colors).

Handle the events

The component sends these events to your page:

eventTypeMeaning
MESSAGE_PORT_REGISTEREDThe component is ready and can send you events.
CONTRACT_SIGNEDThe signer signed. Update your UI; the same fact arrives as a webhook.
DISMISSThe component asks you to close its view. If error is true and errorCode is EMB-301, the session expired or is not allowed: create a new session.

Treat the webhook as the source of truth. When the signature is recorded Everee sends company-onboarding.contract-signed, and the status shows contract.status of SIGNED.

After signing

Changing information after signing

The documents print the company's name, address, contacts, owners, tax details, and pricing, so once they are signed that information is locked: calls that would change it are rejected with 409. You can still upload the certificate of authority and, while the company is under review, answer Everee's requests.

If something on the documents has to change, there are two ways it can happen:

  • Everee changes the contract terms or a company detail. The signed documents are voided and a new signature is requested.
  • You correct a person's phone number or email with Correct a person's contact details. This also voids the signature and requests a new one.

When a signature is voided you receive company-onboarding.contract-voided with the reason, followed by a new company-onboarding.signature-requested with the reason RE_SIGN_REQUIRED. Create a new signing session for the signer to review the updated documents and sign again. While the company is under review, Everee also opens a CONTRACT_CORRECTION request so you can see the signature is needed; it resolves when the new signature is recorded.

The previous signed documents are kept as history. Only the latest signature counts.


Did this page help you?