# Writing a Purchase Specification for Coconut Shell Gold Recovery Carbon > Source: https://www.yelicarbon.com/blog-gold-carbon-purchase-specification.html Most gold recovery carbon purchase orders describe a product but specify nothing testable, which is why the first rejected container is also the first argument. This is the clause table to paste into a PO — mesh, iodine with tolerance, hardness, platelet content, apparent density, moisture, ash, sampling, COA and rejection — with a reason for every line's wording. **By the YELI Technical Team - Updated October 2026 - 8 min read** > **Short answer:** A purchase specification for coconut shell gold recovery carbon is only enforceable when every clause names a parameter, a value, a tolerance and a test method. The core clauses are 6×12 mesh (1.70–3.35 mm, GB/T 12496.2 / ASTM D2862), iodine ordered at a specific grade with a tolerance of ±50 mg/g inside the 1000–1300 mg/g product family (GB/T 12496.8 / ASTM D4607), ball-pan hardness ≥98% (GB/T 12496.6 / ASTM D3802), platelet content <1.5%, apparent density 0.45–0.52 g/cm³ (GB/T 12496.1 / ASTM D2854), moisture ≤5% (GB/T 12496.4 / ASTM D2867) and ash ≤5% (GB/T 12496.3), tested against YS/T 3038—2020. Add sampling, a COA for every batch, a rejection window and packing terms — without those four, the numbers above are decoration. Most purchase orders for gold recovery carbon read something like "coconut shell activated carbon, 6×12, iodine 1000, for gold". That is a product description. It is not a specification. The difference shows up about three weeks after discharge. A container arrives, the carbon screens out to more fines than expected, the iodine lands at the bottom of the band you wrote, or the hardness is 97% where you assumed 98%. You go back to the PO and find that nothing in it was testable, nobody agreed on a method, and the right to reject expired the moment the carbon went into the tanks. The clause you needed was the one you did not write. What follows is a clause-by-clause template you can paste into a contract or an enquiry, with the reasoning behind each line. ## What a purchase specification has to control A specification is a test plan with commercial consequences attached. Every clause has to answer four questions: - What is being measured, and on which sample? - What value is acceptable — expressed as a target plus a tolerance? - By which method, in which standard? - What happens when the result falls outside? If any one of the four is missing, the clause is not a requirement, it is a wish. "Iodine: minimum 1000" fails the second question, because a minimum is not a tolerance — a supplier can ship 1050 against an order you placed for 1200 and be technically compliant. "High hardness" fails the third. "Free of fines" fails the first and usually the fourth as well, since zero is not a number a lab can report. Two more drafting rules matter specifically for China-sourced carbon. First, name both a Chinese standard and its ASTM equivalent. The factory will test to the GB/T 12496 series and to YS/T 3038—2020, Granular Activated Carbon for Gold Production; your independent laboratory will test to ASTM D4607, D3802, D2854, D2862 and D2867. If the specification names only one family, one side spends the life of the contract re-testing to a method the other side never used. Second, state the moisture basis in writing. A large share of disputes over activated carbon are not quality failures at all — they are a dry-basis result compared against an as-received limit. ## The clause table you can paste into a PO The table below is the working core. Square brackets are the places where you fill in your own commercial limits; the factory-backed parameters are stated as values. | # | Item | Wording to paste into the contract | Method / reference | |---|---|---|---| | 1 | Product identity | "Virgin coconut shell granular activated carbon for gold recovery (CIP/CIL grade). Not regenerated, not coal-based, not blended." | Supplier declaration, verified on arrival | | 2 | Mesh | "6×12 mesh (1.70–3.35 mm). Oversize retained on the 6 mesh sieve ≤ [ ]%; undersize passing the 12 mesh sieve ≤ [ ]% by weight." | GB/T 12496.2 / ASTM D2862 | | 3 | Iodine number | "Iodine [ ] mg/g, tolerance ±50 mg/g relative to the ordered grade." | GB/T 12496.8 / ASTM D4607 | | 4 | Hardness | "Ball-pan hardness ≥98% on the as-received composite sample." | GB/T 12496.6 / ASTM D3802 | | 5 | Platelet content | "Platelet (flake) content <1.5% by weight, tested to the procedure in Annex A." | In-house QC, water-polished / de-flaked | | 6 | Apparent density | "0.45–0.52 g/cm³ (450–520 kg/m³), as packed." | GB/T 12496.1 / ASTM D2854 | | 7 | Moisture | "Moisture ≤5% as packed. All other parameters in this specification are reported on a dry basis." | GB/T 12496.4 / ASTM D2867 | | 8 | Ash | "Ash ≤5%." | GB/T 12496.3 | | 9 | Base standard | "Material to comply with YS/T 3038—2020 (Granular Activated Carbon for Gold Production)." | — | | 10 | COA | "A certificate of analysis stating batch number, every parameter in Clauses 2–8, the method used and the test date accompanies every batch." | — | | 11 | Sampling | "Composite sample drawn from [ ]% of packages per container, quartered, split into three sealed samples (buyer, seller, referee)." | — | | 12 | Rejection | "Buyer may reject or claim against any lot whose tested values fall outside Clauses 2–8. First retest at an ISO/IEC 17025 laboratory; the sealed referee sample decides." | — | | 13 | Packing | "25 kg laminated woven bags, or 500–1000 kg jumbo bags with inner liner and lifting loops." | — | | 14 | Marking | "Every package marked with grade, batch number and net weight. Batch number must match the COA." | — | | 15 | Quantity basis | "Price [ ] per tonne, FOB / CIF [port]. Container fill calculated on actual container or tank volume at the measured apparent density." | — | You do not have to use all fifteen lines in every enquiry. You do have to use Clauses 2 through 8 plus sampling and rejection, because those are the seven numbers that decide whether the carbon performs and the two procedures that decide whether you can prove it did not. ## How do you write a mesh clause a lab can actually check? "6×12 mesh" on its own is not a clause, because mesh is a scale name rather than a physical dimension. Under ASTM E11, 6 mesh is 3.35 mm and 12 mesh is 1.70 mm; Tyler and ISO designations sit at slightly different openings, and a supplier quoting 6×12 against a different sieve stack can hand you material your plant screens differently. Write the apertures in millimetres, name the sieve standard, and state the sample size and shaking procedure — ASTM D2862 specifies them, and a five-minute hand shake does not reproduce a machine sieve shaker. Then split the clause. A single "6×12" figure hides two failure modes. Oversize particles stay on your interstage screens and blind them, which is an operating nuisance. Undersize particles pass the screens and leave the circuit as fine carbon in the tailings, and the gold loaded on them leaves with them — unrecoverable metal, not a nuisance. The undersize limit is the clause that protects your recovery, and it is the one most often omitted. If your circuit runs 8×16 mesh, write 8×16 and change the apertures with it. A 3×6 mm cut is specified as a millimetre cut, not a mesh cut, and should be written that way so nobody converts it at the last minute. For a fuller comparison of the three options, see our [mesh size guide for gold recovery carbon](blog-gold-carbon-mesh-size-guide.html). ## Why does the iodine clause need a tolerance instead of a range? [Iodine number](blog-iodine-test.html) is the fastest proxy for the micropore volume that does the actual adsorption work in a CIP or CIL circuit, and the YELI product family spans 1000–1300 mg/g. That span is a product family, not a purchase clause. If you write "iodine 1000–1300 mg/g" in a PO, you have bought a 300-point window, and the supplier is free to fill it from the bottom at the price of the top. Write the grade you actually need, then attach the tolerance: "Iodine 1200 mg/g ±50 mg/g (GB/T 12496.8 / ASTM D4607)." Order 1100 and 1050–1150 is compliant. Order 1200 and 1150–1250 is compliant. That single line turns a wish into an enforceable obligation; the ±50 band absorbs normal kiln variation without inviting a rejection on every lot. Three practical notes. Method matters: GB/T 12496.8 and ASTM D4607 are close but not identical in sample preparation and endpoint, so require the method to be printed on the COA rather than assumed. Basis matters: dry-basis and as-received iodine results can differ by more than the tolerance at 5% moisture. Sample matters: iodine on the whole 6×12 lot and iodine on the undersize fraction are different numbers, and labs occasionally test the wrong one. What iodine does not tell you is equally important. Iodine is not K value and it is not R value. K value, the gold loading, and R value, the adsorption rate, are measured to GB/T 32992—2016 by an independent third-party laboratory and reported with the COA on request. If your ore carries high copper, silver or preg-robbing organics, buy on K and R data as well — but never write a K or R figure into a PO that no supplier can guarantee across ore types. If you are still deciding which grade your circuit needs, the [comparison of 1000 versus 1100 for CIL service](blog-iodine-1000-vs-1100-cil.html) is the place to start. ## Hardness and platelet content: the two clauses that decide your gold loss Ball-pan hardness is covered by ASTM D3802 and GB/T 12496.6, and it is the number that best predicts how much carbon you will lose to attrition over the life of a charge. Write it as "ball-pan hardness ≥98% on the as-received composite sample", and name the method, because the word "hardness" unqualified can mean ball-pan, abrasion index, or a single-granule crushing figure — three different tests with three different results on the same bag. Coconut shell carbon typically falls in the 96–99% band by ASTM D3802 and coal-based carbon in the 90–95% band (Industry-typical; not a YELI process commitment.) The distance between those bands is the clearest signal of what you are buying, and why the hardness clause deserves a method statement. Platelet content is the clause most buyers omit and later regret. Platelets are flat, flake-shaped particles produced when shell is crushed. They carry the same iodine number as a proper granule, they pass the same sieve, and they cost the same per tonne. Then agitation in the tank breaks them down within the first weeks, and they leave the circuit as fines in the tailings with gold on them. YELI's line runs a water-polishing, de-flaking step and holds platelet content below 1.5%, verified in-house because no ASTM or GB method covers the measurement. That last point is the drafting trap. A clause citing a method that does not exist cannot be arbitrated, and an arbitrator will side with the seller. Attach the platelet procedure to the contract as an annex: sample size, how platelets are separated from granules, whether they are counted or weighed, and who may witness the test. Then the clause is a measurement, not a slogan — and the same reasoning applies to any supplier-specific parameter you want to enforce. Our note on [why carbon hardness matters in gold recovery](blog-why-carbon-hardness-matters-gold-recovery.html) covers the attrition mechanism. ## Density, moisture and ash: the clauses buyers forget Apparent density is specified as 0.45–0.52 g/cm³, that is 450–520 kg/m³, by GB/T 12496.1 or ASTM D2854. Write it as a range and put the commercial arithmetic next to it, because this is where the money moves. Ten cubic metres of tank volume holds 4,500 kg at 0.45 g/cm³ and 5,200 kg at 0.52 g/cm³ — roughly 700 kg, about 15%, in the same tank. Buy by the tonne into a fixed plant and low density means more tonnes; buy by the cubic metre and low density means less carbon. Settle quantity on actual tank or container volume at the measured apparent density, and both parties read the same number after discharge. Moisture is capped at 5% as packed under GB/T 12496.4 or ASTM D2867. Moisture is weight you pay for that does nothing in the circuit. More important than the limit is the basis: adding "moisture ≤5% as packed; all other parameters reported on a dry basis" removes the most common dispute in the trade before it starts. Activated carbon is hygroscopic, so a batch that left the factory at 3% can read higher after a humid sea transit — which is why arrival retests belong on the sealed composite sample, not on a package left open at the port for a week. Ash is capped at 5% under GB/T 12496.3. Ash is inert mineral matter: it dilutes activity per tonne, it adds load to elution and acid washing, and in a coconut shell product an unexpectedly high ash figure is often the fingerprint of [coal-based carbon or char blended into the lot](blog-how-to-test-activated-carbon-adulteration.html). That is a supplier-integrity question, and one more reason to keep a sealed referee sample. ## What makes a clause unenforceable? Nearly every unenforceable clause is missing one of the four pieces from the first section. The table below shows wording that circulates in real purchase orders, why it fails, and what to write instead. | Unenforceable wording | Why it fails | Enforceable rewrite | |---|---|---| | "Hardness minimum 98%." | No method named; ball-pan and abrasion index give different results | "Ball-pan hardness ≥98% (ASTM D3802 / GB/T 12496.6) on the as-received composite sample." | | "Iodine 1000–1300 mg/g." | A 300-point family range, not an order grade | "Iodine 1200 mg/g ±50 mg/g (ASTM D4607 / GB/T 12496.8)." | | "Material to be free of fines." | Zero is neither achievable nor reportable | "Undersize passing 12 mesh (below 1.70 mm) ≤ [ ]% by weight (ASTM D2862)." | | "No flake carbon." | No published method exists, so it cannot be arbitrated | "Platelet content <1.5% by weight, tested to the Annex A procedure." | | "Moisture maximum 5%." | Basis unstated; dry and as-received results are not comparable | "Moisture ≤5% as packed (ASTM D2867); all other values on a dry basis." | | "Quality to be confirmed by third-party inspection." | No laboratory, no scope, no cost allocation, no consequence | "Retest at an ISO/IEC 17025 laboratory; if the result differs from the COA beyond the tolerance in Clause 3, the sealed referee sample is tested and its result is final." | | "Buyer may reject substandard material." | "Substandard" is undefined | "Buyer may reject or claim against any lot failing Clauses 2–8, on written notice within [ ] days of discharge and before the carbon is charged to the circuit." | The last row carries a deadline that matters more than the others. Once carbon has been charged into a CIP or CIL tank and has begun loading gold, it is no longer the material that arrived in the container, and no laboratory can give you a clean rejection on it. Sample on arrival, seal the referee sample, and decide before the first bag goes into the tank. ## How should sampling, COA and rejection be handled? Sampling governs every other clause, because a bad sample invalidates a good test. Scooping from the open top of one bag is not sampling. Write a procedure: a composite drawn from a stated percentage of packages per container, or from a defined number of jumbo bags if the shipment is in bulk bags; quartered or riffle-split to laboratory size; split into three sealed samples labelled with batch number, date and container number — buyer, seller and referee. Keep the referee sample sealed until a dispute exists: its only value is that neither party has touched it. The COA clause must specify content, not just existence. A certificate reading "Iodine: 1050" with no method, no batch reference and no test date is not evidence of anything. Require the batch number matching the package marking, every parameter in Clauses 2 through 8, the method used for each, the testing date and the issuing laboratory. Every YELI batch ships with a COA on this basis; our guide to [verifying a gold carbon COA](blog-gold-carbon-coa-verification.html) covers the checks that catch a recycled certificate. Rejection needs a remedy ladder rather than a single word. State the notice window, the precondition that the carbon has not been charged, and the outcomes: replacement of the lot, a price adjustment calculated against the measured values, or return at the seller's cost. State who pays for the first retest and for the referee test; the usual formulation is that the party whose result is not upheld bears the cost. Finally, if your circuit is sensitive to adsorption kinetics rather than capacity, add the third-party line: "K value and R value measured to GB/T 32992—2016 by an independent third-party laboratory, reported with the COA on request." No numbers, no promises across ore types — just the right to the data. ## Packing, marking and documents belong in the spec Packing is not a logistics detail to settle after the price. Carbon ships in [25 kg laminated woven bags](blog-packing.html) or in 500–1000 kg jumbo bags with an inner liner and lifting loops, and the choice changes how much fine carbon you find on the container floor. Bags that shift and rub in transit generate exactly the undersize fraction your mesh clause is trying to limit, which is why large-volume buyers in West Africa often specify palletized and strapped loads or a floor liner. Write the liner requirement into the clause, not just the bag size. Marking ties the shipment to the paperwork. Every package should carry the grade, the batch number and the net weight, and the batch number on the bag must be the batch number on the COA. Without that link, a COA in your file proves something about a batch somewhere, not about the carbon in your warehouse. List the document set in the contract too: certificate of analysis, packing list, material safety data sheet, non-hazardous cargo declaration, and a non-wood packing declaration or ISPM 15 statement. A missing non-wood packing declaration is a customs delay rather than a technical problem, but it delays the shipment just as long. Shipping terms belong here as well — FOB or CIF, destination port named, and for West Africa normally Dakar, Abidjan or Tema. Our checklist of [export documents for activated carbon](blog-activated-carbon-export-documents.html) covers the full set. ## Frequently asked questions **How do I write a purchase specification if I have never bought gold recovery carbon before?** Start from a base standard rather than from a supplier datasheet. Take YS/T 3038—2020 as the framework, then write the fifteen clauses in the table above, replacing each bracketed blank with your own limit. The seven parameters that must appear in every version are mesh, iodine with tolerance, hardness, platelet content, apparent density, moisture and ash — each with its method number. **What iodine value should I put in the PO?** One grade, plus a tolerance — for example 1100 mg/g ±50 mg/g, or 1200 mg/g ±50 mg/g. Decide from your elution and loading data, not from habit. A wide band such as 1000–1300 mg/g is a product family description and gives you nothing to reject against. **Do I have to name both GB/T and ASTM method numbers?** Yes. The factory tests to the GB/T 12496 series and YS/T 3038—2020; your independent laboratory tests to ASTM D4607, D3802, D2854, D2862 and D2867. Naming both removes the argument over which result is authoritative before it happens. **There is no ASTM test for platelet content, so how do I make that clause enforceable?** Attach the test procedure to the contract as an annex and define sample size, separation method, and whether platelets are counted or weighed. A clause citing a method that does not exist cannot be arbitrated, and the party that drafted it usually loses. **Can I reject a container if the hardness result is 97%?** Only if the contract says "ball-pan hardness ≥98%" by a named method, tested on a properly drawn composite sample, and only if you raise it before the carbon is charged. If the clause said "high hardness" or the method was never named, the 97% is a disappointment rather than a breach. **Should the contract be priced per tonne or per cubic metre?** Either, as long as the quantity basis is written next to it. Ten cubic metres holds 4,500 kg at 0.45 g/cm³ and 5,200 kg at 0.52 g/cm³, so the density range alone is roughly a 15% swing in what a fixed tank consumes. Settle on actual container or tank volume at the measured apparent density. **What should the COA contain to be useful?** Batch number matching the package marking, each specification parameter, the method used for each, the test date, and the issuing laboratory. A certificate without method references cannot be compared against a retest, and a certificate without a batch number cannot be tied to your container.