← Plugin catalog
Business & Operations

VanReceipts

Turnstile Lab v1.0.0

Trade estimates and invoices

Full description ↓

View on ChatGPT ↗

Save this plugin to Following and return to review observed changes. Follow up to 10 plugins free.

Description

From the marketplace listing

Describe a trade job and get an editable estimate, quote, or invoice PDF in your currency, with a live preview of the page. VanReceipts asks one short round of questions, checks that every price line names its source (your own rate, a supplier page you read, a published typical range, or a labeled assumption), and computes the subtotal, tax, and total. Quotes carry an offer end date, an acceptance line, and deposit terms. Share a before and after photo slider of finished work: photos are stored without location data and deleted after 30 days. No account, no payments.

Language: English · Automatically detected from descriptions.

Competitor profile

From the developer’s listing and package; capabilities are not independently tested. Package observed Nov 2, 2026.

Declared capabilities

  • Price an estimate, quote, or invoice
  • Show typical price ranges
  • Before and after photo slider

Declared limitations

  • Payments are not supported
  • Image generation is not supported
  • The plugin does not read the app's books

Review scenarios; not an exhaustive list.

Cost & access

This plugin does not sell products or process payments.

Terms may have changed since this observation.

Starter prompt

Write a quote to replace a 40 gallon water heater. Labor is $95 an hour.

View package source →

Screenshots

From the developer.

Keywords

Files & skills

File archives

Plugin package14 files · 385 KBBrowse files →
Skill instructions
ai-estimates3.86 KB

View saved version →

---
name: ai-estimates
description: This skill should be used when the user asks to "estimate a job", "write a quote", "make an invoice", "price this work", "what should I charge", or describes a trade job and wants a PDF. It drafts an estimate, quote, or invoice and has VanReceipts check every price and compute the total.
---

# AI estimates

Use this skill to turn a job description into an estimate, a quote, or an invoice PDF. VanReceipts checks every line and computes the total. Do the workflow below. Do not invent a total.

## Workflow

1. Take the currency from the prices the user writes ($ is USD unless they say CAD, AUD or similar; € is EUR; £ is GBP; or a currency they name) and pass it as an ISO code. If they give no currency, use USD. Never ask a separate question about currency, and do not mention countries. Identify the trade. Call `list_trades` when the trade is not obvious. The trade ids match the 18 trades on vanreceipts.app.
2. Call `get_trade_questions` once. Ask that whole list in one question round, then wait. Include the business name and the client name to print, and the labor rate and the markup on materials when the user has not given them. Do not call `build_document` in the same turn as the questions, and do not fill in names the user has not given.
3. After the reply, a question the user skipped or did not know becomes an assumption. Mark that line `assumption`. Do not ask a second round.
4. Build lines from the user's rates first. Then, only if the host can read the web and the user did not give a price, a supplier page. Then a VanReceipts benchmark, shown as a typical range with rate 0. Last, an assumption.
5. Call `render_document`. It checks every line, computes the total, and opens the editable panel with the PDF. If it returns an error, fix the lines and call it again. Do not add the figures yourself. Use `build_document` only to check lines without showing them.
6. The panel lets the user edit the lines and download the PDF. The panel shows the whole document, so reply in one short sentence and do not repeat the lines, the totals, or draw your own document card.

A photo of the job is context for the lines. VanReceipts does not generate images.

## Price sources

Every line needs exactly one source.

| Source | When | Required fields |
| --- | --- | --- |
| `contractor` | The user gave the rate, the cost, or the markup | none |
| `web` | The host read a current price on a supplier page | `url` (https) and `readOn` (YYYY-MM-DD) |
| `vanreceipts_data` | A published typical range from `get_price_benchmark` | `benchmarkId`, and rate 0 |
| `assumption` | The user skipped the question or the price is a guess | none |

`vanreceipts_data` is a benchmark. It is not the price, and it applies only when the document currency is USD. Put the amount that will be charged on a `contractor`, `web`, or `assumption` line.

The plugin works with no web search. Contractor rates and assumptions are enough.

## Document kinds

- **Estimate.** Needs a valid-until date. An allowance is allowed for an item the client has not picked. Say so on that line.
- **Quote.** A fixed offer. Needs the date the offer holds until, an acceptance line such as "Accepted by client", and deposit terms. No allowance. For USD, VanReceipts adds: "This is not legal advice. Rules vary by state." For any other currency, it adds: "This is not legal advice. Rules vary by location."
- **Invoice.** Needs a due date. No allowance.

Do not put a pay link, card number, or device location on the document. An address is printed only when the user typed it.

## What not to do

Do not compute the final subtotal, tax, or total. Do not present a benchmark as the customer's price. Do not ask the user to pay, and do not pitch a plan. One link is enough when a link is useful: https://vanreceipts.app

## More detail

Read `references/documents.md` when a quote, an allowance, or a benchmark line is unclear.

Referenced files: 2 — file references are metadata, not package contents.

before-and-after1.9 KB

View saved version →

---
name: before-and-after
description: This skill should be used when the user asks for a "before and after", "slider", "share these job photos", or gives a before photo and an after photo of finished work. It shows a slider and a share link. It does not generate images.
---

# Before and after

Use this skill when the user has two photos of a job: one before the work and one after. Show a slider. Do not generate an image.

## When the host can take files

1. Confirm which photo is the before photo and which is the after photo.
2. If a person is the subject of either photo, tell the user not to upload it. Stop if they still want that photo in the slider.
3. If the after photo is a concept the user made with the host's image tool, set `concept` to true. The slider then says "Concept, the finished work can differ". VanReceipts does not draw that image.
4. Call `create_comparison` with both photos. Pass attached files in `before` and `after`. Use `beforeBase64` and `afterBase64` only when the host cannot pass an attached file. Give the user the share link and the delete link.
5. Photos are removed when the user opens the delete link, or after 30 days, whichever comes first. The link is unguessable. No account is required.

Call `get_comparison` when the user already has a share link and wants the slider again. Call `delete_comparison` only with the delete token from the uploader's link.

## When the host cannot take files

Say that this slider needs both photos uploaded in a chat that accepts files. Do not ask the user to email the photos to a new address, and do not invent a storage account. The share link, once created, opens the same slider on the VanReceipts server.

## What not to do

Do not generate the after photo. Do not collect a precise location from the photo. VanReceipts strips location data on upload. Do not ask the user to pay, and do not pitch a plan. The only site link is https://vanreceipts.app

Referenced files: 1 — file references are metadata, not package contents.

Release notes

Initial release: priced estimates, quotes, and invoices with a source on every line, and a before and after photo slider.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package license
Proprietary
Package author
Turnstile Lab
Keywords
See keywords
Declared availability
No country restrictions declaredDeclared regions; live availability may differ.
Commerce declaration
Does not support commerceThis does not establish whether access is free or paid.
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Price an estimate, quote, or invoice
  • Show typical price ranges
  • Before and after photo slider

Package observed Nov 2, 2026.

Technical details
First seen
Oct 28, 2026 · 12:00 UTC
Last seen
Nov 3, 2026 · 12:00 UTC
Collection status
Collected

plugin_asdk_app_6ad134fefb1c81918a6ba2e2c3c1b616

Download plugin data (JSON)