Awalnya kata persetujuan lebih dikenal di Indonesia, namun seiring berjalannya waktu terdapat perubahan istilah, kata persetujuan digantikan dengan kata perjanjian. Hal ini terbukti pada terbitan ke-25 dari buku miliknya R. Surbekti yang berjudul Kitab Undang-Undang Hukum Perdata yang di mana menggantikan istilah persetujuan menjadi perjanjian.
Istilah perjanjian sendiri memang merujuk pada kata “overeenkomst‟, namun bagi R. Subekti dan R. Tjitrosudibio, kata overeenkomst yang ada di dalam KUHPerdata diterjemahkan menjadi kata persetujuan. Hal ini dapat dibaca pada Pasal 1233 KUHPerdata mengenai lahirnya perikatan karena disebabkan oleh persetujuan dan undang-undang.
Pasal 1313 KUHPerdata menyebutkan perjanjian adalah suatu perbuatan dengan mana satu orang atau lebih mengikatkan dirinya terhadap satu orang lain atau lebih. Sementara itu, menurut Subekti perjanjian diartikan sebagai suatu momen di mana seseorang berjanji pada orang lain atau di mana dua orang itu saling berjanji untuk melaksanakan sesuatu hal.
Sedangkan KRTM Tirtodiningrat memberikan definisi perjanjian sebagai suatu perbuatan hukum berdasarkan kata sepakat di antara dua orang atau lebih untuk menimbulkan akibat-akibat hukum yang dapat dilaksanakan oleh undang-undang.
Pengertian perjanjian dapat dilihat dari dua hukum yakni hukum privat dan hukum publik. Menurut hukum publik perjanjian diartikan sebagai suatu perbuatan dengan mana satu orang atau lebih mengikatkan dirinya terhadap satu orang lain/lebih.
Sementara itu, dalam hukum publik, perjanjian merujuk pada Perjanjian Internasional. Perjanjian internasional memainkan peranan yang sangat penting dalam mengatur kehidupan dan pergaulan antar negara. Perjanjian Internasional pada hakikatnya adalah sumber hukum internasional yang utama guna mengatur aktivitas negara-negara ataupun subjek hukum internasional lainnya.
Sejarah hukum perjanjian Indonesia tidak akam lepas dari Nederlands Burgerlijk Wetboek, Napoleonic Code yang memiliki pengaruh besar bagi perkembangan KUHPerdata Indonesia. Pada tanggal 21 Maret 1804 Napoleonic Code atau yang lebih dikenal dengan the Code Civil des Francais ditetapkan sebagai undang-undang di Perancis.
Undang-undang ini memiliki kaitannya dengan sejarah KUHP di Indonesia karena Perancis pernah menguasai Belanda yang ketika itu menerapkan Code Napoleon (Werboek Napoleon) di wilayah kerajaan Hollandia.
Code Napoleon diperkenalkan saat Louis Napoleon yang merupakan adik Napoleon Bonaparte menjadi raja di Kerajaan Hollandia. Pada tahun 1806, Louis Napoleon menunjuk sebuah komite untuk melakukan pengadopsian pada Code Napoleon untuk diterapkan di seluruh wilayah kerajaan Hollandia.
Pada tahun 1809, Wetboek Napoleon resmi diberlakukan bersamaan dengan penetapan beberapa keputusan raja yang ada dalam sebuah undang-undang. Dengan penetapan tersebut, sedikit demi sedikit menghilangkan pengaruh Roman Law dan hukum-hukum lokal pada undang-undang ketika itu.
Dengan diadopsinya Code Napoleon turut mempengaruhi banyak hukum Belanda ke dalam tradisi Perancis yakni pemahaman ius commune. Ius commune sendiri merupakan sumber utama dari Code Napoleon.
Code Napoleon secara sepenuhnya mulai diberlakukan pada tahun 1811 sampai 1813. Pada tahun 1813, semenjak Perancis meninggalkan Belanda, Code Napoleon masih tetap digunakan di seluruh wilayah kerajaan Hollandia.
Bersamaan dengan itu, Kerajaan Belanda yakni The Kingdom of The Netherlands lahir. The Kingdom of the Netherlands untuk pertama kalinya yakni pada tahun 1814 memiliki konstitusinya sendiri. Saat itu, Raja Willem I menginginkan Code Napoleon diganti dengan KUHPerdata Nasional Belanda.
Pada tahun 1838, Nederlands Burgerlijk Weboek lahir yang sebenarnya intisari dari undang-undang terbaru ini masih berkaitan dengan Code Napoleon. Di mana Nicolai of Leige yang merupakan penginisasi lahirnya undang-undang baru Belanda memasukkan banyak pengaruh Code Napoleon pada undang-undang tersebut.
Hal ini dikarenakan pada saat itu masyarakat sudah terbiasa dengan hukum-hukum Perancis. Padahal, seorang Profesor hukum dari Universitas Leiden yakni Joan Meilchior Kemper mengajukan konsep hukum KUHPerdata miliknya namun ditolak.
Joan Meilchior Kemper menginginkan konsep hukum yang kembali pada tradisi hukum lama Belanda yakni paham Roman Dutch Law dengan menghilangkan ciri khas hukum prancis yakni Ius Commune. Maka dari itu, sangat tepat jika dikatakan bahwa Nederlands Burgerlijk Wetboek merupakan saduran asli dari Code Napoleon.
Atau dalam kata lain KUHP perdata yang diberlakukan Belanda semenjak tahun 1838 merupakan jiplakan dari Code Napolen. Hal ini dikemukakan oleh J. Van Kan setelah melihat kodifikasi dari kedua undang-undang tersebut.
Mulai tanggal 1 Mei 1848 Burgerlijk Wetboek voor Nederlands-Indisch diberlakukan. Hal ini berdasarkan pada Staatsblaad Nomor 23 tahun 1847. Penerapan Burgerlijk Wetboek voor Nederlands-Indisch ini menggunakan asas konkordansi.
Asas konkordansi merupakan pemberlakukan Burgerlijk Wetboek yang ada di Belanda diberlakukan juga di Indonesia. Sehingga penggunaan KUHPerdata di Indonesia bahkan sampai saat ini tetap menggunakan isi dari Burgerlijk Wetboek voor Nederlands-Indisch. Meskipun terdapat beberapa pasal sudah tidak berlaku lagi.
Melalui Surat Edaran Nomor 3 Tahun 1963 perihal gagasan, Mahkamah Agung menganggap Bugerlijk Wetboek bukan sebagai undang-undang. Pernyataan tersebut didukung dengan bukti pada beberapa pasal yang ada di dalam BW tidak lagi berlaku di KUHP Indonesia. Adapun pasal yang tidak berlaku di antaranya sebagai berikut:
Tindakan yang dilakukan oleh Mahkamah Agung dengan mengeluarkan SEMA tersebut sebenarnyadianggap melampaui kewenangannya yang sampai membekukan ketentuan undang-undang. Mahkamah Agung RI memberikan penjelasan mengenai isi dari SEMA tersebut.
Adanya SEMA tersebut ditujukan sebagai upaya untuk melakukan pembinaan kepada hakim-hakim bawahannya. Hal ini dikarenakan SEMA tersebut diarahkan kepada para Ketua Pengadilan Negeri dan para Ketua Pengadilan Tinggi agar memberikan pelayanankeadilan kepada warga negara Indonesia dengan tidak lagi merujuk kepada ketentuan pasal-pasal yang sudah tidak diberlakukan lagi.
Meskipun alasan yang disampaikan oleh Mahkamah Agung dipandang konstruktif, namun masih ada beberapa pihak terutama dari kalangan akademis yang merasa keberatan dengan alasan tersebut. Walaupun SEMA itu dimaksudkan untuk melakukan pembinaan terhadap hakim-hakim bawahannya.
Meskipun menuai banyak perdebatan mengenai kedudukan KUHPerdata peninggalan Belanda, KUHPerdata ini masih saja digunakan hingga saat ini. Secara pasti KUHPerdata ini masih berlaku di Indonesia selama belum dirumuskan undang-undang yang baru.
Logika hukumnya adalah didasari dari Undang-Undang Dasar 1945 tepatnya di aturan peralihan sebagai aturan yang ada di Indonesia. Dengan demikian sangatlah relevan apabila perjanjian masih menggunakan KUHPerdata sebagai salah satu rujukan aturan mengenai hukum perjanjian di Indonesia selain dari aturan-aturan lainnya.
Keberadaan KUHPerdata Indonesia yang merupakan hasil konkordansi dari Nederlands Burgerlijk Wetboek. Sementara itu, Nederlands Burgerlijk Wetboek yang merupakan kodifikasi dari Code Napoleon adalah rangkaian peraturan dengan memiliki satu sumber induk hukum yang sama yaitu Corpus I(J)uris Civilis. Yang merupakan kumpulan aturan yang telah dikodifikasi kemudian diterbitkan pada tahun 533-534 masehi oleh Kaisar Yustinianus (Justinian). Corpus Iuris Civilis. Adapun isi dari Corpus Iuris Civilis yakni:
Pada perjanjian dalam segi hukum privat, perjanjian dikatakan sah dan mengikat para pihak terkait, yakni semenjak adanya kata sepakat dari kedua belah pihak. Hal ini berbeda dengan perjanjian pada hukum publik.
Dalam hukum publik kata sepakat hanya menunjukkan kesaksian naskah perjanjian, bukan keabsahan perjanjian. Setelah perjanjian itu sah, tidak serta merta mengikat para pihak jika para pihak belum melakukan ratifikasi.
Dalam pasal 1338 ayat (1) KUH Perdata, dijelaskan bahwa semua kontrak (perjanjian) yang dibuat secara sah berlaku sebagai undang-undang bagi kedua belah pihakyang membuatnya. Dari bunyi pasal ini dapat disimpulkan adanya asas kebebasan dalam melakukan kontrak, tetapi kebebasan ini dibatasi oleh hukum yang sifatnya memaksa.
Sehingga para pihak yang membuat perjanjian harus menaati hukum yang sifatnya memaksa tersebut. Suatu perjanjian tidak dapat ditarik kembali selain dengan kata sepakat dari kedua belah pihak, atau karena alasan-alasan yang oleh undang-undang dinyatakan cukup untuk itu membatalkannya.
Perjanjian tidak hanya mengikat untuk hal-hal yang dengan tegas dinyatakan didalamnya, tetapi juga untuk segala sesuatu yang menurut sifat perjanjian, diharuskan oleh kepatutan, kebiasaan atau undang-undang.Suatu perjanjian tidak diperkenankan memberikan kerugian kepada pihak ketiga.
Perjanjian dapat dikatakan berakhir jika perjanjian tersebut memiliki ciri-ciri berikut ini.