Enter your studio credentials to access the quote builder.
or
Subscription lapsed — saving, confirming, and sharing are paused.Manage billing
You're on a free trial.
Framesmith StudioTasmanian Photography, Fine Art Printing & Framing
Framing
New Quote
Our Favourites
Moulding Catalogue
Mat Catalogue
Cut to Size
Orders
Orders
Saved Quotes
Gallery
Wall Visualiser
Gallery Planner
Printing
Print Quote
Paper Guide
Colour Profiling
Admin
Admin settings
Stock & pricing
Print Stock
Tip: tap Share → Add to Home Screen for a one-tap launcher.
1
Artwork
›
2
Frame type
›
3
Design & details
›
4
Review quote
Start with the artwork
Upload a photo of the piece to use in the live preview. You can skip this and design without a reference.
Upload artwork
Drag and drop · JPG, PNG, WebP, HEIC, TIFF · Up to 120MB
Tip: add the photo first and every preview shows your actual piece. For a diptych or triptych, choose "Matted frame" or "Shadowbox" next — you'll add the extra pieces there.
Choose a frame style
Each style unlocks different design options.
Matted frame
Artwork sits inside a mat board with a reveal around it. Classic, archival, versatile. Supports diptych and triptych layouts.
Unmatted frame
Print runs edge-to-edge into the moulding — clean, contemporary, no mat reveal.
Shadowbox frame
Deep frame with artwork float-mounted above the mat — casts a real shadow. Perfect for originals, textiles, memorabilia.
Canvas stretch
Stretched over timber bars — with optional L-shaped float frame surround.
Single, diptych, or triptych?
A diptych (2) or triptych (3) sits within a single mat with spacing between pieces.
Single piece
Diptych (2)
Triptych (3)
Spacing between piecesmm
100%
A3 · 297 × 420mm
Mat: 60mm
APM · RAW1 Box Black
Artwork size ⇄ Swap orientation
Width (mm)
Height (mm)
Preset
Lock ratio
Match artwork ratio
How to measure your artwork
Have a finished size to hit?
×
Canvas options
Stretcher bar
Float frame surround
L-shaped moulding around the canvas with a visible gap on all sides.
Extra mat added to each side beyond the base reveal — for signatures, off-centre work, or gallery weighting. Double/triple mats and the v-groove follow along.
Top
Left
mm
Right
Bottom
Reset to even
Reposition by dragging
Drag the artwork in the preview to shift it — the side offsets above follow. Add offset first to create room to move.
Quick picks
Current selection
Antique White
Rising · Alpha-cellulose
›
Mat details
Double mat
Revealmm
5102040
Secondary mat — quick picks
Current selection
Cream
Rising · Alpha-cellulose
›
V-groove
Distancemm
5102040
Distance from the inner edge of the outer mat (artwork side), out toward the moulding. Stays put when adding a double mat.
Extra openings (plaques)
Positions are millimetres from the artwork opening's top-left. A plaque below the artwork needs enough bottom border — widen it with Uneven borders above.
Triple mat
Advanced
Revealmm
Tertiary mat — quick picks
Current selection
Bone
Rising · Alpha-cellulose
›
Fillet
A thin accent moulding inside the mat window, wrapping the artwork.
Glazing
Pricing Cost breakdown ↓
Your custom frame
$149.50
Estimate — subject to staff review
Review quote
Final breakdown — ready to save, print, or send.
%
Customer pricing
Estimate — subject to staff review
Client price$149.50
Your cost
$72.40
Margin
51.6%
Labour time
45 min
Specification
Order approval
Materials & wastage
Materials needed — pull list for the bench
Add customer details (optional)▾
Ready to order?
Send your design to the studio — they'll confirm price & timing and be in touch.
The studio's open work queue, synced across devices. Confirmed quotes appear here; "Mark complete" clears them.
No open orders. Confirm a quote on Stage 4 to add one here.
Inventory · Stock & pricing
Live ledger of mouldings, mats, glazing, and consumables. Cost edits flow into open quotes immediately. Syncs to your studio account when signed in; otherwise stored on this device.
Glazing by grade and size
Pick the glass or acrylic you buy at each sheet size, in each grade. Mixing brands across sizes is normal — buy what's stocked at the size you need. When a customer picks a grade, the engine cuts the cheapest of your chosen sheets that fits their frame. Set "Not offered" for a size you never buy. Sheet costs are edited in the Stock list.
Fill every grade from one brand:
Add glazing product
For glass or acrylic this catalogue doesn't carry — another brand, another supplier, or your own stock. Enter the sheet sizes you buy and what they cost you. It then appears in the grid below, in the Stock list, and in every quote.
What the customer sees when this fills a grade on its own.
Who makes it. Used to tell mixed-brand grades apart.
Supplier price multipliers key on this.
Your SKU. Must be unique.
Sheet sizes you buy
Your shop catalogue
Your shop catalogue is the mouldings and mats you actually offer. It keeps the picker focused on what you sell instead of the whole 2,600-item supplier list.
Customers only see your shop catalogue. Anything outside it is hidden from them — choose below whether that limit is on.
You can always reach everything. In a moulding or mat picker, the Shop catalogue tick is on by default; untick it to browse the full supplier list (handy for a one-off frame match).
Add items three ways: the shop icon on any tile (top-left, opposite the favourites star), the buttons below to add a whole supplier at once, or search-and-add here.
Favourites live inside your shop catalogue — you can only star something you offer.
Suppress an item to stop offering it while keeping it orderable, and note what to use instead.
Add to your shop catalogue
Custom catalogue
Hand-made / in-house mouldings + mats — photo, crop, and publish from in-app. Published items join the pickers immediately.
Per-supplier markup
Multiplier on top of catalogue cost — e.g. 1.05 for a +5 % local-supplier loading on every APM SKU. Default 1.00. Per-item overrides (below) ignore this.
Per-item price overrides
Replace the catalogue price for a specific SKU. Overrides take precedence over supplier markups.
Moulding Library
Favourites
Colour family
Material
Style
Width
Max price ($/m)
$5$80
All
APM
Antons
Larson Juhl
Partos
✦ Guide me
Mat Library
Favourites
Colour family
Range
Material
All
APM
Crescent
Peterboro
Larson Juhl
✦ Guide me
Core
Grade
Pricing & admin settings
Pricing formula
Default 2.0
Default 80
Below this = pro-rata. Default 0.333
Other material costs
Canvas pricing — overrides the global markup / labour for canvas frames
Markup on canvas materials (stretcher + float moulding). Default 2.0 (same as global).
Scales total canvas build time. Default 1.0× (no change).
Pricing surcharges — flat $ per quote
Foamboard, tape, D-rings, etc. Marked up.
Henger packs, screws. Marked up.
Pass-through (no markup).
Per plaque/extra opening beyond the artwork window. Added to the mat line, marked up. Default $10.
Stage 4 defaults — pre-fill freight / GST / discount on new quotes
Toggle off for non-GST-registered quotes by default.
Business-wide policy. Not Stage 4-editable.
Customer files & service links — per-studio destinations shown to customers
Shown in the ICC profile request flow for chart scans and related files.
Integrations & payments — Xero books + customer card payments via your own Stripe
Checking…
One click sends a quote or invoice — customer, lines, GST — into your own Xero organisation.
The revenue account lines post to (Xero default sales = 200).
Applied per line; Xero works out the GST split from inclusive amounts.
Checking…
After you review an order request, "Approve & request payment" sends the customer a secure pay link — the card payment lands in YOUR Stripe account (you're the merchant; Stripe's fees apply to you). Owner only.
Pre-fills the deposit choice when you approve an order request — adjustable per order. Deposits: the balance is settled with you directly on completion.
—
Sign in with Google instead of a password. Your account stays invite-only — linking just adds a sign-in method.
Labour time by size
How steeply time scales above A3. Default 200/m². Per-quote override available in Stage 4.
Fillets — price = material × multiplier + fitting time at the labour rate
Default 2× the fillet's material cost. The general markup never also applies.
Default 10 min per quote with a fillet.
Default 8 min/m of fillet. Raise or lower these to make fillets dearer or cheaper.
Shadowbox uplift — labour multiplier + extra mat / foamboard sheets
Default 1.25× the matted-equivalent labour.
Default 2 sheets, artwork-sized.
Only 3 mm and 5 mm stocked (40 × 60" sheet). Default 5 mm.
Glazing floor
How the customer price for glazing is derived. "Same as materials markup" is today's behaviour; a size- or cost-based curve tapers the multiplier so full sheets stay sellable (a $150 sheet at 1.5× is $225, not $300). Minimum prices, the per-lite fee, and the oversize surcharge apply in every mode. The preview plots the real engine output for the chosen option.
Chooses which real products fill each glazing option on the design stage — names and prices both. Set your own sheet costs in Stock & pricing.
What each glazing option resolves to
The brand above fills every option. To choose a different product for a particular sheet size — or to mix brands — open the full editor in Stock & pricing → Glazing. The engine always cuts the cheapest of your chosen sheets that fits the frame.
Stretcher bars
The bars this shop offers on canvas quotes. Costs are per metre — edit them in Stock & pricing.
Pricing rules — per-frame-type bucketing
Each line item resolves to Marked up (inside markup parens), Pass-through (added at face value after markup), or Excluded (not in the quote). Locked rows aren't physically applicable to that frame type.
Studio details
Letters/numbers + trailing dash. Used in EET-0042 style quote IDs.
Per-device only (stored on this device, not synced). This device boots straight into Admin, re-using its saved sign-in; if the session has expired it shows the sign-in screen. Other devices default to Customer. Untick to make this device default to Customer too.
Path or URL. Shown in the topbar + the wall-mockup PNG footer. ~36 px tall at display size.
Signed-in only — stores it online and fills both logo fields.
Path or URL. Shown on the printed quote header at 140 × 140 px; commit a square ~600 × 600 px version for best clarity.
Add a street address before printing customer quotes.
Share API — Cloudflare Worker + R2
The endpoint is public and lives in share-config.js so any browser can read shares. The key is secret and stays here on your device. Setup steps: cloudflare-worker/README.md.
Catalogue API — hot-swaps the catalogue at launch when the Worker bundle is newer
Not tested yet.
Validates the Worker's /catalogue/* endpoints serve the same SKU counts as the inline catalogue. Setup steps: openspec/changes/saas-catalogue-api/runbook.md.
Team — staff who can sign in to this studio
Staff: bench access, no admin. Manager: admin without billing. Owner: everything.
Frame presets — the "Our Favourites" prebuilt looks
Author presets from the builder ("Save as preset" on the design stage) or any saved quote. "In embeds" controls which looks the website widget shows.
Notifications — new customer submissions
Applies to in-app popups and push. Signed-in devices always show the Orders / Saved Quotes badges.
Subscription
Embed — showcase mode in a third-party iframe (Shopify / Squarespace)
Website embeds are a Studio-tier feature. Upgrade on the Subscription tab to carry the designer on your own website.
What visitors inside a host-page embed see. Your own site always shows Customer view (estimates + badges). Visual-only embeds send designs to you unpriced — you price them on review. This hides figures in the app; anyone technical can still inspect public pricing data (an accepted trade-off). You always approve the real amount before any payment.
$ below the first, $$ between, $$$ at or above the second. Uses your effective cost (overrides + supplier markups included).
Mats band by effective sheet cost per m² — defaults 20/45 split the catalogue into rough thirds.
Storage — localStorage + IndexedDB usage on this device
Loading…
Orphan cleanup deletes IndexedDB blobs no saved quote references (e.g. from cancelled saves); it also runs automatically on app idle. Full-resolution artwork lives here by design — only display copies sync to the cloud.
How to measure your artwork
Edge-to-edge measurement
For most prints and photos, measure the outermost edge of the artwork itself — not the paper border. The mat will cover everything outside this measurement.
Artwork alone
Measure the image only
With signature
Include the visible space below
Including signature or white space
If the customer wants the signature or a border visible, measure edge-to-edge of the artwork then add the extra space they want shown (e.g. 30–50mm below for a signature). Enter the combined total.
Bottom-weighted mats
You can also toggle "Weight bottom (offset mat)" in the design step to add extra mat height below the artwork — this creates a traditional weighted bottom without changing the top/side reveals.
Paper
Moulding reference shots
Calibrate from your price list
Enter two reference prints with the retail price you'd want to charge — or upload your whole price list as a CSV and the wizard fits across every row. Material cost (paper + ink + wastage) is read from the selected paper.