# Email Invoice Gateway

Pro Feature

Email Invoice is a free plugin, but the POS offers it only with [WCPOS Pro](/ar/getting-started/free-vs-pro.md). Without Pro, the till takes Cash and Card. [Set it up](#set-up).

When a customer will pay later, send them an invoice instead of taking money at the till. They get your store's invoice email with a **Pay for this order** link. The order waits as **Pending payment** until they pay it online or come back to pay in the store. Use it for a business customer who pays through their accounts team, a large order that needs approval, or a customer who leaves before paying.

Go straight to: [Send an invoice](#send) · [After you send it](#invoice-sent) · [Send it again or cancel it](#follow-up) · [Take payment in the store](#pay-in-store) · [Set it up](#set-up)

## Send an invoice[​](#send "رابط مباشر إلى Send an invoice")

You need a connection, and the invoice covers the whole order: once any payment has been taken on it, Email Invoice can't be chosen.

1. Ring up the sale as usual. If the customer has an account, choose them as the cart's customer: their billing email fills in the address for you.
2. Press **Checkout**, then tap **Email Invoice** on the Payments tab.
3. Type the customer's email address, or check the one already filled in, then press **Send invoice**.

The store sends the email and marks the order **Pending payment**. Stock is taken off when the invoice is sent, the same as for a paid sale.

### The invoice form[​](#invoice-form "رابط مباشر إلى The invoice form")

Tapping **Email Invoice** puts this form above the keypad:

* **The note** — tells you the customer gets an email with a "Pay for this order" link. You can change it: see [Set it up](#set-up).
* **Email address** — where the invoice goes. For a guest, type it. Until there is an address, the line under the amount says **Enter Email address** and the button stays greyed out.
* **Save email to billing address** — tick it to store this address as the order's billing email. Leave it clear to send the invoice without changing the order.
* **Send invoice · $45.00** — the button names the whole order total. An invoice is always for the whole order, so the keypad is locked.

## After you send it[​](#invoice-sent "رابط مباشر إلى After you send it")

The checkout turns into the **Invoice sent** screen. Nothing was collected, so there is no tick and no change to give. If **Automatically show receipt after checkout** is off, a short **Invoice sent to <jane@example.com>** message shows instead, and the cart is ready for the next sale.

* **Invoice sent** — in place of the paid amount.
* **to <jane@example.com> · $45.00 due** — where it went and what the customer owes.
* **Receipt** — the order's receipt, ready to print, email or save as PDF, as on any sale. See [Receipts and the Paid Screen](/ar/sell/print-email-receipts.md).
* **New sale** (**Print receipt · New sale** when receipts print automatically) — clears the till for the next customer. The order leaves the cart and waits on the [Orders](/ar/manage-store/orders.md) screen.

### What the customer gets[​](#customer-email "رابط مباشر إلى What the customer gets")

The customer gets WooCommerce's customer invoice email: the items, the totals and a **Pay for this order** link. The link opens your store's order payment page, where they pay with any payment method your online store offers. When they pay, the order turns paid in WooCommerce and on the Orders screen.

The email's look and wording come from `WP Admin > WooCommerce > Settings > Emails`.

## Send it again or cancel it[​](#follow-up "رابط مباشر إلى Send it again or cancel it")

On the **Orders** screen, open the order: tap its row, or with a mouse, the **›** at the end of the row. The order opens on its View tab. Under **Payment**, a line such as **Invoice sent to <jane@example.com> on Nov 7, 3:04 PM** says where the invoice went and when. Pick the button for what the customer needs:

* Lost the email, or it went to the wrong address: [**Send again**](#send-again).
* Won't pay by invoice after all: [**Cancel invoice**](#cancel).
* At the till to pay: [**Re-open**](#pay-in-store).

### Send it again[​](#send-again "رابط مباشر إلى Send it again")

1. Press **Send again**. The order goes back in the cart.
2. Press **Checkout**: **Email Invoice** is already chosen.
3. Check the address and press **Send invoice**.

The customer gets a fresh email for the same order. Only this newest invoice can be cancelled.

### Cancel it[​](#cancel "رابط مباشر إلى Cancel it")

Cancelling doesn't unsend the email

The email stays in the customer's inbox, and its **Pay for this order** link still takes payment while the order is open. Tell the customer before you take another payment.

Press **Cancel invoice**. It needs a connection. The till says **Invoice cancelled. The order is open again.** and the order's status becomes **POS open**, ready for another payment.

### Take payment in the store instead[​](#pay-in-store "رابط مباشر إلى Take payment in the store instead")

The customer comes back to pay. Before you take payment, tell them not to use the email's payment link as well, or they could pay twice.

1. On the order's View tab, press **Re-open**. The order goes back in the cart, where you can also change it. See [Re-opening Orders](/ar/manage-store/orders.md#reopening-orders).
2. Press **Checkout**. Above the keypad, a line says **Invoice sent to <jane@example.com> on Nov 7, 3:04 PM**, with its own **Cancel invoice** button.
3. Take the payment on any tile as usual. Once money is taken, the invoice no longer waits for the customer.

## Set it up[​](#set-up "رابط مباشر إلى Set it up")

Email Invoice uses your store's own email and online payment methods. It needs no account or keys.

1. **Install it.** In `WP Admin > POS > Settings > Extensions`, find **Email Invoice Gateway**, press **Install**, then **Activate**.

![POS Settings, Extensions: the search box holding Email Invoice, and the Email Invoice Gateway card, installed but inactive, with its Activate button](/img/2.x/payment/gateways/en/desktop-light-regular--s1-1-extensions-email-invoice.png)123

1. **Search** — type **Email Invoice** to find the card.
2. **Email Invoice Gateway** — the card shows the version and a status: **Inactive** once installed, **Active** once switched on.
3. **Install**, then **Activate** — each button gives way to the next step. Once the card says **Active**, carry on with step 2.

2) **Switch it on for the POS.** In `WP Admin > POS > Settings > Checkout`, switch on **Email Invoice Gateway** and save. See [Checkout Settings](/ar/settings/checkout.md#enabling-a-gateway). It never shows at your online checkout. Leave its **Order Status** on **Completed**, the default. An invoiced order still waits as **Pending payment** until the customer pays.

   Why not choose Pending payment?

   The **Order Status** setting is not the order's status: sending an invoice always puts the order on **Pending payment** until the customer pays. The setting names the status at which the till counts a sale as finished. Set it to Pending payment and every invoice counts as finished the moment it goes: the email still goes, but there is no **Invoice sent** screen, and the order gets no **Send again** or **Cancel invoice**.

3) **Check the wording.** The tile's name and the note above the email field are the gateway's **Title** and **Description**, in `WP Admin > WooCommerce > Settings > Payments > Email Invoice Gateway`.

Manual installation and older versions

To install by hand, download the **plugin zip asset** (not the source-code zip) from the [GitHub releases page](https://github.com/wcpos/email-invoice-gateway/releases) and upload it in `Plugins > Add Plugin`, then **Upload Plugin**.

Version 0.1.0 or later gets its own tile on the Payments tab. Older versions show only on the [Legacy tab](/ar/sell/take-payment/legacy-tab.md), as the gateway's own payment page; update to get the tile.

For the invoice to be any use, WordPress must be able to send email, and your online store needs at least one payment method the customer can use on the payment page.

For developers: how the form is drawn

The gateway declares its fields to the POS: a note, an email field filled from the order's billing email, a checkbox, and the **Send invoice** button label. The POS draws them with its own controls. A required field left empty shows **Enter** and the field's name; a list shows **Choose** and its name. Other gateways can declare fields the same way; see [Declaring Fields for the Tender Pane](/ar/developers/gateway-checkout-fields.md).

## If something goes wrong[​](#goes-wrong "رابط مباشر إلى If something goes wrong")

**Email Invoice isn't on the Payments tab.** It isn't switched on in Checkout Settings, or the extension is older than 0.1.0 and shows only on the [Legacy tab](/ar/sell/take-payment/legacy-tab.md). Update it from `POS > Settings > Extensions`.

**"Email Invoice is not available right now".** Tap the line to see why:

* **Needs a connection** — an invoice can't be sent offline. Wait for the connection to come back, then send it.
* **Takes the whole order, so not once a payment has been taken** — part of the order is already paid. Take the rest on another tile. See [Split Payments](/ar/sell/take-payment/split-payments.md).

**"Please enter a valid email address".** The address has a typo. Fix it and press **Send invoice** again.

**The order has no Send again or Cancel invoice.** The invoice went, but the order shows no **Invoice sent to …** line under **Payment**. Ask whoever looks after the store to check Email Invoice's **Order Status** in Checkout Settings: it should be **Completed**, not Pending payment. See [Set it up](#set-up), step 2.

**The customer didn't get the email.** Ask them to check their spam folder, then press **Send again**. If invoices don't arrive for anyone, tell whoever looks after the store: WordPress sends the email, not the POS.

For the store's administrator: invoice emails that don't arrive

The order's notes in WooCommerce say whether the store sent the email: **Customer invoice email sent to … via POS**, or **Failed to send customer invoice email**. An SMTP plugin or an email service such as SendGrid, Mailgun or Amazon SES makes delivery more reliable, and SPF, DKIM and DMARC records on your domain keep the invoice out of spam folders.

**The customer can't pay from the link.** Your online store needs a payment method switched on for the web, in `WP Admin > WooCommerce > Settings > Payments`. Check too that the order hasn't been cancelled or paid since you sent it. Try the link yourself.

Messages when you cancel an invoice, or the till can't save it

**"The store did not cancel the invoice, so it still stands".** The customer may have paid it already. Check the order on the Orders screen before you take another payment.

**"A newer invoice has been sent for this order".** It was sent again, perhaps from another till, and this till hasn't caught up. Only the newest invoice can be cancelled: wait for the order to sync, then try again.

**"This invoice cannot be cancelled".** A payment has already been taken on the order, or no invoice is out any more. Check the order before you do anything else.

**"The invoice could not be cancelled. Try again".** The store didn't answer. Check the connection and press **Cancel invoice** again.

**"The invoice was sent, but this till could not save it"**, or **was cancelled at the store**. The store has the change; this till's copy catches up on the next sync. See [PAYMENT113](/ar/error-codes/PAYMENT113.md).

## Related Documentation[​](#related-documentation "رابط مباشر إلى Related Documentation")

* [Payment Methods](/ar/sell/take-payment/payment-screen.md)
* [The Legacy Tab](/ar/sell/take-payment/legacy-tab.md)
* [Checkout Settings](/ar/settings/checkout.md)
* [Report an issue with the extension](https://github.com/wcpos/email-invoice-gateway/issues) on GitHub

[OrdersFind an order and follow up its invoice](/ar/manage-store/orders.md)

[CheckoutRing up a sale from start to finish](/ar/getting-started/make-sale.md)

[Payment GatewaysEvery gateway that works with the POS](/ar/settings/checkout/payment-gateways.md)
