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.