VanReceipts
Turnstile Lab v1.0.0
Trade estimates and invoices
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.
Screenshots
From the developer.
Keywords
Files & skills
File archives
Skill instructions
ai-estimates3.86 KB
--- 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
--- 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)