Skip to main content
Menu
On this page

Migrate from Tally

Plan a Tally-to-Fillo rebuild with a field map, response archive, test pass, cutover, and rollback path.

When an embed stops being enough

Tally is quick for a link, popup, or iframe. Fillo is for the point where the form needs your components, signed-in context, and product behavior.

Use your components, not an iframe.

Keep the form on your route and let your design system own every visible control.

app.acme.co/onboarding/check-in

Onboarding check-in

Powered by Fillo

Edit once. Validate everywhere.

Stable field IDs carry from the rendered form through server checks, responses, and exports.

Know who answered inside your app.

Attach the account and route without making the person repeat details you already know.

Put uploads where your team works.

Connect your own storage and keep each file attached to the response that brought it in.

There's no Tally importer in Fillo, so a migration is a controlled rebuild: preserve the old responses, translate the form into a Fillo schema, reconnect each destination, and switch traffic only after the form and its downstream systems pass a test.

Decide whether the rebuild is worth it

Move when the form needs native product markup, a code-owned schema, signed application identity, or customer-connected file storage. Keep Tally when its hosted experience already fits, or when the form depends on Tally payments, custom domains, or another feature you don't want to replace. Numeric calculations aren't on that list anymore — they rebuild as Fillo calculated fields.

Read Fillo vs Tally before you start.

What doesn't transfer

  • Form structure: Recreate questions, pages, options, logic, hidden values, and completion behavior.
  • Responses: Export Tally submissions. They stay a separate archive and don't get Fillo response IDs, schema versions, or delivery records.
  • Files: Preserve access to old uploads in Tally. New uploads need a Google Drive, Box, or S3-compatible connection in Fillo.
  • Destinations: Reconnect Sheets, Notion, Slack, Zapier, webhooks, and notifications. Fillo can't infer them from the Tally form.
  • Tally-only behavior: Redesign payments, custom code, and custom-domain hosting outside Fillo where needed. Numeric calculations are the exception — rebuild them as calculated fields.

Estimate the rebuild

Source formMigration size
Linear text and choice questions, one completion screenSmall: field mapping, publish, response test, and link replacement
Pages, logic, calculations, hidden values, uploads, or several destinationsMedium: rule-by-rule rebuild and a full branch and delivery test
Payments, custom code, non-numeric calculations, or automations coupled to Tally payloadsLarge: product and backend changes before traffic can move

Size describes the kind of work, not how long it takes. Review the live form and its consumers before estimating.

Build the field map

Give fields durable Fillo IDs based on what they store, not the current question label. Labels change; IDs key answers, logic, exports, and downstream code.

Tally sourceFillo targetCheck during migration
Short or long answershort_text or long_textRequired state and length limits
Single or multiple choiceselect, dropdown, or multi_selectStable option IDs, Other behavior, and shuffled order
Page and conditional logicFillo pages, visibleIf, and page next rulesEvery reachable path and early completion
Hidden field or prefilled valuehidden, URL prefill, or initialDataParameter names and whether the value is trusted or editable
File uploadfile_uploadFile count, size, accepted types, and connected storage
Numeric calculationcalculatedSame inputs and rounding, and each rule or export that reads the result
PaymentApplication or external servicePayment status, failure, and return route

Use the field catalog, logic guide, and prefill guide for exact schema shapes.

Preserve the source archive

Export the responses before editing or closing the Tally form. Store the export date, source form ID, timezone, field map, file-access notes, retention owner, and deletion policy beside the archive. Don't merge those rows into Fillo and label them as native responses.

Verify before cutover

Test the published Fillo form with cases that cover:

  • every required field, option, page, branch, and completion route
  • URL prefill and hidden attribution values
  • file upload success, rejection, and storage access
  • repeat-response, save-and-resume, and signed-identity settings you enabled
  • the response grid, CSV values, and each destination
  • narrow and desktop layouts, keyboard focus, errors, and success

If an automation expects a Tally payload, update it to the documented Fillo event or add a server-side translation layer. Don't treat a successful form submit as proof that the destination worked.

Cut over and roll back

  1. Put the Fillo form on a private or low-traffic route and finish the test pass.
  2. Replace one production link or embed first.
  3. Confirm accepted responses and destination delivery in Fillo.
  4. Replace the remaining entry points, then stop new Tally submissions.
  5. Keep the old form and archive read-only for the retention period your organization requires.

Keep the old URL or embed snippet ready until the Fillo path is stable. If validation, uploads, or delivery fail, restore that entry point, repair the Fillo form, and repeat the test. Don't collect production responses in both systems longer than the rollback window — it splits the record of activity.

Cutover checklist

  • Tally response and file archive has an owner
  • Field, option, page, and logic map is reviewed
  • Fillo storage and destinations are connected
  • Realistic test responses reached every required destination
  • All public links and embeds are inventoried
  • Rollback URL or embed is ready
  • Old and new data retention is documented

Updated

Was this page helpful?