Integration requirements are:

  • a Jumpseller store;
  • an invoicing system accepting external integrations (normally they consume Webservices via XML or JSON);
  • technical knowledge in programming software to integrate both systems;
  • the integration itself, typically on an external server, managing the communication between the store and the invoicing system.

Workflow

The typical flow between the two systems is:

  • a new order is created in the Jumpseller store;
  • the Jumpseller's store informs the invoicing system of this new sale, passing a JSON with the order's information;
  • the external invoicing system creates the invoice;
  • either the invoicing system or the integration notify the customer of the invoice generation, normally by attaching the PDF invoice to an email;
  • (optionally) if the invoicing system also controls the stock, the stock should be updated according this event;
  • (optionally) when the Jumpseller’s order changes status - Pending Payment, Paid or Canceled - the invoicing system can also be informed - important when "Paid" orders are "Canceled" and a "Credit Note" needs to be created.

Integration

The integration code, can be written in any given language, capable of processing JSON data. This integration code is hosted your own web-server and will handle the communication between the store and the invoicing system.

We recommend you to start by:

  • creating a test store, free up to 14 days - let us know if you need more trial days;
  • add an webhook, firing data on every "Order Update" to your Integration - use ResquestBin to inspect them;
  • at your Integration code, read the body message and headers of the POST request;
  • with this data, process it and push it to the invoincing system, thus creating the invoice;
  • add an "Order History Event" at the Jumpseller's store Order. Use the API POST /orders/{id}/history.json endpoint;
  • send an email to the Customer, with the Merchant's email address in BCC, informing him of the newly created invoice;
  • "Tax Id" field can be set on a store as "Optional" or "Mandatory" on the Admin Panel. Prepare your Integration according this;
  • (optionally) create "Checkout Custom Fields" to collect specific Invoicing Information, like "Business Name". Use the API too.
  • (optionally) add Javascript Code to the store's front-end to validate fields, like "Business Name" or the "Tax Id". Use the Javascript Apps for this purpose.

when this is done we recommended you to publish your integration, as an App, to all Jumpseller merchants. This will your work visibility and will be easier for new merchants to install and start using your integration.


Resources: