Bill Pay lets you upload or forward invoices, route them through your approval process, and track payments in one place. It lives under Payments in the sidebar.
How to upload bills to Altitude
There are two ways to upload a bill into Altitude:
Manual upload
Navigate to Payments in the sidebar.
Select Upload bill in the top-right of the page.
Upload your invoice as a PDF or PNG.
Email forwarding
Forward invoices to your Bill Pay inbox instead of uploading them manually.
Navigate to Payments.
Select Enable forwarding email in the top-right of the page.
Enter an Email slug for your forwarding address (e.g.
workspace-bills). The full address will be[email protected].Select Enable.
Once enabled, any invoice forwarded to that address appears in your Active tab with details extracted automatically. Bills typically appear within 30 seconds. If a bill does not appear, verify it was sent to the correct @bills.altitude.xyz address.
To update your forwarding email, select the gear icon next to your forwarding address at the top of the Payments dashboard.
Email limits:
Maximum email size: 30 MB
Maximum attachment size: 10 MB
Maximum attachments per email: 20
What gets extracted
Whichever upload method you use, AI-enabled OCR reads the invoice and extracts:
Recipient name and payment details (bank account or wallet address)
Currency and amount
Invoice number
Due date
After upload or email forwarding, the bill appears immediately in your Active tab with a "?" avatar, a Finding recipient placeholder, and status Parsing bill. Once OCR completes, the Review bill button on the row activates.
Note: Always verify extracted details before initiating a payment. Automatic extraction is accurate but not perfect.
Bill lifecycle
Every bill moves through a defined lifecycle in Bill Pay. The Payments dashboard has two tabs — Active (anything in-flight) and History (terminal states) — and each row displays a status badge so you can track its progress.
Status | Tab | What it means | Action needed |
Parsing bill | Active | Invoice uploaded; OCR is extracting details. | Wait for parsing to complete (typically under 30 seconds), then select Review bill. |
Needs Approval | Active | Payment initiated but awaiting approvals. | Members with Vote rights review and approve. |
Ready to Pay | Active | The payment is approved and ready to be sent. | A member with Execute rights executes the payment. |
Paid | History | Payment sent. | No action needed. |
Use the search bar and the Recipient, Status, and Amount filters above the table to find a specific bill.
How to pay a bill
There are two ways to start a payment:
Select Review bill on a row in Active to pay a bill that has already been uploaded and parsed.
Select Pay in the bottom action bar to start a payment from scratch (not tied to an uploaded bill).
The Pay flow has five steps: Recipient, Payment Method, Amount, Details, and Review.
1. Recipient
Altitude checks extracted recipient details against your saved recipients.
Match found – The recipient is automatically selected using saved details. Their name and masked account number are displayed.
No match found – An Unknown recipient card appears with the parsed sender info. You have two options:
Select Add new recipient on the Unknown recipient card – Saves the extracted details as a new entry. Future bills from the same recipient match automatically.
Select an existing recipient from the list – If the recipient exists under a different name (e.g. the invoice says "Acme Corp Inc" but your address book lists "Acme Corp"), search for and select the correct entry.
Select Next to continue.
2. Payment Method
Choose your payment method. Available methods depend on the recipient's address type (e.g. a US bank account shows ACH and wire options, a Solana wallet address shows crypto transfer).
Method | Settlement | Notes |
ACH | Up to 3 business days | US domestic transfers |
ACH Same Day | 1 business day | Faster US domestic option |
Wire | 1 business day | US domestic wires |
SEPA | 1 business day | EUR transfers within the EU/EEA |
SWIFT | Up to 5 business days | International wire transfers (USD invoices only) |
Crypto | Near-instant | Stablecoin transfer to a wallet address |
Select Next to continue.
3. Amount
From - Select the Altitude sub-account. The available balance displays beneath the account name.
Amount - Pre-filled from the invoice. Adjust if needed or toggle to send the maximum available balance.
Select Next to continue.
4. Details
Payment reference (optional) - Add a reference (e.g. "Q1 Services"). Appears on the recipient's bank statement for bank transfers.
Invoice Number - Pre-filled. Edit if needed.
Due Date - Pre-filled. Edit or clear if needed.
Internal Memo (optional) - Add context for your team. This is not sent to the recipient.
Select Next to continue.
5. Review
The final screen displays a full summary:
Transfer type (e.g. Bank Transfer or Crypto Transfer)
Total amount
Source account and available balance
Recipient name, bank and masked account number
Payment reference
Invoice number and due date
Review everything carefully, then select Initiate.
Approve and execute
Once initiated, the bill stays in Active and moves through approval and execution. Its status badge updates at each stage.
1. Needs Approval
The bill's status becomes Needs Approval and a proposal appears on the Approvals page.
Members with Vote rights can review and vote from either page. Once the Approval Threshold is met, the status moves to Ready to Pay.
Note: If the initiator also has Vote rights, their approval is automatically applied when they initiate the payment.
2. Ready to Pay
A member with Execute rights selects the bill in Active (status: Ready to Pay) and executes the payment. Once processed, the bill moves to History with status Paid.
3. Paid
Paid bills can be reviewed in the History tab and will be included in the QuickBooks-compatible CSV export.
