Documents

Move the files, not just the rows

Morph moves documents between your systems: invoice PDFs and attachments from Xero or Odoo, scans you upload or drop on SFTP. Each file is renamed the way you want, read by OCR when its number is only on the page, and attached to the matching record in the destination. Morph keeps no copy.

How it works

Built like any Morph rule

A document rule sits on the same canvas as a rule that moves rows. Choose Documents instead of records, and run it by hand, on a schedule, or each time a file lands.

  1. 1

    Choose where the files come from

    Upload them, drop them into a folder of your Morph SFTP inbox, point Morph at a folder on your own SFTP server, or pick the records in Xero or Odoo whose files you want.

  2. 2

    Name them and find their record

    Rename each file by a pattern, or by what is written inside it, and say how the record it belongs to is found: the invoice with the same number, checked against its date or customer.

  3. 3

    Deliver

    Morph attaches each file to its record in the destination system, writes it to an SFTP folder, or packs the lot into one zip for you to download.

Where files come from

  • Files you upload, up to 100 at a time
  • A folder of your Morph SFTP inbox: a file runs the rule as soon as it lands
  • A folder on your own SFTP server, on a schedule
  • Xero: the files attached to invoices, credit notes, orders, quotes and more, and each invoice, credit note, purchase order or quote as Xero's own PDF
  • Odoo: the files attached to invoices, orders, contacts and more, and the invoice PDF Odoo keeps once it has been sent or printed

Where they go

  • Odoo (19 and later): attached to the matching record
  • Xero, QuickBooks Online, Zoho Books, Sage Accounting and NetSuite: attached to the matching invoice, bill or order
  • Your SFTP server, in the folder and under the name you choose
  • A zip you download, removed from Morph as soon as it arrives

Read from the document · OCR, no AI

When the number is only on the page

A scan called scan0001.pdf says nothing about which invoice it is. Morph reads the page by OCR and finds what you tell it to: the invoice number, the date, the total, the supplier. Then the file is named by it and filed against that invoice, so scan0001.pdf arrives as INV-0042.pdf on invoice INV-0042.

Your patterns, or Textract's invoice fields

Write what to look for, or start from a ready pattern for the usual facts. For invoices and receipts, tick the fields Textract finds by itself.

Tried on a real file first

Drop a file into the step and see the text read from it and what each pattern picks out, as you type. The file is removed from Morph straight after.

Nothing guessed

The same page always gives the same fields. A value that is not on the page stays empty, and the file is listed with the reason instead of filed on a guess.

Safe by design

The right file on the right record

  • Exactly one record, or nothing

    A file is attached only when exactly one record matches, and a second check (its date or its customer) can be required too. With none or several, the file is not delivered and the run says why. Morph never picks between candidates.

  • Morph keeps no copy

    Each file passes through on its way and is deleted when it has been handled. A file that could not be delivered stays where it came from, and the next run tries it again by itself. There is no queue of your files waiting in Morph.

  • Never sent twice

    A file already delivered to a record is recognised and not sent again, however often the rule runs. A daily rule brings only the documents that are new since the last run.

  • Checked on the way

    Each file has to be what its name says it is. Programs, scripts and empty files are refused, and a file over your plan's size limit is listed rather than sent.

See pricing: documents count as delivered data, on every plan

FAQ

Questions about documents

Which files can Morph move?

PDFs, images (PNG, JPEG, GIF, TIFF and WebP) and Excel workbooks. Morph moves a file as it is: it changes the name and finds the record, never what is inside the file.

Does Morph read my documents with AI?

No. Read from the document uses OCR (Amazon Textract) to turn the page into text, and the fields come from patterns you write, or from Textract's own invoice fields. No AI model sees the document, and the text read is not kept: only the fields found are, in the run's report.

What can Morph read from a document?

Anything written on the first pages of a PDF or an image (up to 10 pages): an invoice number, a date, a total, a purchase order number, a supplier. Printed English, French, German, Italian, Portuguese and Spanish are read; handwriting in English only. A file it could not read, or a value it did not find, is listed with the reason rather than filed on a guess.

What happens to a file whose record does not exist yet?

It is not delivered, and the run says so. It is still where it came from, so the next run tries it again and files it once the record is there. A file you uploaded is uploaded again.

Do documents count toward my data allowance?

Yes, the same way as rows: a file counts its own size, once, when it is delivered. Renaming it and finding its record add nothing, and a file that was not delivered is free.

Does reading a document cost extra?

No. Every plan includes pages a month for reading documents, from 50 on Free to 50,000 on Business. Morph stops reading a file as soon as it has found what you asked for, so most invoices take one page, and a file it has read before is not read again. A page read for Textract's invoice fields counts as 5.

Can Murphy set up a document rule?

Yes. Murphy builds document rules like any other: where the files come from, how they are named and which record each belongs to, shown to you before anything is saved.

Move your first documents on the free plan

Free plan · no credit card · first clean run in minutes