12月9日,住房和城乡建设部、市场监管总局共同发布《建设项目工程总承包合同(示范文本)》(以下简称示范文本),自2021年1月1日起执行。原《建设项目工程总承包合同示范文本(试行)》同时废止。
《示范文本》包括合同协议书、通用合同条件和专用合同条件三部分组成。
01
合同协议书
《示范文本》合同协议书共计11条,主要包括:工程概况、合同工期、质量标准、签约合同价与合同价格形式、工程总承包项目经理、合同文件构成、承诺、订立时间、订立地点、合同生效和合同份数,集中约定了合同当事人基本的合同权利义务。
02
通用合同条件
通用合同条件是合同当事人根据《中华人民共和国民法典》、《中华人民共和国建筑法》等法律法规的规定,就工程总承包项目的实施及相关事项,对合同当事人的权利义务作出的原则性约定。
通用合同条件共计20条,具体条款分别为:第1条 一般约定,第2条 发包人,第3条 发包人的管理,第4条 承包人,第5条 设计,第6条 材料、工程设备,第7条 施工,第8条 工期和进度,第9条 竣工试验,第10条 验收和工程接收,第11条 缺陷责任与保修,第12条 竣工后试验,第13条 变更与调整,第14条 合同价格与支付,第15条 违约,第16条 合同解除,第17条 不可抗力,第18条 保险,第19条 索赔,第20条 争议解决。
前述条款安排既考虑了现行法律法规对工程总承包活动的有关要求,也考虑了工程总承包项目管理的实际需要。
03
专用合同条件
专用合同条件是合同当事人根据不同建设项目的特点及具体情况,通过双方的谈判、协商对通用合同条件原则性约定细化、完善、补充、修改或另行约定的合同条件。在编写专用合同条件时,应注意以下事项:
1.专用合同条件的编号应与相应的通用合同条件的编号一致;
2.在专用合同条件中有横道线的地方,合同当事人可针对相应的通用合同条件进行细化、完善、补充、修改或另行约定;如无细化、完善、补充、修改或另行约定,则填写“无”或划“/”;
3.对于在专用合同条件中未列出的通用合同条件中的条款,合同当事人根据建设项目的具体情况认为需要进行细化、完善、补充、修改或另行约定的,可在专用合同条件中,以同一条款号增加相关条款的内容。
《示范文本》适用于房屋建筑和市政基础设施项目工程总承包承发包活动。
《示范文本》为推荐使用的非强制性使用文本。合同当事人可结合建设工程具体情况,参照《示范文本》订立合同,并按照法律法规和合同约定承担相应的法律责任及合同权利义务。
住房和城乡建设部 市场监管总局关于印发
建设项目工程总承包合同(示范文本)的通知
各省、自治区住房和城乡建设厅、市场监督管理局(厅),直辖市住房和城乡建设(管)委、市场监督管理局(委),北京市规划和自然资源委员会,新疆生产建设兵团住房和城乡建设局、市场监督管理局:
为促进建设项目工程总承包健康发展,维护工程总承包合同当事人的合法权益,住房和城乡建设部、市场监管总局制定了《建设项目工程总承包合同(示范文本)》(GF-2020-0216),现印发给你们,自2021年1月1日起执行。在执行过程中有任何问题,请与住房和城乡建设部建筑市场监管司、市场监管总局网络交易监督管理司联系。原《建设项目工程总承包合同示范文本(试行)》(GF-2011-0216)同时废止。
中华人民共和国住房和城乡建设部
国家市场监督管理总局
2020年11月25日
附件:建设项目工程总承包合同(示范文本)
注:在文末处点击原文即可获取合同范本
The following has evaluated to null or missing: ==> langConfig [in template "public_include/wap/module/version_1/language.html" at line 49, column 14] ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if langConfig.status?string = "false" [in template "public_include/wap/module/version_1/language.html" at line 49, column 9] - Reached through: #include "/public_include/wap/module/... [in template "tpl/2018/03/22/2620611732914496//wap/com_5.html" at line 5, column 1] - Reached through: #include "com_5.html" [in template "tpl/2018/03/22/2620611732914496//wap/displaynews.html" at line 69, column 6] ---- Java stack trace (for programmers): ---- freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...] at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) at freemarker.core.UnexpectedTypeException.newDesciptionBuilder(UnexpectedTypeException.java:80) at freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:43) at freemarker.core.NonHashException.<init>(NonHashException.java:49) at freemarker.core.Dot._eval(Dot.java:48) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.BuiltInsForMultipleTypes$stringBI._eval(BuiltInsForMultipleTypes.java:692) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.EvalUtil.compare(EvalUtil.java:111) at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:62) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.include(Environment.java:2509) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.include(Environment.java:2509) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.process(Environment.java:306) at freemarker.ext.servlet.FreemarkerServlet.processEnvironment(FreemarkerServlet.java:946) at freemarker.ext.servlet.FreemarkerServlet.process(FreemarkerServlet.java:910) at freemarker.ext.servlet.FreemarkerServlet.doGet(FreemarkerServlet.java:769) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.kenfor.iyong.web.util.filter.NotAllowedToTunFilesFilter.doFilter(NotAllowedToTunFilesFilter.java:154) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.kenfor.iyong.web.util.filter.InvalidXSSFilter.doFilter(InvalidXSSFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve.invoke(RedisSessionHandlerValve.java:26) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)