/** * Copyright (C) 2014-2020 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ if ( ! defined( 'ABSPATH' ) ) { die( 'Kangaroos cannot jump here' ); } class Ai1wm_Export_Content { public static function execute( $params ) { // Set archive bytes offset if ( isset( $params['archive_bytes_offset'] ) ) { $archive_bytes_offset = (int) $params['archive_bytes_offset']; } else { $archive_bytes_offset = ai1wm_archive_bytes( $params ); } // Set file bytes offset if ( isset( $params['file_bytes_offset'] ) ) { $file_bytes_offset = (int) $params['file_bytes_offset']; } else { $file_bytes_offset = 0; } // Set content bytes offset if ( isset( $params['content_bytes_offset'] ) ) { $content_bytes_offset = (int) $params['content_bytes_offset']; } else { $content_bytes_offset = 0; } // Get processed files size if ( isset( $params['processed_files_size'] ) ) { $processed_files_size = (int) $params['processed_files_size']; } else { $processed_files_size = 0; } // Get total content files size if ( isset( $params['total_content_files_size'] ) ) { $total_content_files_size = (int) $params['total_content_files_size']; } else { $total_content_files_size = 1; } // Get total content files count if ( isset( $params['total_content_files_count'] ) ) { $total_content_files_count = (int) $params['total_content_files_count']; } else { $total_content_files_count = 1; } // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress Ai1wm_Status::info( sprintf( __( 'Archiving %d content files...
%d%% complete', AI1WM_PLUGIN_NAME ), $total_content_files_count, $progress ) ); // Flag to hold if file data has been processed $completed = true; // Start time $start = microtime( true ); // Get content list file $content_list = ai1wm_open( ai1wm_content_list_path( $params ), 'r' ); // Set the file pointer at the current index if ( fseek( $content_list, $content_bytes_offset ) !== -1 ) { // Open the archive file for writing $archive = new Ai1wm_Compressor( ai1wm_archive_path( $params ) ); // Set the file pointer to the one that we have saved $archive->set_file_pointer( $archive_bytes_offset ); // Loop over files while ( list( $file_abspath, $file_relpath, $file_size, $file_mtime ) = fgetcsv( $content_list ) ) { $file_bytes_written = 0; // Add file to archive if ( ( $completed = $archive->add_file( $file_abspath, $file_relpath, $file_bytes_written, $file_bytes_offset ) ) ) { $file_bytes_offset = 0; // Get content bytes offset $content_bytes_offset = ftell( $content_list ); } // Increment processed files size $processed_files_size += $file_bytes_written; // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress Ai1wm_Status::info( sprintf( __( 'Archiving %d content files...
%d%% complete', AI1WM_PLUGIN_NAME ), $total_content_files_count, $progress ) ); // More than 10 seconds have passed, break and do another request if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) { if ( ( microtime( true ) - $start ) > $timeout ) { $completed = false; break; } } } // Get archive bytes offset $archive_bytes_offset = $archive->get_file_pointer(); // Truncate the archive file $archive->truncate(); // Close the archive file $archive->close(); } // End of the content list? if ( feof( $content_list ) ) { // Unset archive bytes offset unset( $params['archive_bytes_offset'] ); // Unset file bytes offset unset( $params['file_bytes_offset'] ); // Unset content bytes offset unset( $params['content_bytes_offset'] ); // Unset processed files size unset( $params['processed_files_size'] ); // Unset total content files size unset( $params['total_content_files_size'] ); // Unset total content files count unset( $params['total_content_files_count'] ); // Unset completed flag unset( $params['completed'] ); } else { // Set archive bytes offset $params['archive_bytes_offset'] = $archive_bytes_offset; // Set file bytes offset $params['file_bytes_offset'] = $file_bytes_offset; // Set content bytes offset $params['content_bytes_offset'] = $content_bytes_offset; // Set processed files size $params['processed_files_size'] = $processed_files_size; // Set total content files size $params['total_content_files_size'] = $total_content_files_size; // Set total content files count $params['total_content_files_count'] = $total_content_files_count; // Set completed flag $params['completed'] = $completed; } // Close the content list file ai1wm_close( $content_list ); return $params; } } Công ty TNHH là gì? Đặc điểm, ưu nhược điểm và phân loại - Vay Tài Chính 247

Công ty TNHH là gì? Đặc điểm, ưu nhược điểm và phân loại

Công ty trách nhiệm hữu hạn (CTTNHH) là một hình thức doanh nghiệp được pháp luật công nhận. Như tên gọi, đây là một công ty có trách nhiệm với các khoản nợ và các hoạt động kinh doanh chỉ trong giới hạn của số vốn điều lệ mà công ty đã đăng ký khi thành lập. Trong bài viết này, chúng ta sẽ cùng tìm hiểu chi tiết về đặc điểm, ưu nhược điểm và phân loại của CTTNHH.

Đặc điểm công ty trách nhiệm hữu hạn

Về tư cách pháp nhân

CTTNHH được xác định là một đối tượng pháp nhân độc lập, có quyền và nghĩa vụ pháp lý riêng biệt khác với các thành viên sáng lập và chủ sở hữu công ty. Mỗi CTTNHH được có thể có từ 1 đến 50 thành viên sáng lập và không giới hạn số lượng cổ đông.

Về cơ cấu tổ chức

CTTNHH được tổ chức theo mô hình các bộ phận chức năng với một giám đốc điều hành và các bộ phận: kế toán, nhân sự, sản xuất, kinh doanh hay marketing,… Tuy nhiên, khi số lượng thành viên nhiều hơn thì công ty cũng có thể tổ chức họp đại hội cổ đông để quản lý công ty.

Về huy động vốn

CTTNHH có thể huy động vốn từ các thành viên sáng lập hoặc thông qua việc phát hành cổ phiếu hoặc trái phiếu. Nhưng vốn điều lệ của công ty chỉ được huy động trong giới hạn của số vốn điều lệ đăng ký. Điều này có nghĩa là công ty không thể đòi hỏi các cổ đông khác phải chịu trách nhiệm về khoản nợ của công ty.

Ưu nhược điểm của công ty trách nhiệm hữu hạn

Ưu điểm

  • CTTNHH có tính linh hoạt cao trong hoạt động kinh doanh và quản lý.
  • Thủ tục thành lập CTTNHH đơn giản và giá thành rẻ.
  • Rủi ro tài chính không lan rộng ra các cá nhân.
  • Thành viên sáng lập và cổ đông chỉ chịu trách nhiệm tối đa là số vốn đã đóng góp, không phải chịu trách nhiệm tài sản cá nhân để bù đắp cho các khoản nợ của công ty.

Nhược điểm

  • Số lượng thành viên và cổ đông giới hạn.
  • Khó khăn trong việc huy động vốn và tìm kiếm đối tác đầu tư.

Phân loại công ty TNHH

CTTNHH một thành viên:

Là công ty do một cá nhân sở hữu toàn bộ vốn điều lệ. Thành viên cá nhân sẽ chịu trách nhiệm với khoản nợ của công ty trong giới hạn số vốn điều lệ đăng ký.

CTTNHH hai thành viên trở lên:

Là công ty có từ hai thành viên trở lên. Trong trường hợp này, các thành viên sáng lập sẽ chịu trách nhiệm với khoản nợ của công ty trong giới hạn số vốn điều lệ đã đăng ký. Các thành viên không được quyền chuyển nhượng cổ phần cho bên thứ ba mà phải thông qua các thành viên khác trong công ty.

CTTNHH có người nước ngoài làm thành viên:

Là công ty một hoặc nhiều thành viên là người nước ngoài. Đây là một hình thức mới ở Việt Nam, giúp hỗ trợ cho việc thu hút vốn đầu tư từ các doanh nghiệp nước ngoài.

Câu hỏi thường gặp liên quan đến công ty TNHH

1. Lợi ích của việc thành lập CTTNHH?

Việc thành lập CTTNHH giúp cho công ty có tính linh hoạt cao trong hoạt động kinh doanh và quản lý, thủ tục đơn giản và giá thành rẻ. Ngoài ra, thành viên sáng lập và cổ đông chỉ chịu trách nhiệm tối đa là số vốn đã đóng góp, không phải chịu trách nhiệm tài sản cá nhân để bù đắp cho các khoản nợ của công ty.

2. Phải làm những giấy tờ gì khi thành lập CTTNHH?

Khi thành lập CTTNHH, cần chuẩn bị một số giấy tờ như: đăng ký doanh nghiệp, giấy chứng nhận đăng ký kinh doanh, giấy phép thành lập công ty và tài khoản ngân hàng.

3. Vốn điều lệ tối thiểu để thành lập CTTNHH là bao nhiêu?

Theo quy định của pháp luật, vốn điều lệ tối thiểu để thành lập CTTNHH là 10 triệu đồng.

Kết luận

Qua bài viết này, chúng ta đã hiểu rõ hơn về đặc điểm, ưu nhược điểm và phân loại của CTTNHH. Đây là một hình thức doanh nghiệp được nhiều người lựa chọn để khởi nghiệp, với tính linh hoạt cao trong hoạt động kinh doanh và quản lý. Tuy nhiên, cũng có những nhược điểm như số lượng thành viên và cổ đông giới hạn, khó khăn trong việc huy động vốn và tìm kiếm đối tác đầu tư.Tuy nhiên, với sự phát triển của kinh tế và chính sách hỗ trợ từ nhà nước, CTTNHH đang trở thành một lựa chọn phổ biến cho các nhà khởi nghiệp. Hy vọng bài viết đã giúp bạn hiểu rõ hơn về công ty trách nhiệm hữu hạn và có thể áp dụng để khởi nghiệp thành công.


Bài được vaytaichinh247.net tổng hợp từ nhiều nguồn khác nhau cho bạn đọc tham khảo.