Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Expense submission linked to Xero API
Translation pending
FinanceJavaScript · CSSGitHub @jiahyphenyeeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A mobile-first Progressive Web App that lets field workers and subcontractors
submit expense claims from their phone. Each claim is recorded in a Google
Sheet (the system of record) and pushed to Xero as a draft ACCPAY bill with
the receipt attached, ready for a human to review and approve in Xero.Read the full README ↗A mobile-first Progressive Web App that lets field workers and subcontractors submit expense claims from their phone. Each claim is recorded in a Google Sheet (the system of record) and pushed to Xero as a draft ACCPAY bill with the receipt attached, ready for a human to review and approve in Xero.
pages/ directory..tsx.style={{}} objects for styling (Tailwind is installed but not
used in app code — legacy from create-next-app).googleapis) as the database — projects, workers,
contacts, categories, PWA user PINs, and Xero tokens all live in one
spreadsheet.fetch, no SDK) — draft bill creation + receipt
attachment.app/
page.js PIN login (root route)
home/ landing screen after login
new/ main expense submission form (largest screen)
confirm/ post-submit confirmation screen
history/ search/browse past submissions
components/
PdfViewer.js client-side PDF receipt preview
api/
auth/ POST: check PIN against Sheet, return {name, role}
dropdowns/ GET: active projects/payees/categories for the form
submit/ POST: writes the Expenses row + creates Xero draft bill
attach/ POST: attaches uploaded receipt to a Xero bill
history/ GET: paginated/filterable submission history
lib/
google.js Google service-account auth client
xero.js Xero token refresh, contact lookup, bill + attachment creation
auth.js PIN-matching helper used by api/auth
session.js sessionStorage read/write for the logged-in user
constants.js roles, statuses, default payee, category→Xero tracking map
scripts/
xero-auth.mjs one-off manual OAuth flow to mint the initial Xero tokens
public/
manifest.json, icon-*.png, pdf.worker.min.js PWA + pdf.js worker assets
Do not update this file for routine changes — it describes the app's
purpose and shape, not its current state. See CHANGELOG.md for that.