SAP Sales Order Report
A sales order report joins the SAP order header, items, schedule lines and status tables into one Excel sheet keyed by order and item, with customer and material texts resolved.
- PostNow ships this report out of the box – pick it, set filters, run, and it lands in Excel; no SE16, joins or ABAP.
- The data spans several tables. It joins VBAK, VBAP, VBEP, VBUK / VBUP, KNA1, MAKT on VBELN + POSNR and resolves the text lookups.
- The standard route is manual. Teams use VA03 for a single record, then SE16 or SQVI to stitch tables together in Excel.
- You get clean, labelled columns. VBELN, AUART, VKORG, VTWEG, SPART, KUNNR and more, each with a plain-English heading.
- Refreshable, not a one-off dump. Rerun the report to pull the latest, with your own SAP authorizations enforced. Works on ECC and S/4HANA.

What the sales order report shows
A SAP sales order report answers a simple question that SAP makes surprisingly hard: give me every sales order record, with all the attributes that matter, in one place I can filter and share. On screen, SAP shows one record at a time and splits its attributes across several views. This report flattens all of that into a single Excel sheet, one row per record, with the codes turned into readable labels.
Because the output is a plain sheet, it becomes the starting point for the work people actually do with it: a data-quality review, a cleanup before a migration, a hand-off to an auditor, or a source for a pivot. The value is not just the extract, it is that the extract is complete and consistent every time you run it.
The SAP tables behind it
A sales order is a header with items, and each item has schedule lines and a status. VBAK holds the header: order number VBELN, order type, sales area and the sold-to customer. VBAP holds the items, keyed by VBELN plus item POSNR, with material, quantity, net value and plant. VBEP holds the delivery schedule lines for each item. Status lives in VBUK at header level and VBUP at item level, telling you whether the order is open, delivered or billed. The customer name is joined from KNA1 on KUNNR and the material text from MAKT on MATNR. Keyed at item level, each order line is one row.

The joins are the whole reason this is worth automating. Miss one and the report is subtly wrong; get the key fields slightly off and rows fan out or drop. Doing it once, correctly, and then reusing it is what turns a fragile spreadsheet exercise into a reliable report.
The columns you get
Every column below is a real SAP field, labelled in plain English, with the table it is read from. These are the fields most teams want on a sales order report; a tool like PostNow lets you add or remove columns without touching the underlying join.
| SAP field | What it is | Source |
|---|---|---|
| VBELN | Sales order | VBAK |
| AUART | Order type | VBAK |
| VKORG | Sales organization | VBAK |
| VTWEG | Distribution channel | VBAK |
| SPART | Division | VBAK |
| KUNNR | Sold-to party | VBAK |
| ERDAT | Created on | VBAK |
| NETWR | Net value | VBAK |
| WAERK | Currency | VBAK |
| POSNR | Item | VBAP |
| MATNR | Material | VBAP |
| KWMENG | Order quantity | VBAP |
| WERKS | Plant | VBAP |
| EDATU | Schedule date | VBEP |
| GBSTK | Overall status | VBUK |
Building it yourself: VA03, SE16 or SQVI
VA03 shows one order in full, and VA05 gives a list but is shaped around a fixed selection and awkward to flatten with the exact columns you want. SE16 on VBAK and VBAP gives the header and items, which you match on the order number in Excel, and you still fetch VBEP for schedules and VBUK/VBUP for status separately. The statuses are coded per field and need interpreting into open, delivered or billed. Assembling a clean, refreshable order book with all of that is a developer job.
None of this is impossible; people do it every month. The problem is that it is manual, easy to get subtly wrong, and stale the moment it is saved. Each refresh means repeating the same exports and the same lookups, and any new column means another round with a developer. For a one-off you can push through it. For a report you run every period, the cost adds up. If you want the general landscape of options first, see our overview of SAP reporting tools and how to get SAP to Excel.
The out-of-the-box way: PostNow's sales order report
PostNow's Report Library already contains this exact report, pre-built. You do not assemble the joins or resolve the texts; that is done for you. You open Excel, log in to postnow.ai from the task pane, pick the sales order report, set your range filters, and run. The governed, joined data lands in the sheet, ready to filter, pivot or share, and you can refresh it whenever you need the latest.

Two things make this different from a SE16 dump. First, it is governed: PostNow enforces your own SAP authorizations, so you only ever see the data you are entitled to, and every row can be traced back to its source. Second, it is repeatable: the same report, the same columns, refreshable on demand, with no ABAP to write or maintain. That is the payoff of teaching the hard version first, then handing you the shortcut.
Filters and selection you'll want
A good sales order report is only as useful as the selection you can put on it. The filters most teams reach for are:
- Sales order range (VBELN)
- Sold-to customer (KUNNR)
- Sales organization (VKORG)
- Order type (AUART)
- Created-on date (ERDAT range)
- Status (open/done) (GBSTK)
You set these once as your selection, then reuse or adjust them each run. Because the selection travels with the report, a monthly extract becomes a single refresh rather than a rebuild.

ECC vs S/4HANA
In S/4HANA the status information that once sat in VBUK and VBUP may be read directly from VBAK and VBAP, but the report reads the same order tables through standard interfaces, so it behaves the same on ECC and S/4HANA.
The practical takeaway is that a report built on the tables and read through standard interfaces survives a migration far better than one wired to a specific screen or a custom program. When you eventually move from ECC to S/4HANA, a table-based sales order report keeps working, which is one less thing to rebuild in an already large project.
Frequently asked questions
How do I get a sales order report out of SAP into Excel?
You can export the underlying tables with SE16 and stitch them together in Excel, build a query in SQVI, or ask a developer for an ABAP report. The quickest governed route is a tool that already has the report built: in PostNow you log in to postnow.ai from the Excel task pane, pick the sales order report from the Report Library, set your filters and run, and the joined data lands in the sheet.
Which SAP tables hold sales order data?
The data is spread across several tables that have to be joined on their key fields: VBAK, VBAP, VBEP, VBUK / VBUP, KNA1, MAKT. The report links them on VBELN + POSNR and resolves the text tables so the output reads in plain language.
Is there a standard SAP report or transaction for sales order?
There are standard transactions (VA03 and others), but they are built for on-screen display or for a fixed layout, not for a clean, refreshable Excel extract with exactly the columns you want. That is why most teams fall back to SE16 exports or a custom report.
How do I export sales order data to Excel without ABAP?
Use a tool whose SAP connection is set up once and then reads through standard interfaces, so no ABAP is needed for day-to-day reporting. PostNow reads the sales order tables, performs the joins and text lookups, and writes the result straight into Excel, refreshable on demand, with your own SAP authorizations enforced.
Can I refresh or schedule the report?
Yes. Because the report keeps its connection and selection, you can refresh it to pull the latest data at any time rather than rebuilding the extract. This is the main advantage over a one-off SE16 dump, which is stale the moment it is saved.
Does it work in S/4HANA?
In S/4HANA the status information that once sat in VBUK and VBUP may be read directly from VBAK and VBAP, but the report reads the same order tables through standard interfaces, so it behaves the same on ECC and S/4HANA.
How do I get open sales orders into Excel?
The overall status GBSTK in VBUK and the item status in VBUP tell you which orders and lines are still open. A report that reads these can filter to open orders and lines, giving you a clean order book or backlog list in Excel.
Can I report sales orders with schedule lines and status?
Yes. Schedule lines live in VBEP and statuses in VBUK and VBUP. A PostNow report joins them to the header and items so each order line shows its schedule date and status alongside quantity and value.