Skip to content

Posting bills vs receipts

Corporate-card expenses fall into two natural categories:

Document typeUse for
BillA real vendor invoice with a registered supplier and a due date (SaaS subscription, vendor with BG/INV-12345, recurring services)
ReceiptA cash-like purchase with no invoice (petrol-pump receipt, restaurant, ad-hoc retail)

By default Payhawk treats every reviewed expense as a bill. Two settings let the reviewer pick Document type per expense and post receipts to a separate Odoo journal — keeping the AP ageing report clean and matching the accounting reality.

Step 1 — Enable the Document Type field in Payhawk

In Payhawk:

  1. Settings → Expense fields
  2. Find the field Document type
  3. Toggle it Enabled

After this, every expense card in Payhawk has a Document type picker during review with values Bill and Receipt. The reviewer is prompted to choose before approval.

Step 2 — Configure the Receipts journal in Odoo

In Odoo:

  1. Settings → Payhawk (Account Manager rights required)
  2. Set Receipts Journal to the journal where you want receipts to land
FieldPick
Bills JournalThe standard purchase journal — formal vendor invoices
Receipts JournalA separate purchase journal — cash-like receipts

If Receipts Journal is empty, every expense posts to the Bills Journal regardless of Document type — the connector defaults to bills for backwards compatibility.

Creating the Receipts journal

A common pattern is a dedicated Purchase-type journal named PHWK Receipts or Petty Cash — Payhawk, with its default credit account set to the corporate-card clearing account. Bills and receipts then share the same expense GL accounts but post via different journals, so reports can break them apart cleanly.

How it flows

Reviewer in Payhawk → Document type = Receipt


Webhook fires → Payhawk × Odoo connector

   ┌────┴─────────────────┐
   │                      │
   ▼                      ▼
Document type = Bill    Document type = Receipt
   │                      │
   ▼                      ▼
Bills Journal          Receipts Journal
(account.move,         (account.move,
 in_invoice)            in_receipt)

Bills go through Accounts Payable as usual (3-way match, due date, ageing). Receipts post directly without an AP step — useful when the expense has no formal invoice to chase.

Verify

After enabling both settings, smoke-test once:

  1. In Payhawk Sandbox, create an expense and review → Document type = Receipt → approve
  2. In Odoo, Accounting → Vendors → Bills — the expense should not appear here
  3. Accounting → Vendors → Receipts (or filter the journal items by your Receipts journal) — the entry should appear there
  4. Repeat with Document type = Bill — entry appears under Bills as normal

If a receipt-typed expense still lands in Bills:

  • Confirm Document type is Enabled in Payhawk
  • Confirm Receipts Journal is set in Odoo (not blank)
  • Force a sync via Settings → Payhawk → Sync now and re-check

Where to read more

© PLANA Digital Ltd.