PruvaDocs

Finance

Budgets against actuals, invoices, ledger and multi-currency per vessel.

Budgets against actuals, invoices, ledger and multi-currency per vessel.

Module key: finance. Accent colour: #a5f3fc on dark, #155e75 for accent text in the light theme (from @pruva/brand/tokens; see Module accents).

Pages

PagePath in the appWhat it shows
Finance/app/financeBudget against actual for the year so far, fleet and per vessel, invoices waiting for approval, overdue payables and receivables, cash going out in the next 30 days and open amounts per currency.
Invoices/app/finance/invoicesSupplier and customer invoices with source (purchase order, disbursement account or manual), amount in its currency and in USD, due date and status. Each one opens its lines, the approval steps, the journal it posted and a link to the order or port call it came from.
Budgets/app/finance/budgetsThe year's OPEX budget per vessel and category against posted actuals and the forecast, editable month by month.
Ledger/app/finance/ledgerEvery journal entry with its lines, the trial balance and the P&L per vessel per month.
Integrations/app/integrations/financeThe connectors this module reads from, with status, last sync and any problem to fix.

Each invoice opens /app/finance/invoices/[id]: lines, approval steps, the journal it posted and a link to the purchase order or the port call. Create, submit, dispute and edit the budget need edit. Approving needs edit, and publish at or above $10,000. In the demo every amount is generated and Refresh rates makes no call. In database mode, with the Frankfurter connection on, refresh stores a checked daily rate and an invoice uses the latest stored rate on or before its issue date.

Connectors

Every connector is a mock in this build. The demo reads generated data and makes no outside calls. Verify each provider before launch.

  • Xero (xero): Invoices and ledger entries per vessel. Mock in this build.
  • Frankfurter (frankfurter-fx): Free daily ECB reference rates for multi-currency amounts (no key; called only in DB mode when connected). Mock in this build.

See Connections for what each one will need.

Actions that need publish

These buttons need the publish level on this module. AI agents can never hold publish, so they cannot press them.

ActionKeyWhat it does
Record an invoice paymentfinance.invoice.payThe button is Record payment. It pays an approved invoice at that invoice’s stored rate. Partial payments are not built. Approving an invoice needs edit, and publish when the amount is at or above $10,000.
Post a journalfinance.journal.postThe button is Post journal. The lines must balance. A deferred database trigger keeps every journal balanced. Nothing is exported to Xero.

Price

Finance is a Pro module: it takes one Pro slot on Operations or Professional, and is in Complete.

PlanPer vessel per year
Operations (4 Pro)$6,995 per vessel per year
Professional (8 Pro)$12,240 per vessel per year
Complete (all 13 Pro)$19,900 per vessel per year

A 10% deposit opens a 1-month trial, then billed annually per vessel. 3-year contract. You can leave in year 1. The deposit is not refunded. No refunds after the trial for the year already started; cancel renewal any time.

Also in the packs: Ship manager's office, Commercial desk.

Solves: OPEX overruns seen at quarter end · Invoices paid twice · Budgets kept per vessel in Excel.

  • Budget against actuals per vessel
  • Invoices
  • Ledger
  • Multi-currency

On this page