PORTRQ: PO Requisition Entry
The PO Requisition Entry business object enables a new requisition to be captured or an existing requisition line to be changed.
Properties
| Syspro Module | Purchase Orders |
| Class | Transaction |
| Methods | Post |
| Functional Area | Purchase Order Requistion System |
| Initial version released | Syspro 6.1 |
A requisition line cannot be linked to a hierarchical job.
Input XML
The .XML and .XSD input files indicate the parameters schema and an instance of an XML document for this business object.
<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2025 SYSPRO Ltd. -->
<!--
This is an example XML instance to demonstrate
use of the Requisition Entry Post Business Object
-->
<PostRequisition xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="PORTRQ.XSD">
<Parameters>
<AllowNonStockedItems>Y</AllowNonStockedItems>
<AllowBlankSupplier>N</AllowBlankSupplier>
<AcceptGLCodeforStocked>N</AcceptGLCodeforStocked>
<IgnoreWarnings>N</IgnoreWarnings>
<ActionType>A</ActionType>
<GiveErrorWhenDuplicateFound>N</GiveErrorWhenDuplicateFound>
<ApplyIfEntireDocumentValid>Y</ApplyIfEntireDocumentValid>
<ValidateOnly>N</ValidateOnly>
<ApplyNewPriceListOnUpdate>N</ApplyNewPriceListOnUpdate>
<ApplyPriceGroupException>N</ApplyPriceGroupException>
<ApplyAltPriceList>Y</ApplyAltPriceList>
</Parameters>
</PostRequisition>
<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2025 SYSPRO Ltd. -->
<!--
Generated Local Xml Schema from : PORTRQ.xml
-->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="PostRequisition">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Parameters">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" name="AllowNonStockedItems" type="xsd:string">
<xsd:annotation>
<xsd:documentation>If the stock code supplied does not exist on the inventory master the P/order line will be added as a non-stocked detail line only if the parameter Allow non-stocked items is set to Y (Yes). The default is N (No).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="AllowBlankSupplier" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Indicates if a blank supplier is allowed for the requisition. Default N (No).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="AcceptGLCodeforStocked" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Indicates if a GL code for a stocked code must be accepted. Default N (No)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="IgnoreWarnings" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Specifies if warnings are to be ignored (Y - if the warnings are to be ignored, N - warnings will be returned as errors in the XML returned).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="ActionType" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Indicates if whether you are adding (A) or changing a requisition (C). Default A (add a requisition).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="GiveErrorWhenDuplicateFound" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Indicates if an error should be returned when a duplicate is found when Y (Yes) or increment line if N (No). Default N (No).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="ApplyIfEntireDocumentValid" type="xsd:string">
<xsd:annotation>
<xsd:documentation>This element indicates whether to process entire document only if all items are valid. If set to 'N', each item is validated and rejected if in error or processed if correct. This is the fastest option. If set to 'Y', all items are validated and only processed if entire document is valid. Default is 'Y'. Valid values are 'Y' and 'N'.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="ValidateOnly" type="xsd:string">
<xsd:annotation>
<xsd:documentation>This element indicates which processing phases are to be performed. If set to 'Y' all items are validated and an XML string is returned with the result of the validation. No updating will take place. If set to 'N', each item is validated and updating is performed based on setting of the element 'ApplyIfEntireDocumentValid'. Default is 'N'. Valid values are 'N' and 'Y'.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element default="N" name="ApplyNewPriceListOnUpdate">
<xsd:annotation>
<xsd:documentation>This option determines whether the purchase price details will be updated if a change has caused the returned pricing details to differ from the existing details. The default is 'N'.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="N" />
<xsd:enumeration value="Y" />
<xsd:enumeration value="" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element default="N" name="ApplyPriceGroupException">
<xsd:annotation>
<xsd:documentation>This option determines whether the purchase price exception will be used if a valid price list is not found. The default is 'N'.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="N" />
<xsd:enumeration value="Y" />
<xsd:enumeration value="" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element default="Y" name="ApplyAltPriceList">
<xsd:annotation>
<xsd:documentation>This option determines when an order minimum or order multiplier is not satisfied whether to retrieve the next valid price list. The default is 'Y'.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="N" />
<xsd:enumeration value="Y" />
<xsd:enumeration value="" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
The DOC.XML and DOC.XSD files indicate the schema and an instance of an XML document for this business object.
<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2025 SYSPRO Ltd. -->
<!--
This is an example XML instance to demonstrate
use of the Requisition Entry Post Business Object
-->
<PostRequisition xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="PORTRQDOC.XSD">
<Item>
<User>SG</User>
<UserPassword />
<RequisitionNumber />
<RequisitionLine />
<StockCode>ZZB100</StockCode>
<Description>3mm Widget</Description>
<Revision />
<Release />
<Quantity>100</Quantity>
<Units />
<Pieces />
<UnitOfMeasure>EA</UnitOfMeasure>
<DueDate>2006-02-20</DueDate>
<Reason />
<IncludeInMrp>Y</IncludeInMrp>
<RouteOn>Y</RouteOn>
<RouteToUser />
<RouteNotation />
<RequisitionType>N</RequisitionType>
<Supplier />
<PurchasePriceGroup />
<PurchasePriceList />
<Price>50.00</Price>
<PriceUom>EA</PriceUom>
<DiscType>P</DiscType>
<DiscountValue />
<DiscountCode />
<DiscPercent1 />
<DiscPercent2 />
<DiscPercent3 />
<LessPlusDisc>L</LessPlusDisc>
<Warehouse />
<StoresWarehouse></StoresWarehouse>
<Catalogue />
<Job />
<HierHead />
<Section1 />
<Section2 />
<Section3 />
<Section4 />
<Operation />
<LedgerCode />
<PasswordForLedgerCode />
<ProductClass />
<TaxCode />
<Customer />
<CustomerPoNumber />
<CapexNumber />
<Buyer />
<DeliveryTerms />
<ShippingLocation />
<Notes />
<PurchaseOrderComments />
<ReceiptIntoInspection>N</ReceiptIntoInspection>
<WithholdingTaxExpenseType>G</WithholdingTaxExpenseType>
<Intrastat>
<IntrastatExempt></IntrastatExempt>
<TriangulationRole></TriangulationRole>
<DispatchState></DispatchState>
<DestinationState></DestinationState>
<CountryOfOrigin></CountryOfOrigin>
</Intrastat>
<eSignature></eSignature>
</Item>
</PostRequisition>
<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2025 SYSPRO Ltd. -->
<!--
Schema for the Requisition Entry Post Business Object
-->
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Buyer">
<xsd:annotation>
<xsd:documentation>The buyer code to be associated with the requisition. If entered, it must be a valid SYSPRO buyer code.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CapexNumber">
<xsd:annotation>
<xsd:documentation>The capex number. Must be valid if supplied.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Catalogue">
<xsd:annotation>
<xsd:documentation>The supplier's catalogue number for the supplied stock code.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Customer">
<xsd:annotation>
<xsd:documentation>The customer number. Does not have to be valid when supplied.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CustomerPoNumber">
<xsd:annotation>
<xsd:documentation>The customer's purchase order number.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Description">
<xsd:annotation>
<xsd:documentation>The description of the stock code. If not supplied will default to the description of the stock code itself. A non-blank description must be supplied for a non-stocked item.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscPercent1">
<xsd:annotation>
<xsd:documentation>First discount percentage. Discount percentages will only be used if the DiscountCode element is not supplied.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscPercent2">
<xsd:annotation>
<xsd:documentation>Second discount percentage.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscPercent3">
<xsd:annotation>
<xsd:documentation>Third discount percentage.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscountCode">
<xsd:annotation>
<xsd:documentation>Discount code. Must be valid if supplied.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DueDate">
<xsd:annotation>
<xsd:documentation>The due date for the requisition line. Defaults to today's date.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string" />
</xsd:simpleType>
</xsd:element>
<xsd:element name="Item">
<xsd:annotation>
<xsd:documentation>This is the top element for all data required for the transaction.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" ref="User" />
<xsd:element minOccurs="0" ref="UserPassword" />
<xsd:element minOccurs="0" ref="RequisitionNumber" />
<xsd:element minOccurs="0" ref="RequisitionLine" />
<xsd:element ref="StockCode" />
<xsd:element minOccurs="0" ref="Description" />
<xsd:element minOccurs="0" ref="Revision" />
<xsd:element minOccurs="0" ref="Release" />
<xsd:element ref="Quantity" />
<xsd:element minOccurs="0" ref="Units" />
<xsd:element minOccurs="0" ref="Pieces" />
<xsd:element minOccurs="0" ref="UnitOfMeasure" />
<xsd:element minOccurs="0" ref="DueDate" />
<xsd:element minOccurs="0" ref="Reason" />
<xsd:element minOccurs="0" name="IncludeInMrp">
<xsd:annotation>
<xsd:documentation>The flag which can bee toggled to indicate if an item is to be included or excluded from the MRP Calculation. Y = Yes (Default) N = No.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Y" />
<xsd:enumeration value="N" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element minOccurs="0" ref="RouteOn" />
<xsd:element minOccurs="0" ref="RouteToUser" />
<xsd:element minOccurs="0" ref="RouteNotation" />
<xsd:element ref="RequisitionType" />
<xsd:element minOccurs="0" ref="Supplier" />
<xsd:element minOccurs="0" ref="PurchasePriceGroup" />
<xsd:element minOccurs="0" ref="PurchasePriceList" />
<xsd:element minOccurs="0" ref="Price" />
<xsd:element minOccurs="0" ref="PriceUom" />
<xsd:element minOccurs="0" ref="DiscType" />
<xsd:element minOccurs="0" ref="DiscountValue" />
<xsd:element minOccurs="0" ref="DiscountCode" />
<xsd:element minOccurs="0" ref="DiscPercent1" />
<xsd:element minOccurs="0" ref="DiscPercent2" />
<xsd:element minOccurs="0" ref="DiscPercent3" />
<xsd:element minOccurs="0" ref="LessPlusDisc" />
<xsd:element minOccurs="0" ref="Warehouse" />
<xsd:element minOccurs="0" ref="StoresWarehouse" />
<xsd:element minOccurs="0" ref="Catalogue" />
<xsd:element minOccurs="0" ref="Job" />
<xsd:element minOccurs="0" ref="HierHead" />
<xsd:element minOccurs="0" ref="Section1" />
<xsd:element minOccurs="0" ref="Section2" />
<xsd:element minOccurs="0" ref="Section3" />
<xsd:element minOccurs="0" ref="Section4" />
<xsd:element minOccurs="0" ref="Operation" />
<xsd:element minOccurs="0" ref="LedgerCode" />
<xsd:element minOccurs="0" ref="PasswordForLedgerCode" />
<xsd:element minOccurs="0" ref="ProductClass" />
<xsd:element minOccurs="0" ref="TaxCode" />
<xsd:element minOccurs="0" ref="Customer" />
<xsd:element minOccurs="0" ref="CustomerPoNumber" />
<xsd:element minOccurs="0" ref="CapexNumber" />
<xsd:element minOccurs="0" ref="Buyer" />
<xsd:element minOccurs="0" name="DeliveryTerms" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Intrastat Delivery Terms against the requisition.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="ShippingLocation" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Shipping Location to be used against requisition.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" ref="Notes" />
<xsd:element minOccurs="0" ref="PurchaseOrderComments" />
<xsd:element minOccurs="0" ref="ReceiptIntoInspection" />
<xsd:element minOccurs="0" ref="WithholdingTaxExpenseType" />
<xsd:element minOccurs="0" name="Intrastat">
<xsd:annotation>
<xsd:documentation>EU Intrastat options, only applicable when EC Vat system is required</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" name="IntrastatExempt">
<xsd:annotation>
<xsd:documentation>Intrastat option is exempt or not, Y = Exempt</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="TriangulationRole">
<xsd:annotation>
<xsd:documentation>Intrastat triangulation, N = None, A = Agent, C = Customer</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="DispatchState">
<xsd:annotation>
<xsd:documentation>Member State of Dispatch. Must be valid if entered</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="DestinationState">
<xsd:annotation>
<xsd:documentation>Destination State. Must be valid if entered</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="CountryOfOrigin">
<xsd:annotation>
<xsd:documentation>Country where goods originated from. Must be valid if entered</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" name="eSignature">
<xsd:annotation>
<xsd:documentation>Electronic signature password</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Job">
<xsd:annotation>
<xsd:documentation>The job number. The job number does not have to be valid if supplied. However, if the job is valid then the job classification of that job is checked for security access.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="HierHead">
<xsd:annotation>
<xsd:documentation>This element is required when adding a requisition line for a job that is heirarchical and must be valid against the job. When changing the job on a line, this element is required if the new job is heirarchical and must be valid against the job.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Section1">
<xsd:annotation>
<xsd:documentation>This element is used together with the Section2, Section3 and Section4 elements to build a full hierarchy for validating against a hierarchical job. It is only required if the element HierHead has been entered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Section2">
<xsd:annotation>
<xsd:documentation>This element is used together with the Section1, Section3 and Section4 elements to build a full hierarchy for validating against a hierarchical job. It is only required if the elements HierHead and Section1 have been entered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Section3">
<xsd:annotation>
<xsd:documentation>This element is used together with the Section1, Section2 and Section4 elements to build a full hierarchy for validating against a hierarchical job. It is only required if the elements HierHead, Section1 and Section2 have been entered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Section4">
<xsd:annotation>
<xsd:documentation>This element is used together with the Section1, Section2 and Section3 elements to build a full hierarchy for validating against a hierarchical job. It is only required if the elements HierHead, Section1, Section2 and Section3 have been entered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="LedgerCode">
<xsd:annotation>
<xsd:documentation>The G/L account code. This may only be supplied for a non-stocked item, and will be ignored for a stocked item and ignored for any item that contains a job number. Defaults to the inventory non-stocked control account if not specifically supplied.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element default="L" name="LessPlusDisc">
<xsd:annotation>
<xsd:documentation>Indicates whether the discount percentages should be applied as LESS (L) or PLUS (P).</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="L" />
<xsd:enumeration value="P" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element default="N" name="RequisitionType">
<xsd:annotation>
<xsd:documentation>Indicates the different requisition types that can be entered. N=Normal, I=Issue, T=Transfer</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="N" />
<xsd:enumeration value="I" />
<xsd:enumeration value="T" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Notes">
<xsd:annotation>
<xsd:documentation>Requisition notes. (Can be delimited by || to act as line break, must also begin with || to indicate that this is the format of note that you require) .</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Operation">
<xsd:annotation>
<xsd:documentation>Subcontract operation number if a job has been supplied.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PasswordForLedgerCode">
<xsd:annotation>
<xsd:documentation>If ledger codes require a password, this element must contain the relevant password.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PurchaseOrderComments">
<xsd:annotation>
<xsd:documentation>Comments to be applied to the purchase order when created from this requisition line (Can be delimited by || to act as line break, must also begin with || to indicate that this is the format of note that you require) .</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Pieces">
<xsd:annotation>
<xsd:documentation>If stock code is a unit-qty type stock code and quantity element is not supplied, the quantity of the transaction must be supplied as units and pieces.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PostRequisition">
<xsd:annotation>
<xsd:documentation>This is the root element.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Item" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Price">
<xsd:annotation>
<xsd:documentation>The price quoted by the supplier.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PriceUom">
<xsd:annotation>
<xsd:documentation>The price unit of measure.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ProductClass">
<xsd:annotation>
<xsd:documentation>The product class to be applied for a non-stocked item only.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Quantity">
<xsd:annotation>
<xsd:documentation>This element is mandatory if the stock code is not a unit-qty type stock code.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Reason">
<xsd:annotation>
<xsd:documentation>The reason for the requisition being raised.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ReceiptIntoInspection">
<xsd:annotation>
<xsd:documentation>This element allows a non-stocked requisition to be flagged as requiring inspection. Valid entries are 'N' - No, 'Y' - Yes. If blank, then 'N' is assumed. This is only used for a non-stocked item.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="N" />
<xsd:enumeration value="Y" />
<xsd:enumeration value="" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Release">
<xsd:annotation>
<xsd:documentation>The release of the stock code.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="RequisitionLine">
<xsd:annotation>
<xsd:documentation>The line number of the requisition. The line is applied when changing an existing requisition.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string" />
</xsd:simpleType>
</xsd:element>
<xsd:element name="RequisitionNumber">
<xsd:annotation>
<xsd:documentation>The number is used when changing an existing requisition, or when adding new lines to an existing requisition, or when adding a requisition for the first time, and requisition numbering is manual.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string" />
</xsd:simpleType>
</xsd:element>
<xsd:element name="Revision">
<xsd:annotation>
<xsd:documentation>The revision of the stock code.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="RouteOn">
<xsd:annotation>
<xsd:documentation>This element allows you to chose if the requisition line should be routed or not.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="N" />
<xsd:enumeration value="Y" />
<xsd:enumeration value="" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="RouteNotation">
<xsd:annotation>
<xsd:documentation>The notation to be applied if the requisition is to be routed to another user.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="RouteToUser">
<xsd:annotation>
<xsd:documentation>The user to whom the requisition should be routed.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="StockCode">
<xsd:annotation>
<xsd:documentation>The stock code for the requisition. This must be non-blank. The stock code must be valid if the XML parameter option AllowNonStocked is defined as N.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Supplier">
<xsd:annotation>
<xsd:documentation>The supplier of the stock item. If the supplier is valid then it is checked to see if the supplier is on hold and for security access on the A/P branch.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PurchasePriceGroup">
<xsd:annotation>
<xsd:documentation>This is the purchase price group to be used to obtain the pricing details if the operator has permissions. WIll default to that against the supplier on entry if not supplied, or if permissions are denied.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PurchasePriceList">
<xsd:annotation>
<xsd:documentation>This is the purchase price list to be used to obtain the pricing details if the operator has permissions.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element default="P" name="DiscType">
<xsd:annotation>
<xsd:documentation>Indicates if the line discount has been entered as a value or percentages. Possible values - P (percentage), C - Coded or V (value). Default P.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
<xsd:enumeration value="P" />
<xsd:enumeration value="V" />
<xsd:enumeration value="C" />
<xsd:enumeration value="" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DiscountValue">
<xsd:annotation>
<xsd:documentation>Indicates the line discount value to be applied to the order line. This is a signed 12 integer, 2 decimal field.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="TaxCode">
<xsd:annotation>
<xsd:documentation>The tax code is only used if the item is non-stocked.When using Descriptive Tax Codes, a descriptive tax code must be provided.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="UnitOfMeasure">
<xsd:annotation>
<xsd:documentation>The unit of measure for the quantity supplied. The u/m must be either the stocking or alternate u/m's associated with the stock code. If not supplied then the stocking unit of measure is assumed.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Units">
<xsd:annotation>
<xsd:documentation>If the stock code is a unit-qty type stock code and quantity element is not supplied, the quantity of the transaction must be supplied as units and pieces.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="User">
<xsd:annotation>
<xsd:documentation>The user who is adding the requisition. If the user is not supplied then the user associated with the operator will be assumed. The user must be valid.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="UserPassword">
<xsd:annotation>
<xsd:documentation>The password associated with the user. The password is only required to be supplied if the user element was supplied and it differs from the user associated with the operator default.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Warehouse">
<xsd:annotation>
<xsd:documentation>The warehouse for the stock code into which the goods will be supplied. The entry supplied here will be overwritten if there is a warehouse defined against the requisition user.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="WithholdingTaxExpenseType">
<xsd:annotation>
<xsd:documentation>Only applies if withholding tax is in use. Expense type G = Goods, S = Service</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="StoresWarehouse">
<xsd:annotation>
<xsd:documentation>The warehouse for issues and transfers. This is not mandatory and can be entered when physically doing the issue or transfer</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="preserve" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:schema>
A requisition line cannot be added if the stock code is on hold (SYSPRO menu | Inventory | Setup | Stock Codes | Edit pulldown | On Hold Status).
A requisition line cannot be added for an ECC controlled item (SYSPRO menu | Inventory | Setup | Stock Codes | Tracking tab) if an Engineering Change Order is currently in progress for the item and new purchase orders have been prevented for all stock codes on the ECO.
If an entry is made against the element Warehouse, the operator must have access to the entered warehouse (Setup | Security | Operators | Security | Warehouses).
When adding a requisition line, if an authorized warehouse is defined against the requisition user (SYSPRO menu | Purchase Orders | Requisition System | User Maintenance), any entry against the element Warehouse will be overridden by the warehouse against the requisition user.
An existing requisition line cannot be changed if the operator is denied access to the warehouse against the requisition line (Setup | Security | Operators | Security | Warehouses).
If an entry is made against the element Job, the operator must have access to the job classification against the job (Setup | Security | Operators | Security | Job Classification).
An existing requisition line cannot be changed if the line is linked to a job and the operator does not have access to the job classification against the job (Setup | Security | Operators | Security | Job Classification).
If an entry is made against the element Job, the stock code entered cannot be same as the finished stock code against the job.
If an entry is made against the element Job and the finished stock code against the job is traceable, the entered stock code must also be traceable if the Lot Traceability Setup option: Parent traceable if component traceable is selected (Setup | Lot Traceability Setup | General tab).
If an entry is made against the element Supplier, the supplier must not be on hold (SYSPRO menu | Accounts Payable | Setup | Suppliers | General 1 tab).
If an entry is made against the element Supplier, the operator must have access to the supplier's branch (Setup | Security | Operators | Security | A/P Branches).
An existing requisition line cannot be changed if the operator is denied access to the supplier's branch (Setup | Security | Operators | Security | A/P Branches).
If an entry is made against the element Buyer, it will be validated if the Purchase Orders Setup option: Validate buyer when purchase order created (Setup | Distribution Setup | Purchase Orders Setup | Options tab) is set to Mandatory or If entered.
When adding a new line to an existing requisition, the requisition user (either the supplied requisition user or the default user against the operator) must match the originator of any line against the requisition.
When adding a requisition line, the following elements cannot be supplied if the requisition user does not have an authority level of: Add detailed information or higher (SYSPRO menu | Purchase Orders | Requisition System | User Maintenance):
- Supplier
- Warehouse
- Price
- PriceUom
- DiscountCode
- DiscPercent1
- DiscPercent2
- DiscPercent3
- LessPlusDisc
- Catalogue
- Job
- Operation
- LedgerCode
- PasswordForLedgerCode
- ProductClass
- TaxCode
- Customer
- CustomerPoNumber
- CapexNumber
- Buyer
- ReceiptIntoInspection
When changing an existing requisition line, the requisition user must have an authority level of: Change detailed information or higher (SYSPRO menu | Purchase Orders | Requisition System | User Maintenance).
An existing requisition line cannot be changed if it has been canceled, if it is on hold, if it has been approved (by a user who is not the supplied requisition user nor the default user against the operator) or if a purchase order has already been created for the requisition.
An existing requisition line cannot be changed if the requisition user is not the current holder unless maintenance of requisitions against which they are not the current holder is permitted (SYSPRO menu | Purchase Orders | Requisition System | User Maintenance).
When changing an approved non-stocked requisition line and Commitment Accounting is required for requisitions (Setup | Financial Setup | General Ledger Setup | Commitments tab), the budget against the ledger code will be checked if the General Ledger Setup option: Validate against budget (Setup | Financial Setup | General Ledger Setup | Commitments tab) is selected for requisitions and any of the following fields are maintained.
If maintaining any of these fields does not cause the value of the requisition line to exceed the budget, the line is saved and the uncommitted value updated accordingly. If the value of the requisition line exceeds the budget, an error or warning message will be displayed depending on how the system is setup.
Price
Quantity
Due date
Discount
Ledger code
No commitment values will be saved if the supplied ledger code is the non-stocked control account, subcontract control account, or WIP control account.
The transaction date will be used to determine in which period the commitment falls. If the period cannot be determined, the period will be unallocated and the transaction will not be validated against the budget. If a transaction is entered for the next year, the current year's period end dates will be used to determine the correct period for the next year but no brought forward balances will be considered when determining if a transaction exceeds budget.
When a value is validated against the budget for the period, the value of the transaction plus the period uncommitted value plus the period committed value plus the period actual value must not exceed the budget for the period.
If the value exceeds the budget for the period, a warning or error message will be displayed under the following circumstances:
- If the operator has access to the security activity: G/L Allow commitment over period budget (Setup | Security | Operators | Security | Activities) but the General Ledger Setup option: Warn if budget exceeded (Setup | Financial Setup | General Ledger Setup | Commitments tab) is selected, a warning message will be displayed that the budget has been exceeded for the period but the line can still be saved.
- If the operator has been denied access to the security activity: G/L Allow commitment over period budget, an error message will be displayed that the budget has been exceeded for the period and the operator will be unable to save the line.
- If the operator has access to the security activity: G/L Allow commitment over period budget and the General Ledger Setup option: Warn if budget exceeded is not selected, the line will be saved without any warning that the budget has been exceeded for the period.
When a value is validated against the year to date budget, the value of the transaction plus the brought forward uncommitted value plus the year to date uncommitted value plus the brought forward committed value plus the year to date committed value plus the year to date actual value must not exceed the year to date budget.
If the value exceeds the year to date budget, a warning or error message will be displayed under the following circumstances:
- If the operator has access to the security activity: G/L Allow commitment over YTD budget (Setup | Security | Operators | Security | Activities) but the General Ledger Setup option: Warn if budget exceeded is selected, a warning message will be displayed that the year to date budget has been exceeded but the line can still be saved.
- If the operator has been denied access to the security activity: G/L Allow commitment over YTD budget, an error message will be displayed that the year to date budget has been exceeded and the operator will be unable to save the line.
- If the operator has access to the security activity: G/L Allow commitment over YTD budget and the General Ledger Setup option: Warn if budget exceeded is not selected, the line will be saved without any warning that the year to date budget has been exceeded.
When a value is validated against the annual budget, the value of the transaction plus the brought forward uncommitted value plus the total year uncommitted value plus the brought forward committed value plus the total year committed value plus the total year actual value must not exceed the annual budget.
If the value exceeds the annual budget, a warning or error message will be displayed under the following circumstances:
- If the operator has access to the security activity: G/L Allow commitment over annual budget (Setup | Security | Operators | Security | Activities) but the General Ledger Setup option: Warn if budget exceeded is selected, a warning message will be displayed that the annual budget has been exceeded but the line can still be saved.
- If the operator has been denied access to the security activity: G/L Allow commitment over annual budget, an error message will be displayed that the annual budget has been exceeded and the operator will be unable to save the line.
- If the operator has access to the security activity: G/L Allow commitment over annual budget and the General Ledger Setup option: Warn if budget exceeded is not selected, the line will be saved without any warning that the annual budget has been exceeded.
If the value of the requisition line exceeds the minimum capex requisition line value defined in Purchase Orders Setup (Setup | Distribution Setup | Purchase Orders | Requisition tab), a valid entry must be made against the element CapexNumber.
The value of the transaction line cannot exceed the maximum requisition line value defined against the requisition user (SYSPRO menu | Purchase Orders | Requisition System | User Maintenance).
If Inventory is integrated to General Ledger by report, in detail or in summary (Setup | General Ledger Integration | General Ledger tab) and a non-stocked code is supplied, unless an entry is made against the element LedgerCode, the non-stocked control account defined in General Ledger Integration (Setup | General Ledger Integration | Inventory tab) will be used.
In addition, if Inventory is integrated to General Ledger in detail or summary, error messages will be returned if the ledger code is a control account, the ledger code is on hold or a password is defined against the ledger code, which does not match the password entered against the element PasswordForLedgerCode (SYSPRO menu | General Ledger | Setup | General Ledger Codes).
If Inventory is integrated to General Ledger in detail or summary (Setup | General Ledger Integration | General Ledger tab), the parameter AcceptGLCodeforStocked is defined as Y and a ledger code is entered against the element LedgerCode for a stocked requisition line, the entry will be validated. In addition, error messages will be returned if the ledger code is a control account, the ledger code is on hold or a password is defined against the ledger code, which does not match the password entered against the element PasswordForLedgerCode.
Refer to PORTRQ.XSD and PORTRQ.XML for the parameters schema and an instance of an XML document for this business object.
Refer to PORTRQDOC.XSD and PORTRQDOC.XML for the schema and an instance of an XML document for this business object.
Output XML
The OUT.XML indicates a sample of the XML returned by this business object.
<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2021 SYSPRO Ltd.-->
<!--
This is an example XMLOut instance to demonstrate
use of the Requisition Entry Post Business Object
-->
<postrequisition Language='05' CssStyle='' DecFormat='1' DateFormat='05' Version='6.0.000'>
<item>
<Originator>BB</Originator>
<Requisition>0000000242</Requisition>
<Line>001</Line>
</item>
</postrequisition>
Refer to PORTRQOUT.XML for a sample of the XML returned by this business object.
Prerequisites
The Purchase Orders module must be installed to run this business object.
The Purchase Order Requisition System functional area must be licensed.
Limitations
No limitations apply to this business object.
Copyright © 2026 Syspro PTY Ltd.