> ## Documentation Index
> Fetch the complete documentation index at: https://ombamanual.ombaerp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create invoices, proformas, and refunds in OMBA

> Create sales invoices and proforma quotes, add delivery logistics, process refunds against an invoice, and manage order modifications and diversions.

OMBA handles two types of outgoing sales documents: a **proforma invoice** for pre-sale quotations, and a **sales invoice** (also the delivery note) for confirmed transactions. Both share the same form structure — client, products, quantities, pricing, and delivery logistics — but only the sales invoice posts to the ledger and triggers stock movements. Once an invoice exists, you can process a full or partial refund against it or divert the product allocation to a different client or destination.

<Note>
  **Proforma vs. sales invoice:** A proforma invoice is a non-binding quotation. It captures all the commercial terms but does not reduce stock or create an accounts-receivable entry. Use it to get client approval before dispatching goods. A sales invoice is the final, legally binding document — it reduces inventory, creates a debtor entry (or marks the sale as paid), and can be used as the delivery note.
</Note>

## Create a sales invoice

<Steps>
  <Step title="Open the invoice form">
    Go to **Sales > Invoicing**. Click **Add New** to open a blank invoice form. The page heading and badge confirm you are in **INVOICE** mode.
  </Step>

  <Step title="Enter the invoice header">
    Fill in the header fields:

    * **Date** — the invoice date (defaults to today)
    * **Order #** — reference number from the customer's purchase order, if applicable
    * **Delivery Note #** — the outbound delivery note reference
    * **Invoice #** — auto-assigned or manually entered

    Then select the **Client** from the searchable dropdown. The client's account code populates automatically.
  </Step>

  <Step title="Set delivery logistics">
    If the goods are being delivered, complete the logistics section:

    * **Destination** — the delivery address or depot (linked to a distance lookup)
    * **Distance** — auto-populated when you select a destination; used to calculate transport fees
    * **Transporter** — the haulage company
    * **Vehicle** — the truck or tanker
    * **Driver** and **Driver's Phone #** — required for tanker-based deliveries

    For bulk fuel or liquid products, you can also enter **Compartments** (the tanker loading breakdown), **Seal Numbers**, **Density**, and **Temperature**.
  </Step>

  <Step title="Add line items">
    For each product line:

    1. Select a **Product** from the dropdown.
    2. Enter the **Qty / Volume**.
    3. **Unit Price** is read-only and populated from the client's price list — verify it is correct.
    4. **Commission** and **Transport Fees** auto-calculate based on the destination distance and client pricing.
    5. **Total** is computed automatically.
    6. Click **Add To List** to append the row to the invoice grid.

    Repeat for each additional product. To remove a row, click the delete icon on that row in the grid.

    The grid footer shows aggregate totals for TAX, Discount, Dealer Margin, Fleet Charges, and Total.
  </Step>

  <Step title="Process the invoice">
    Click **Process Data** to post the invoice. OMBA validates all required fields and, if successful, saves the invoice and triggers stock and ledger entries.

    To discard without saving, click **Cancel**.
  </Step>
</Steps>

<Tip>
  To reload an existing invoice, enter the invoice number in the search bar at the top of the page and click **Search**. The form loads in read/edit mode.
</Tip>

## Create a proforma invoice

The proforma form is structurally identical to the sales invoice. Navigate to **Sales > Proforma**, click **Add New**, and complete the same header, logistics, and line-item fields.

The key differences are:

* The page badge shows **PROFORMA** rather than **INVOICE**.
* Clicking **Process Data** saves the proforma without posting to the ledger or adjusting stock.
* The unit price field is **editable** on a proforma (useful for quoting a negotiated price before it is formally agreed).

Once the customer confirms the proforma, re-open it, verify all figures, and convert it to a sales invoice by processing it through the Invoicing page with the same order reference.

## Process a refund

When a customer returns goods or an invoice needs to be partially reversed, use the Refund tool to generate a credit note.

<Steps>
  <Step title="Search for the original invoice">
    Go to **Sales > Refunds**. Enter the original **Invoice Number** in the search bar and click **Search**. The left-hand pane — **Invoice Items** — loads with all line items from that invoice, showing quantity, product, unit price, and total.
  </Step>

  <Step title="Move items to the refund basket">
    Click the arrow button on each row you want to refund. The item moves from **Invoice Items** (left) to the **Refund Basket** (right). To send an item back to the invoice side, click the reverse arrow on the refund basket row.

    You can refund the entire invoice or just selected lines.
  </Step>

  <Step title="Select the refund account">
    In the footer, choose the **Account** to which the refund amount should be credited (for example, a cash account or a debtor account).

    The **Amount Due** label shows the total value of items in the refund basket.
  </Step>

  <Step title="Confirm the refund">
    Click **Refund** to post the credit note. The selected items are reversed against the original invoice and a credit entry is created in the chosen account.
  </Step>
</Steps>

<Warning>
  Refunds cannot be undone after posting. Verify the correct items and account before clicking **Refund**.
</Warning>

## Divert a product allocation

A diversion re-routes an existing invoiced delivery to a different client or destination while preserving the original pricing, dealer margin, VAT, freight, and discount.

<Steps>
  <Step title="Search for the invoice to divert">
    Go to **Sales > Diversions**. Enter the invoice number and click **Search**. The original invoice details (date, invoice number, client name, product, quantity, unit price, discount, dealer margin, VAT, freight, and total) display as read-only reference cards.
  </Step>

  <Step title="Enter the diversion details">
    Specify the new **Date**, **Client**, and **Destination** for the diverted quantity. Enter the **Volume** to divert, verify or adjust the **Unit Price** and **Dealer Margin**, then add a **Description** to explain the reason for the diversion.

    Click **Add To List** to stage the row in the diversion grid.
  </Step>

  <Step title="Process the diversion">
    Review the grid — it shows client name, description, destination, product, volume, unit price, tax, discount, dealer margin, freight, and total for each diverted line. Click **Process Data** to finalise. The diversion creates a new allocation record linked to the original invoice.
  </Step>
</Steps>

## Modify an order

If a placed order needs to be amended before invoicing, navigate to **Sales > Order Modifier**. Search for the order by number, make the required changes to line items, and save. Modifications are tracked against the original order reference.

## Client-specific pricing

Administrators can maintain per-client commission rates and discount overrides under **Admin > Client Prices**. When you create an invoice for a client, OMBA automatically applies that client's pricing. To update a price, open **Client Prices**, find the product row, click **Edit**, adjust the commission or discount, and save.

## Compliance tracking

The Compliance module lets you track regulatory certificates for each client or outlet. Certificates tracked include:

* EPA Certificate
* NPA Certificate
* Insurance
* Ghana Standards Board Certificate
* Fire Certificate
* Underground Tank Cleaning
* Calibration Certificate
* Pressure Test
* Factories Inspectorate Certificate
* Fire Extinguisher

Each certificate shows its **Date Issued** and **Expiry Date** with a colour-coded status dot (green = valid, orange = expiring soon, red = expired). You can also record site review remarks (canopy, washroom, other), safety equipment status (PPE, fire extinguishers, sandbox, vent pipe), and schedule a **Next Review** date.

<Info>
  Compliance records are per-client. Select a client from the dropdown and click **Load** to view or update their certificate status.
</Info>
