Skip to content

Consignment GRN Applet (Internal)

Bring consignment stock — stock a supplier places at your location while still owning it — into that location. Finalising adds the quantity and, where your company posts a journal for it, records the value as consignment stock against a consignment liability rather than as an amount owed to a supplier; ownership changes only later, when the stock is sold and billed through the consignment billing documents. The cost pool moves by the document’s own amount, so a note keyed at zero while the price is still unagreed pulls the item’s moving-average cost down for everything in stock.

Your job, and the screen for it

The jobScreen or tabRead
Receive consignment stock into a location — key the agreed price; a note at RM 0 pulls the item’s moving-average cost down for everything in stockConsignment GRN › create, Lines › Search Item, then FINALLifecycle and effects
Receive against a consignment purchase orderThe header KO For tab; the line-level KO For tabs appear only when a LINE document flow into CSGGRN is enabledLines
Hold a note until the consignor’s price is agreed — a custom status does not stop anyone finalisingSettings › Custom Status, the Status tab and its listing column, checked before the day’s bulk FINALDocument behaviour settings
Reverse a finalised note — refused while a later document has knocked it off; void that one firstBulk VOID on the Consignment GRN listing (the edit form has none)Lifecycle and effects
Post a journal that is missing or short after FINAL — the note stays FINAL with no error on screen; a Repost that fails has already deleted the old journalMap the GL code in the Chart of Accounts applet; missing: Error Checking › Stock Flow Report in the Financial Report applet, Purchase Consignment row, CREATE; short: Repost on Trace DocumentTroubleshooting
Set up consignment items, GL codes and printablesConsignment Item flag in the Doc Item Maintenance applet; CONSIGNMENT_STOCK and CONSIGNMENT_LIABILITY in the Chart of Accounts applet; Settings › Printable Format SettingsBefore you can use it

Overview

Server document type INTERNAL_PURCHASE_CONSIGNMENT_GRN, short code CSGGRN; quantity signum +1, amount signum −1. It is the inbound half of the pair whose outbound half is the Consignment GIN (quantity −1 / amount +1). Unlike the GIN, a consignment GRN can be knocked off from a Consignment Purchase Order and can be voided.

The applet is a single-document applet: one listing with bulk FINAL / VOID / print, a create/edit form, a cross-document line-item listing, and the standard settings pages plus a custom-status designer.

Where it fits

DirectionApplet / documentWhy
UpstreamConsignment Purchase OrderOptional. The KO For tab and the line-level KO For Purchase Order tab pull open consignment-PO lines into the GRN and link the two documents
UpstreamInternal Purchase Requisition, Internal Purchase InvoiceLine-level knock-off tabs that appear only when the company’s document-flow configuration enables a LINE flow from that type into CSGGRN
UpstreamDoc Item MaintenanceOnly items with the Consignment Item flag appear in the GRN’s item search
UpstreamSupplier, Employee MaintenanceThe consignor is a supplier entity; the Purchaser is an employee entity
UpstreamOrganisationCompany, branch, location and delivery branch/location on the header; document-flow configuration for the knock-off tabs; the company’s posting configuration decides whether FINAL creates a journal
DownstreamConsignment GIN, Consignment ReturnTake the received consignment stock back out
DownstreamConsignment Billing, Consignor Purchase BillingConsignment Billing turns sold consignment stock into a purchase from the consignor; Consignor Purchase Billing is the period record of what you owe and posts no journal. A GRN that has been knocked off by a later document can no longer be voided
DownstreamStock Balance, Stock ReportShow the quantity arriving at the location and its effect on moving-average cost
DownstreamCreditor ReportLists the GRN among supplier-side documents (ARAP columns on the listing)

Modules: Purchasing, Inventory.

Screens and menus

MenuPurpose
Consignment GRNListing with create, edit, bulk FINAL, bulk VOID and SINGLE/MULTIPLE PRINT
Line ItemsOne row per active line across all consignment GRNs (Doc Short Code, Purchase GRN No, Item Code, Item Name, Qty, Unit Price incl. tax, SST/VAT/GST, Txn Amount); opening a row opens the line editor

Gear (Settings) menu, group System Configuration: Application Settings, Default Selection, Printable Format Settings, Custom Status. The shared settings shell adds the platform pages (Webhook, Feature Visibility, Client-Side Permission, Role Pricing Scheme Link, Permission Wizard / Set / User / Team / Role, Release Notes, Audit Trail). Personalisation: Default Selection and Sidebar.

Listing

Columns: Doc Short Code, Doc No (Tenant), Doc No (Company), Doc No (Branch), Posting Status, Status, Tracking ID, Branch Code, Currency, Supplier Name, Description, Doc Description, Purchaser, Doc Reference, Amount Txn, ARAP PNS, ARAP Settlement, ARAP Doc Open, ARAP Contra, ARAP Bal, Updated Date, Created Date, Transaction Date, Created by, Client Doc Type, Client Doc 1–5, and one column per enabled custom header status. By default the listing shows the last month of transactions for the branches you have permission targets on, sorted by updated date, newest first (or by the SORT_ORDER column). FINAL posts every selected row that is DRAFT and ACTIVE; VOID voids every selected row that is FINAL and ACTIVE; the print button is disabled until a default printable format is chosen.

Create / edit form

Lines tab of the Create Internal Consignment GRN form with the add-line control
Create form, Lines tab. CREATE stays disabled until Main Details is valid, an Entity Id is chosen on Account and at least one line exists.

Tabs on create: Main Details, Account, Lines, Delivery Details, Payment, KO For, Department Hdr (the last four each hideable by the matching HIDE_*_TAB setting), plus a Search tab (“Search By Intercompany Sales Invoices”) for users holding the SHOW_INTERCOMPANY_PGRN_SCREEN client-side permission. Edit shows Main Details, Account, Lines, Delivery Details, Payment, Department Hdr, Trace Document, Contra, Doc Link, Attachments, Export and Status — in the order set under Settings > Default Selection — with RESET, FINAL (only while the document is ACTIVE and DRAFT), SAVE (needs the update permission) and, for non-final documents when SHOW_DOCUMENT_DELETE_BUTTON is on, DELETE (two clicks). The edit form has no VOID button; VOID is done from the listing.

Lines

Add a line with Search Item (consignment items only; the picker also offers a Search Serial Number box) or with KO For Purchase Order / Purchase Requisition / Purchase Invoice, each of which is present only when the company’s document-flow configuration enables a LINE flow from that document type into INTERNAL_PURCHASE_CONSIGNMENT_GRN. The header-level KO For tab lists consignment purchase orders with open lines for CSGGRN and refuses a second document from a different entity or branch unless ENABLE_MULTIPLE_KO is on.

A line’s tabs: Item Details (Main Details, Delivery Instruction, Department, Doc Link, Delivery Details), Serial Number (for serial-number items, or any item flagged as optional serial number), Batch Number, Bin Number, Costing Details, Pricing Details, Issue Link.

Configuration

Before you can use it

PrerequisiteWhereWhy
Items flagged Consignment ItemDoc Item MaintenanceThe Search Item tab lists only ACTIVE items carrying the flag. The KO For tabs, shown when a line-level document flow from a purchase order, requisition or invoice is switched on, copy the source line’s item without checking the flag
The consignor as a supplier entitySupplierThe Account tab’s Entity Id is required; the supplier’s AR/AP type is not used by the consignment journal (see Lifecycle and effects)
Employee entitiesEmployee MaintenanceThe Purchaser picker lists employees
Company, branch, location (and delivery branch/location)OrganisationAll three are required on the header; a branch’s main location pre-fills Default Location in Default Selection
Document numbering for CSGGRNOrganisation > document numberingThe running number shown as Doc No (Tenant)
Document-flow configuration (flow type LINE, target CSGGRN)OrganisationSwitches on the KO For Purchase Order / Requisition / Invoice tabs
Tax codes (optional)Tax ConfigurationThe line’s SST/GST/VAT and WHT selectors
Default GL codes CONSIGNMENT_STOCK, CONSIGNMENT_LIABILITY (and INPUT_TAX if lines carry tax) — only if the company posts journals for this documentChart of AccountsNeither is checked at FINAL: the note goes FINAL and the journal job runs afterwards. With no consignment-liability account the job fails and the note stays FINAL with no journal. A line that finds no consignment-stock account is left out of the journal, and the liability line is built from the lines that remain, so the journal posts short with no error (see Troubleshooting)
A default printable formatSettings > Printable Format SettingsEnables the listing’s print button, the Export tab’s default and the auto-print pop-up
SHOW_TRANSACTION_DATE client-side permission for users who back-dateSettings > Client-Side PermissionThe Transaction Date input is disabled unless the user holds it
API permissionsSettings > Permission Set / User / Team / RoleTNT_API_DOC_INTERNAL_PURCHASE_CONSIGNMENT_GRN_CREATE / READ / UPDATE / DELETE

Applet settings

Settings live in four places. Application Settings is the shared field-configuration screen; for this applet it shows the Payment, KO For, Department Hdr, Contra, Doc Link, Attachments, Export, Status, Delivery Details and Trace Document sections, so every tab-hide toggle below is actually on screen. It saves the whole form as the applet’s settings. Default Selection (applet-local) saves DEFAULT_BRANCH, DEFAULT_LOCATION, DEFAULT_COMPANY and the drag-and-drop tab order CONSIGNMENT_GRN_DETAILS_TAB_ORDER; Personalisation > Default Selection saves the same three defaults per user, and a personal default wins over the tenant default. Custom Status (applet-local) saves ENABLE_CUSTOM_STATUS_1..5, ENABLE_CUSTOM_STATUS_HDR_n, ENABLE_CUSTOM_STATUS_LINE_n, NAME_CUSTOM_STATUS_HDR_n and LIST_CUSTOM_STATUS_HDR_n. Printable Format Settings saves PRINTABLE.

All are tenant-wide except the personal defaults; only a user who can open the applet’s Settings can change them. Every toggle defaults to off, so a fresh tenant sees every tab and field until the first Save of Application Settings. Each key below is read by the applet. Four of them, marked no control, have no toggle for this applet on any settings screen — the shared screen offers them to other applets only — so on a tenant where nobody has set them some other way they are off.

SettingWhat it controlsEffect when changed
HIDE_GENDOC_FINAL_BUTTONFINAL on the listing and on the edit formRemoves the only posting paths
HIDE_GENDOC_VOID_BUTTONVOID on the listingHidden unless the user holds SHOW_VOID_BUTTON
DISABLE_GEN_DOC_LISTINGWhether the listing loads on openListing stays empty until a search is run
ENABLE_FILTER_BY_TODAYS_TXNDefault date filter: today only instead of the last monthNo control: the listing opens on the last month
SORT_ORDERColumn the listing is ordered by (default updated date, always descending)—
ENABLE_SERIAL_NUMBER_VALIDATION_FINALBefore FINAL, every serial-number line is validated against the inventory serial records, and the FINAL request also asks the server to validate serial numbers on zero-quantity-sign lines (a GRN has none, so that part changes nothing)No control: the applet’s own pre-check does not run, and the server’s serial checks on FINAL are what protect you
HIDE_SERVER_DOC_1, HIDE_SERVER_DOC_2, HIDE_SERVER_DOC_3Doc No (Tenant / Company / Branch) on the listing and headerReopened per user by SHOW_DOC_NO_TENANT / COMPANY / BRANCH
HIDE_CLIENT_DOC_TYPE, HIDE_CLIENT_DOC_1 … HIDE_CLIENT_DOC_5Client Doc Type and Client Doc 1–5 on the listing and header (edit mode)Reopened by SHOW_CLIENT_DOC_TYPE, SHOW_CLIENT_DOC_n
HIDE_DESCRIPTION, HIDE_ARAP_PNS, HIDE_ARAP_SETTLEMENT, HIDE_ARAP_DOC_OPEN, HIDE_ARAP_CONTRA, HIDE_ARAP_BALListing columnsReopened by the matching SHOW_* permission
ENABLE_AUTO_POPUPWhen you press FINAL on the edit form, opens the PDF of the default printable in a new window. The PDF is requested before FINAL is sent, so it shows the note as it stood before posting, and it opens even when FINAL is then refusedNeeds PRINTABLE; otherwise toast No Default Printable Selected. Do not take the pop-up as proof of posting — read the posting status on the listing
PRINTABLEDefault printable format for the listing print button, the Export tab and the auto pop-upSet under Printable Format Settings
HIDE_TRACKING_ID, HIDE_PERMIT_NO, HIDE_LOCATION, HIDE_DELIVERY_BRANCH, HIDE_DELIVERY_LOCATIONHeader fields on Main DetailsHIDE_LOCATION hides a required field — the form can then never become valid; HIDE_DELIVERY_LOCATION also stops the delivery location being copied from the header
HIDE_BASE_CURRENCY, HIDE_CURRENCYBase Currency and Currency on Main DetailsNo control: both fields always show
CANNOT_EDIT_CURRENCY_RATECurrency Rate box read-only—
HIDE_DELIVERY_DETAILS_TAB, HIDE_MAIN_PAYMENT_TAB, HIDE_KO_FOR_TAB, HIDE_DEPARTMENT_HDR_TABTabs on create and editTab disappears
HIDE_TRACE_DOCUMENT_TAB, HIDE_MAIN_CONTRA_TAB, HIDE_DOC_LINK_TAB, HIDE_ATTACHMENT_TAB, HIDE_EXPORT_TAB, HIDE_STATUS_TABTabs on editHIDE_EXPORT_TAB leaves only the listing print button
ENABLE_MULTIPLE_KOAllow knocking off lines from more than one source documentOff: a second document from another entity or branch is refused
DISABLE_ADD_WHEN_KOOnce the document holds knocked-off lines, the Lines tab’s add button is disabled—
HIDE_SERIAL_NUMBER, HIDE_BATCH_NUMBER, HIDE_BIN_NUMBERThe tracking sub-tab of a lineHiding the tab does not remove the server’s serial / batch / bin checks on FINAL
HIDE_COSTING_DETAILS, HIDE_PRICING_DETAILS, HIDE_ISSUE_LINKLine tabsHIDE_COSTING_DETAILS is overridden per user by SHOW_COSTING_DETAILS
HIDE_UNIT_PRICE_STD_PRICING_SCHEME, HIDE_UNIT_PRICE_STD_EXCL_TAX, HIDE_UNIT_PRICE_STD_INCL_TAX, HIDE_UNIT_DISCOUNT, HIDE_QTY_BASE, HIDE_QTY_UOM, HIDE_UOM_TO_BASE_RATIO, HIDE_UNIT_PRICE_STD_UOM_EXCL_TAX, HIDE_UNIT_PRICE_STD_UOM_INCL_TAX, HIDE_UNIT_DISCOUNT_UOM_EXCL_TAX, HIDE_UNIT_PRICE_NET_UOM_EXCL_TAX, HIDE_UNIT_PRICE_TXN_UOM_INCL_TAX, HIDE_UNIT_PRICE_NET_EXCL_TAX, HIDE_AMOUNT_STD_EXCL_TAX, HIDE_DISCOUNT_AMOUNT_EXCL_TAX, HIDE_AMOUNT_NET_EXCL_TAX, HIDE_UNIT_PRICE_TXN, HIDE_AMOUNT_TXN, HIDE_LAST_PURCHASE_PRICEOne price, quantity or amount field each on the line’s Main Details (create form and the Line Items editor)Each is reopened per user by the matching SHOW_* client-side permission
HIDE_TAX_CONFIG_SELECTION, HIDE_WHT_CONFIG_SELECTIONThe tax-code selector with its rate and amount; the WHT selector with its rate and amountReopened by SHOW_TAX_CONFIG_SELECTION / SHOW_WHT_CONFIG_SELECTION
DEFAULT_BRANCH, DEFAULT_LOCATION, DEFAULT_COMPANYPre-selected Branch, Location and Company on a new documentPersonal default overrides tenant default; RESET on the screen clears all three
CONSIGNMENT_GRN_DETAILS_TAB_ORDEROrder of the edit form’s tabs (drag list under Default Selection)Tabs added by a later release are appended after the saved order
ENABLE_CUSTOM_STATUS_HDR_n, NAME_CUSTOM_STATUS_HDR_n, LIST_CUSTOM_STATUS_HDR_n (n = 1–5)Up to five named header statuses with their value lists, shown as drop-downs on the edit form’s Status tab and as listing columnsOn the Custom Status screen, Client Doc Status n (ENABLE_CUSTOM_STATUS_n) is the master switch that unlocks the header and line toggles beneath it; switching it off clears them. The edit form itself reads only the …_HDR_n keys. ENABLE_CUSTOM_STATUS_LINE_n is saved but nothing in this applet reads it

Two more keys are on the shared screen for this applet and read by it: ENABLE_DRAFT_LOCK_SERIAL_NUMBER_CHECKING (its toggle is offered to every applet, this one included; when set, the serial checks the applet runs as you add a line, on the Serial Number tab and before FINAL also refuse a serial number already locked by another draft — a guard against the same serial being received on two open drafts) and SHOW_DOCUMENT_DELETE_BUTTON (read by the edit form).

Declared but not usable: the main AR/AP tab hide, ENABLE_CUSTOM_STATUS_LINE_n, NAME/LIST_CUSTOM_STATUS_LINE_n and the INCLUDE_* / ENABLE_* segment, dimension, profit-centre, project, SST and WHT keys are in the model but no component reads them; SHOW_VOID_BUTTON is listed among the settings but is a client-side permission code, not a setting.

Document behaviour settings

SettingEffect
ENABLE_SERIAL_NUMBER_VALIDATION_FINAL, ENABLE_DRAFT_LOCK_SERIAL_NUMBER_CHECKINGClient-side serial pre-check before FINAL; the FINAL request then also asks the server to validate serial numbers on zero-signum lines
SHOW_DOCUMENT_DELETE_BUTTONDELETE on the edit form. The button is hidden only at FINAL, so it is also offered on a VOID note. DELETE is not a status: it removes the header, lines, document links and attachments from the database and writes an audit-trail entry. The stock and journal rows a FINAL note produced, and their reversals, are not among the things it removes. Use DELETE for a draft keyed in error; keep a voided note so the receipt and its reversal still have a document behind them
ENABLE_AUTO_POPUP, PRINTABLE, HIDE_EXPORT_TABPrinting: auto pop-up when FINAL is pressed (opened before FINAL is sent), default format, whether the Export tab exists
Custom Status keysUp to five labelled drop-downs, saved on the header as plain text. The server only searches, filters and prints them. No posting, stock or FINAL step reads them, so a status such as Consignor price agreed: No does not stop anyone finalising the note. If you use one as a gate, the person who agrees prices with the consignor checks that column on the listing before the day’s bulk FINAL. That check matters because a note finalised at RM 0 moves the item’s moving-average cost (see Lifecycle and effects)

There is no auto-final, no approval workflow, no stock-validation toggle and no e-Invoice submission for this document.

Settings in other applets that control this applet

SettingWhere it is setEffect here
Consignment Item flagDoc Item Maintenance, item headerOnly flagged, ACTIVE items are listed by Search Item
Document-flow configuration (source type, flow type LINE, target INTERNAL_PURCHASE_CONSIGNMENT_GRN, enabled)OrganisationShows the KO For Purchase Order / Purchase Requisition / Purchase Invoice tabs
Branch main locationOrganisation, branchPre-fills Default Location when a Default Branch is picked
Company posting configuration (include / exclude list) and job-template subscriptionsOrganisation / platformDecide which postings (stock, journal, webhook…) run on FINAL and which reversals run on VOID
Fiscal period status LOCK_TXN / LOCK_ALLOrganisation > fiscal yearsFINAL is rejected when the transaction date falls in a locked period
Company default GL codes CONSIGNMENT_STOCK, CONSIGNMENT_LIABILITY, INPUT_TAXChart of AccountsThe accounts the consignment journal posts to (see below)

Who can change what

Only two client-side permissions are defined for this applet: SHOW_TRANSACTION_DATE — without it the Transaction Date input on Main Details is disabled, so back-dating a receipt is a per-role grant — and HIDE_RETIRE_APPLET (shell). The applet also honours, but the Permission Set screen does not yet offer, these codes: SHOW_VOID_BUTTON (shows VOID even when HIDE_GENDOC_VOID_BUTTON is on), SHOW_INTERCOMPANY_PGRN_SCREEN (the Search tab), SHOW_DOC_NO_TENANT / COMPANY / BRANCH, SHOW_CLIENT_DOC_TYPE, SHOW_CLIENT_DOC_1..5, SHOW_DESCRIPTION, SHOW_ARAP_PNS / SETTLEMENT / DOC_OPEN / CONTRA / BAL, SHOW_COSTING_DETAILS, SHOW_LAST_PURCHASE_PRICE, the twenty SHOW_* line-price codes matching the HIDE_* keys above, SHOW_TAX_CONFIG_SELECTION, SHOW_WHT_CONFIG_SELECTION, and HIDE_PRICE (hides prices in the Line Items editor). They take effect only once defined for this applet.

Server-side, create / read / update / delete of the document are governed by TNT_API_DOC_INTERNAL_PURCHASE_CONSIGNMENT_GRN_CREATE_TGT_GUID, _UPDATE_TGT_GUID, _READ_TGT_GUID and _DELETE_TGT_GUID, assigned through the Permission Set / User / Team / Role pages; the listing is filtered to the branches in the user’s permission targets.

Fields

Main Details

FieldMeaningRequiredNotes / validation
Company, Branch, LocationReceiving company, branch and locationYes (all three)Pre-filled from Default Selection; HIDE_LOCATION hides a required field
Delivery Branch, Delivery LocationWhere the goods are deliveredNoCopied from Branch / Location unless HIDE_DELIVERY_LOCATION; the serial-number check uses the delivery location when set
PurchaserEmployee responsibleNoLists employees, narrowed to the employee-category labels saved in the applet’s Sales Man setting, if any. It is stored on the header and is used for search, filters, reports and prints; no posting or stock step reads it. Trap: Credit Terms, Credit Limit and Permit No are saved only while a Purchaser is chosen, so a note saved without one loses what you typed in those three. The purchaser’s name is copied when the note is created and is not refreshed if you change the Purchaser on a saved draft, so the listing keeps showing the first name
Tracking ID, Permit NoFree textNoHIDE_TRACKING_ID, HIDE_PERMIT_NO
Credit Terms, Credit LimitFrom the supplierNoRead from the entity; no hide setting exists for either
Transaction DateBusiness dateDefaults to todayInput disabled unless the user holds SHOW_TRANSACTION_DATE; checked against the fiscal-period lock on FINAL
Due DateNot on this form—The input is switched off in the applet, so the note is saved with no due date, and the server does not derive one from Credit Terms. A consignment GRN is not a payable. Payment timing belongs to the documents that bill the consignor for sold stock (Consignor Purchase Billing)
Reference, Description, Remarks, External RemarksFree textNoRemarks become the journal description of the entity line, if one is posted
Base Currency, Currency, Currency RateDocument currency and rateCurrency: yesHIDE_BASE_CURRENCY, HIDE_CURRENCY, CANNOT_EDIT_CURRENCY_RATE; locked once FINAL
Document Type, Doc Short Code, Doc No (Tenant / Company / Branch), Client Document Type, Client Doc 1–5 NoIdentifiers—Read-only; shown in edit mode only, subject to the HIDE_SERVER_DOC_* / HIDE_CLIENT_DOC_* settings

Account

FieldMeaningRequiredNotes / validation
Entity IdThe consignor (supplier entity)YesPicker lists supplier entities and can create one; the rest of the tab (Status, Identity Type, Currency, Description, Entity Name, Entity Type, ID Number, Email, Phone Number) is read-only from the entity
Bill To, Ship ToBilling and shipping addresses of the supplierNoChosen from the entity’s address list

Lines

Field (Item Details > Main Details)MeaningRequiredNotes / validation
Item Name, UOMCopied from the item—Item Code is read-only, but Item Name is editable. The line keeps its own copy of the name, so an edit here does not touch the item master. The note’s line form leaves Item Name and Remarks open even on a FINAL note. The UOM picker is shown only while HIDE_UNIT_PRICE_STD_PRICING_SCHEME is off. On the note’s own line form, a user holding SHOW_UNIT_PRICE_STD_PRICING_SCHEME still sees it; the Line Items editor has no such exception. Hide the pricing scheme and most users can no longer change the UOM
Pricing SchemeScheme used for the standard pricesNoHIDE_UNIT_PRICE_STD_PRICING_SCHEME
Unit Discount, Unit Discount by UOMDiscount per base unit and per selected UOMNoOnly Discount Amount (quantity × Unit Discount) and Unit Discount by UOM (Unit Discount × UOM ratio) are stored. Unit Discount is recomputed as Discount Amount ÷ quantity, to 2 decimals, whenever the line is reopened. Typing a by-UOM discount back-solves Unit Discount through two roundings, so it can come back a sen off. Neither box refuses a negative value, and a negative discount raises the Txn Amount that enters the cost pool
Quantity (base)Quantity receivedYesMinimum 1; must match the serial / batch / bin quantities entered
Quantity by UOM, UOM to Base RatioQuantity in the selected UOMNoRatio read-only
STD Amount, Discount Amount, Amount Net, Amount Net incl. tax, Txn AmountComputed amountsNet, net incl. tax and Txn Amount: yes≥ 0; the Txn Amount is what enters the company’s cost pool (see Lifecycle and effects)
SST/GST/VAT code, rate, Tax Amount; WHT code, rate, WHT AmountTaxes on the lineNoHIDE_TAX_CONFIG_SELECTION, HIDE_WHT_CONFIG_SELECTION
Last Purchase PriceReference price—Read-only; HIDE_LAST_PURCHASE_PRICE
RemarksLine remarksNoBecomes the journal line description, if posted

Other line tabs: Serial Number (list, import, scan; shown for serial-number items and for items flagged as optional serial number), Batch Number, Bin Number, Costing Details, Pricing Details, Issue Link; Item Details sub-tabs Delivery Instruction, Department, Doc Link, Delivery Details, each switched off by its own Application Settings key (HIDE_DELIVERY_INSTRUCTION, HIDE_DEPARTMENT, HIDE_DOC_LINK, HIDE_DELIVERY_DETAILS).

Delivery Details, Payment, Contra, Department Hdr

Delivery Details holds Tracking ID, Delivery Branch, Delivery Type and Delivery Location for the document. Payment records settlement lines (date and amount ≥ 0.01 required; card, voucher, transfer and cheque methods ask for their reference fields). Contra (edit only) offsets the document against another open document of the same entity. Department Hdr tags the header with a department. Status (edit only) shows the custom statuses; Trace Document and Doc Link show the documents linked by knock-off.

Lifecycle and effects

Posting StatusMeaningAllowed next
DRAFTSaved; editable; deletable when SHOW_DOCUMENT_DELETE_BUTTON is onFINAL
FINALPosted; header and lines lockedVOID (listing only)
VOIDReversed; stock, journal, knock-off and contra effects undone by the void run—

FINAL is sent from the edit form or from the listing’s bulk FINAL (rows that are DRAFT and ACTIVE). With ENABLE_SERIAL_NUMBER_VALIDATION_FINAL on, the applet first validates every serial-number line against the inventory serial records (as a purchase receipt, optionally checking draft locks) and refuses to send FINAL with the toast Unable to post the document to FINAL: Serial numbers are invalid. — a client-side check, not a server rejection. The setting has no control for this applet (see Applet settings), so unless it was set some other way this pre-check does not run. With ENABLE_AUTO_POPUP on, the edit form’s FINAL opens the PDF first and sends FINAL second. The edit form’s FINAL handler also stays attached after it has run, so when the note reloads as FINAL it can run again and show This document has been posted — after a FINAL that worked (read, not run). The server also validates stock on FINAL, but for a stock-in document that check can never fail (it only errors when a remaining balance would go negative).

VOID is sent from the listing’s bulk VOID (rows that are FINAL and ACTIVE). The server first rejects the request — shown as Cannot VOID the Document. The document(s) have been knocked off with another document(s). — when any ACTIVE document link has this GRN as its source; a GRN that has been billed or issued against therefore cannot be voided until that later document is voided first.

Posting proof:

ItemValue
Server document typeINTERNAL_PURCHASE_CONSIGNMENT_GRN (short code CSGGRN)
Amount signum−1
Quantity signum+1 (stock in)
Create / update validationServer doc type must match and header amount signum must be −1, or the save is refused; line signums are filled in server-side
FINAL validationSerial count must equal Quantity; for an inbound line every serial number must not already exist in the company; batch / bin quantities; fiscal-period lock (no exemption for this type)
Stock processorQuantity × +1 posted against the header location; the document counts as a costed receipt, so the line’s Txn Amount is added to the company’s moving-average cost pool and counts in the weighted-average calculation. It does not update the item’s last purchase cost — only a Purchase Invoice does
JournalOnly if the company’s job-template subscriptions and posting configuration run the journal posting for this document. The type is treated as a consignment stock-in and uses the consignment-purchase posting rule: entity line → CONSIGNMENT_LIABILITY, item lines → CONSIGNMENT_STOCK, tax → INPUT_TAX. A line discount does not post on its own: the consignment-stock debit is the line’s net amount, after the discount, and nothing posts to the purchase-discount default
Dr/Cr equation (when posted)Line amount × amount signum (−1) → debit CONSIGNMENT_STOCK (tax lines → INPUT_TAX); the balancing entity line is a credit to CONSIGNMENT_LIABILITY. The supplier’s AR/AP type is ignored: a consignment stock-in always balances to the consignment liability account, so nothing is posted to CREDITOR
GL precedenceFor consignment stock-in the line’s own GL code is skipped; then header GL → item-company link for txn code CONSIGNMENT_STOCK → company default CONSIGNMENT_STOCK. This applet has no field that sets a header GL code (neither the build customers are served nor the current source), so on a note keyed here the item-company link and the company default decide; a note created through the API with a header GL code posts every goods line to that one account. An unresolved item line is silently omitted and the liability line is built from what remains, so the journal posts short with no error; the job fails only when no line resolved (NO_JOURNAL_CREATED) or the consignor has no AR/AP type, so no liability line is built (TOTAL_DEBITS_AND_TOTAL_CREDITS_NOT_BALANCES). An unmapped CONSIGNMENT_LIABILITY fails the job with MISSING_DEFAULT_GL_CODE: CONSIGNMENT_LIABILITY. All three leave the note FINAL
What VOID reversesVOID queues the void run, which triggers the reversals the company subscribes to: the stock lines are marked VOID and the balances recomputed, a reverse journal is created (the reversal fails as not yet posted if no journal exists), the knocked-off consignment-PO lines are reopened, and any contra is reversed

Two consequences worth knowing. First, the cost pool moves by the document’s Txn Amount: a consignment GRN keyed at RM 0 (common when the consignor’s price is not yet agreed) pulls the item’s moving-average cost down for everything in stock, and nothing later in the consignment chain pushes it back up. A Consignment GIN takes its own amount out of the pool, so a GIN at the agreed price removes value that never went in and the average falls further; the Consignment Billing writes no stock line at all. Key the agreed price on the GRN, or correct the average afterwards with a Reset MA. Second, the GRN and the Consignment Return post to the consignment accounts, but the Consignment GIN does not — it falls back to the ordinary purchase / creditor accounts.

Related applets

Troubleshooting

SymptomCauseFix
Cannot VOID the Document. The document(s) have been knocked off with another document(s).A billing, GIN or other document has knocked off this GRN’s linesVoid the later document first, then the GRN
FINAL fails with a serial-number messageThe serial is already in stock somewhere in the company, or the serial count does not match the quantityCheck the serial in Stock Balance; issue or correct it first; enter exactly as many serials as the quantity
Unable to post the document to FINAL: Serial numbers are invalid.The client-side pre-check under ENABLE_SERIAL_NUMBER_VALIDATION_FINAL found an INVALID serial; nothing was sent to the server. The setting has no toggle for this applet, so it was set outside the settings screenOpen the line’s Serial Number tab and fix the flagged entries
This document has been posted right after you pressed FINALThe edit form’s FINAL handler ran again when the note reloaded as FINAL (read, not run)The note is posted; check the listing’s posting status and do not press FINAL again
The auto pop-up PDF shows the note before posting, or opened although FINAL failedENABLE_AUTO_POPUP requests the PDF before FINAL is sentRead the posting status on the listing; print again from the listing once the note is FINAL
CREATE fails with One of the serial numbers is already locked…DRAFT_LOCK_SERIAL_NUMBER…ALREADY_EXISTS: another draft holds the same serial for this item and document typeFind the other draft (Line Items listing) and remove the serial there
FINAL fails with The selected date falls within a locked fiscal periodThe date is in a locked period; consignment GRNs are not exempt from LOCK_TXN / LOCK_ALLMove the Transaction Date into an open period or reopen the period in Organisation
Document is FINAL and Trace Document → Journal Txn is empty; the reason BigLedger support reads is MISSING_DEFAULT_GL_CODE: CONSIGNMENT_LIABILITY. No screen shows it until CREATE in the Stock Flow Report re-runs the posting (next column)The company runs the journal processor for this document and has no default GL code for CONSIGNMENT_LIABILITY. FINAL itself succeeded — the journal job runs after the status change and fails on its own. Trace Document’s checks and the Missing Journal screens do not take this document type, but the Stock Flow Report does. Once the code is mapped, open the Financial Report applet’s Error Checking › Stock Flow Report, pick the company and a date range that covers the GRN’s date, and click the Difference figure on the Purchase Consignment row. In the Difference Listing, tick the GRN (Status MISSING_ACCOUNTING) and press CREATE. Status turns POSTED when the journal is made; anything else there is the reason it was notMap it in Chart of Accounts, or exclude the journal processor for INTERNAL_PURCHASE_CONSIGNMENT_GRN in the company’s posting configuration
Document is FINAL, no journal, and the reason BigLedger support reads is TOTAL_DEBITS_AND_TOTAL_CREDITS_NOT_BALANCES or NO_JOURNAL_CREATEDNo CONSIGNMENT_STOCK GL code could be resolved for an item line (header GL, item-company link, company default all empty), so the line was dropped from the journal — and either the principal has no AR/AP type, so no liability line absorbed it (TOTAL_DEBITS_AND_TOTAL_CREDITS_NOT_BALANCES), or no line resolved at all (NO_JOURNAL_CREATED). A GL code set on the line itself is ignored for consignment stock-inMap CONSIGNMENT_STOCK as a company default GL code or on the item-company link, then post the GRN’s journal from the Stock Flow Report’s Difference Listing with CREATE, as in the row above
No error, but consignment stock and the consignment liability in the GL are both short of what the GRNs receivedOnly some lines resolved no CONSIGNMENT_STOCK code; they were left out and the CONSIGNMENT_LIABILITY line was built from the lines that remained, so the journal balanced and posted short. Trace Document finds nothing because a journal existsMap CONSIGNMENT_STOCK as a company default GL code or on the item-company link first. Then open the GRN in Error Checking › Trace Document and press Repost beside Posting Journal: it deletes the short journal and builds it again from the GRN, now with every line, and does not touch the stock movement. The checks on that screen read Unsupported document type for consignment documents; the Repost button does not depend on them. Repost successful means it worked. A failed Repost shows nothing, and it has already deleted the old journal. If the Journal Txn grid is empty afterwards, the Stock Flow Report’s Difference Listing lists the GRN as MISSING_ACCOUNTING, and CREATE there posts it or shows why it cannot. Or post a correcting journal yourself for the left-out lines’ value
The journal posted to the creditor / purchase accounts instead of the consignment accountsThe document was keyed as a normal Purchase GRN, or the journal came from a Consignment GIN (which uses the purchase handler, a known defect BigLedger is tracking)Void and re-key as a consignment GRN; for GINs see that applet’s page
The item you want is not in Search ItemThe item search lists only ACTIVE items carrying the Consignment Item flagTick Consignment Item on the item in Doc Item Maintenance
No KO For Purchase Order / Requisition / Invoice tab on a lineThe company has no enabled LINE document flow from that type into CSGGRNEnable the flow in Organisation, or use the header-level KO For tab for consignment POs
The selected document contains a different entity/branch compared to the previous documentENABLE_MULTIPLE_KO is off and a second source document was pickedKnock off one document at a time, or switch the setting on
Transaction Date is greyed outThe user lacks the SHOW_TRANSACTION_DATE client-side permissionGrant it under Settings > Client-Side Permission
SINGLE/MULTIPLE PRINT is disabled; No Default Printable Selected when FINAL is pressedNo default printable format (PRINTABLE)Choose one under Settings > Printable Format Settings
Received stock recorded on the wrong document type (a consignment GRN keyed for stock you bought outright, or the reverse)Both documents look alike; only the journal differsVoid the document (if not yet knocked off) and re-key it on the right applet; a support case of exactly this kind is on record
No DELETE button on a draftSHOW_DOCUMENT_DELETE_BUTTON is off, or the document is already FINALSwitch the setting on under Application Settings
No VOID button on the edit formThe edit form has no VOID buttonUse the listing: tick the row and click VOID

Note that the auto pop-up on FINAL prints through the Purchase Order print service, so the printable format must be one that service can render.

Related documentation

Last updated on