Exercise Workbook

Folks Inventory ERP — Training & Hands-on Labs

Version 3.0  |  May 2026  |  MasGen Innovations

15 Labs · 12–15 Hours · Final Assessment Included
00

How to use this workbook

This workbook accompanies the Folks Inventory ERP User Manual. Each lab walks a real-world scenario, asks you to perform the steps, and ends with self-check questions. Save your work after every step so a trainer can review your progress.

Before you start

  1. You have a working login with SuperAdmin or a fully-scoped Inventory role.
  2. The API and FE are both running locally (dotnet run in each).
  3. Both solutions build with 0 errors. Confirm with your trainer if uncertain.
  4. The DB MasGen_ERP_DevV3 is restored with seed data.
  5. Have a notebook open to record codes (Vendor, POR, PO, Asset, Sale, JV) — these are referenced in later labs.

Skill levels

Foundation — Labs 1–3, 6

Anyone can do these. Login, navigate, build masters.

Intermediate — Labs 4–5, 7–11

Requires Foundation completion. Movements, P2P cycle, POS, store ops.

Advanced — Labs 12–15

Full system set up + previous labs done. Audits, ledger, gateway, end-to-end.

Conventions used in this workbook

DO — Action

An action you perform on screen.

SEE — Outcome

The expected result you should observe.

NOTE — Record

A value (code, number) to write down.

Q — Self-check

A question to test your understanding.

Tip. Don't skim — actually do the steps. Labs build on each other; codes you record in early labs (Vendor, POR, PO, Asset) appear in later ones.
01

Lab 1 — System orientation

Foundation

Get comfortable with the navbar, the side menu, the standard list / form pattern, and the role you'll work as.

Foundation 30 minutes Goal: orient yourself Pre-req: working login

1.1 First login

  • Open the FE URL. Sign in with the trainer-provided credentials.
  • You land on the dashboard / default page mapped to your role's DefaultPath.
  • Note the role pill at the top right.

1.2 Walk the menu

  • Click each of the seven module groups in turn (Asset, Purchase, Sales, Store, Accounts, Gateway, UM).
  • Sub-menus expand. Pages have a consistent toolbar — Add / Refresh / Export / Search.

1.3 Standard page anatomy

  • Open Asset → Asset Type. Identify: header toolbar, filter strip, data grid, action column.
  • Click Add. The form opens (modal or right-panel). Cancel without saving.

Self-check

  • Q1.1  Which table stores your username and password?
  • Q1.2  What does the DefaultPath on the Login row control?
  • Q1.3  If the Add button is greyed out on a list page, which table likely lacks a privilege row for your role?
02

Lab 2 — Build the Asset taxonomy

Foundation

Set up the three-level Type → Category → Item tree for an IT-and-vehicles fleet.

Foundation 45 minutes Goal: Asset master Pre-req: Lab 1

2.1 Create three Asset Types

  • Open Asset → Asset Type. Add three rows — leave Code blank each time.
#Type NameDescription
1IT HardwareComputers, peripherals, networking gear.
2VehiclesCars, trucks, vans owned by the company.
3FurnitureDesks, chairs, partitions.
  • Record the three auto-generated Type codes.

2.2 Add Categories under each Type

  • Open Asset → Asset Category. Add categories — pick the parent Type from the dropdown.
TypeCategories
IT HardwareLaptops · Desktops · Monitors · Printers · Networking
VehiclesCars · SUVs · Vans · Trucks
FurnitureOffice Chairs · Desks · Cabinets

2.3 Add a few Items

  • Open Asset → Asset Item. Add: HP EliteBook 840 G10 under Laptops; Toyota Prado 2024 under SUVs; Steelcase Series 1 Chair under Office Chairs.
  • Record the three Item codes.

2.4 Add Unit Details for one Item

  • Open Asset → Asset Item Unit Details. For HP EliteBook, add unit each with conversion 1.000 marked default.

Self-check

  • Q2.1  Why is the Category dropdown filtered when you change the Type?
  • Q2.2  What happens if two Items share the same name under the same Category?
  • Q2.3  You changed an Item's default unit after creation. What table is recalculated?
03

Lab 3 — Register your first asset

Foundation

Onboard one physical laptop end-to-end — master row, location, contacts, image, value monitor seed.

Foundation 40 minutes Goal: full onboarding Pre-req: Lab 2

3.1 Create the AssetItem instance

  • Open Asset → Asset Item. Add a serial-tagged instance of HP EliteBook 840 G10:
    • Serial No: SN-LAP-0001
    • Acquisition Date: 2026-04-01
    • Acquisition Cost: 4,180
    • Vendor: leave blank for now
  • Record the AssetItem code (e.g. AST-2026-00001).

3.2 Set location

  • Open Asset → Location Details. Bind the asset to Project Site: HQ — Floor 2; lat 25.276987, long 55.296249.

3.3 Attach a contact

  • On Asset → Contacts, link the assigned employee (your trainer's user) as Custodian.

3.4 Upload an image

  • Use Asset → Image Path (or the inline image control on Item) to upload a photo. Save.
  • The thumbnail appears in the grid.

3.5 Seed the Value Monitor

  • Open Asset → Asset Value Monitor. Click Insert for the new asset — opening value 4,180, diminishing % 20 per year.
  • A row appears with current book value = 4,180.

Self-check

  • Q3.1  Why must the Value Monitor be seeded before you log any maintenance?
  • Q3.2  What URL pattern would a QR code for an asset embed (if QR support were enabled)?
  • Q3.3  If you tried to register a second asset with serial SN-LAP-0001, what should happen?
04

Lab 4 — Move an asset & capture geo

Intermediate

Create a movement that physically transfers the EliteBook from HQ — Floor 2 to Branch Office — Floor 1, capturing the geo coordinates at receipt.

Intermediate 30 minutes Goal: movement & geo Pre-req: Lab 3

4.1 Initiate movement

  • Open Asset → General Asset Movement. From: HQ Floor 2. To: Branch Office Floor 1. Reason: Transfer.
  • Record the MovementID.

4.2 Mark in-transit

  • Save with status In Transit.

4.3 Receive & capture geo

  • Mark the movement Received. Enter receiver lat/long: 25.198765 / 55.272345.
  • A row is added to *MovementGeoLocation; the asset's Current Location now reads Branch Office.

4.4 Verify history

  • Open Asset → Reports → General Asset Movement. Filter by your AssetItemID.
  • One row appears with from/to and the geo coords.

Self-check

  • Q4.1  What status path must a movement traverse?
  • Q4.2  If you backdate a movement before the last AssetValueMonitor row, what happens?
  • Q4.3  Where would a Device-class asset's geo trail be stored instead of GeneralAssetMovement?
05

Lab 5 — Hire & return rental equipment

Intermediate

Use the Hired hierarchy to bring in a generator for a 30-day project, log usage, then return it to the agency.

Intermediate 30 minutes Goal: rental cycle Pre-req: Lab 2

5.1 Add the lease agency

  • Open Asset → Hired Rented Lease Agency. Add SkyHire FZE, contact details, currency AED.

5.2 Add the HiredItem

  • Open Asset → Hired Item. Category Generators, item Cummins 100kVA, agency = SkyHire, daily rate 180.00 AED.

5.3 Log a HiredOperation

  • From Asset → Hired Operation, log start 2026-05-01, planned end 2026-05-30, project site = Site B.

5.4 Compute rent costing

  • Open Asset → Hired Rent Costing. Click Compute — 30 days × 180 = 5,400 AED.
  • A costing row appears.

5.5 Return

  • Set the HiredOperation actual end date and status = Returned.

Self-check

  • Q5.1  Why is there no Disposal flow for HiredItem?
  • Q5.2  If the project ends 5 days early, what happens to the rent costing?
06

Lab 6 — Build the Vendor master

Foundation

Onboard three vendors so the next labs can quote against them.

Foundation 30 minutes Goal: vendor onboarding Pre-req: Lab 1

6.1 Add three vendors

  • Open Purchase → Purchase Dictionary → Vendor Entry. Add three rows — leave Vendor Code blank.
#NameCountryTrade LicVAT/TRNCurrencyPayment Terms
1ABC Trading LLCUAETL-A-100VAT-A-200AEDNet 30
2Stellar Office SuppliesUAETL-B-100VAT-B-200AEDNet 45
3Iron Hardware CoUAETL-C-100VAT-C-200AEDNet 60
  • Record the three Vendor codes.

6.2 Add primary contacts

  • For each vendor, add one Primary contact (name, email, phone).

Self-check

  • Q6.1  What does Net 30 mean for downstream Bills?
  • Q6.2  A vendor's TRN appears on customer-facing PO PDFs. Where is it stored?
07

Lab 7 — Plan → POR → Quotation

Intermediate

Run the front half of P2P — from a Purchase Plan through a POR, vendor invitations, quotes and comparison.

Intermediate 60 minutes Goal: front-half P2P Pre-req: Labs 2, 6

7.1 Create a Purchase Plan

  • Open Purchase → Purchase Plan. Period: 2026-Q3. Plan name: Q3 IT Refresh.
  • Add lines: 5× HP EliteBook 840 G10, 5× Dell 24" Monitor, 5× Logitech MX Keyboard.
  • Record the Plan code.

7.2 Raise a POR from the plan

  • Open Purchase → POR. Click From Plan → pick your Plan. Department: IT. Project Site: HQ Floor 2.
  • Set the Delivery Distribution — split: 3 to HQ Floor 2, 2 to Branch Office Floor 1.
  • Status = Submitted.
  • Record the POR No.

7.3 Invite vendors

  • Open the POR; click Invite Vendor. Tick all three vendors from Lab 6.

7.4 Submit quotes (act as each vendor)

  • Open Purchase → SubmitQuot three times — one per vendor — entering different unit prices.
ItemABCStellarIron
EliteBook 8404,2504,1804,300
Dell 24" Monitor650675620
MX Keyboard180175190

7.5 Compare

  • Open Purchase → Compare Quotation. Tick the cheapest line per item. (Hint: split-award likely.)
  • Record the winning vendor per line.

Self-check

  • Q7.1  Why must the POR move to Submitted before you can invite vendors?
  • Q7.2  What table holds line-level prices submitted by each vendor?
  • Q7.3  Can you split-award? Where is that recorded?
08

Lab 8 — PO → Work Order → Receive

Intermediate

From the comparison, generate POs, optional WOs, and receive a delivery.

Intermediate 50 minutes Goal: back-half P2P Pre-req: Lab 7

8.1 Generate POs

  • From the comparison page, click Process PO. The system creates one PO per winning vendor.
  • Record each PO No.

8.2 Issue a Purchase Work Order

  • Open one PO; click Generate Work Order. Select the items that need internal handling.

8.3 Receive the delivery

  • Open Purchase → Delivery. Pick the open PO. Receive the full quantity.
  • Attach the (mock) Delivery Note PDF.
  • A StoreEntry is auto-created — visible in Store → Inward.

8.4 Capture logistics

  • Open Purchase → Create Logistic. Vehicle Light Truck, plate D-12345, driver Ali Khan.

Self-check

  • Q8.1  What status is the PO after delivery?
  • Q8.2  What's the difference between PO, PWO, and Delivery quantities?
  • Q8.3  If you receive 4 of 5 ordered, what status flag does the PO carry?
09

Lab 9 — Store inward (GRN)

Intermediate

The Delivery you just received auto-created a StoreEntry. Now examine it and post an ad-hoc inward.

Intermediate 30 minutes Goal: stock inward Pre-req: Lab 8

9.1 Inspect the auto entry

  • Open Store → Inward. Filter by today.
  • Auto-StoreEntry rows from Lab 8 are listed. Each carries the Delivery reference.

9.2 Post an ad-hoc inward

  • Click Add. Item Notebook A5, qty 50, Movement Type Local Purchase, Received By yourself.
  • StockAtStore for Notebook A5 increments by 50.

9.3 Verify on dashboard

  • Open Store → Stock Balance. Item filter = Notebook A5. Confirm closing qty.

Self-check

  • Q9.1  Where in the data model is QtyBefore vs QtyAfter stored?
  • Q9.2  If you cancel a StoreEntry that's already increased StockAtStore, what reverses it?
10

Lab 10 — POS day-in-the-life

Intermediate

Open a session, ring 5 sales (one with multi-tender), void one, and close — including the Z-Report.

Intermediate 60 minutes Goal: POS lifecycle Pre-req: Lab 9 (stock available)

10.1 Open the session

  • Open POS → Open Session. Pick Terminal Counter-1. Opening Balance: 500.
  • Record SessionID.

10.2 Ring sales 1–4 (single tender)

#ItemsTender
12× HP Mouse, 5× USB CableCash
23× Notebook A5Cash
31× Dell 24" MonitorCard
41× Logitech MX KeyboardCard
  • Ring each sale, tender, print receipt.

10.3 Sale 5 — multi-tender

  • Cart: 1× HP EliteBook 840. Total ≈ 4,389. Tender 2,000 cash + 2,389 card.
  • Two POS_Payment rows are written; change = 0.

10.4 Void

  • Ring a 6th sale; before tender, click Void.
  • No POS_Sale row is committed.

10.5 Close session

  • Open POS → Close Session. Enter physical drawer count.
  • Z-Report prints. Variance should be 0 if you counted accurately.

Self-check

  • Q10.1  Multi-tender — how many rows are written to POS_Payment for sale 5?
  • Q10.2  What is the formula for ExpectedBalance at session close?
  • Q10.3  The Z-Report is generated on close — which controller method emits it?
11

Lab 11 — Stock issue & inter-store transfer

Intermediate

Issue stock to a project site, then transfer 5 monitors from HQ store to Branch store.

Intermediate 30 minutes Goal: outbound moves Pre-req: Lab 9

11.1 Issue to a project site

  • Open Store → Issue. Project Site = HQ Floor 2; item = Notebook A5; qty = 10.
  • StoreExit row is created; StockAtStore decrements by 10.

11.2 Inter-store transfer

  • Open Store → Inter-Store Transfer. From HQ to Branch; item = Dell 24" Monitor; qty = 5.
  • A consigner StoreExit and consignee StoreEntry are created; the two are linked via VirtualEntryID.

Self-check

  • Q11.1  What protects against issuing more than the available qty?
  • Q11.2  Why two virtual rows (Exit + Entry) for one physical move?
12

Lab 12 — Stock audit & variance

Advanced

Run a counting batch, intentionally introduce a variance, dispose damaged stock and reconcile.

Advanced 45 minutes Goal: audit cycle Pre-req: Labs 9–11

12.1 Generate audit batch

  • Open Store → Stock Audit. Click Generate Batch. Auditor: yourself.
  • Record the BatchCode.

12.2 Enter physical counts

  • For 9 of 10 items, enter the system qty (zero variance). For one item (e.g. HP Mouse), enter system qty − 2 to simulate breakage.
  • Audit row turns Flagged.

12.3 Dispose damaged

  • Move the variance to Damaged Stock. Reason: Drop test failure.
  • As Manager, approve the damaged-stock row.
  • A StoreExit posts; StockAtStore reflects the new floor truth.

Self-check

  • Q12.1  What three states can a Store Audit row hold?
  • Q12.2  Damaged stock approval posts to which ledger group eventually?
13

Lab 13 — Chart of Accounts & manual journal

Advanced

Confirm the chart, post a manual JV for a one-off cash adjustment, see it in the Cash Book.

Advanced 40 minutes Goal: GL basics Pre-req: Lab 1

13.1 Inspect the chart

  • Open Accounts → Ledger Group. Confirm the five top groups (Asset / Liability / Equity / Income / Expense).

13.2 Add one ledger

  • Open Accounts → Ledger. Add Petty Cash under Cash & Bank, opening balance 1,000.

13.3 Post a JV

  • Open Accounts → Journal. New JV. Date today, narration: Office stationery from Petty Cash.
  • Detail rows: Office Supplies Expense Dr 80; Petty Cash Cr 80.
  • Save enables only when Σ Debit = Σ Credit.
  • Record the JV number.

13.4 Check the Cash Book

  • Open Accounts → Reports → Cash Book. Filter by today + Petty Cash.
  • Your JV appears.

Self-check

  • Q13.1  What's the difference between a Ledger Group and a Sub-Ledger?
  • Q13.2  Why does the system reject an unbalanced JV?
14

Lab 14 — Accounts Gateway sync

Advanced

Watch a POS sale (from Lab 10) flow into Accounts via the Gateway. Post the candidate; verify Trial Balance.

Advanced 40 minutes Goal: gateway posting Pre-req: Labs 10, 13

14.1 Open the Gateway

  • Open Accounts → Accounts Gateway. Find candidates from Lab 10's POS sales.
  • Each sale appears as a row with Type=POS Sale, Sell amount, posted timestamp.

14.2 Post the customer side

  • Click Post on each candidate.
  • A new Accounts_Transaction RV is created. Status flips to Posted.

14.3 Verify in Trial Balance

  • Open Accounts → Reports → Trial Balance for today.
  • Cash Dr increased by total tender; Sales Cr increased by net; Tax Payable Cr by tax amount.

Self-check

  • Q14.1  What three SPs power the gateway?
  • Q14.2  A customer paid card+cash — how is the gateway candidate built?
  • Q14.3  If you forget to post a candidate, who/what reminds you?
15

Lab 15 — End-to-end day scenario

Advanced

Bring it all together. One scenario, from morning open to evening close, touching every module.

Advanced 75 minutes Goal: full day Pre-req: Labs 1–14

The scenario

It's 09:00. The HQ store opens. A delivery from ABC Trading arrives at 09:15. By 11:00 the POS counter is open and customers are buying. At 13:30 a manager spots damaged inventory; you process the variance. At 17:00 you close the POS, the store and the day. You verify postings flowed to the GL.

Step list — keep notes!

  • 09:00 — Open the day. Inspect Accounts → Gateway — should be empty.
  • 09:15 — Receive a Delivery against an open PO (from Lab 8). Capture logistics.
  • 11:00 — Open Counter-1 POS session, opening 500.
  • 11:00–13:00 — Ring 4 sales, mix of cash, card and one multi-tender.
  • 13:30 — Walk-the-floor audit. Find a 2-unit shortage; route to Damaged Stock; manager approves.
  • 15:00 — Inter-store transfer 3 monitors HQ → Branch.
  • 16:30 — Open Gateway. Post all candidates.
  • 17:00 — Close POS session (capture variance), close store day.
  • Trial Balance reflects: Sales Cr (counter), Cost of Goods Dr (damaged), Cash Dr (tender), Card Settlement Dr (card).

What you should have

  • 1 PO closed (full delivery received).
  • 4 POS sales completed.
  • 1 audit batch with 1 variance approved as Damaged.
  • 1 inter-store transfer.
  • ≥ 5 Gateway candidates all posted.
  • 1 closed POS session with computed variance.

Self-check

  • Q15.1  Where can you see the full chronology of today's activity for audit?
  • Q15.2  If the damaged-stock approval was rejected, what would have rolled back?
  • Q15.3  Compare today's Trial Balance to yesterday's — what changed and why?
A

Final Assessment

Closed-book — 30 minutes

Five MCQs, five short-answer questions, one practical. No cheating — but the User Manual is fair game.

MCQ 1

Which SP recomputes book value when an asset cost is captured?

  • A AssetItem_Update
  • B AssetMaintenance_Insert
  • C AssetValueMonitor_UpdateDiminiPercentage
  • D AssetOperation_Insert
MCQ 2

The Accounts Gateway candidate for a card + cash POS sale produces how many Accounts_TransactionDetails rows (typically)?

  • A 1
  • B 2
  • C 3
  • D 4 or more
MCQ 3

A POR cannot move to Quoted until …

  • A the buyer signs off
  • B at least one vendor has Submitted a quote
  • C the Plan is approved
  • D the Delivery is created
MCQ 4

Inter-store transfer creates which pair of rows?

  • A Two StoreExits
  • B Two StoreEntries
  • C One StoreExit + One StoreEntry, linked by VirtualEntryID
  • D A single StoreEntry on the consignee
MCQ 5

What blocks a period close?

  • A Open POS sessions or in-transit deliveries or flagged audits
  • B Empty Trial Balance
  • C Vendor master with no contacts
  • D Asset with disposed status

Short answers

  1. Why is the asset module split across owned (Asset / Device / Equipment / Utility) and Hired hierarchies?
  2. Explain three-way match in your own words — where does it live?
  3. What gets stored in StockAtStore.AveragePricePerUnit and how is it kept fresh?
  4. Trace a customer's cash POS purchase end-to-end into the GL — name the SPs in order.
  5. What does it mean that the system is SP-driven? Give one practical consequence.

Practical (graded by trainer)

Run a complete P2P cycle for a single PO of 10 USB hubs from Stellar Office Supplies: Plan → POR → Quotation (3 vendors) → Compare → PO → Delivery → Stock In → Bill → Approve → post via Gateway. Provide all codes and the Trial Balance impact.

K

Answer Key (trainers)

Lab 1 — Q1.1, Q1.2, Q1.3

Q1.1Login.

Q1.2 — Where the user is redirected after a successful authentication; per role.

Q1.3UserRolePrivileges for the page's SubMenuID and the Create PagePrivilegeType is missing.

Lab 2 — Q2.1, Q2.2, Q2.3

Q2.1 — The category dropdown is loaded by AssetCategory_SelectByAssetTypeID.

Q2.2 — A unique-name SP guard rejects the duplicate.

Q2.3StockAtStore rows for that item are recalculated to the new default unit.

Lab 3 — Q3.1, Q3.2, Q3.3

Q3.1 — Maintenance / cost SPs include a Value Monitor recompute step.

Q3.2/assets/bycode/{AssetCode}.

Q3.3 — Insert is rejected — serial number uniqueness.

Lab 4 — Q4.1, Q4.2, Q4.3

Q4.1 — Initiate → InTransit → Received (Closed). Geo captured at Received.

Q4.2 — The SP rejects with a backdate error.

Q4.3 — In DeviceMovementGeoLocation.

Lab 5 — Q5.1, Q5.2

Q5.1 — You don't own it. Return it to the agency instead.

Q5.2 — Update HiredOperation actual end date; recompute HiredRentCosting; reduced amount payable to agency.

Lab 6 — Q6.1, Q6.2

Q6.1 — Bill is due 30 days after the Bill Date — drives Aged Payables.

Q6.2 — On the Vendors table.

Lab 7 — Q7.1, Q7.2, Q7.3

Q7.1 — Submission triggers the workflow listener that opens the invitation page.

Q7.2QuoteForPurchaseOrderRequestDetails.

Q7.3 — Yes — comparison page lets you pick winning vendor per line; one PO per vendor created at the end.

Lab 8 — Q8.1, Q8.2, Q8.3

Q8.1Delivered; once Bill is matched, Closed.

Q8.2 — PO.OrderedQty (commitment), PWO.WorkOrderQty (execution), Delivery.ReceivedQty (actual).

Q8.3Partial.

Lab 9 — Q9.1, Q9.2

Q9.1 — On StoreEntry as QuantityBefore and QuantityAfter; in StockAtStore as the running closing balance.

Q9.2 — A reversing StoreExit; the SP refuses to delete the StoreEntry directly.

Lab 10 — Q10.1, Q10.2, Q10.3

Q10.1 — Two — one cash, one card.

Q10.2 — ExpectedBalance = OpeningBalance + SalesTotal − PayoutsTotal.

Q10.3PosReportController.DayClose (or session-close handler).

Lab 11 — Q11.1, Q11.2

Q11.1 — The SP guard checks StockAtStore.ClossingBalanceQuantity ≥ requested qty.

Q11.2 — Each store has its own balance; the pair preserves balance integrity per store.

Lab 12 — Q12.1, Q12.2

Q12.1 — Pending, Approved, Rejected (and Flagged in flight).

Q12.2 — Damaged Stock / Cost of Goods Dr; Inventory Cr.

Lab 13 — Q13.1, Q13.2

Q13.1 — A Group is a chart-of-accounts node (Asset/Liability/etc.); a Sub-Ledger is a customer/supplier line under a control ledger like Receivables.

Q13.2 — Double-entry — debits must equal credits, otherwise the GL is unbalanced.

Lab 14 — Q14.1, Q14.2, Q14.3

Q14.1Payments_AccountsGateWay_Customer_Insert, ..._Supplier_Insert, ..._ListActionItems_Select.

Q14.2 — One candidate (the sale) — the detail rows split tender into Cash Dr + Card Settlement Dr; Sales Cr + Tax Payable Cr.

Q14.3 — The Inbox surfaces an unposted-candidates count; finance can see it on the dashboard.

Lab 15 — Q15.1, Q15.2, Q15.3

Q15.1ActivityLog filtered by today.

Q15.2 — The Damaged-Stock row stays Pending; no StoreExit is posted; StockAtStore unchanged.

Q15.3 — Cash & Card Settlement up by tender total; Sales & Tax Payable up by net & tax; Inventory down by COGS; small variance from damaged.

Final assessment

MCQ 1: C. MCQ 2: D (4+ — Cash Dr, Card Settlement Dr, Sales Cr, Tax Cr). MCQ 3: B. MCQ 4: C. MCQ 5: A.

Done. Hand the trainer your codes-notebook and the printed Z-Report from Lab 10. Status reference →