FlyPackCAMO Software
145.A.42 · 145.A.25(d)

Stores: receipt, inspection, issue and stock checks

Everything received lands in quarantine and stays there until somebody inspects it. Nothing quarantined can be fitted. From that one rule follow incoming inspection, segregation, issue to a work pack with batch traceability, and stock checks.

  • Receive stock with its paperwork attached, keeping only the pages that matter.
  • Receive from paperwork: read a delivery note or invoice and turn its lines into stock.
  • Incoming inspection records what was checked, and a pass needs the release document that came with the part.
  • Shelf lives, reservations for refit, unserviceable stock and expired lots are kept apart and shown apart.
  • Liquids are recorded in what they were bought in — L, ML, QT or GAL — and never converted behind your back.
  • Labels with a QR code that opens the lot.
camo.flypack.net — Stores

Stores in the demo organisation: two lots awaiting inspection, two expired, the rest on the shelf.

Stores

From the FlyPack CAMO manual

Receipt, incoming inspection, segregation and issue — 145.A.42 and 145.A.25(d).

The menu item is missing for organisations that keep no store. A pure CAMO manages airworthiness and the parts live in whichever maintenance organisation does the work. It is switched on per organisation by whoever runs the installation, not by an administrator — hiding a store that already has stock in it is not a decision to be made by mistake.

The one rule everything follows from

Everything received lands in quarantine and stays there until somebody inspects it. Nothing quarantined can be fitted. That single rule is most of 145.A.42, and it is why Receive stock does not ask where to put something: it goes to quarantine, and the inspection decides where it goes next.

Nothing on the screen decides whether a lot has expired. The API works it out from the dates on every read, so there is no stored flag to go stale — a shelf that looked in date because a nightly job failed is the exact failure a store exists to prevent.

The four tiles

TileWhat it countsWhy it is first
Awaiting inspectionLots in quarantineNothing here can be fitted, so it is what stops work
ExpiredPast their shelf lifeMust not be fitted; stops work just as firmly, and quietly
Expiring within 90 daysOrder before it runs out
ServiceableOn the shelf and fittable, with reserved and unserviceable beside it

The four buttons at the top

Receive stock

Receive stock. Everything received lands in quarantine.

Records a delivery, field by field:

FieldWhat goes in it
What it isComponent · Material · Consumable · Tool. It changes which paperwork the incoming inspection will insist on
Part number
ATA chapter79
DescriptionAeroShell Oil Diesel Ultra
Batch / lotThe manufacturer's batch. What a recall is answered with
Serial numberOnly where the item has one — "a serialised item is received as one"
Quantity and UnitEA, SET, or a measure — L, ML, GAL, QT, KG, G, M. See Quantity, and the unit it is counted in below
Manufacturer
SupplierWho you bought it from, which is often not the manufacturer
Order referenceYour purchase order
Manufactured / cured"The clock an elastomer runs on" — a seal ages from cure, not from delivery
ReceivedThe day it arrived
Shelf life expires"Leave empty where there is none"
Taken fromWhere the expiry came from — the certificate of conformity, the manufacturer's data, or worked out from the cure date
Currency, Unit cost, Sale price"What it cost to buy", and what it is sold at
Release documentThe kind it arrived on. Only the kinds acceptable for this class of item are offered
Its referenceThe form number
Issued byThe organisation that released it
The paperwork it came withThe same document as a file, PDF or a photo. See The paperwork below

It refuses, in these words:

  • "A receipt has to be for more than nothing."
  • "Nothing can be received in the future."
  • "A part cannot have been made after it arrived."
  • "The shelf life expires before the part was made — check the dates."
  • "A serial number identifies one item. Receive it as a quantity of 1."
  • "An exchange rate has to be greater than zero."

The paperwork

The last thing on the receive form is a Choose a file button under The paperwork it came with. It takes one file: the Form 1, the certificate of conformity or of analysis, the delivery note — whichever document this lot is being received against. The same control is on Correct the details, for a lot that was received without its paperwork or with the wrong file — see The paperwork, after the fact below.

What it accepts. A PDF, or a photo — PNG, JPEG, WebP or TIFF — up to 25 MB. A photo of a Form 1 taken on a phone at the goods-in bench is a perfectly good record; the point is that the document is filed with the lot rather than left in the envelope. Anything else is refused by name: "… is not a file type this application stores."

It uploads as soon as it is chosen, before Receive it is pressed. While that happens the box reads "Uploading delivery-scan.pdf…" and the form refuses to submit until it is done: "delivery-scan.pdf is still uploading — a moment." It is uploaded early so the form can come back with what it got and let you decide what to keep of it.

What the form shows once the file is up
  • Its name and page count — "delivery-scan.pdf · 5 pages". A photo is one page. A PDF that cannot be opened for pages reads "could not be read for pages"; it is still filed, whole, and simply offers no page picker.
  • A preview, in the browser's own PDF viewer, on the right. It numbers its pages, and those numbers are what the tick-boxes refer to.
  • One tick-box per page, numbered, all ticked to begin with, with All and None under them. Shown only for a file of more than one page.
  • Choose another, beside the name, which throws this upload away and offers the file box again.
Choosing the pages

Untick the pages that are not this lot's paperwork. A supplier's scan is usually the whole delivery — the invoice, the packing list, then three certificates for three different lots. The two pages that are this lot's certificate are what an auditor asks for, and filing all twelve means the right two are found by reading the wrong ten.

The pages left unticked are cut off before the file is filed. What is stored is only the pages kept, in their original order, under the name the file was uploaded with — so a twelve-page delivery-scan.pdf with pages 3 and 4 ticked is filed as a two-page delivery-scan.pdf. The cutting is done on the server, when Receive it is pressed, and before the lot is created: a receipt whose paperwork could not be cut down does not leave a lot behind pointing at the wrong file.

Two rules about the ticks:

  • Keeping every page keeps the file exactly as uploaded. Nothing is rewritten.
  • Keeping none is refused: "Keep at least one page of the paperwork, or choose another file." A lot with a file that has nothing in it is a lot with no paperwork that looks as though it has some.
If you change your mind
  • Choose another deletes the upload and offers the button again.
  • Cancel, the close button or Escape delete it too. A file uploaded for a receipt that never happened is not kept.
  • Once Receive it has gone through, the file is that lot's record. It is not deleted from anywhere — the deletion that happens on cancel is refused by name for a file a lot points at: "That paperwork is filed against a record and is not deleted from here."
Where it goes

The file is stored the way every document is — under its own id, with its size and a hash of its bytes, checked on every read — see Documents and records. On the lot afterwards it is under Its paperwork, the card that also lists what Receive from paperwork filed, and it opens in the viewer from there and from the Open the paperwork button on the incoming inspection.

What it does not do

It does not read the document. What the release document is, its number and who issued it are the three typed fields above the file box, and they are shown again at the incoming inspection for the inspector to confirm or correct. The one place a document is read by software is Receive from paperwork, below, which reads a whole delivery and proposes the lots on it. The lot lands in quarantine. The markup on the organisation's settings is applied once, here, to seed the sale price — never on the way out, so a price somebody was quoted does not move because a percentage was edited afterwards.

Receive from paperwork

Receive from paperwork: the lines of a delivery document, read and proposed as stock.

Opens /stores/import, which reads a delivery note or invoice and proposes the lots on it, so a delivery of thirty lines is checked rather than typed. Each proposed lot is corrected or removed before it is accepted. Everything it creates still lands in quarantine.

Part off an aircraft

For a part removed to get at something else and going back on when the job is done.

FieldWhat goes in it
Off which aircraftThe registration it came off. This is what tags it
Under which work packOptional, and worth filling in — it links the removal to the visit
Part number · Serial number · DescriptionMain battery, Concorde RG-35AXC
Quantity
Removed by and OnWho took it off, and when
Why it came offRemoved for access to the firewall

It is tagged to the aircraft it came off, and it can only be refitted to that aircraft — issuing it to a pack for a different registration is refused by name:

"This part came off YR-XYZ and is tagged to go back on it. It cannot be fitted to YR-ZEN."

To break that tag, open the lot and use Release the reservation, which requires a reason: "Say why it is no longer going back on its own aircraft."

Start a stock check / Carry on counting

Opens a counting session. Lines are counted one at a time; the check is signed off at the end, and a count that differs from the recorded figure has to be explained. A stock figure that moves without a reason is the one thing a stock check cannot reconcile, which is why the correction dialog asks for one. A check can be abandoned, with a reason.

The shelf

The table lists everything not depleted, installed or returned. Above it:

  • A search box — part number, batch, serial or bin. It filters the table in the browser rather than reloading the screen, so typing does not lose your place.
  • Tabs: Everything · Awaiting inspection · Serviceable · Reserved for refit · Expiring · Unserviceable.
  • Print labels — tick lots with the checkbox in the first column, then print. Produces an identity label and a condition tag, on an A4 sheet or a 62 × 100 mm roll. The organisation's own form reference prints small in the corner; it is set on Organisation info and prints nothing if blank.

Each row carries the condition, the shelf life as a coloured pill, the bin, and warnings in amber underneath: a missing release document, or "off YR-XYZ — refit to that aircraft only".

Per-row buttons

  • Inspect — only on a quarantined lot. See below.
  • Open — the lot's full record: its paperwork, its history, and every aircraft it reached.
  • Edit — correct what was typed at receipt.

A quarantined row carries all three. On a narrow window they wrap onto a second line inside the cell rather than pushing the table wider, and a table that is still wider than its card scrolls sideways. It used to do neither: the row was cut off at the card's edge with the third button — Edit — simply not there and nothing to say the row went on.

Quantity, and the unit it is counted in

Unit offers nine, and they are two different kinds of thing:

CodesWhat the number means
PackagesEA · SETHow many containers or sets are on the shelf
MeasuresL · ML · GAL · QT · KG · G · MA physical amount

GAL and QT are US gallons and US quarts, not imperial. Aviation oil is packaged and consumed in US quarts everywhere — Aeroshell, Phillips XC — and hydraulic fluid, solvent and cleaner come in five-gallon pails. The imperial pair is deliberately not offered: it is obsolete in aviation and an imperial quart is a fifth larger than a US one, which is the kind of quiet difference that ends up in an engine.

Quantity is held to three decimal places, so a part-used container is exact: 0.946 L, 2.5 QT, 0.125 GAL.

Record a liquid in what it was bought in

A case of twelve one-quart bottles of oil is 12 QT, not 1 EA and not 12 EA. Recorded as a package the store can tell you how many bottles are on the shelf and nothing at all about how much oil, which is the question actually asked when a job needs six quarts. Use EA for a liquid only where the invoice really does count containers and gives no volume.

The same rule reaches Receive from paperwork above: the reader is told to take the measure the invoice bills in, so a line reading "12 QT AeroShell W100" comes in as twelve quarts rather than as twelve of something unnamed.

Nothing converts between units

A quantity is arithmetic in whatever unit its own lot carries. Issuing and returning copy the lot's unit, and the only totals taken are of one lot's own movements — so a unit is a label on a number and never a factor. The list is kept short for that reason: two codes for the same physical thing would be two labels somebody could mix with nothing to catch it.

If you hold the same oil in litres on one lot and quarts on another, the shelf will say so lot by lot and will not add them up for you.

Incoming inspection

The gate between quarantine and the shelf. Inspect on a quarantined row, or Incoming inspection at the bottom of the lot's own record. Passing it is what makes a lot fittable.

The paperwork, and the banner

The inspection does not ask what the release document is — that is typed at receipt, or corrected on the lot's own Edit. Where a file was uploaded with the lot, Open the paperwork it came with sits under the banner and shows it in the viewer, so the document can be read on the screen the inspection is recorded from.

Where the release document is missing or unacceptable, an amber banner says so in the words the shelf uses — "No conformity document — 145.A.42(a)(v) asks for a statement of conformity to specification." — and adds: "An inspection cannot pass without it. Record the document against the lot first — Edit on its row — or fail the inspection and send it back."

What it asks

FieldWhat goes in it
OutcomePasses — it is what it should be · Fails — it is not
Inspected byWhoever did it. Required: "Who inspected it?"
OnThe date. Not in the future, not before the part arrived
Onto which shelfOn a pass — a serviceable bin. There must be one: "There is no serviceable location to put it in. Add one on the Stores screen first."
NoteOn a pass, optional
What happens to itOn a failure — Into the unserviceable store or Back to the supplier
Return referenceOn a failure — the RMA number
What was wrong with itOn a failure, required: "Say what was wrong with it — a rejection with no reason cannot be acted on."

What a pass needs

A pass needs an acceptable release document, with its reference, already on the lot. The check is the one the amber banner on the shelf counts: "No release document — a component needs an EASA Form 1 or an 8130-3." · "No conformity document — 145.A.42(a)(v) asks for a statement of conformity to specification." · "… is not acceptable for this class of item." · "The release document has no reference on it, so the paperwork cannot be found again." · "Neither the manufacturing nor the supplier source is recorded — 145.A.42(a)(v) asks for both." Any of them stops a pass: "… An incoming inspection cannot pass without it."

That last one is the reason Manufacturer and Supplier matter on the receive form for material: the rule asks for both sources, and a certificate alone does not name them.

What a pass and a failure do

  • Passed — the lot becomes serviceable and moves to the bin chosen. The green tag on it is what a work pack looks for.
  • Failed — it goes to the unserviceable store or back to the supplier, with the reason on its record. Neither is a deletion; a rejected lot is part of the history of what came through the door.

It refuses an inspection dated in the future, one dated before the part arrived, and one on a lot that is not in quarantine: "Incoming inspection applies to a lot in quarantine. This one is serviceable."

What you can do to a lot once it is open

ButtonWhat it doesWhat it refuses
Incoming inspectionThe gate above
Record as openedStarts a shorter opened-life clock on sealants and the like"Only a serviceable lot can be opened." · "This lot is already open." · not in the future
Move itTo another binA bin whose kind does not match the lot's condition. Moving an unserviceable part onto a serviceable shelf is refused, not recorded
CondemnMarks it unserviceable"Say why it is unserviceable."
Scrap itMutilation under 145.A.42(d)"Only an unserviceable lot can be scrapped. Condemn it first, so the reason it failed is on file." — and it wants to know how it was mutilated, because a note saying "scrapped" does not show the part was made unusable
Back to the supplierRecords the return"Only a quarantined or unserviceable lot goes back to the supplier."
Release the reservationBreaks the tag to an aircraftNeeds a reason
PricesCost and sale price
Correct the detailsFixes what was typed, and files or replaces the paperworkA quantity change needs a reason

What each of those asks for

DialogFields
Incoming inspectionOutcome (passed / rejected) · Inspected by · On · Onto which shelf where it passed · Note
Record as openedOpened on · Good for, once open — days, from the manufacturer
Move itTo — the bin · Recorded by · Note
CondemnWhy it is unserviceable — Beyond shelf life; hardened · Recorded by
Scrap itHow it was mutilated — Housing drilled through in four places and flange cut · By · Witnessed by · On
Back to the supplierWhat happens to it · Return reference — the RMA number · What was wrong with it — Seal perished; cure date four years before delivery · Recorded by · Note
Release the reservationWhy it is not going back on — Aircraft sold; part retained as spare
PricesUnit cost · Sale price
Correct the detailsEverything typed at receipt except the received date, plus The paperwork it came with — see below

The paperwork, after the fact

Correct the details carries the same The paperwork it came with control as the receive form, for two cases:

  • A lot received without its paperwork. The section shows Choose a file. Pick the file, tick the pages to keep, and save — the same upload, preview and page picker as at receipt, and the same rule that cancelling the form throws the upload away. The lot's amber no release document warning is answered by the typed fields above it, not by the file; both are wanted.
  • A lot with the wrong file. The section shows the file's name — it opens in the viewer — with on file beside it and a Replace button. Replace reveals the file button; the new file is filed against the lot on save.

Replacing keeps the old file. It was this lot's paperwork until that moment, the audit row for the correction names both the old and the new file by id, and a record named on the trail has to stay findable. So the previous file stays in storage; it is simply no longer the one the lot points at. This is the one place a stored file is not deleted on being superseded — compare Choose another before saving, which deletes an upload nothing points at yet.

Filing or replacing paperwork is a correction like any other on this form: no reason is asked, and it goes on the audit trail with the rest of what changed.

Scrap it asks how, not whether. 145.A.42(d) is about mutilation — a note saying "scrapped" does not show the part was made unusable, and an unusable-looking part that was only put in a bin is the one that comes back.

Issuing to a work pack

From the work pack, not from here: Issue from the store on the pack's parts card. The refusals are the point of the whole screen:

  • "WP-2026-0215 is completed — nothing more can be issued to it."
  • The part is tagged to a different aircraft (above).
  • "Quarantine stock cannot be fitted. Only serviceable material goes onto an aircraft."
  • "This lot expired on 3 March 2026. Expired material cannot be fitted — condemn it instead."
  • A missing release document: "… It cannot be issued until that is on file."
  • "Only 2 ea of this lot is on the shelf."

Return on the same card puts an unused part back.

Locations

Folded away at the bottom of the screen. Add a location takes a code (A1), a name, a kind — serviceable, quarantine, unserviceable or scrap — and the storage conditions from the manufacturer's instructions where they state any.

Add at least a serviceable and a quarantine bin before receiving anything: incoming inspection needs somewhere to put what it passes.

Archive retires a bin. Serviceable material is kept apart from unserviceable — 145.A.25(d) — and the application enforces it rather than trusting it.

Parts already fitted to an aircraft

This screen is the shelf. A part that has been fitted has left it, and its remaining life is reported with the rest of the fleet's due work — on the aircraft's Components tab, on its overview, and on the dashboard due list. See Components and their lives.

So the two questions have two homes, and neither screen answers both:

  • What is expiring on the shelf — here, on the Expiring tab.
  • What is running out on an aeroplane — the dashboard due list, across the whole fleet.

Labels and the QR code

Every label carries the organisation's name and a QR code that resolves to that lot's record. Scanning a tin on the shelf opens it on whatever phone the person already has, signed in as they already are.