# Warehouse receiving log: what arrived, short or damaged

> For the full documentation index, see https://250highstreet.com/llms.txt

> Build a receiving log in SharePoint: one row per delivery with PO number, counts, damage notes and a photo, plus an email when a delivery arrives short.

Keep one SharePoint list where each row is one delivery: PO number, supplier, expected qty, received qty, result and a photo. Add a Power Automate flow with the trigger "When an item is created" that emails someone when the received qty is lower than the expected qty. A spreadsheet log cannot email anyone, and a photo stays in someone's phone. A list can hold both. Exact names may differ on your screen.

This guide is about the moment a delivery arrives at the dock. If you track the order itself, from request to approval, see "[Purchase order tracker for a small team](/guides/purchase-order-tracker-sharepoint/)". If you need to count stock on the shelf, see "[Inventory tracking for a small team](/guides/inventory-tracking-small-team/)". This guide does not repeat those.

## Why a receiving spreadsheet falls short

Receiving is fast work. A truck is at the door, a pallet is on the floor and someone has a phone in one hand. A spreadsheet on a shared drive does not fit that moment well. These problems show up:

- The count is written on the paper packing slip, then typed in later, or never typed in.
- Damage is described in an email or a text message, and the photo sits in a phone gallery.
- Nobody notices a short delivery until someone needs the goods.
- Two people edit the sheet at once, and one of them loses a row.
- The note "box crushed" has no date, no PO and no name next to it.

A list fixes the main part of this. Each delivery is one row with its own date, count, note and photo. A flow can watch for new rows and tell a person when a count is low.

## What you are building

- A list named "Receiving", with one row per delivery.
- Columns for supplier, expected count, received count, result, damage notes, photo, date and the person who received it.
- A "Needs follow-up" view for deliveries that arrived short or damaged and are still open.
- A "Last 30 days" view for a quick look back.
- A Power Automate flow that sends an email when a delivery arrives short or damaged.

## Step 1. Create the list

Go to [https://www.microsoft365.com](https://www.microsoft365.com), open SharePoint, and open the site where your team works. Microsoft's help page on creating a list says: "Or, you can create a new list from your SharePoint site home page or the Site contents page, select + New \> List." Choose Blank list, enter a name, such as "Receiving", and select Create. If you work in the Lists app, Microsoft says to select "+New list". Exact names may differ.

Use the Title column for the PO number, such as "PO-10442". You can rename the column to "PO number" in the column settings.

If a delivery has no PO number, type a short reference instead, such as the carrier name and the date.

## Step 2. Add the columns

Add these columns with "+ Add column". Microsoft's help page on column types is listed at the end of this guide.

1.  Supplier: Single line of text.

2.  Expected qty: a Number column. Microsoft says the Number column is "Used to store numerical values that aren't monetary values."

3.  Received qty: a Number column, for the count that arrived.

4.  Result: a Choice column. Microsoft says a Choice column is "Used to let people choose from a list of options that you provide." Use numbered choices so they stay in your order:

    - 1 Complete
    - 2 Short
    - 3 Damaged
    - 4 Short and damaged

    Set the default to 1 Complete.

5.  Damage notes: Multiple lines of text. Ask people to write what they saw: "two cartons crushed on the left side", not "damaged".

6.  Photo: an Image column. Microsoft says the Image column is "Use to add a single image file from your device to an item in a list or a library." It holds one image. If you need more than one photo, see "[Where SharePoint list attachments are stored, and when to use a library](/guides/where-do-sharepoint-list-attachments-go/)".

7.  Received date: a Date column, date only.

8.  Received by: a Person column.

9.  Follow-up: a Choice column with numbered choices: 1 None needed, 2 Open, 3 Claim sent, 4 Closed. Set the default to 1 None needed.

Our advice, not a Microsoft rule: the number in front of each choice shows the order you want, so write the choices the same way every time.

Why Result and Follow-up are Choice columns and not free text: the words are exact when you filter and when a flow reads them. A typo such as "Shrt" cannot get in.

One way to start, and our advice, not a Microsoft rule: create "Expected qty" and "Received qty" with names that have no spaces first, such as ExpectedQty and ReceivedQty, then rename them to the names above. Names with no spaces are easier to read in the flow, and renaming afterward is your call.

## Step 3. Enter a delivery

At the dock, open "Receiving" and select "+ New". Fill in the PO number, supplier, expected qty, received qty and received date. Add the photo while the box is still in front of you. If the counts do not match, or something is broken, set Result and write the damage note in the same minute. On the dock, use the phone's web browser: [https://office.com/launch/Lists](https://office.com/launch/Lists) opens your lists, because the Lists phone apps are gone (see "[Microsoft Lists phone app is gone: what to use now](/guides/microsoft-lists-mobile-app-retired/)").

Three habits keep the log honest:

- Count the goods, not the slip. The expected qty comes from the order. The received qty comes from what you counted.
- Write the note where the damage is. Say which box, which side and how many units.
- Take the photo before you move the goods. A photo of a repacked pallet shows nothing.

## Step 4. Build the "Needs follow-up" view

This view is the one the receiving lead opens each morning. It shows deliveries that arrived short or damaged and that nobody has closed.

1.  Open the view menu and choose "Edit current view" to open the classic view editor. Create a new view named "Needs follow-up".
2.  Under "Filters", choose "Show items only when the following is true".
3.  Filter Follow-up to "is equal to" 2 Open.
4.  Show the columns Title, Supplier, Expected qty, Received qty, Result, Received date and Received by. Sort by Received date, oldest first.

When someone sends a claim to the supplier, they change Follow-up to 3 Claim sent. When the matter is settled, they change it to 4 Closed. Rows in those two states drop out of this view.

Microsoft's help page on filtering a view says: "It is not possible to use the \[Today\] or \[Me\] filters when filtering using a column header." It adds: "You must use the classic view editor to filter columns using these keywords." This view does not use those keywords, but the next one does.

## Step 5. Build the "Last 30 days" view

1.  In the classic view editor, create a view named "Last 30 days".
2.  Filter Received date to "is greater than or equal to" \[Today\]-30.
3.  Sort by Received date, newest first.

Microsoft's page says: "you can create a filter on the Date column that's greater than or equal to \[Today\] - 30." Exact wording in the editor may differ. This is the Microsoft rule for \[Today\] and \[Me\]: they need the classic view editor.

A calculated column cannot use today's date. Microsoft's page on formulas says: "The TODAY and ME functions are not supported in calculated columns but are supported in the default value setting of a column." That is why the date check lives in a view filter and not in a column.

## Step 6. Email someone when a delivery arrives short

The list does not send email by itself. Power Automate can. Microsoft says: "Power Automate is deeply integrated with SharePoint." It also says you can use SharePoint triggers "to start flows that monitor changes made to a list or library."

Here is one way to start. Action names may differ on your screen.

1.  Sign in at [https://make.powerautomate.com](https://make.powerautomate.com). Microsoft's beginner page says: "From the navigation bar on the left, select My flows." Then select "Create from blank". Choose an automated cloud flow that starts from a SharePoint trigger.

2.  Pick the trigger "When an item is created". Choose your site address and the "Receiving" list.

3.  Add a Condition. You want it to be true when the received count is lower than the expected count, or when Result says damaged. Microsoft's page on expressions in conditions lists these functions:

    - less: "Takes two arguments and returns true if the first argument is less than the second argument."
    - or: "Takes two arguments and returns true if either argument is true."
    - equals: "Returns true if two values are equal."

    Put Received qty first and Expected qty second inside less. Use the dynamic content picker to insert each column. Use equals to compare Result with the exact choice text, including the number, such as 3 Damaged. Microsoft says for or: "Both arguments must be Booleans." So wrap each test in its own function and join them with or.

4.  In the Yes branch, add Send an email (V2) from Office 365 Outlook. Microsoft's beginner page lists the steps: enter a search term, pick Send an email (V2), then fill in To, Subject and Body. Put the PO number, supplier, expected qty, received qty and damage notes in the body with dynamic content.

5.  Save the flow, then test it with one row where the received count is lower than the expected count.

Two points to know. "When an item is created" runs when a row is created, so a change made to a row later does not start it. If Result is set after the row is first saved, use the trigger "When an item is created or modified" instead. Microsoft's connector reference says it "Triggers when an item is created, and also each time it is modified." That trigger runs again on every save, so one short delivery can send an email each time someone edits the row. Add a hidden Yes/No column called "Alert sent", set its default value to No, check that it is No in the Condition, and set it to Yes with Update item after the email. The flow then saves the row itself, so read "[Power Automate flow keeps running itself over and over](/guides/power-automate-flow-triggers-itself-infinite-loop/)". Check with your admin which license your company has for Power Automate.

@@KEEP@@

## One short pallet, start to finish

A delivery arrives on PO-10442 from Supplier A. Expected qty is 40 and Received qty is 36, so the flow's Condition is true and the email goes out. The person at the dock sets Result to 2 Short, writes "four cartons missing from the pallet" in Damage notes, adds the photo and sets Follow-up to 2 Open. The row then shows in "Needs follow-up" until someone sets Follow-up to 3 Claim sent or 4 Closed.

## Who can see the list

Anyone who can open Receiving can pick another view and read every row. If supplier names or prices should stay private, set permissions with your admin. See "[Keep one column private (like pay or notes) in a shared list](/guides/hide-a-column-from-some-people-sharepoint-list/)".

## What to avoid

- Do not type free text for Result. Use a Choice with numbers so your order is kept.
- Do not use a calculated column with today's date. Microsoft says the TODAY function is not supported in calculated columns.
- Do not rely on a view to hide data. Views are not security.
- Do not photograph goods after they are repacked. Take the photo first.
- Do not write "damaged" with no detail. Say what, where and how many.
- Do not delete old rows to keep the list short. Set Follow-up to 4 Closed and filter them out of your views.
- Do not treat the email as proof the supplier agreed. It tells your team a delivery was short. A claim to the supplier is a separate step in your own process.

## Honest limits

This list records what a person types. It does not check that the PO exists, that the expected count matches the order or that the photo shows the right goods. It does not replace the signed delivery slip, your insurance steps or any carrier claim deadline. Ask your carrier and your supplier what proof they need and how soon.

The flow compares two numbers. It cannot tell a missing pallet from a miscount. A person has to look.

The Image column holds one image per column, so a delivery with several damaged items needs a second plan, such as attachments or a linked library. If a delivery has several product lines, with a different count for each product, one row per delivery is too coarse. You would need a second list for lines, linked to the first by a lookup. Start with one kind of delivery and add more once the first works.

## When to get help

You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: \$5,000 for one, built in 2 weeks. See "[What a SharePoint tracker costs to build](/guides/what-a-sharepoint-tracker-costs/)". Bring one example of the problem to a free call.

I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.

See trackers I built: [Tools I built](/portfolio/)

## FAQ

### What should a warehouse receiving log record?

Record the PO number, supplier, expected qty, received qty, a result, damage notes, a photo, the date and who received it. One row per delivery.

### Which Power Automate trigger fits a receiving log?

Use "When an item is created" if the counts are typed at the dock. Use "When an item is created or modified" if Result is set later, and add the Alert sent check from Step 6.

### How do I add a photo to a delivery from a phone?

Open the list in the phone's browser at [https://office.com/launch/Lists](https://office.com/launch/Lists). Microsoft says the Lists mobile apps for Android and iOS were retired in mid-November 2025. The Image column holds one image.

### Why does my \[Today\] filter not work from the column header?

Microsoft says it is not possible to use the \[Today\] or \[Me\] filters from a column header. Use the classic view editor: Edit current view, then Filters.

### Does this replace the signed delivery slip or a carrier claim?

No. The list is your team's record. Ask your carrier and supplier what proof and what deadline they require for a claim, and keep the papers they ask for.

## Sources

- [Microsoft Support, Create a list](https://support.microsoft.com/en-us/sharepoint/lists/data-and-lists/create-a-list)
- [Microsoft Support, List and library column types and options](https://support.microsoft.com/en-us/sharepoint/lists/data-and-lists/list-and-library-column-types-and-options)
- [Microsoft Support, Use filtering to modify a SharePoint view](https://support.microsoft.com/en-us/office/use-filtering-to-modify-a-sharepoint-view-3d8efc52-0808-4731-8f9b-3dfaeacea3d4)
- [Microsoft Learn, Use SharePoint and Power Automate to build workflows](https://learn.microsoft.com/en-us/power-automate/sharepoint-overview)
- [Microsoft Learn, Create a cloud flow in Power Automate](https://learn.microsoft.com/en-us/power-automate/get-started-logic-flow)
- [Microsoft Learn, Use expressions in conditions in Power Automate](https://learn.microsoft.com/en-us/power-automate/use-expressions-in-conditions)
- [Microsoft Support, Introduction to SharePoint formulas and functions](https://support.microsoft.com/en-us/sharepoint/libraries/introduction-to-sharepoint-formulas-and-functions)
- [Microsoft Support, Microsoft Lists mobile apps retirement](https://support.microsoft.com/en-us/sharepoint/lists/microsoft-lists-mobile-apps-retirement)
- [Microsoft Learn, SharePoint connector reference](https://learn.microsoft.com/en-us/connectors/sharepointonline/)

## Related guides

- [Florist order tracker in SharePoint](/guides/florist-order-tracker-sharepoint/)
- [Petty cash log in SharePoint: spends, receipt photos and approvals](/guides/petty-cash-log-sharepoint/)
- [Short-term rental cleaning tracker in SharePoint](/guides/short-term-rental-cleaning-checklist-tracker/)

Source: https://250highstreet.com/guides/warehouse-receiving-log-sharepoint/
