© 2018 Capita Business Services Ltd. All rights reserved.

Capita Education Software Solutions is a trading name of Capita Business Services Ltd. Our Registered office is 30 Berners Street, London, W1T 3LR and our registered number is 02299747. Further information about Capita plc can be found in our legal statement.

Local - Fees Transactions

There may be a requirement to get fees transactions for students.  The easiest way to do this is to create a report.

Sample code from Local - SIMS 7 Fees Example Code | ESS Portal (sims-partners.com) shows how this can be achieved.

Using command reporter to run it, see Local API - Hello World (Read Only) | ESS Portal (sims-partners.com) for instructions on how to code the solution. This will look something like this when you've re-used the sample code.

        public static TransactionsSuperStarReport GetTransations(DateTime Start, DateTime End, string _File, string Server, string Database, string User, string Password)
        {
            if (SIMSReportingEngine.ReportingEngine.Load(_File, Server, Database, User, Password))
            {
                XmlDocument d = SIMSReportingEngine.ReportingEngine.Run("Fees Data Export Transactions v1", Server, Database, User, Password);
                XmlSerializer serializer = new XmlSerializer(typeof(TransactionsSuperStarReport));
                TransactionsSuperStarReport tssr = null;
                using (StringReader reader = new StringReader(d.InnerXml))
                {
                    tssr = (TransactionsSuperStarReport)serializer.Deserialize(reader);
                }
                return tssr;
            }
            return null;  
        }

The report generates a document

<SuperStarReport>
  <Record>
    <multiple_id>12337,12260</multiple_id>
    <StudentID>12337</StudentID>
    <PupilReference>PARKSP</PupilReference>
    <ExternalId>6fca7a6a-7597-4ef5-ad5b-fd9ab2273688</ExternalId>
    <Payer_Outstanding_Balance>10900.00</Payer_Outstanding_Balance>
    <Pupil_Payer_Outstanding_Balance>10900.00</Pupil_Payer_Outstanding_Balance>
    <PayerReference>PARK4854</PayerReference>
  </Record>
  <Record>
    <multiple_id>11827,11795</multiple_id>
    <StudentID>11827</StudentID>
    <PupilReference>Pottsi</PupilReference>
    <ExternalId>23314cd4-f20b-46ff-b83d-d1389f94a68d</ExternalId>
    <Payer_Outstanding_Balance>10900.00</Payer_Outstanding_Balance>
    <Pupil_Payer_Outstanding_Balance>10900.00</Pupil_Payer_Outstanding_Balance>
    <PayerReference>POTT3383</PayerReference>
  </Record>
</SuperStarReport>

 

This can be deserialized in to:

 

	[XmlRoot(ElementName = "Record")]
	public class TransactionRecord
	{
		/// <summary>
		/// The Fees reference for a student
		/// </summary>
		[XmlElement(ElementName = "PupilReference")]
		public string PupilReference { get; set; }
		/// <summary>
		/// Internal ID of a Student
		/// </summary>
		[XmlElement(ElementName = "ID")]
		public int ID { get; set; }
		/// <summary>
		/// External ID of a student
		/// </summary>
		[XmlElement(ElementName = "ExternalId")]
		public string ExternalId { get; set; }
		/// <summary>
		/// Transaction type for this transaction
		/// </summary>
		[XmlElement(ElementName = "TransactionType")]
		public string TransactionType { get; set; }
		/// <summary>
		/// Description
		/// </summary>
		[XmlElement(ElementName = "TransactionDescription")]
		public string TransactionDescription { get; set; }
		/// <summary>
		/// Amount of the transaction
		/// </summary>
		[XmlElement(ElementName = "Amount")]
		public double? Amount { get; set; }
		/// <summary>
		/// VAT amount of the transaction
		/// </summary>
		[XmlElement(ElementName = "VATAmount")]
		public double? VATAmount { get; set; }
		/// <summary>
		/// Amount + VAT
		/// </summary>
		[XmlElement(ElementName = "GrossAmount")]
		public double? GrossAmount { get; set; }
		/// <summary>
		/// Transaction Date
		/// </summary>
		[XmlElement(ElementName = "Date")]
		public DateTime? Date { get; set; }
		/// <summary>
		/// Transaction batch number
		/// </summary>
		[XmlElement(ElementName = "BatchNumber")]
		public string BatchNumber { get; set; }
		/// <summary>
		/// Sequence number in the batch
		/// </summary>
		[XmlElement(ElementName = "BatchSequence")]
		public string BatchSequence { get; set; }
		/// <summary>
		/// Reference of Payer
		/// </summary>
		[XmlElement(ElementName = "PayerReference")]
		public string PayerReference { get; set; }
		/// <summary>
		/// Amount allocated
		/// </summary>
		[XmlElement(ElementName = "AmountAllocated")]
		public double? AmountAllocated { get; set; }
		/// <summary>
		/// Amount available to allocate
		/// </summary>
		[XmlElement(ElementName = "AmountUnallocated")]
		public double? AmountUnallocated { get; set; }
		/// <summary>
		/// Transaction Type
		/// </summary>
		[XmlElement(ElementName = "Type")]
		public string Type { get; set; }
		/// <summary>
		/// Disputed flag
		/// </summary>
		[XmlElement(ElementName = "DisputedBill")]
		public string DisputedBill { get; set; }
	}

 

Alternative reports can match internal / external ids to Payer Reference.