A repeating table let a person add as many rows as they needed inside a single form, and each row carried its own fields. It suited anything with detail lines under a header: a purchase order with items, an inspection with findings, an event with attendees. When a form moves off InfoPath, the plain fields come across easily. The repeating section is where migrations stall.
Why the usual replacement feels heavy
The path most people are pointed at is Power Apps. You build a canvas app, add a gallery bound to a second SharePoint list for the rows, and wire it back to a parent form on the first list. It does work. The cost is the shape of it: a separate app to build and look after, premium licensing once you pass the standard connectors, and usually a developer to get it right. For a form that just needs line items, that is a lot of scaffolding.
The linked-list approach
Forms365 Workspace handles this with linked lists. Inside the parent form you drop a linked-list control, and the rows a person adds are written as real items in a separate child SharePoint list, each tied back to the parent record with a lookup. The writes are batched when the form is saved, so the parent and its rows commit together.
The important word is real. These are ordinary SharePoint list items in a child list, not a block of text squeezed into one column on the parent. That means your views, filters, and any Power Automate flow can read the individual rows, the same as any other list. It runs inside your own Microsoft 365 tenant as an SPFx solution, so no Power Apps licence is involved.
A worked example: a purchase order
Say you have a Purchase Orders list for the header, and a PO Lines list for the detail. The form shows the order once at the top, then a table of lines the person builds up as they go:
The line total is a calculated value, worked out as the person types. Add five items and you get five items in the PO Lines list, each linked to the order. Nothing is stored as a lump you later have to pull apart.
Building it
- 1
Create the child list
Make a SharePoint list for the rows (PO Lines) with the columns each line needs, plus a lookup back to the parent list.
- 2
Open the parent form in the designer
Point Forms365 Workspace at the Purchase Orders list. The header columns appear on the canvas.
- 3
Add the linked-list control
Drop a linked list onto the form, connect it to the PO Lines list, and choose which columns show as the row editor.
- 4
Add a calculated line total
Set the line total to Quantity times Unit price so it fills in as the person enters each row.
- 5
Preview and publish
Add a couple of test rows in preview, confirm they save to the child list, then publish the form to the parent list.
One honest note
Linked lists write to a real child list rather than storing the rows in a single column on the parent. For most line-item forms that is exactly what you want, since you can report on the rows and act on them individually. If your old form leaned on some very specific InfoPath layout behaviour, check it against the designer first rather than assuming it maps one to one.
Rebuild your repeating table on a list.
14-day free trial. No credit card.