Inbound, outbound, move, adjustment and stocktaking
Something arrived, something left, the count didn’t match — whenever stock moves, you record it as a transaction. Complete the record and the stock count updates itself.
Transactions are created from the “Transaction” tab. Inbound and outbound are all you need to run day to day.
The five types
| Type | Stock | Unit price | When to use it |
|---|---|---|---|
| Inbound | Increases | Purchase price | Bought stock, took a return |
| Outbound | Decreases | Sale price | Sold, used, discarded |
| Move | Changes location | − | Moved from one shelf to another |
| Adjustment | Direct change | − | Corrected a discrepancy, damage |
| Stocktaking | Matches the count | − | Counted and corrected to reality |
Inbound and outbound
The two you’ll use constantly. Selecting a client (supplier or customer) lets you look back later at where stock came from and where it went. → Managing clients
Entering unit prices gives you amounts and gross profit in reports. On inbound, the purchase price also feeds the average cost calculation under moving-average costing.
Move
Changes only the location, within the same site. Available when Location is turned on.
- Moves the quantity you specify from a source to a destination location. On completion the source decreases and the destination increases.
- Lot and expiry carry over unchanged — only the location changes. Company-wide stock stays the same.
- Source and destination must be different locations.
- Moving between sites isn’t supported. To do that, record an outbound at the source site and an inbound at the destination site.
- Moves can’t be imported from CSV.
Adjustment
Records an increase or decrease directly. Choose “Increase” or “Decrease.” Use it for damage, loss or rounding — anything that’s neither a purchase nor a sale.
Stocktaking
You just enter the count you actually made. KURAPRO calculates the difference against current stock and corrects it. You never have to work out “add 3, subtract 5” yourself.
No unit price field?
The costing method is set to “no costing.” Amounts aren’t tracked, so unit price fields are hidden on inbound and outbound.
Recording one
- Press New transaction on the “Transaction” tab.
- Choose the type (Move appears only when Location is on).
- Enter the date.
- Enter the product and quantity. Inbound and outbound also take a unit price; stocktaking takes the actual count.
- Add anything else you need:
- Client (inbound and outbound only)
- Location, lot, expiry (only the fields you’ve enabled appear)
- Destination (for moves — the location field becomes the source)
- Transaction fields your company has added
- Choose the status (scheduled / completed) and save.
There are three ways to add products: pick from the stock list, scan a barcode, or import a CSV. On the floor, scanning is by far the fastest. → Scanning barcodes
Combine identical rows
Within one transaction you can’t split the same product, location, lot and expiry across two rows. Combine the quantities (“The same product is registered multiple times in this transaction”).
When there isn’t enough stock
With negative stock set to “not allowed” — the default — a transaction that would leave stock below zero can’t be completed.
Take one of these routes:
- Check the quantity (it’s often a typo)
- Record an inbound first to top up
- Run a stocktaking to correct the count (if the stock figure itself is wrong)
If your business genuinely needs to go negative, an administrator can switch “Other” → “Negative stock” to “Allow.”
Importing from CSV
Transactions can be imported in bulk: inbound, outbound, adjustment and stocktaking (moves aren’t supported).
You choose the type and the status (scheduled / completed) before importing. Products are identified by name or SKU, and importing never creates new products. → CSV, barcode printing and images
When something goes wrong
| Message | What to do |
|---|---|
| Transaction date is required | Enter a date. |
| Quantity is required | Enter a quantity. |
| Negative stock is not allowed. Please adjust the stock quantity to zero or more | Stock is insufficient — see “When there isn’t enough stock” above. |
| The same product is registered multiple times in this transaction | Combine identical product / location / lot / expiry rows into one. |
| Move destination location is required | A move needs a destination location. |
| Move source and destination must be different locations | Pick a destination other than the source. |
| Only scheduled transactions can be edited | Revert it to scheduled first. → Scheduled, completed and history |
| A duplicate stocktaking was found | Two incomplete stocktakings cover the same stock. Resolve one of them. |