DocTransform

Fix the file in one sentence. Import it clean, every week.

Type what's wrong in your own words. The AI adds the steps and shows what each one changed; one Undo takes them all back. Keep them for next week's export.

Free plan, no card. Cell values are never sent to the AI.

Trim spaces in Company and Email, lowercase Email, write Signed as YYYY-MM-DD and remove rows with a duplicate Email

crm_leads_export.csv
CompanyEmailSignedCountry
Acme GmbH 1 Lena@ACME.example207.03.20263DE
Acme GmbH4lena@acme.example7 Mar 2026DE
Nord ASole.berg@nord.example2026-03-09NO
Brio Studioanna.rossi@brio.example2026-03-10IT
Kaya Retailjames.kaya@kaya.example2026-03-11GB
Moreau et Filschloe.moreau@moreau.example2026-03-12FR
Delta Logisticstom.bakker@delta.example2026-03-13NL
    Why the import goes through

    Big, messy files in. Files your system accepts out.

    Every row, not a sample

    Thousands of rows and dozens of columns, every cell checked.

    12,480of 12,480 rows checked
    0problems left

    Reads each column’s own number style

    A dot or a comma means different things in different countries. Each column is read the way it was written.

    • Amount1.234,56 €European money
    • Price1,234.56US number
    • Units1 200Space for thousands
    • Rate3,5Comma for decimals

    Deleted soon after you go

    When you stop working, our copy of your file is deleted within 30 minutes. Your edits stay in your browser.

    Starts when you leave

    20 kinds of data, each checked against the format your destination reads

    • Date07.03.20262026-03-07
    • Phone600 123 456+34600123456
    • Money1.234,56 €1234.56
    • Email Lena@ACME.examplelena@acme.example
    • IBANes91 2100 0418 4502 0005 1332ES91 2100 0418 4502 0005 1332
    • TextAcme GmbH Acme GmbH
    • Decimal3,53.5
    • Whole number1 2001200
    • Date & time05/02/2026 09:392026-02-05 09:39:00
    • Time2:05 PM14:05
    • Yes / noJatrue
    • Value listDeutschlandDE
    • Websiteacme.exampleflagged for you
    • Image linkhttp://acme.example/a.pnghttps://acme.example/a.png
    • ID0012300123
    • Code ab-12 AB-12
    • SKU00042SKU-00042
    • Card number4111 11abflagged for you
    • National ID12345678z12345678Z
    • IP address256.0.0.1flagged for you
    Where the file is going

    Every import has its own rules. We check them for you.

    Four common imports, the rules each one checks, and the fixes that get a real export through.

    • Salesforce

      12,480 leads
      • No stray spacesAcme GmbH becomesAcme GmbH
      • Dates in one format07.03.2026becomes2026-03-07
      • Clean email addresses Lena@ACME.examplebecomeslena@acme.example
      • One row per leadAcme GmbH · lena@acme.examplebecomesremoved
    • HubSpot

      8,204 contacts
      • Phone as +[country code][number]+34 600-123-456becomes+34600123456
      • Several values split by semicolonsNewsletter, EventsbecomesNewsletter;Events
      • Clean email addressesInes@SolyMar.examplebecomesines@solymar.example
      • One contact per emailines@solymar.example · Ines Ruizbecomesremoved
    • Shopify

      3,516 products
      • Every product needs a title(empty)becomesflagged for you
      • Prices as plain numbers€19,90becomes19.90
      • Fulfillment service filled in(empty)becomesmanual
      • Inventory counted as a number1 200becomes1200
    • QuickBooks

      950 transactions
      • Dates in one format03.07.2026becomes03/07/2026
      • Amounts as plain numbers-1.200,00becomes-1200.00
      • Only Date, Description, AmountSaldo · 8.430,12becomesremoved
      • No subtotal rowsZwischensumme · -4.980,50becomesremoved

    Salesforce, HubSpot, Shopify and QuickBooks are trademarks of their owners. DocTransform is not affiliated with them.

    How it works

    A couple of minutes the first time. One click every week after.

    Upload the spreadsheet you get every week. Fix it once, save your fixes, and from then on it takes one click.

    Week 1

    A couple of minutes
    1. New file
      crm_leads_export.csv12,480 rows · 38 columns
      CompanyTextEmailEmailSignedDateCountryText+34 more

      Our copy deleted after 30 min idle

      01

      Upload your file

      Any CSV or Excel file, even with thousands of rows. We recognise dates, phone numbers, emails and amounts automatically.

    2. “Trim spaces in Company and Email, lowercase Email, write Signed as YYYY-MM-DD and remove rows with a duplicate Email” typed into DocTransform; five steps applied, one duplicate row removed; Undo shown
      1. Type the change in one sentence, in your own words.
      2. Wait about 5 seconds while the steps are written. Stop cancels.
      3. Check each step and how many cells or rows it changes.
      4. The file is clean. Not what you meant? One Undo takes it all back.
      02

      Say what to fix

      Type the change in one sentence, in your own words. The steps are added and each shows what it changed; one Undo takes them all back. Prefer clicking? Every fix is in the column menu too.

    3. Your file
      leads_import.csvReady for Salesforce
      Import complete12,431 leads imported · 0 errors
      03

      Download a clean file

      Ready to upload to Salesforce, HubSpot, Shopify or QuickBooks, and accepted the first time.

    Every week after

    One click
    Saved fixes
    Salesforce leads312 fixes · saved Mar 7 Run
    1. Mar 14 58 s
    2. Mar 211 new problem
    3. Mar 28 52 s

    Next week, one click

    Your fixes are saved. Upload the new file, press Run, and you only check what's new.

    • Week 212,615 rows · 58 s
    • Week 31 new problem
    • Week 412,702 rows · 52 s
    • Week 512,690 rows · 49 s
    Fix your first file Free plan, no card. Nothing to install.

    Frequently asked questions

    No. It produces the file their import screens accept. You upload that file yourself, so no system credentials are ever needed.

    Your rows are stored twice while you work: a copy in your browser (IndexedDB), which stays until you clear your browser data, and a session file on our server, which is deleted automatically 30 minutes after your last activity. Closing the tab or downloading your file doesn't trigger either deletion. Cell values are never sent to the AI.

    Run the saved template on the new file. If a column moved or a new value appears, the grid flags it before you download.

    CSV, TXT, XLS, XLSX, JSON, YAML and YML files.

    Yes. Create an API key from your account and call the Public API to start a run with a saved template. See the API docs for the full walkthrough.

    Each step shows what it changed before you download. One Undo takes the whole request back, and you can make any fix by hand from the column menu instead.

    Bring this week's export.

    Free plan, no card.

    Fix your first file