I have already customized the Invoice.xml file in several ways. It says "Invoice" at the top for printing when there are items contained on the invoice. But if the item is a credit memo with a customer return or payment, the phrase "Sales Receipt" prints instead of Invoice, and I need to access the "captions" stored for Transaction.ReceiptTransactionName in the RMS database. Any ideas, or is this even possible?
*This post is locked for comments
Hi.. How do we do a similar thing for A4 Paper Format??
Hi!
I have changed the following and works quite well for me!
Sales Receipt to Tax Invoice
Return to Credit Note
and Transaction # to Invoice No.
Following is the XML file, copy and save as a receipt format. Hope this solves your question.
If you don't know how to do it, let me know I'll send you more detailed instructions to use the following XML code!!!
GOOD LUCK! Following is the file...
<?xml version = "1.0" encoding = "UTF-16"?>
<XML>
<PROPERTIES>
<DESCRIPTION> Receipt - 40 column </DESCRIPTION>
<AUTHOR> Microsoft Corporation </AUTHOR>
<VERSION> Version 1.06 </VERSION>
</PROPERTIES>
<!--
===========================
Attributes
===========================
-->
<SET name="ReceiptCount" custom="true" description="Receipt Count" type="vbLong"> 1 </SET>
<SET name="PaperWidth" custom="true" description="Paper Width" type="vbdouble"> 2.75 </SET>
<SET name="PaperHeight" custom="true" description="Paper Height" type="vbdouble"> 11.00 </SET>
<SET name="MarginLeft" custom="true" description="Margin Left" type="vbdouble"> 0 </SET>
<SET name="MarginRight" custom="true" description="Margin Right" type="vbdouble"> 0 </SET>
<SET name="MarginTop" custom="true" description="Margin Top" type="vbdouble"> 0 </SET>
<SET name="MarginBottom" custom="true" description="Margin Bottom" type="vbdouble"> 0 </SET>
<SET name="PaperCutPercent" custom="true" description="Paper Cut Percent (OPOS)" type="vbLong"> 100 </SET>
<SET name="CharacterSet" custom="true" description="Character Set (OPOS)" type="vbLong"> 437 </SET>
<SET name="PrintReceipt" custom="true" description="Print to Receipt (OPOS)" type="vbBoolean"> True </SET>
<SET name="PrintJournal" custom="true" description="Print to Journal (OPOS)" type="vbBoolean"> True </SET>
<SET name="PrintSlip" custom="true" description="Print to Slip (OPOS)" type="vbBoolean"> False </SET>
<SET name="ShowHeaderLogo" custom="true" description="Show Header Logo" type="vbBoolean">False</SET>
<SET name="ShowFooterLogo" custom="true" description="Show Footer Logo" type="vbBoolean"> False </SET>
<SET name="ShowStoreInfo" custom="true" description="Show Store Name/Address" type="vbBoolean">True</SET>
<SET name="ShowCustomerAddress" custom="true" description="Show Customer Address" type="vbBoolean">False</SET>
<SET name="ShowTotalDiscounts" custom="true" description="Show Total Discounts" type="vbBoolean"> True </SET>
<SET name="ShowLineDiscounts" custom="true" description="Show Line Discounts" type="vbBoolean"> True </SET>
<SET name="ShowTaxDetails" custom="true" description="Show Tax Details" type="vbBoolean"> True </SET>
<SET name="ShowVAT" custom="true" description="Show VAT" type="vbBoolean"> True </SET>
<SET name="ShowFullVAT" custom="true" description="Show Full VAT" type="vbBoolean"> True </SET>
<SET name="ShowAccountBalance" custom="true" description="Show Customer Account Balances" type="vbBoolean"> True </SET>
<SET name="ShowCCSignature" custom="true" description="Show C.C. Signature" type="vbBoolean"> True </SET>
<SET name="CCPaperCutPercent" custom="true" description="CC Paper Cut Percent (OPOS)" type="vbLong"> 75 </SET>
<SET name="ShowBarcode" custom="true" description="Show Barcode" type="vbBoolean"> True </SET>
<SET name="ShowDuplicateBefore" custom="true" description="Show Duplicate At Top" type="vbBoolean"> True </SET>
<SET name="ShowDuplicateAfter" custom="true" description="Show Duplicate At Bottom" type="vbBoolean"> True </SET>
<SET name="MaskCreditCard" custom="true" description="Mask Credit Card Number" type="vbBoolean"> True </SET>
<SET name="FooterLine1" custom="true" description="Footer Line 1" type="vbString"> "Thank you for shopping" </SET>
<SET name="FooterLine2" custom="true" description="Footer Line 2" type="vbString"> Store.Name </SET>
<SET name="FooterLine3" custom="true" description="Footer Line 3" type="vbString"> "We hope you'll come back soon!" </SET>
<SET name="FooterLine4" custom="true" description="Footer Line 4" type="vbString"> </SET>
<SET name="FooterLine5" custom="true" description="Footer Line 5" type="vbString"> </SET>
<SET name="LogoHeader" custom="true" description="Logo Filename (Header)" type="vbString"> </SET>
<SET name="LogoFooter" custom="true" description="Logo Filename (Footer)" type="vbString"> </SET>
<!--
===========================
Variable Declarations
===========================
-->
<SET name="PageWidth" type="vbdouble"> PaperWidth - MarginLeft - MarginRight </SET>
<SET name="PageHeight" type="vbdouble"> PaperHeight - MarginTop - MarginBottom </SET>
<SET name="NewAccountBalance" type="vbcurrency"> 0 </SET>
<SET name="SigAmountOut" type="vbcurrency"> 0 </SET>
<!--
===========================
Page Settings
===========================
-->
<OPOS>
<CHARACTERSET> CharacterSet </CHARACTERSET>
<PAPERCUTPERCENT> PaperCutPercent </PAPERCUTPERCENT>
<PRINTRECEIPT> PrintReceipt </PRINTRECEIPT>
<PRINTJOURNAL> PrintJournal </PRINTJOURNAL>
<PRINTSLIP> PrintSlip </PRINTSLIP>
</OPOS>
<MARGIN>
<COPIES> ReceiptCount </COPIES>
<TOP> MarginTop </TOP>
<BOTTOM> MarginBottom </BOTTOM>
<LEFT> MarginLeft </LEFT>
<RIGHT> MarginRight </RIGHT>
<ORIENTATION> orPortrait </ORIENTATION>
</MARGIN>
<!--
===========================
Page Settings
===========================
-->
<FONT name="">
<NAME> "Arial" </NAME>
<SIZE> 9 </SIZE>
<BOLD> False </BOLD>
<UNDERLINE> False </UNDERLINE>
<ITALIC> False </ITALIC>
<COLOR> vbBlack </COLOR>
<CPL> 44 </CPL>
</FONT>
<FONT name="Small">
<NAME> "Arial" </NAME>
<SIZE> 7 </SIZE>
<BOLD> False </BOLD>
<UNDERLINE> False </UNDERLINE>
<ITALIC> False </ITALIC>
<COLOR> vbBlack </COLOR>
<CPL> 44 </CPL>
</FONT>
<FONT name="Large">
<NAME> "Arial" </NAME>
<SIZE> 12 </SIZE>
<BOLD> True </BOLD>
<UNDERLINE> False </UNDERLINE>
<ITALIC> False </ITALIC>
<COLOR> vbBlack </COLOR>
<REVERSE> True </REVERSE>
<SCALEH> 2 </SCALEH>
<CPL> 30 </CPL>
</FONT>
<!--
=============================
SUB: PrintHeader
=============================
-->
<SUB name="PrintHeader">
<!-- Print Header Logo -->
<IF>
<CONDITION> ShowHeaderLogo </CONDITION>
<THEN>
<PICTURE>
<FILENAME> LogoHeader </FILENAME>
<WIDTH> PageWidth </WIDTH>
<LEFT> MarginLeft </LEFT>
<HEIGHT> 0 </HEIGHT>
</PICTURE>
</THEN>
</IF>
<!-- Print Store Information -->
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "^" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
</COLUMNHEADER>
<IF>
<CONDITION> ShowStoreInfo </CONDITION>
<THEN>
<ROW></ROW>
<IF><CONDITION> Len(Store.Name) </CONDITION>
<THEN><ROW> Store.Name </ROW></THEN>
</IF>
<IF><CONDITION> Len(Store.Address1) </CONDITION>
<THEN><ROW> Store.Address1 </ROW></THEN>
</IF>
<IF><CONDITION> Len(Store.Address2) </CONDITION>
<THEN><ROW> Store.Address2 </ROW></THEN>
</IF>
<IF><CONDITION> Len(Store.CityStateZip) </CONDITION>
<THEN><ROW> Store.CityStateZip </ROW></THEN>
</IF>
<IF><CONDITION> Len(Store.Phone) </CONDITION>
<THEN><ROW> Store.Phone </ROW></THEN>
</IF>
<IF><CONDITION> Len(Store.Fax) </CONDITION>
<THEN><ROW> Store.Fax </ROW></THEN>
</IF>
</THEN>
</IF>
<ROW></ROW>
</TABLE>
</SUB>
<!--
=============================
SUB: PrintFooter
=============================
-->
<SUB name="PrintFooter">
<!-- Print Footer Lines -->
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "^~" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
<IF>
<CONDITION> Len(FooterLine1) </CONDITION>
<THEN>
<TEXT> FooterLine1 </TEXT>
</THEN>
</IF>
</COLUMNHEADER>
<IF>
<CONDITION> Len(FooterLine2) </CONDITION>
<THEN>
<ROW> FooterLine2 </ROW>
</THEN>
</IF>
<IF>
<CONDITION> Len(FooterLine3) </CONDITION>
<THEN>
<ROW> FooterLine3 </ROW>
</THEN>
</IF>
<IF>
<CONDITION> Len(FooterLine4) </CONDITION>
<THEN>
<ROW> FooterLine4 </ROW>
</THEN>
</IF>
<IF>
<CONDITION> Len(FooterLine5) </CONDITION>
<THEN>
<ROW> FooterLine5 </ROW>
</THEN>
</IF>
</TABLE>
<!-- Print Footer Logo -->
<IF>
<CONDITION> ShowFooterLogo </CONDITION>
<THEN>
<PICTURE>
<FILENAME> LogoFooter </FILENAME>
<WIDTH> PageWidth </WIDTH>
<LEFT> MarginLeft </LEFT>
<HEIGHT> 0 </HEIGHT>
</PICTURE>
</THEN>
</IF>
</SUB>
<!--
=============================
SUB: PrintCreditCard
=============================
-->
<SUB name="PrintCreditCardSlip">
<IF>
<CONDITION> ShowCCSignature & (Transaction.Type <> transactionAbortedTransaction) </CONDITION>
<THEN>
<FOR each="tender">
<IF>
<CONDITION> (Tender.AmountIn <> 0 | Tender.AmountOut <> 0) & (Tender.Descriptor.RequireSig | Tender.Descriptor.TenderType = tenderCreditCard) </CONDITION>
<THEN>
<CALL> "PrintHeader" </CALL>
<!-- show transaction date/time/number -->
<TABLE>
<BORDER> tbNone </BORDER>
<FONT> "Small" </FONT>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth * 0.50 </WIDTH>
<TEXT> "" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth * 0.50 </WIDTH>
<TEXT> "" </TEXT>
</COLUMNHEADER>
<IF>
<CONDITION> Transaction.ReceiptReferenceNumber </CONDITION>
<THEN>
<ROW> Transaction.ReceiptReferenceNumberCaption ":|" Transaction.ReceiptReferenceNumber </ROW>
</THEN>
</IF>
<ROW> Transaction.ReceiptTransactionNumberCaption ":|" Transaction.ReceiptTransactionNumber </ROW>
<IF>
<CONDITION> Len(Customer.AccountNumber) </CONDITION>
<THEN>
<ROW> "Account #:|" Customer.AccountNumber </ROW>
</THEN>
</IF>
<ROW> "Date:|" Transaction.Date "|Time: " Transaction.Time </ROW>
<ROW> "Cashier: " Cashier.Number "|Register #: " Register.Number </ROW>
<ROW/>
</TABLE>
<SET name="SigAmountOut" type="vbcurrency"> Tender.AmountOut * -1.0 </SET>
<TABLE>
<BORDER> tbNone </BORDER>
<FONT> "Small" </FONT>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
</COLUMNHEADER>
<IF>
<CONDITION> MaskCreditCard </CONDITION>
<THEN>
<ROW> Tender.Descriptor.Description " " Tender.AccountNumberMasked </ROW>
</THEN>
<ELSE>
<ROW> Tender.Descriptor.Description " " Tender.AccountNumber </ROW>
</ELSE>
</IF>
<IF><CONDITION> Tender.Descriptor.TenderType = tenderCreditCard </CONDITION>
<THEN><ROW> "AUTH: " Tender.ApprovalCode </ROW> </THEN>
</IF>
<IF><CONDITION> Tender.AmountOut > Tender.AmountIn </CONDITION>
<THEN>
<ROW> "AMOUNT: " SigAmountOut </ROW> <!-- Tender.AmountOut -->
</THEN>
<ELSE> <ROW> "AMOUNT: " Tender.AmountIn </ROW> </ELSE>
</IF>
<ROW></ROW>
<ROW></ROW>
<ROW></ROW>
<ROW></ROW>
<ROW> "X__________________________________" </ROW>
<ROW> "I AGREE TO PAY ABOVE TOTAL AMOUNT" </ROW>
<ROW> "ACCORDING TO CARD ISSUER AGREEMENT" </ROW>
<ROW></ROW>
<ROW></ROW>
</TABLE>
<CALL> "PrintFooter" </CALL>
<NEWPAGE>
<PAPERCUTPERCENT> CCPaperCutPercent </PAPERCUTPERCENT>
</NEWPAGE>
</THEN>
</IF>
</FOR>
</THEN>
</IF>
</SUB>
<!--
=============================
SUB: PrintTransactionType
=============================
-->
<SUB name="PrintTransactionType">
<TABLE>
<FONT> "Large" </FONT>
<BORDER> tbAll </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "^~" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
<IF><CONDITION> Transaction.ReceiptReturnMode = TRUE </CONDITION>
<THEN>
<TEXT> "Credit Note" </TEXT>
</THEN>
<ELSE>
<IF><CONDITION> Transaction.TotalQuantityPurchased > 0 | Transaction.TotalQuantityPurchased < 0 </CONDITION>
<THEN><TEXT> "TAX INVOICE" </TEXT></THEN>
<ELSE><TEXT> Transaction.ReceiptTransactionName </TEXT></ELSE>
</IF>
</ELSE>
</IF>
</COLUMNHEADER>
</TABLE>
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth * 0.50 </WIDTH>
<TEXT> "" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth * 0.50 </WIDTH>
<TEXT> "" </TEXT>
</COLUMNHEADER>
<IF>
<CONDITION> Transaction.ReceiptReferenceNumber </CONDITION>
<THEN>
<ROW> "Receipt :|" Transaction.ReceiptReferenceNumber </ROW>
</THEN>
</IF>
<!--
=============================
JP - Following condition to insert Invoice No caption on receipt instead of transaction #
=============================
-->
<ROW>"VAT Number:|" Store.VATRegistrationNumber </ROW>
<IF><CONDITION> Transaction.ReceiptReturnMode = TRUE </CONDITION>
<THEN>
<ROW> "Credit No:|" Transaction.ReceiptTransactionNumber </ROW>
</THEN>
<ELSE>
<IF><CONDITION> Transaction.TotalQuantityPurchased > 0 | Transaction.TotalQuantityPurchased < 0 </CONDITION>
<THEN>
<ROW> "Invoice No:|" Transaction.ReceiptTransactionNumber </ROW>
</THEN>
<ELSE>
<ROW> Transaction.ReceiptTransactionNumberCaption ":|" Transaction.ReceiptTransactionNumber </ROW>
</ELSE>
</IF>
</ELSE>
</IF>
<IF>
<CONDITION> Len(Customer.AccountNumber) </CONDITION>
<THEN>
<ROW> "Receipt :|" Customer.AccountNumber </ROW>
</THEN>
</IF>
<ROW> "Date:|" Transaction.Date</ROW>
<ROW> "Total # of Items:|" Transaction.totalquantity </ROW>
<ROW/>
</TABLE>
</SUB>
<!--
=============================
SUB: PrintCustomerData
=============================
-->
<SUB name="PrintCustomerData">
<IF>
<CONDITION> (Customer.ID <> 0) & (ShowCustomerAddress) </CONDITION>
<THEN>
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth * 0.30 </WIDTH>
<TEXT> "ACCOUNT:" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> "<" </ALIGNMENT>
<WIDTH> PageWidth * 0.70 </WIDTH>
<TEXT> Customer.AccountNumber </TEXT>
</COLUMNHEADER>
<ROW>
<COLUMNDATA>
<TEXT> "BILL TO:" </TEXT>
</COLUMNDATA>
<COLUMNDATA>
<TEXT skipblank="true" newline="true"> Customer.Name </TEXT>
<TEXT skipblank="true" newline="true"> Customer.HomeAddress.Company </TEXT>
<TEXT skipblank="true" newline="true"> Customer.HomeAddress.StreetAddress </TEXT>
<TEXT skipblank="true" newline="true"> Customer.HomeAddress.StreetAddress2 </TEXT>
<TEXT skipblank="true" newline="true"> Customer.HomeAddress.CityStateZip </TEXT>
</COLUMNDATA>
</ROW>
<ROW></ROW>
<ROW>
<COLUMNDATA>
<TEXT> "SHIP TO:" </TEXT>
</COLUMNDATA>
<COLUMNDATA>
<TEXT skipblank="true" newline="true"> Customer.ShipToAddress.Name </TEXT>
<TEXT skipblank="true" newline="true"> Customer.ShipToAddress.Company </TEXT>
<TEXT skipblank="true" newline="true"> Customer.ShipToAddress.StreetAddress </TEXT>
<TEXT skipblank="true" newline="true"> Customer.ShipToAddress.StreetAddress2 </TEXT>
<TEXT skipblank="true" newline="true"> Customer.ShipToAddress.CityStateZip </TEXT>
</COLUMNDATA>
</ROW>
</TABLE>
</THEN>
</IF>
</SUB>
<!--
=============================
SUB: PrintTransactionComment
=============================
-->
<SUB name="PrintTransactionComment">
<IF>
<CONDITION> Transaction.Type <> transactionDrop & Transaction.Type <> transactionPayOut </CONDITION>
<THEN>
<IF>
<CONDITION> Len(Transaction.Comment) </CONDITION>
<THEN>
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "^" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
<IF>
<CONDITION> Len(Transaction.ReferenceNumber) </CONDITION>
<THEN>
<TEXT> "Reference: " Transaction.ReferenceNumber </TEXT>
</THEN>
</IF>
</COLUMNHEADER>
<ROW>
<COLUMNDATA>
<TEXT skipblank="true" newline="true"> Transaction.Comment </TEXT>
</COLUMNDATA>
</ROW>
<ROW></ROW>
</TABLE>
</THEN>
</IF>
</THEN>
</IF>
</SUB>
<!--
=============================
SUB: PrintDropPayOut
=============================
-->
<SUB name="PrintDropPayout">
<IF>
<CONDITION> Transaction.Type = transactionDrop | Transaction.Type = transactionPayOut </CONDITION>
<THEN>
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> < </ALIGNMENT>
<WIDTH> PageWidth * 0.30 </WIDTH>
<IF>
<CONDITION> Transaction.Type = transactionPayout </CONDITION>
<THEN>
<TEXT newline="true"> "To:" </TEXT>
</THEN>
</IF>
<TEXT newline="true"> "Comment:" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> < </ALIGNMENT>
<WIDTH> PageWidth * 0.70 </WIDTH>
<IF>
<CONDITION> Transaction.Type = transactionPayout </CONDITION>
<THEN>
<TEXT newline="true"> Transaction.PayOutRecipient </TEXT>
</THEN>
</IF>
<TEXT newline="true"> Transaction.Comment </TEXT>
</COLUMNHEADER>
<ROW></ROW>
</TABLE>
<TABLE>
<BORDER> tbTop </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth * 0.40 </WIDTH>
<TEXT> "Tender Type" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth * 0.30 </WIDTH>
<TEXT> "In" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth * 0.30 </WIDTH>
<TEXT> "Out" </TEXT>
</COLUMNHEADER>
<FOR each="tender">
<IF>
<CONDITION> (Tender.AmountIn <> 0) | (Tender.AmountOut <> 0) </CONDITION>
<THEN>
<ROW>
Tender.Descriptor.Description "|" Tender.AmountIn "|" Tender.AmountOut
</ROW>
</THEN>
</IF>
</FOR>
<ROW></ROW>
</TABLE>
</THEN>
</IF>
</SUB>
<SUB name="PrintAccountPayment">
<!--
=============================
Account Payment
=============================
-->
<IF>
<CONDITION> (Transaction.Type = transactionAccountPayment) </CONDITION>
<THEN>
<!--
Account Payment - Receivable date
-->
<IF>
<CONDITION> (Customer.AccountDateDueType = accountdueAccountReceivableDatePlusGracePeriod) </CONDITION>
<THEN>
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "<" </ALIGNMENT>
<WIDTH> PageWidth * .42 </WIDTH>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> ">" </ALIGNMENT>
<WIDTH> PageWidth * .29 </WIDTH>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> ">" </ALIGNMENT>
<WIDTH> PageWidth * .29 </WIDTH>
</COLUMNHEADER>
<FOR each="accountreceivable">
<IF>
<CONDITION> (Customer.AccountReceivable.Payment <> 0) | (Customer.AccountReceivable.Balance <> 0) </CONDITION>
<THEN>
<ROW> "Payment||" Customer.AccountReceivable.Payment </ROW>
<ROW> " Reference|" Customer.AccountReceivable.Reference </ROW>
<ROW> " Inv. Date|" Customer.AccountReceivable.OriginalDate </ROW>
<ROW> " Due Date|" Customer.AccountReceivable.DueDate </ROW>
<ROW> " Orig. Amt.|" Customer.AccountReceivable.OriginalAmount </ROW>
<ROW> " Prev. Bal.|" Customer.AccountReceivable.PreviousBalance </ROW>
<ROW> " New Bal.|" Customer.AccountReceivable.Balance </ROW>
<ROW>
</ROW>
</THEN>
</IF>
</FOR>
</TABLE>
</THEN>
</IF>
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth * .71 </WIDTH>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth * .29 </WIDTH>
</COLUMNHEADER>
<ROW> "Total Payments|" Customer.AccountReceivables.TotalPayments </ROW>
<IF>
<CONDITION> Customer.AccountReceivables.AppliedCredits <> 0 </CONDITION>
<THEN>
<ROW> "Applied Credit|" Customer.AccountReceivables.AppliedCredits </ROW>
</THEN>
</IF>
<FOR each="tender">
<IF>
<CONDITION> Tender.AmountIn <> 0 </CONDITION>
<THEN>
<ROW> "PAID " Tender.Descriptor.Description "|" Tender.AmountIn </ROW>
</THEN>
</IF>
<IF>
<CONDITION> Tender.AmountInRounding <> 0 </CONDITION>
<THEN>
<ROW> "Rounding " Tender.Descriptor.Description "|" Tender.AmountInRounding </ROW>
</THEN>
</IF>
</FOR>
<FOR each="tender">
<IF>
<CONDITION> Tender.AmountOut <> 0 </CONDITION>
<THEN>
<ROW> "CHANGE " Tender.Descriptor.Description "|" Tender.AmountOut </ROW>
</THEN>
</IF>
<IF>
<CONDITION> Tender.AmountOutRounding <> 0 </CONDITION>
<THEN>
<ROW> "Rounding " Tender.Descriptor.Description "|" Tender.AmountOutRounding </ROW>
</THEN>
</IF>
</FOR>
<ROW></ROW>
</TABLE>
</THEN>
</IF>
</SUB>
<SUB name="PrintTransactionDetails">
<!--
=============================
Transaction Details
=============================
-->
<IF>
<CONDITION> Transaction.Type <> transactionDrop & Transaction.Type <> transactionPayout & Transaction.Type <> transactionNoSale & Transaction.Type <> transactionAccountPayment </CONDITION>
<THEN>
<TABLE>
<FONT> "Small" </FONT>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth * 0.29 </WIDTH>
<TEXT> "Item" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth * 0.42 </WIDTH>
<TEXT> "Description" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth * 0.29 </WIDTH>
<TEXT> "Amount" </TEXT>
</COLUMNHEADER>
<ROW> "================|=========================|=================" </ROW>
<FOR each="entry">
<IF>
<CONDITION> ShowLineDiscounts & (Entry.ExtendedDiscountPurchased <> 0) </CONDITION>
<THEN>
<ROW> Entry.Item.ItemLookupCode "|" Entry.Description "|" Entry.ExtendedFullPrice </ROW>
<IF>
<CONDITION> Entry.ExtendedDiscountNegative <> 0 </CONDITION>
<THEN>
<ROW> "|Discount|" Entry.ExtendedDiscountNegative </ROW>
</THEN>
</IF>
</THEN>
<ELSE>
<ROW> Entry.Item.ItemLookupCode "|" Entry.Description "|" Entry.ExtendedPrice </ROW>
</ELSE>
</IF>
<IF>
<CONDITION> Entry.Item.ItemType = itemtypeWeighed </CONDITION>
<THEN>
<ROW> "|" Entry.Quantity "" Entry.Item.UnitOfMeasure " @ " Entry.Price "/" Entry.Item.UnitOfMeasure "|" </ROW>
<IF>
<CONDITION> Entry.WeightFromScale = 0 </CONDITION>
<THEN>
<ROW> "|Manual Weight|" </ROW>
</THEN>
</IF>
</THEN>
<ELSE>
<IF>
<CONDITION> Entry.Quantity <> 1 </CONDITION>
<THEN>
<ROW> "|" Entry.Quantity " @ " Entry.Price "|" </ROW>
</THEN>
</IF>
</ELSE>
</IF>
<IF>
<CONDITION> ((Entry.QuantityOnOrder <> 0) | (Entry.QuantityRTD <> 0)) & (Transaction.Type <> transactionQuote) </CONDITION>
<THEN>
<ROW> "|RTD:|" Entry.QuantityRTD " " </ROW>
<ROW> "|On Order:|" Entry.QuantityOnOrder " " </ROW>
<ROW> "|Picked up:|" Entry.QuantityPurchased " " </ROW>
<ROW> "||" </ROW>
</THEN>
</IF>
</FOR>
</TABLE>
</THEN>
</IF>
</SUB>
<SUB name="PrintTransactionTotals">
<!--
=============================
Transaction Totals
=============================
-->
<IF>
<CONDITION> Transaction.Type <> transactionDrop & Transaction.Type <> transactionPayout & Transaction.Type <> transactionNoSale & Transaction.Type <> transactionAccountPayment </CONDITION>
<THEN>
<IF>
<CONDITION> Transaction.Type <> transactionAbortedTransaction </CONDITION>
<THEN>
<TABLE>
<FONT> "Small" </FONT>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth * 0.71 </WIDTH>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth * 0.29 </WIDTH>
<TEXT> "==================" </TEXT>
</COLUMNHEADER>
<ROW> "Sub Total|" Transaction.SubTotal </ROW>
<IF>
<CONDITION> ShowTaxDetails </CONDITION>
<THEN>
<FOR each="SalesTaxes">
<IF>
<CONDITION> Transaction.SalesTaxes.ShowOnReceipt & Transaction.SalesTaxes.IsTransactionMember </CONDITION>
<THEN>
<ROW> Transaction.SalesTaxes.Description "|" Transaction.SalesTaxes.Total </ROW>
</THEN>
</IF>
</FOR>
</THEN>
<ELSE>
<ROW> "Sales Tax|" Transaction.SalesTax </ROW>
</ELSE>
</IF>
<IF>
<CONDITION> Shipping.Charge </CONDITION>
<THEN>
<ROW> Shipping.Carrier "|" Shipping.Charge </ROW>
<ROW> Shipping.Service "|" </ROW>
<ROW> Shipping.TrackingNumber "|" </ROW>
</THEN>
</IF>
<IF>
<CONDITION> Transaction.DebitSurcharge </CONDITION>
<THEN>
<ROW> "Debit Surcharges|" Transaction.DebitSurcharge </ROW>
</THEN>
</IF>
<IF>
<CONDITION> Transaction.CashBackSurcharge </CONDITION>
<THEN>
<ROW> "Cash Back Surcharges|" Transaction.CashBackSurcharge </ROW>
</THEN>
</IF>
<ROW> "Total|" Transaction.Total </ROW>
<ROW></ROW>
<IF>
<CONDITION> (Transaction.TotalDue <> Transaction.Total) </CONDITION>
<THEN>
<ROW> "Deposit Payment|" Transaction.Deposit </ROW>
<ROW> "Total Purchased|" Transaction.TotalPurchased </ROW>
<ROW> "Total Due|" Transaction.TotalDue </ROW>
<ROW></ROW>
</THEN>
</IF>
<FOR each="tender">
<IF>
<CONDITION> Tender.AmountIn <> 0 | Tender.AmountInRounding <> 0 </CONDITION>
<THEN>
<IF>
<CONDITION> Tender.Descriptor.TenderType = tenderAccount </CONDITION>
<THEN>
<ROW> Tender.Descriptor.Description "|" Tender.AmountIn </ROW>
</THEN>
<ELSE>
<ROW> Tender.Descriptor.Description " Tendered|" Tender.AmountIn </ROW>
</ELSE>
</IF>
<IF>
<CONDITION> Tender.Descriptor.TenderType = tenderCreditCard | Tender.Descriptor.TenderType = tenderDebitCard </CONDITION>
<THEN>
<IF>
<CONDITION> MaskCreditCard </CONDITION>
<THEN>
<ROW> "Card: " Tender.AccountNumberMasked "|" </ROW>
</THEN>
<ELSE>
<ROW> "Card: " Tender.AccountNumber "|" </ROW>
</ELSE>
</IF>
<ROW> "Auth: " Tender.ApprovalCode "|" </ROW>
</THEN>
</IF>
<IF>
<CONDITION> Tender.Descriptor.TenderType = tenderVoucher </CONDITION>
<THEN>
<ROW> "Number:" Tender.VoucherNumber "|" </ROW>
<ROW> "Previous Balance|" Tender.VoucherPreviousBalance </ROW>
<ROW> "New Balance|" Tender.VoucherNewBalance </ROW>
<ROW></ROW>
</THEN>
</IF>
<IF>
<CONDITION> (Tender.Descriptor.TenderType = tenderAccount) & ShowAccountBalance </CONDITION>
<THEN>
<SET name="NewAccountBalance" type="vbcurrency"> Customer.AccountBalance + Tender.AmountIn - Tender.AmountOut </SET>
<ROW> "Previous Balance|" Customer.AccountBalance </ROW>
<ROW> "New Balance|" NewAccountBalance </ROW>
<ROW></ROW>
</THEN>
</IF>
<IF>
<CONDITION> Tender.AmountInRounding <> 0 </CONDITION>
<THEN>
<ROW> "Roundoff " Tender.Descriptor.Description "|" Tender.AmountInRounding </ROW>
</THEN>
</IF>
</THEN>
</IF>
</FOR>
<IF>
<CONDITION> Transaction.TotalTenderOut </CONDITION>
<THEN>
<FOR each="tender">
<IF>
<CONDITION> Tender.AmountOut <> 0 | Tender.AmountOutRounding <> 0 </CONDITION>
<THEN>
<ROW> "Change " Tender.Descriptor.Description "|" Tender.AmountOut </ROW>
<IF>
<CONDITION> Tender.Descriptor.TenderType = tenderCreditCard | Tender.Descriptor.TenderType = tenderDebitCard </CONDITION>
<THEN>
<IF>
<CONDITION> MaskCreditCard </CONDITION>
<THEN>
<ROW> "Card: " Tender.AccountNumberMasked "|" </ROW>
</THEN>
<ELSE>
<ROW> "Card: " Tender.AccountNumber "|" </ROW>
</ELSE>
</IF>
<ROW> "Auth: " Tender.ApprovalCode "|" </ROW>
</THEN>
</IF>
<IF>
<CONDITION> (Tender.Descriptor.TenderType = tenderAccount) & ShowAccountBalance </CONDITION>
<THEN>
<SET name="NewAccountBalance" type="vbcurrency"> Customer.AccountBalance + Tender.AmountIn - Tender.AmountOut </SET>
<ROW> "Previous Balance|" Customer.AccountBalance </ROW>
<ROW> "New Balance|" NewAccountBalance </ROW>
<ROW></ROW>
</THEN>
</IF>
<IF>
<CONDITION> Tender.AmountOutRounding <> 0 </CONDITION>
<THEN>
<ROW> "Roundoff " Tender.Descriptor.Description "|" Tender.AmountOutRounding </ROW>
</THEN>
</IF>
</THEN>
</IF>
</FOR>
</THEN>
<ELSE>
<ROW> "Change Due|" Transaction.TotalTenderOut </ROW>
</ELSE>
</IF>
<IF>
<CONDITION> (Transaction.TotalDue <> Transaction.Total) </CONDITION>
<THEN>
<ROW></ROW>
<ROW> "Remaining Deposit|" Transaction.DepositTotal </ROW>
<ROW> "New Balance|" Transaction.OrderBalanceNew </ROW>
</THEN>
</IF>
<ROW></ROW>
</TABLE>
</THEN>
<ELSE>
<TABLE>
<FONT> "Small" </FONT>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
</COLUMNHEADER>
<ROW></ROW>
<ROW> "Transaction cancelled..." </ROW>
<ROW></ROW>
<ROW></ROW>
</TABLE>
</ELSE>
</IF>
</THEN>
</IF>
</SUB>
<SUB name="PrintVATAnalysis">
<!--
=============================
VAT Analysis
=============================
-->
<IF>
<CONDITION> (Transaction.Type <> transactionAbortedTransaction) & (Transaction.SubtotalPurchased <> 0) & (ShowVAT) & (Receipt.TaxSystem = taxsystemVAT) </CONDITION>
<THEN>
<IF>
<CONDITION> ShowFullVAT </CONDITION>
<THEN>
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "^~" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
</COLUMNHEADER>
<ROW>
</ROW>
<ROW>
</ROW>
<ROW> "_____________________________" </ROW>
<ROW> "VAT Analysis" </ROW>
<ROW>
</ROW>
</TABLE>
</THEN>
</IF>
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
<TEXT> "VAT Number: " Store.VATRegistrationNumber </TEXT>
</COLUMNHEADER>
</TABLE>
<IF>
<CONDITION> ShowFullVAT </CONDITION>
<THEN>
<TABLE>
<BORDER> tbTop </BORDER>
<FONT> "Small" </FONT>
<COLUMNHEADER>
<ALIGNMENT> "<~" </ALIGNMENT>
<WIDTH> PageWidth * 0.16 </WIDTH>
<TEXT> "Rate" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth * 0.28 </WIDTH>
<TEXT> "Exclusive" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth * 0.28 </WIDTH>
<TEXT> "Tax" </TEXT>
</COLUMNHEADER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth * 0.28 </WIDTH>
<TEXT> "Price" </TEXT>
</COLUMNHEADER>
<FOR each="entry">
<IF>
<CONDITION> Entry.QuantityPurchased </CONDITION>
<THEN>
<ROW> Entry.TaxRate "|" Entry.ExtendedExclsvPricePurchased "|" Entry.Tax "|" Entry.ExtendedPricePurchased </ROW>
</THEN>
</IF>
</FOR>
<ROW>
</ROW>
<ROW>
</ROW>
<ROW> "Total|" Transaction.TotalExclsvPurchased "|" Transaction.SalesTaxPurchased "|" Transaction.TotalPurchased </ROW>
<ROW>
</ROW>
</TABLE>
</THEN>
<ELSE>
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> ">~" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
<TEXT> "VAT Total: " Transaction.SalesTaxPurchased </TEXT>
</COLUMNHEADER>
<ROW>
</ROW>
</TABLE>
</ELSE>
</IF>
<TABLE>
<BORDER> tbNone </BORDER>
<COLUMNHEADER>
<ALIGNMENT> "^~" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
</COLUMNHEADER>
<ROW> "_____________________________" </ROW>
<ROW>
</ROW>
</TABLE>
</THEN>
</IF>
</SUB>
<SUB name="PrintDiscounts">
<!--
=============================
Discounts
=============================
-->
<IF>
<CONDITION> ShowTotalDiscounts & ((Transaction.Discount > 0) & (Transaction.Type <> transactionAbortedTransaction)) </CONDITION>
<THEN>
<TABLE>
<BORDER> tbNone </BORDER>
<FONT> "Large" </FONT>
<COLUMNHEADER>
<ALIGNMENT> "^~" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
<TEXT> "You saved " Transaction.Discount "!" </TEXT>
</COLUMNHEADER>
<ROW></ROW>
</TABLE>
</THEN>
</IF>
</SUB>
<SUB name="PrintBarcode">
<!--
=============================
Barcode
=============================
-->
<IF>
<CONDITION> ShowBarcode & (Transaction.ReceiptTransactionNumber <> 0) </CONDITION>
<THEN>
<BARCODE>
<STYLE> msS3of9 </STYLE>
<UPCNOTCHES> msUPCNBelow </UPCNOTCHES>
<LEFT> MarginLeft + PageWidth * 0.30 </LEFT>
<WIDTH> PageWidth * .40 </WIDTH>
<HEIGHT> 0.2 </HEIGHT>
<PRINTCAPTION> True </PRINTCAPTION>
<BARWIDTH> 0 </BARWIDTH>
<TEXT> Transaction.ReceiptTransactionNumber </TEXT>
</BARCODE>
</THEN>
</IF>
</SUB>
<SUB name="PrintDuplicate">
<!--
=============================
PrintDuplicate
=============================
-->
<TABLE>
<BORDER> tbNone </BORDER>
<FONT> "Large" </FONT>
<COLUMNHEADER>
<ALIGNMENT> "^~" </ALIGNMENT>
<WIDTH> PageWidth </WIDTH>
<TEXT> "DUPLICATE RECEIPT" </TEXT>
</COLUMNHEADER>
<ROW></ROW>
</TABLE>
</SUB>
<SUB name="DuplicateBefore">
<!--
=============================
DuplicateBefore
=============================
-->
<IF>
<CONDITION> ShowDuplicateBefore </CONDITION>
<THEN>
<CALL> "PrintDuplicate" </CALL>
</THEN>
</IF>
</SUB>
<SUB name="DuplicateAfter">
<!--
=============================
DuplicateAfter
=============================
-->
<IF>
<CONDITION> ShowDuplicateAfter </CONDITION>
<THEN>
<CALL> "PrintDuplicate" </CALL>
</THEN>
</IF>
</SUB>
<!--
=============================
MAIN DOCUMENT
=============================
-->
<DOCUMENT>
<CALL> "PrintCreditCardSlip" </CALL>
<CALL> "PrintHeader" </CALL>
<CALL> "PrintTransactionType" </CALL>
<CALL> "PrintCustomerData" </CALL>
<CALL> "PrintTransactionComment" </CALL>
<CALL> "PrintDropPayout" </CALL>
<CALL> "PrintAccountPayment" </CALL>
<CALL> "PrintTransactionDetails" </CALL>
<CALL> "PrintTransactionTotals" </CALL>
<CALL> "PrintVATAnalysis" </CALL>
<CALL> "PrintDiscounts" </CALL>
<CALL> "PrintBarcode" </CALL>
<CALL> "PrintFooter" </CALL>
</DOCUMENT>
</XML>
You're the best, Rick! Just took care of it. Thanks and Happy Easter!
You don't necessarily need to change the receipt verbiage. In RMS Manager, go to Configuration, click on the Store tab, and update your address information at that window. Close it, and restart Manager and any open POS stations for it to print the new info.
Can someone help me? I just moved my business and want to change the address only on the various receipts. Went into the receipt dialogue box and clicked on properties, but I don't see the company address anywhere! I see the "thank you" statement we have at the bottom of the receipt, but that's the only text. Thanks in advance for any assistance. I'm using RMS, but the format in my receipt area is the very same as was offered above by Tim B.
Ah, the multiple receipts may allow me to do what I need...
I do have this in my existing file, slight variation on what you posted:
<IF><CONDITION> Transaction.TotalQuantityPurchased > 0 | Transaction.TotalQuantityPurchased < 0 </CONDITION>
Everything else works good in the one invoice.xml file. I'd like to keep it on one spot so I don't have to duplicate other formatting changes, but will do what needs to be done. Thanks for your suggestion!
If you have code as I suggested it should also print "Tax Invoice" for a credit memo. That is, include &'lt;&'gt; , your code probably has only &'gt; which is > or "greater then" which will not show for returns.
I have a different template xml file for payment, work order, and sales. I feel it is easier to have those in a different xml file and customize the xml to fit that specific type. The following picture is my setup You can specify the xml files in database > registers > receipt formats.
Thank you. I already have your suggestion in place in my form, which works for the general Invoice, but when it is a Credit Memo or other type of transaction, the form prints "Sales Receipt," thus I am looking to modify the captions. I think it can be done by expanding the IF THEN to other options instead of the ELSE going directly to " Transaction.ReceiptTransactionName " but I have to play with the coding for that. Any other suggestions?
I don't think the captions are editable, however, there is a work around to have the correct words print on the invoice. The company I work for needs the wording a little different too and I have added the following code.
<IF><CONDITION> Transaction.TotalQuantityPurchased &'lt;&'gt; 0 </CONDITION>
<THEN><TEXT> "Tax Invoice" </TEXT></THEN>
<ELSE><TEXT> Transaction.ReceiptTransactionName </TEXT></ELSE>
</IF>
Note: take out the single quotes out of &'gt; and &'lt;
Hope this gives you an idea.
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 290,902 Super User 2024 Season 2
Martin Dráb 229,336 Most Valuable Professional
nmaenpaa 101,156