Software Development And Consulting Services Agreement Template
Software Development And Consulting Services Agreement

Edit Template




This Software Development and Consulting Agreement (the “Agreement”) is made and effective [DATE],



BETWEEN: [YOUR COMPANY NAME] (the "Company"), a corporation organized and existing under the laws of the [State/Province] of [STATE/PROVINCE], with its head office located at:





AND: [DEVELOPER NAME] (the "Developer"), a corporation organized and existing under the laws of the [State/Province] of [STATE/PROVINCE], with its head office located at:









WHEREAS Company wishes to hire Developer to develop these custom software packages, and;


WHEREAS Developer desires to develop these custom software packages for Company.


NOW THEREFORE, the parties hereto hereby agree as follows:





The term "Consulting Services" when used in this Agreement means the performance of professional services that include but are not limited to system analysis, program development, personnel training, documentation writing and general business consulting.





Developer shall provide and deliver to Company custom software and consulting services in regards thereto as outlined in Article 3. This software development shall result in software products which may be used for implementing:







Developer shall develop custom software which will modify, customize, amend, enhance or otherwise change the following pre-existing Developer software packages to fulfill the requirements of Company:




The requirements to be fulfilled by the custom programming to the above listed packages are presently undefined. The defining of Company requirements shall occur in Phases, each Phase

representing a division of the Company operation, and such Sub-phases representing either the development of a particular application, or a Sub-phase representing the modification of a particular application.


Each Phase and Sub-phase shall be designed, approved, programmed, delivered, tested, and accepted pursuant to the procedures listed below.





Developer shall consult with Company personnel for the purpose of designing programming specifications. Specifications shall contain those items listed on Attachment A.


Once Developer has designed said programming specifications, they will be delivered to Company together with their operation performance estimates (OPE) for every program mentioned in the specifications. The OPE will indicate any limitations on the program, and the estimated response times for on-line programs or runtimes for the batch programs.


Upon receipt of said programming specifications, Company will either approve or disapprove of said specifications. Such approval will be at the sole discretion of Company.


Upon approval of the programming specifications, Developer design, in conjunction with Company, an Acceptance test for these specifications. The Acceptance test will follow those standards listed in Attachment B. The specifications, OPE's and the Acceptance test will be incorporated into a Phase-Agreement.


If Company does not approve said specifications, Developer and Company will again consult and restart the procedure.


After the creation of the Acceptance Test, the parties shall create the Phase Agreement. The Phase Agreement shall contain the following:


The fixed price for the Phase.


The functional names of the applications to be created.


The date of delivery, and that time is of the essence.


The Phase Agreement will also have the following items attached thereto:


The Functional Specifications which is a narrative explanation of the operation of the programs, containing Exhibits of all screen and reports.


The Programming Specifications to be used by the programmers creating the software for Company.


The Functional Specifications for the software after customization.


File layouts for all files used or created in that Phase, including record and/or data field descriptions.


The operation performance estimates.


The Acceptance Tests, including test data.


Upon the signing of the Phase Agreement by both Company and Developer, Company shall pay to Developer


of the fixed cost indicated in the Phase Agreement. Developer will then proceed to write the programming for that phase.


On the delivery date specified in the Phase Agreement, Developer shall deliver to Company the completed programming for that phase. For delivery on or before the delivery date specified in the Phase Agreement, Company shall pay to Developer


of the price for that Phase. For delivery after the date specified in the Phase Agreement, but prior to the expiration of a grace period of


days, Company shall pay to Developer


of the price for that Phase.


Failure by Developer to deliver the completed programming by the end of the


days after the delivery date specified in the Phase Agreement delivery after the date specified in the Phase Agreement, but prior to the expiration of a grace period of


days, Company shall pay to Developer


of the price for that Phase. Failure by Developer to deliver the completed programming by the end of the


days after the delivery date specified in the Phase Agreement will entitle Company to a


reduction in the cost of the entire Phase for each


day period in which Developer is late. The delivery date may only be modified by written amendment to the Phase Agreement signed by both parties.


In the event that Developer fails to deliver the completed programs


months after the original delivery date, and the delivery date was not modified, Company may cancel that Phase Agreement. In the event of such cancellation, Developer shall deliver to Company all work in progress, program specifications, etc., then in Developer’s possession. Cancellation pursuant to such failure to deliver shall not require any further payments to Developer as normally required pursuant to Article 19.


Upon delivery, Company shall conduct the acceptance test that was created by the parties.


Upon passing the acceptance test, Company shall pay to Developer an additional


of the price of the phase, Developer was paid


for the delivery of the programs, Company shall pay to Developer


for the passing of the Acceptance Test. Company shall retain the final


until the successful completion of


days of actual live use of said phase.


If the programs fail to perform the acceptance tests, the parties shall follow this procedure:


Company shall immediately notify Developer by telephone of the failure of the test. Company shall then confirm such notice by sending written confirmation of the failure plus proper documentation to Developer by certified mail, return receipt requested.


Developer may immediately begin reprogramming to remedy the failure.


If the failure can be remedied within


days, and the Acceptance testing shall continue.


In the event that the failure cannot be remedied after the


day, Developer shall notify Company within an additional


days of the new delivery date for that Phase. In no event shall the new delivery date be more than


days after the original delivery date.


After Company has used the phase programs for a period of


consecutive days of uptime as defined in Article 11, without failure, Company shall pay to Developer the final




Nothing in this procedure shall be construed to prevent several Phases and Sub-phases to be commenced simultaneously.





Developer shall deliver to Company software documentation products as outlined in Attachment "D".





Company shall furnish information requested by Developer that is necessary for Developer to fulfill its responsibilities under this Agreement. Company shall provide adequate work space and telephone for Developer personnel when such persons are performing on-site services for Company. Company shall provide data entry services and computer test time if required for Developer to fulfill its responsibilities under this Agreement. Unnecessary or unreasonable delays attributable directly to Company which result in additional costs to Developer are subject to negotiation for additional compensation to Developer.





This Agreement is effective as of the date it is signed by both parties. The terms and conditions of the

Agreement will remain in effect until Developer has delivered and Company has accepted all software to be developed hereunder. In no event shall this Agreement be in effect for more than [number] years unless both parties execute an amendment which extends the term of this Agreement. The expiration of this Agreement shall not affect the obligations of either party to the other with respect to those obligations established under this Agreement. Either party may terminate this Agreement for any reason upon [number] days prior written notice.




The provisions herein and Software developed under this Agreement as well as confidentiality, use indemnification, assignment, reproduction, warranty, ownership, return or destruction shall survive the delivery of the software and the payment of associated charges.





Developer warrants that the software systems developed hereunder will be capable of being integrated with existing hardware and software environment listed in Article 10 (B).


Developer warrants that the software developed hereunder will conform to the programming specifications contained in subsequent Phase-Agreements, and to the written "Acceptance Test" criteria contained in the subsequent Phase-Agreements. If at any time subsequent to the


day period defined in Article 11, any of the software systems are deemed by Company to not be in conformance with the applicable specifications, Company shall notify Developer in writing within


days of such alleged nonconformance or failure. Developer, within


days of receipt of written notice, shall either correct the error(s) or provide Company with a plan for correcting the deficiency within a mutually agreed upon reasonable period of time. Where there is a disagreement as to the satisfactory completion of the Acceptance Tests, the parties shall use their best efforts to resolve such disagreement. Company may cancel this Agreement if Developer fails to correct or provide a plan to correct the deficiency.




months after the final payment of each fully operational Phase or Sub-phase, Developer will, at no charge to Company, correct any defects which impair the software's ability to meet the specifications.


After the expiration of the warranty period of


months, Developer agrees to maintain the software systems developed hereunder in conformance with the applicable specifications for a period of


additional years with all reasonable costs to be paid for by Company at rates for time and material, to be mutually agreed upon but not more than the rates contained in Attachment "C" increased by the lesser of


per year or the actual Cost of Living Index increment per year as defined by


for the region of this transaction.





Except for those components listed in Article 10 (B) below, Developer warrants that all materials produced hereunder will be of original development by Developer, and will be specifically developed for the fulfillment of this Agreement and will not infringe upon or violate any patent, copyright, trade secret or other proprietary right of a third party, and Developer will indemnify and hold Company harmless from and against any loss, cost, liability or expense (including reasonable counsel fees) arising out of any breach or claimed breach of this warranty.


Developer is authorized to incorporate the following materials and/or components into the system to be developed hereunder:





Should Developer wish to add additional non-original components, Developer shall obtain the prior written approval of Company.


Developer shall assist Company in the expeditious transfer of licenses and/or title for use of perpetual license to Company for such non-original components unless Company already has title or license to any non-original components used hereunder. Any costs associated with such transfers) shall be paid by

Company provided that such software is used exclusively for the Company applicable specifications developed hereunder.





System uptime, as set forth in Article 4 is defined as follows: Developer warrants that the system (including the software and hardware configuration in which it is installed) shall be functionally operational within the specifications of each Phase no less than


of any consecutive


day period beginning with the start of acceptance through the warranty period. Any time that the system is not functionally operational due to hardware failure or maintenance, or other causes beyond Developer’s design or control shall be excluded from this computation.


In the event of a failure of any program during the


day period stated in 11 (A), Company shall notify Developer by telephone immediately. Company will confirm said telephone notice by serving Developer with written notice, with proper documentation of said error or failure, sent certified mail, return receipt requested.


Upon notification of the failure, Developer may begin immediate repairs of said failures. If the failure is remedied before the expiration of


days cumulative days, including previous failures, within that Phase, the required


day uptime period will continue to run.


If a failure, or group of failures exist for, or accumulate to more than


days within the


day period for the particular Phase, the


day period will restart at the new delivery date stated in (E) below. Company shall notify Developer in the manner stated in (B) above when such full failure of


days occurs.


Upon notification of a full failure, Developer shall have


working days in which to notify Company in writing of a new delivery date for that Phase. In no event shall such delivery date be more than


days after the date Developer received notice of the full failure.





Each party acknowledges that all material and information which has or will come into the possession and knowledge of each in connection with this Agreement or the performance hereof, consists of confidential

and proprietary data, whose disclosure to or use by third parties will be damaging, Both parties, therefore, agree to hold such material and information in strictest confidence, not to make use thereof other than for the performance of this Agreement, to release it only to employees requiring such information, and not to release or disclose it to any other party.





Unless otherwise consented to by Company; and such consent will not be unreasonably withheld, during the performance of this Phase Agreement and for [number] months after its completion or termination, Developer agrees not to provide software or consulting services for any business competitive with Company’s business which is defined as [specify].





The parties acknowledge that performance of this Agreement may result in the development of new proprietary and secret concepts, methods, techniques, processes, adaptations and ideas. The parties agree that the same shall belong solely to Company without regard to the origin thereof and that Developer will not, other than in the performance of the Agreement, without the express written consent, which will not be unreasonably withheld, sell, make use or disclose same to any person, group, company or corporation that competes with Company’s business as defined in Article 13.





Company reserves the right to contract with other parties for work similar to that being performed under this Agreement.





In the event that Company, at its option, elects to cancel this Agreement, by written notice to Developer; in such event, Company will pay Developer the amount equal to the actual time and materials charges incurred for that work so cancelled through the day receipt of written notice of cancellation.






The custom software applications system and associated documentation developed under this Agreement which are the modifications, amendments, enhancements or customizations of pre-existing Developer software packages shall be the sole and exclusive property of Company, free from any claim or retention of rights thereto on the part of Developer. Developer shall retain a non-exclusive non-perpetual license in the software systems while they are under development and during the warranty and maintenance periods. Upon completion or termination of this Agreement, Developer shall deliver to Company all copies of any and all materials which pertain to the systems developed under this Agreement provided that Company shall have paid in full all allowable Developer invoices associated with performance under this Agreement.


Article 17 (A) shall not be construed to give Company any property right in the pre-existing Developer software which Developer shall modify to fulfill the requirements of this Agreement. Specifically, Developer and shall continue to be the sole and exclusive property owner of the following Developer software packages:




Upon completion of each Phase of programming under this Agreement, Developer shall deliver to Company all source code, or its equivalent in the form of


files, for all the modified, amended, enhanced or customized programming performed for Company. Any inclusion of the source code or its equivalent in the form of


files, from the pre-existing Developer software packages shall not be deemed to be a waiver by Developer of its ownership of said code pursuant to Article 17 (B).


Developer may use all software provided to it pursuant to this Agreement for any purpose whatsoever, without restriction, subject only to those restrictions herein elsewhere contained with respect to Company’s disclosure, reproduction or permitting other to use the package.





In consideration of the work to be performed hereunder and the products to be delivered, Company shall pay Developer as follows:


Developer shall bill Company on a time and materials basis at the rates contained in Attachment C, for those hours dedicated to the design of the programming specifications, creation of Acceptance Test, creation of Acceptance Test Data, and for any assistance rendered to Company to perform the Acceptance Test beyond


hours. The billing for the above shall be done for each Phase of the system development.


Company will pay Developer a fixed price for the actual writing, testing and implementation of each phase. The fixed price shall include the license fee for any pre-existing Developer software packages that will be used and or modified in the creation of the system for Company. The fixed price will be mutually agreed to by the parties, and will be incorporated in the Phase-Agreement mentioned in Article 4 (D). Payments for each fixed price Phase Agreement shall be made in accordance with the development procedure listed in Article 4.





Developer shall submit invoices not more often than monthly to:




At a minimum each invoice for design performed by Developer shall be accompanied by supporting documentation which details name of employee, hours worked per employee, hourly charge and total; computer time used, the applicable unit charge and total.


All invoices for the design of programming specification, and the creation of the Acceptance Tests and data for a particular Phase shall be submitted to Company prior to the signing of the Phase Agreement for that particular Phase.


Invoices for fixed price Phase-Agreements need not be itemized, but Developer shall maintain detailed records of all time spent in the production of said fixed price Phase, including name of employee, hours worked per employee, hourly charge per employee.





Developer shall provide the training to Company personnel at the time and material rates cited in Attachment "C". This training shall be made available on a schedule basis to Company personnel.





This Agreement may be assigned by Company to any entity wherein Company maintains majority interest without the consent of Developer. Upon such assignment by Company and assumption of liability hereunder by the assignee, Company shall be discharged of any liability hereunder.





This Agreement may not be assigned by Developer without the written consent of Company.





Developer will defend at its expense, any action brought against Company or Developer that is based on a claim that the systems developed and furnished hereunder infringes a [COUNTRY] patent or copyright or trade secret or other proprietary right of a third party and will pay the loss, damages, and reasonable attorney fees finally awarded against Company in any such actions which are attributable to any such claim, but such defense and payments are conditioned on the following: (1) Company promptly notifies Developer in writing of the claim, and (2) Developer shall have sole control of the defense of any such action on such a claim and all negotiations for its settlement or infringement of a [COUNTRY] patent or copyright, Company shall permit Developer, at its option and expense, either to procure for Company the right to continue using the System(s), to replace or modify the same so that they become non-infringing, or to accept Company’s return of the System(s) and grant Company a refund of all payments.


Developer shall have no obligation to defend Company or to pay costs, damages, or attorney's fees for any claim based upon (1) use of other than an unaltered configuration of the Systems if such infringement would have been avoided by the use of an unaltered configuration of the Systems, or the combination,

operation, or use of any Systems furnished hereunder with non-Developer programs or data if such infringement would have been avoided by the combination, operation, or use of the Systems with other programs or data.






Each party hereunder agrees to indemnify the other against all losses, costs, expenses (including reasonable counsel fees) which may occur by reason of the breach of any term, provision, warranty or representation contained herein and/or in connection with the enforcement of this Agreement or any provision thereof.





In the event Company or Developer shall (1) apply if the appointment of or the taking of the possession by a receiver, custodian, trustee, or liquidator of itself or of a substantial part of its property, (2) make a general assignment for the benefit of creditors, (3) commence a voluntary case under the [COUNTRY] Bankruptcy Code (as now or hereafter in effect), or (4) fail to contest in a timely or appropriate manner or acquiesce in writing to any petition filed against it in an involuntary case under such Bankruptcy Code or any application for the appointment of a receiver, custodian, trustee, or liquidation of itself or of all or a substantial part of its property, or its liquidation, reorganization, or dissolution, the other party may terminate this Agreement as provided in Article 7.





For purposes of validating charges made and paid for under this Agreement, Company reserves the right, at its own expense, to inspect Developer time cards, or any other documents that reveal time spent by Developer personnel on the Company programs. Developer shall make available such documents during normal hours of business, and for at least [NUMBER] years following the termination of this contract.





Should litigation arise concerning this Agreement, the prevailing party shall be entitled to its attorneys’ fees, court costs and accrued interest ([%] per annum) in addition to any other relief it may be awarded.





Neither party shall be responsible for delays or failures on performance resulting from acts beyond the control of such party. Such acts shall include but not be limited to acts of God, strikes, lockouts, riots, acts of war, epidemics, government regulations superimposed after the fact, fire, communication line failures, power failures, earthquakes or other disasters.





All employees assigned to perform under this Agreement shall be full-time employees of Developer except for those employees assigned to perform minor administrative tasks or those whom Developer shall employ as subcontractors. In the event that contractors or subcontractors are hired, Developer specifically assumes all responsibilities for such contractors or subcontractors as if they were employees of Developer, and Developer shall indemnify and hold harmless Company for the acts of such contractors or subcontractors. Developer assigned employees may be rejected by Company should Company determine unilaterally that any employee's services are unsatisfactory. Upon written notification from Company regarding an unsatisfactory employee, Developer shall remove such employee immediately and replace the removed employee with an employee acceptable to Company as soon as possible. Under no circumstances shall Developer employees be considered employees of or agents of Company.





Each party agrees that it will perform its obligations hereunder in accordance with all applicable laws, rules and regulations now or hereafter in effect. If any item or provision of this Agreement shall be found to be illegal or unenforceable, them notwithstanding, this Agreement shall remain in full force and effect and such term or provision shall be deemed stricken.





This Agreement shall be governed by and construed in accordance with the laws of the [State/Province] of [STATE/PROVINCE].





No amendments to this Agreement shall be effective unless it is in writing and signed by duly authorized representative of both parties.





If a Developer representative shall become employed by Company as an independent consultation or an employee within a period of two years from the date of this Agreement, Company shall pay Developer

an amount deemed to be reasonable compensation as an employment fee. This fee shall represent Developer’s sole and exclusive remedy against Company. Company shall not be liable for any other

damages caused to Developer by the result of such hiring. The above fee shall be waived in the event that Developer has terminated the employee's employment with Developer prior to the employee's hiring by Company.





This Agreement constitutes the entire agreement between the parties with respect to the subject matter;

all prior agreements, representations, statements, negotiations and undertakings are superseded hereby.



IN WITNESS WHEREOF, the parties have executed this Agreement on the dates set forth first above, with full knowledge of its content and significance and intending to be legally bound by the terms hereof.







Authorized Signature Authorized Signature


Print Name and Title Print Name and Title






Programming Specifications of Software



Functional narrative of each program or program to be modified describing the operation of the program from the users perspective.


Description of all files used, created and/or modified, and the associated data fields, describing all limits, and/or criteria of use for said file.


Operational description of the program calculations, routines, and other processing.


Samples of all Input screens, Output screens, reports, invoices, and/or forms used, required or produced.


NOTE: The above is merely a description of the programming specifications. The actual programming specifications for a particular Phase will be attached to the Phase Agreement.



Acceptance Test



All menu options shall be selected and executed


Operating system


Total (System) Price


Allocation of Project Responsibilities


Additional System Design Specifications


Site Preparation


Integration/Interfacing with existing system


Scoring system


Evaluation procedures


Problems to be solved


Test data


Time permitted for needed corrections


Reliability and Maintainability




Error frequency


Debugging and Remedial maintenance


Yearly charge for maintenance service, effective upon completion of warranty period